mirror of
https://github.com/PHIDIAS0303/factorio-mod-PHI.git
synced 2026-07-26 21:16:23 +09:00
.
This commit is contained in:
+8
-1
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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'] = {
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user