This commit is contained in:
2026-06-29 18:50:47 +09:00
parent 8cd63909c0
commit 85955f8399
4 changed files with 90 additions and 1 deletions
+8 -1
View File
@@ -1,6 +1,7 @@
local cargo_landing = require('control/cargo-landing')
local chest = require('control/chest')
local inserter = require('control/inserter')
local loader = require('control/loader')
local pump = require('control/pump')
local rail_support = require('control/rail-support')
local trash = require('control/trash')
@@ -8,10 +9,16 @@ local trash = require('control/trash')
local function entity_build(event)
cargo_landing.build(event)
chest.build(event)
loader.build(event)
rail_support.build(event)
trash.build(event)
end
local function entity_destroy(event)
loader.destroy(event)
rail_support.destroy(event)
end
if (settings.startup['PHI-MI'].value and settings.startup['PHI-MI-GENERIC'].value) or (settings.startup['PHI-GM'].value and settings.startup['PHI-GM'].value ~= '') then
script.on_event({defines.events.on_player_cheat_mode_enabled, defines.events.on_player_cheat_mode_disabled}, pump.recipe_hidden)
end
@@ -99,7 +106,7 @@ if settings.startup['PHI-MI'].value or (settings.startup['PHI-GM'].value and set
end)
script.on_event({defines.events.on_built_entity, defines.events.on_robot_built_entity, defines.events.on_space_platform_built_entity, defines.events.script_raised_built, defines.events.script_raised_revive}, entity_build)
script.on_event({defines.events.on_entity_died, defines.events.on_player_mined_entity, defines.events.on_robot_pre_mined, defines.events.script_raised_destroy}, rail_support.destroy)
script.on_event({defines.events.on_entity_died, defines.events.on_player_mined_entity, defines.events.on_robot_pre_mined, defines.events.script_raised_destroy}, entity_destroy)
script.on_event(defines.events.on_entity_cloned, function(event)
if not event.destination then
+28
View File
@@ -0,0 +1,28 @@
local main = {}
function main.build(event)
if event.entity.type ~= 'loader-1x1' then
return
end
if prototypes.entity['loader-1x1'] then
local p = event.entity.surface.create_entity{name = 'loader-1x1', position = {event.entity.position.x, event.entity.position.y}, force = 'neutral', quality = event.entity.quality.name}
p.destructible = false
end
end
function main.destroy(event)
if event.entity.type ~= 'loader-1x1' then
return
end
if prototypes.entity['loader-1x1'] then
local p = event.entity.surface.find_entity({name = 'loader-1x1', force = 'neutral', quality = event.entity.quality.name}, {event.entity.position.x, event.entity.position.y})
if p then
p.destroy()
end
end
end
return main
+52
View File
@@ -133,6 +133,58 @@ if data.raw['electric-energy-interface'] and data.raw['electric-energy-interface
end
end
-- CT A 1 BASE ENTITY,ITEM
-- CT C 1 BASE ENTITY
if data.raw['loader-1x1'] and data.raw['loader-1x1']['loader-1x1'] then
local max_belt_speed = 0
for _, b in pairs(data.raw['transport-belt']) do
if b.speed then
max_belt_speed = math.max(max_belt_speed, b.speed)
end
end
data.raw['loader-1x1']['loader-1x1'].hidden = false
data.raw['loader-1x1']['loader-1x1'].hidden_in_factoriopedia = false
data.raw['loader-1x1']['loader-1x1'].filter_count = 2
data.raw['loader-1x1']['loader-1x1'].per_lane_filters = true
data.raw['loader-1x1']['loader-1x1'].adjustable_belt_stack_size = (data.raw['inserter']['stack-inserter'] and true) or false
data.raw['loader-1x1']['loader-1x1'].max_belt_stack_size = (data.raw['inserter']['stack-inserter'] and data.raw['inserter']['stack-inserter'].max_belt_stack_size) or 1
if data.raw.item['loader'] then
local item = table.deepcopy(data.raw.item['loader'])
item.name = 'loader-1x1'
item.place_result = item.name
item.hidden = false
item.hidden_in_factoriopedia = false
end
if data.raw['infinity-container'] and data.raw['infinity-container']['infinity-chest'] then
local entity = table.deepcopy(data.raw['infinity-container']['infinity-chest'])
entity.name = 'loader-1x1-infinity-chest'
entity.enabled = false
entity.hidden = true
entity.hidden_in_factoriopedia = true
entity.gui_mode = 'none'
entity.inventory_type = 'with_custom_stack_size'
if not entity.inventory_properties then
entity.inventory_properties = {}
end
entity.inventory_properties.stack_size_min = 100
entity.minable.result = nil
entity.collision_box = {{0, 0}, {0, 0}}
entity.selection_box = nil
entity.collision_mask = {colliding_with_tiles_only = true, layers = {}, not_colliding_with_itself = true}
entity.flags = {'hide-alt-info', 'not-blueprintable', 'not-deconstructable', 'not-flammable', 'not-on-map', 'not-selectable-in-game', 'placeable-off-grid', 'placeable-player'}
entity.next_upgrade = nil
entity.selection_priority = 49
entity.order = 'zz'
data:extend({entity})
end
end
-- CT A 1 BASE MAP_GEN_PRESET
if settings.startup['PHI-CT-TILE'].value then
data.raw['map-gen-presets']['default']['empty-world'] = {
+2
View File
@@ -492,6 +492,8 @@ if data.raw['loader'] then
for _, ln in pairs(data.raw['loader']) do
local l = ln.name
ln.hidden = false
ln.hidden_in_factoriopedia = false
ln.filter_count = 2
ln.per_lane_filters = true
ln.adjustable_belt_stack_size = (data.raw['inserter']['stack-inserter'] and true) or false