mirror of
https://github.com/PHIDIAS0303/factorio-mod-PHI.git
synced 2026-07-28 21:42:30 +09:00
.
This commit is contained in:
+8
-1
@@ -1,6 +1,7 @@
|
|||||||
local cargo_landing = require('control/cargo-landing')
|
local cargo_landing = require('control/cargo-landing')
|
||||||
local chest = require('control/chest')
|
local chest = require('control/chest')
|
||||||
local inserter = require('control/inserter')
|
local inserter = require('control/inserter')
|
||||||
|
local loader = require('control/loader')
|
||||||
local pump = require('control/pump')
|
local pump = require('control/pump')
|
||||||
local rail_support = require('control/rail-support')
|
local rail_support = require('control/rail-support')
|
||||||
local trash = require('control/trash')
|
local trash = require('control/trash')
|
||||||
@@ -8,10 +9,16 @@ local trash = require('control/trash')
|
|||||||
local function entity_build(event)
|
local function entity_build(event)
|
||||||
cargo_landing.build(event)
|
cargo_landing.build(event)
|
||||||
chest.build(event)
|
chest.build(event)
|
||||||
|
loader.build(event)
|
||||||
rail_support.build(event)
|
rail_support.build(event)
|
||||||
trash.build(event)
|
trash.build(event)
|
||||||
end
|
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
|
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)
|
script.on_event({defines.events.on_player_cheat_mode_enabled, defines.events.on_player_cheat_mode_disabled}, pump.recipe_hidden)
|
||||||
end
|
end
|
||||||
@@ -99,7 +106,7 @@ if settings.startup['PHI-MI'].value or (settings.startup['PHI-GM'].value and set
|
|||||||
end)
|
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_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)
|
script.on_event(defines.events.on_entity_cloned, function(event)
|
||||||
if not event.destination then
|
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
|
||||||
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
|
-- CT A 1 BASE MAP_GEN_PRESET
|
||||||
if settings.startup['PHI-CT-TILE'].value then
|
if settings.startup['PHI-CT-TILE'].value then
|
||||||
data.raw['map-gen-presets']['default']['empty-world'] = {
|
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
|
for _, ln in pairs(data.raw['loader']) do
|
||||||
local l = ln.name
|
local l = ln.name
|
||||||
|
|
||||||
|
ln.hidden = false
|
||||||
|
ln.hidden_in_factoriopedia = false
|
||||||
ln.filter_count = 2
|
ln.filter_count = 2
|
||||||
ln.per_lane_filters = true
|
ln.per_lane_filters = true
|
||||||
ln.adjustable_belt_stack_size = (data.raw['inserter']['stack-inserter'] and true) or false
|
ln.adjustable_belt_stack_size = (data.raw['inserter']['stack-inserter'] and true) or false
|
||||||
|
|||||||
Reference in New Issue
Block a user