74 lines
2.6 KiB
Lua
74 lines
2.6 KiB
Lua
--- Developer
|
|
-- @script Developer
|
|
|
|
local Data = require('__stdlib__/stdlib/data/data')
|
|
|
|
local Developer = {
|
|
__index = Data
|
|
}
|
|
setmetatable(Developer, Developer)
|
|
|
|
local function make_no_controls()
|
|
local controls = {}
|
|
for name in pairs(data.raw['autoplace-control']) do
|
|
if name == 'grass' then
|
|
controls[name] = { size = 'very-high', frequency = 'very-high', richness = 'very-low' }
|
|
else
|
|
controls[name] = { size = 'none', frequency = 'very-low', richness = 'very-low' }
|
|
end
|
|
end
|
|
return controls
|
|
end
|
|
|
|
--- Make entities for easier mod testing.
|
|
-- @tparam string name The name of your mod
|
|
-- @usage
|
|
-- --data.lua
|
|
-- local Developer = require('__stdlib__/stdlib/data/develper/developer')
|
|
-- Developer.make_test_entities()
|
|
function Developer.make_test_entities()
|
|
log('Making developer debug entities')
|
|
if not data.raw['electric-energy-interface']['debug-energy-interface'] then
|
|
Data('electric-energy-interface', 'electric-energy-interface'):copy('debug-energy-interface'):set_fields {
|
|
flags = { 'placeable-off-grid' },
|
|
localised_name = 'Debug source',
|
|
icon = data.raw['item']['electric-energy-interface'].icon,
|
|
collision_mask = {},
|
|
selection_box = { { 0.0, -0.5 }, { 0.5, 0.5 } },
|
|
picture = Developer.Sprites.empty_picture()
|
|
}:remove_fields { 'minable', 'collision_box', 'vehicle_impact_sound', 'working_sound' }
|
|
end
|
|
|
|
if not data.raw['electric-pole']['debug-substation'] then
|
|
Data('substation', 'electric-pole'):copy('debug-substation'):set_fields {
|
|
localised_name = 'Debug power substation',
|
|
flags = { 'placeable-off-grid' },
|
|
icon = data.raw['item']['substation'].icon,
|
|
selection_box = { { -0.5, -0.5 }, { 0.0, 0.5 } },
|
|
collision_mask = {},
|
|
pictures = Developer.Sprites.empty_pictures(),
|
|
maximum_wire_distance = 64,
|
|
supply_area_distance = 64,
|
|
connection_points = Developer.Sprites.empty_connection_points(1)
|
|
}:remove_fields { 'minable', 'collision_box', 'vehicle_impact_sound', 'working_sound' }
|
|
end
|
|
|
|
local gen = data.raw['map-gen-presets']
|
|
gen['default']['debug'] = {
|
|
type = 'map-gen-presets',
|
|
name = 'debug',
|
|
localised_name = 'Debug',
|
|
localised_description = 'Default settings for a debug world',
|
|
order = 'z',
|
|
basic_settings = {
|
|
terrain_segmentation = 'very-low',
|
|
water = 'none',
|
|
autoplace_controls = make_no_controls(),
|
|
height = 128,
|
|
width = 128
|
|
},
|
|
}
|
|
end
|
|
|
|
return Developer
|