1
0
mirror of https://github.com/Refactorio/RedMew.git synced 2025-02-19 19:10:33 +02:00

Implement entity restriction by type for Danger Ores (#1456)

* Implement entity restriction by type for Danger Ores

* Remove legacy function

* Add resources as allowed entities

* Add item refund to allowed_entities
This commit is contained in:
RedRafe 2024-11-27 17:57:45 +01:00 committed by GitHub
parent 7b0971452b
commit 8d6d54a5d3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
23 changed files with 260 additions and 588 deletions

View File

@ -1,53 +0,0 @@
return {
'basic-transport-belt',
'transport-belt',
'fast-transport-belt',
'express-transport-belt',
'turbo-transport-belt',
'ultimate-transport-belt',
'basic-underground-belt',
'underground-belt',
'fast-underground-belt',
'express-underground-belt',
'turbo-underground-belt',
'ultimate-underground-belt',
'small-electric-pole',
'medium-electric-pole',
'medium-electric-pole-2',
'medium-electric-pole-3',
'medium-electric-pole-4',
'big-electric-pole',
'big-electric-pole-2',
'big-electric-pole-3',
'big-electric-pole-4',
'substation',
'substation-2',
'substation-3',
'substation-4',
'electric-mining-drill',
'bob-mining-drill-1',
'bob-mining-drill-2',
'bob-mining-drill-3',
'bob-mining-drill-4',
'bob-area-mining-drill-1',
'bob-area-mining-drill-2',
'bob-area-mining-drill-3',
'bob-area-mining-drill-4',
'burner-mining-drill',
'steam-mining-drill',
'pumpjack',
'bob-pumpjack-1',
'bob-pumpjack-2',
'bob-pumpjack-3',
'bob-pumpjack-4',
'water-miner-1',
'water-miner-2',
'water-miner-3',
'water-miner-4',
'water-miner-5',
'car',
'tank',
'bob-tank-2',
'bob-tank-3',
'spidertron'
}

View File

@ -1,53 +0,0 @@
return {
'basic-transport-belt',
'transport-belt',
'fast-transport-belt',
'express-transport-belt',
'turbo-transport-belt',
'ultimate-transport-belt',
'basic-underground-belt',
'underground-belt',
'fast-underground-belt',
'express-underground-belt',
'turbo-underground-belt',
'ultimate-underground-belt',
'small-electric-pole',
'medium-electric-pole',
'medium-electric-pole-2',
'medium-electric-pole-3',
'medium-electric-pole-4',
'big-electric-pole',
'big-electric-pole-2',
'big-electric-pole-3',
'big-electric-pole-4',
'substation',
'substation-2',
'substation-3',
'substation-4',
'electric-mining-drill',
'bob-mining-drill-1',
'bob-mining-drill-2',
'bob-mining-drill-3',
'bob-mining-drill-4',
'bob-area-mining-drill-1',
'bob-area-mining-drill-2',
'bob-area-mining-drill-3',
'bob-area-mining-drill-4',
'burner-mining-drill',
'pumpjack',
'bob-pumpjack-1',
'bob-pumpjack-2',
'bob-pumpjack-3',
'bob-pumpjack-4',
'water-miner-1',
'water-miner-2',
'water-miner-3',
'water-miner-4',
'water-miner-5',
'car',
'tank',
'bob-tank-2',
'bob-tank-3',
'spidertron',
'thermal-water-extractor'
}

View File

@ -1,39 +0,0 @@
return {
-- belts
'transport-belt',
'fast-transport-belt',
'express-transport-belt',
-- undergrounds
'underground-belt',
'fast-underground-belt',
'express-underground-belt',
-- poles
'small-electric-pole',
'medium-electric-pole',
'big-electric-pole',
'substation',
-- pipes
'pipe',
'pipe-to-ground',
-- drills
'electric-mining-drill',
'electric-mining-drill-2',
'electric-mining-drill-3',
'burner-mining-drill',
'pumpjack',
'gas-extractor',
-- vehicles
'car',
'tank',
'spidertron',
-- rails
'straight-rail',
'curved-rail',
'rail-signal',
'rail-chain-signal',
'train-stop',
'locomotive',
'cargo-wagon',
'fluid-wagon',
'artillery-wagon'
}

View File

@ -1,52 +0,0 @@
return {
-- belts
'transport-belt',
'fast-transport-belt',
'express-transport-belt',
'ei_neo-belt',
-- undergrounds
'underground-belt',
'fast-underground-belt',
'express-underground-belt',
'ei_neo-underground-belt',
-- pipes
'pipe',
'pipe-to-ground',
'ei_insulated-pipe',
'ei_insulated-underground-pipe',
-- poles
'small-electric-pole',
'medium-electric-pole',
'big-electric-pole',
'substation',
-- drills
'electric-mining-drill',
'ei_advanced-electric-mining-drill',
'ei_superior-electric-mining-drill',
'ei_deep-drill',
'ei_advanced-deep-drill',
'burner-mining-drill',
'pumpjack',
'ei_steam-oil-pumpjack',
-- vehicles
'car',
'tank',
'spidertron',
-- rails
'straight-rail',
'curved-rail',
'rail-signal',
'rail-chain-signal',
'train-stop',
'locomotive',
'cargo-wagon',
'fluid-wagon',
'artillery-wagon',
'ei_steam-basic-locomotive',
'ei_steam-basic-wagon',
'ei_steam-advanced-locomotive',
'ei_steam-advanced-wagon',
'ei_steam-advanced-fluid-wagon',
-- special
'ei_alien-stabilizer',
}

View File

@ -1,60 +0,0 @@
return {
-- belts
'transport-belt',
'fast-transport-belt',
'express-transport-belt',
-- undergrounds
'underground-belt',
'fast-underground-belt',
'express-underground-belt',
-- pipes
'copper-pipe',
'copper-pipe-to-ground',
'copper-pipe-to-ground-short',
'steam-pipe',
'steam-pipe-to-ground',
'steam-pipe-to-ground-short',
'pipe',
'pipe-to-ground',
'pipe-to-ground-short',
'air-pipe',
'air-pipe-to-ground',
'air-pipe-to-ground-short',
-- poles
'small-electric-pole',
'medium-electric-pole',
'big-electric-pole',
'substation',
'small-bronze-pole',
'small-iron-pole',
'big-wooden-pole',
-- drills
'electric-mining-drill',
'burner-mining-drill',
'pumpjack',
'steam-drill',
'chrome-drill',
'copper-derrick',
'steel-derrick',
-- simulation (needed?)
--'electric-mining-drill-simulation',
--'steam-drill-simulation',
--'chrome-drill-simulation',
-- vehicles
'car',
'tank',
'spidertron',
'monowheel',
'heavy-roller',
'heavy-picket',
-- rails
'straight-rail',
'curved-rail',
'rail-signal',
'rail-chain-signal',
'train-stop',
'locomotive',
'cargo-wagon',
'fluid-wagon',
'artillery-wagon',
}

View File

@ -1,46 +0,0 @@
return {
-- belts
'transport-belt',
'fast-transport-belt',
'express-transport-belt',
'kr-advanced-transport-belt',
'kr-superior-transport-belt',
-- undergrounds
'underground-belt',
'fast-underground-belt',
'express-underground-belt',
'kr-advanced-underground-belt',
'kr-superior-underground-belt',
-- poles
'small-electric-pole',
'medium-electric-pole',
'big-electric-pole',
'substation',
'kr-substation-mk2',
-- drills
'electric-mining-drill',
'electric-mining-drill-2',
'electric-mining-drill-3',
'burner-mining-drill',
'pumpjack',
'kr-electric-mining-drill-mk2',
'kr-electric-mining-drill-mk3',
'kr-quarry-drill',
'kr-mineral-water-pumpjack',
-- vehicles
'car',
'tank',
'kr-advanced-tank',
'spidertron',
-- rails
'straight-rail',
'curved-rail',
'rail-signal',
'rail-chain-signal',
'train-stop',
'locomotive',
'kr-nuclear-locomotive',
'cargo-wagon',
'fluid-wagon',
'artillery-wagon'
}

View File

@ -1,50 +0,0 @@
local entities = {
-- belts
'basic-transport-belt',
'transport-belt',
'fast-transport-belt',
'express-transport-belt',
-- undergrounds
'basic-underground-belt',
'underground-belt',
'fast-underground-belt',
'express-underground-belt',
-- pipes
'pipe',
'pipe-to-ground',
-- poles
'small-electric-pole',
'small-iron-electric-pole',
'small-omnium-electric-pole',
'medium-electric-pole',
'big-electric-pole',
'substation',
-- drills
'electric-mining-drill',
'burner-mining-drill',
-- vehicles
'car',
'tank',
'spidertron',
-- rails
'straight-rail',
'curved-rail',
'rail-signal',
'rail-chain-signal',
'train-stop',
'locomotive',
'cargo-wagon',
'fluid-wagon',
'artillery-wagon',
}
local list = {}
for _, e in pairs(entities) do
table.insert(list, e)
table.insert(list, e .. '-compressed-compact')
table.insert(list, e .. '-compressed-nanite')
table.insert(list, e .. '-compressed-quantum')
table.insert(list, e .. '-compressed-singularity')
end
return list

View File

@ -1,137 +0,0 @@
return {
-- belts
'transport-belt',
'fast-transport-belt',
'express-transport-belt',
-- undergrounds
'underground-belt',
'fast-underground-belt',
'express-underground-belt',
-- splitters
'splitter',
'fast-splitter',
'express-splitter',
-- pipes
'pipe',
'pipe-to-ground',
-- poles
'small-electric-pole',
'medium-electric-pole',
'big-electric-pole',
'substation',
-- drills
'electric-mining-drill',
'burner-mining-drill',
'pumpjack',
-- vehicles
'car',
'tank',
'spidertron',
-- rails
'straight-rail',
'curved-rail',
'rail-signal',
'rail-chain-signal',
'train-stop',
'locomotive',
'cargo-wagon',
'fluid-wagon',
'artillery-wagon',
-- inserters
'burner-inserter',
'inserter',
'long-handed-inserter',
'fast-inserter',
'bulk-inserter',
-- Py drills
'aluminium-mine',
'antimonium-drill-mk01',
'antimonium-drill-mk02',
'antimonium-drill-mk03',
'antimonium-drill-mk04',
'bitumen-seep-mk01',
'bitumen-seep-mk02',
'bitumen-seep-mk03',
'bitumen-seep-mk04',
'borax-mine-mk02',
'borax-mine-mk03',
'borax-mine-mk04',
'borax-mine',
'chromium-mine',
'coal-mine',
'collector-mk02',
'collector-mk03',
'collector-mk04',
'collector',
'copper-mine',
'diamond-mine',
'fluid-drill-mk01',
'fluid-drill-mk02',
'fluid-drill-mk03',
'fluid-drill-mk04',
'geothermal-plant-mk01',
'harvester',
'iron-mine',
'lead-mine',
'mo-mine',
'natural-gas-extractor-mk01',
'natural-gas-extractor-mk02',
'natural-gas-extractor-mk03',
'natural-gas-extractor-mk04',
'natural-gas-seep-mk01',
'natural-gas-seep-mk02',
'natural-gas-seep-mk03',
'natural-gas-seep-mk04',
'nexelit-mine',
'nickel-mine',
'niobium-mine',
'oil-derrick-mk01',
'oil-derrick-mk02',
'oil-derrick-mk03',
'oil-derrick-mk04',
'oil-sand-extractor-mk01',
'oil-sand-extractor-mk02',
'oil-sand-extractor-mk03',
'oil-sand-extractor-mk04',
'phosphate-mine-02',
'phosphate-mine',
'quartz-mine',
'rare-earth-mine',
'ree-mining-drill-mk01',
'ree-mining-drill-mk02',
'ree-mining-drill-mk03',
'ree-mining-drill-mk04',
'regolite-mine',
'salt-mine',
'sulfur-mine',
'tar-extractor-mk01',
'tar-extractor-mk02',
'tar-extractor-mk03',
'tar-extractor-mk04',
'tar-seep-mk01',
'tar-seep-mk02',
'tar-seep-mk03',
'tar-seep-mk04',
'tin-mine',
'titanium-mine',
'uranium-mine',
'zinc-mine',
-- Py Industry
'mk02-locomotive',
'mk02-wagon',
'mk02-fluid-wagon',
'niobium-pipe',
'niobium-pipe-to-ground',
-- Py High Tech
'ht-pipes',
'ht-pipes-to-ground',
'ht-locomotive',
'ht-generic-wagon',
'ht-generic-fluid-wagon',
-- Py Alternative Energy
'nexelit-power-pole',
'nexelit-substation',
'mk04-locomotive',
'mk04-wagon',
'mk04-fluid-wagon',
}

View File

@ -1,53 +1,41 @@
return {
-- pipes
'pump',
'pipe',
'pipe-to-ground',
-- fluids
['pipe'] = true,
['pipe-to-ground'] = true,
['pump'] = true,
-- belts
'transport-belt',
'fast-transport-belt',
'express-transport-belt',
'turbo-transport-belt',
-- undergrounds
'underground-belt',
'fast-underground-belt',
'express-underground-belt',
'turbo-underground-belt',
-- poles
'small-electric-pole',
'medium-electric-pole',
'big-electric-pole',
'substation',
-- drills
'big-mining-drill',
'electric-mining-drill',
'electric-mining-drill-2',
'electric-mining-drill-3',
'burner-mining-drill',
'pumpjack',
['transport-belt'] = true,
['underground-belt'] = true,
-- misc
['resource'] = true,
['tile-ghost'] = true,
['electric-pole'] = true,
['mining-drill'] = true,
-- vehicles
'car',
'tank',
'spidertron',
-- rails
'straight-rail',
'curved-rail',
'curved-rail-a',
'curved-rail-b',
'half-diagonal-rail',
'legacy-straight-rail',
'legacy-curved-rail',
'rail-signal',
'rail-chain-signal',
'rail-ramp',
'rail-support',
'elevated-straight-rail',
'elevated-curved-rail-a',
'elevated-curved-rail-b',
'elevated-half-diagonal-rail',
'train-stop',
'locomotive',
'cargo-wagon',
'fluid-wagon',
'artillery-wagon',
}
['car'] = true,
['spider-vehicle'] = true,
-- trains
['curved-rail-a'] = true,
['curved-rail-b'] = true,
['elevated-curved-rail-a'] = true,
['elevated-curved-rail-b'] = true,
['elevated-half-diagonal-rail'] = true,
['elevated-straight-rail'] = true,
['half-diagonal-rail'] = true,
['legacy-curved-rail'] = true,
['legacy-straight-rail'] = true,
['rail-chain-signal'] = true,
['rail-ramp'] = true,
['rail-signal'] = true,
['rail-support'] = true,
['straight-rail'] = true,
['train-stop'] = true,
['locomotive'] = true,
['cargo-wagon'] = true,
['fluid-wagon'] = true,
['artillery-wagon'] = true,
}

View File

@ -8,8 +8,10 @@ return {
},
allowed_entities = {
enabled = true,
entities = require 'map_gen.maps.danger_ores.config.vanilla_allowed_entities',
message = nil,
refund = true,
types = require 'map_gen.maps.danger_ores.config.vanilla_allowed_entities',
allowed_entities = {},
banned_entities = {},
},
biter_drops = {
enabled = true,

View File

@ -0,0 +1,212 @@
-- This module prevents all but the allowed entities to be built on top of resources
--
-- Params (by precedence):
-- 1. Banned entities: entities/ghosts (by name) that will never be placed, regardless of type.
-- 2. Allowed entities: entities/ghosts (by name) that will be allowed if not blacklisted, regardless of type.
-- 3. Types: entity types allowed to be built
-- 4. Refund: true - refund and spill contents or, false/nil - destroy entity
--
-- Usage:
-- local config = {
-- types = { ['transport-belt'] = true, }, -- all belts allowed on ore
-- allowed_entities = { ['burner-inserter'] = true, } -- Burner inserters allowed as well, even if they're not of type `transport-belt`
-- banned_entities = { ['turbo-transport-belt'] = true, } -- Turbo belts not allowed on ore, even if they're of type `transport-belt`
-- }
-- local AllowedEntities = require 'map_gen.maps.danger_ores.modules.allowed_entities'
-- AllowedEntities.register(config)
local Event = require 'utils.event'
local Global = require 'utils.global'
local random = math.random
local types = {}
local allowed_entities = {}
local banned_entities = {}
local primitives = {
refund = true,
message = '',
}
Global.register({
types = types,
allowed_entities = allowed_entities,
banned_entities = banned_entities,
primitives = primitives,
}, function(tbl)
types = tbl.types
allowed_entities = tbl.allowed_entities
banned_entities = tbl.banned_entities
primitives = tbl.primitives
end)
local danger_alerts = {
[[Ooooh, that's going to leave a mark!]],
[[LOOK OUT! THE GROUND IS ANGRY!]],
[[YOU'VE AWAKENED THE BEAST!]],
[[OOPS! That wasn't part of the plan!]],
[[DANGER! You've breached the ore's sanctuary!]],
[[RUN TO THE HILLS! or at least away from THE ORE!]],
[["I just wanted to build a factory" - famous last words]],
[[Congratulations! YOU'VE TRIGGERED THE ORE'S WRATH!]],
[[FROM DUST TO DUST... AND FROM ORE TO DOOM!]],
[[THE GROUND TREMBLES WITH VENGEANCE!]],
[[FEAR THE CURSE OF THE DEAD MINER!]],
[[THE ORE IS ALIVE... AND IT IS ANGRY!]],
[[A PRICE MUST BE PAID FOR YOUR ARROGANCE!]],
}
local explosions = {
'explosion',
'land-mine-explosion',
'grenade-explosion',
'medium-explosion',
'big-explosion',
'massive-explosion',
'big-artillery-explosion',
'nuke-explosion',
}
local function get_entity_info(entity)
local ghost = (entity.name == 'entity-ghost')
return {
name = (ghost and entity.ghost_name) or entity.name,
type = (ghost and entity.ghost_type) or entity.type,
ghost = ghost
}
end
local function get_resource_presence(entity)
local area = entity.bounding_box
local left_top, right_bottom = area.left_top, area.right_bottom
if left_top.x == right_bottom.x and left_top.y == right_bottom.y then
return false
end
local count = entity.surface.count_entities_filtered{ area = area, type = 'resource', limit = 1 }
return (count > 0)
end
local function handle_entity_refund(entity, event)
-- spill contents
if entity.has_items_inside() then
local spill_item_stack = entity.surface.spill_item_stack
local def = { position = entity.position, enable_looted = true, force = entity.force, allow_belts = true, max_radius = 32 }
for i_id = 1, entity.get_max_inventory_index() do
local inv = entity.get_inventory(i_id)
if inv and inv.valid then
local contents = inv.get_contents()
for _, stack in pairs(contents) do
def.stack = stack
spill_item_stack(def)
end
end
end
end
-- refund item to robot/player
local stack = entity.prototype.items_to_place_this[1]
if stack then
stack.quality = entity.quality
local actor = event.robot or (event.player_index and game.get_player(event.player_index))
if actor and actor.valid and actor.can_insert(stack) then
actor.insert(stack)
end
end
end
local function player_print(player, message)
if not (player and player.valid) then
return
end
player.print(message, { color = { r = 1, g = random(1, 100) * 0.01, b = 0 } })
end
local function on_built(event)
local entity = event.entity
if not (entity and entity.valid) then
return
end
local e = get_entity_info(entity)
if not banned_entities[e.name] and (allowed_entities[e.name] or types[e.type]) then
return
end
if not get_resource_presence(entity) then
return
end
entity.surface.create_entity{
name = (e.ghost and 'water-splash') or explosions[random(#explosions)],
position = entity.position,
}
local player = event.player_index and game.get_player(event.player_index)
if not e.ghost then
if primitives.refund then
handle_entity_refund(entity, event)
else
player_print(player, danger_alerts[random(#danger_alerts)])
end
end
player_print(player, primitives.message)
entity.destroy{ raise_destroy = true }
end
Event.add(defines.events.on_built_entity, on_built)
Event.add(defines.events.on_robot_built_entity, on_built)
local function merge_dictionary(src, dst, call)
if not src or not dst then
return
end
call = call or function(_, v) return v end
for k, v in pairs(src) do
dst[k] = call(k, v)
end
end
local function build_message()
local items = {}
local entities = prototypes.get_entity_filtered
for type_name, v in pairs(types) do
if v then
local filter = {{ filter = 'type', type = { type_name } }}
merge_dictionary(entities(filter), items, function(k, _) return k end)
end
end
merge_dictionary(allowed_entities, items)
merge_dictionary(banned_entities, items, function(_, v) return not v end)
merge_dictionary(items, items, function(k, v) return (v and prototypes.item[k]) or nil end)
local str = '[color=black][DangerOres][/color] You cannot build that on top of ores, only: '
local images = {}
for name, _ in pairs(items) do
images[#images+1] = '[img=item.'..name..']'
end
primitives.message = str .. table.concat(images, ' ')
end
local Public = {}
---@param config
---@field types? table<string, bool>
---@field allowed_entities? table<string, bool>
---@field banned_entities? table<string, bool>
---@field refund? bool
Public.register = function(config)
merge_dictionary(config.types, types)
merge_dictionary(config.allowed_entities, allowed_entities)
merge_dictionary(config.banned_entities, banned_entities)
if config.refund ~= nil then
primitives.refund = config.refund
end
if config.message then
primitives.message = config.message
end
build_message()
end
return Public

View File

@ -18,10 +18,6 @@ DOC.map_config.resource_patches_config = require 'map_gen.maps.danger_ores.compa
DOC.map_config.spawn_shape = B.circle(40)
DOC.map_config.start_ore_shape = B.circle(48)
DOC.rocket_launched.win_satellite_count = 2500
DOC.allowed_entities.entities = table.merge{
DOC.allowed_entities.entities,
require 'map_gen.maps.danger_ores.compatibility.bob.allowed_entities'
}
DOC.map_gen_settings.settings = H.empty_map_settings{
'bauxite-ore',
'coal',

View File

@ -17,10 +17,6 @@ DOC.map_config.resource_patches_config = require 'map_gen.maps.danger_ores.compa
DOC.map_config.spawn_shape = B.circle(80)
DOC.map_config.start_ore_shape = B.circle(86)
DOC.rocket_launched.enabled = false
DOC.allowed_entities.entities = table.merge{
DOC.allowed_entities.entities,
require 'map_gen.maps.danger_ores.compatibility.bob_angel.allowed_entities'
}
DOC.map_gen_settings.settings = H.empty_map_settings{
'angels-ore1', -- Saphirite
'angels-ore2', -- Jivolite

View File

@ -15,10 +15,6 @@ DOC.map_config.main_ores = require 'map_gen.maps.danger_ores.compatibility.bz.or
DOC.map_config.resource_patches_config = require 'map_gen.maps.danger_ores.compatibility.bz.resource_patches'
DOC.map_config.spawn_tile = script.active_mods['alien-biomes'] and 'volcanic-green-heat-2' or 'grass-1'
DOC.rocket_launched.win_satellite_count = 100
DOC.allowed_entities.entities = table.merge{
DOC.allowed_entities.entities,
require 'map_gen.maps.danger_ores.compatibility.bz.allowed_entities'
}
DOC.map_gen_settings.settings = H.empty_map_settings{
-- fluid patches
'crude-oil',

View File

@ -15,10 +15,7 @@ DOC.scenario_name = 'danger-ore-exotic-industries'
DOC.compatibility.redmew_data.remove_resource_patches = false
DOC.game.technology_price_multiplier = 1
DOC.map_config.resource_patches_config = require 'map_gen.maps.danger_ores.compatibility.exotic_industries.resource_patches'
DOC.allowed_entities.entities = table.merge{
DOC.allowed_entities.entities,
require 'map_gen.maps.danger_ores.compatibility.exotic_industries.allowed_entities'
}
DOC.allowed_entities.allowed_entities['ei_alien-stabilizer'] = true
DOC.map_gen_settings.settings = H.empty_map_settings{
-- point patches
'crude-oil',

View File

@ -18,10 +18,7 @@ DOC.map_config.main_ores_builder = require 'map_gen.maps.danger_ores.modules.mai
DOC.map_config.no_resource_patch_shape = nil
DOC.map_config.resource_patches_config = require 'map_gen.maps.danger_ores.compatibility.exotic_industries.resource_patches'
DOC.map_config.spawn_tile = 'landfill'
DOC.allowed_entities.entities = table.merge{
DOC.allowed_entities.entities,
require 'map_gen.maps.danger_ores.compatibility.exotic_industries.allowed_entities'
}
DOC.allowed_entities.allowed_entities['ei_alien-stabilizer'] = true
DOC.map_gen_settings.settings = H.empty_map_settings{
-- point patches
'crude-oil',

View File

@ -30,10 +30,6 @@ DOC.scenario_name = 'danger-ore-industrial-revolution-3'
DOC.game.technology_price_multiplier = 5
DOC.map_config.main_ores = require 'map_gen.maps.danger_ores.compatibility.industrial_revolution_3.ores'
DOC.map_config.resource_patches_config = require 'map_gen.maps.danger_ores.compatibility.industrial_revolution_3.resource_patches'
DOC.allowed_entities.entities = table.merge{
DOC.allowed_entities.entities,
require 'map_gen.maps.danger_ores.compatibility.industrial_revolution_3.allowed_entities'
}
DOC.map_gen_settings.settings = H.empty_map_settings{
-- point patches
'crude-oil',

View File

@ -32,10 +32,6 @@ DOC.map_config.main_ores_builder = require 'map_gen.maps.danger_ores.modules.mai
DOC.map_config.main_ores = require 'map_gen.maps.danger_ores.compatibility.industrial_revolution_3.ores_grid_factory'
DOC.map_config.resource_patches_config = require 'map_gen.maps.danger_ores.compatibility.industrial_revolution_3.resource_patches'
DOC.map_config.spawn_tile = 'tarmac'
DOC.allowed_entities.entities = table.merge{
DOC.allowed_entities.entities,
require 'map_gen.maps.danger_ores.compatibility.industrial_revolution_3.allowed_entities'
}
DOC.map_gen_settings.settings = H.empty_map_settings{
-- point patches
'crude-oil',

View File

@ -34,10 +34,6 @@ DOC.game.technology_price_multiplier = 5
DOC.map_config.spawn_tile = 'landfill'
DOC.map_config.main_ores = require 'map_gen.maps.danger_ores.compatibility.krastorio2.ores'
DOC.map_config.resource_patches_config = require 'map_gen.maps.danger_ores.compatibility.krastorio2.resource_patches'
DOC.allowed_entities.entities = table.merge{
DOC.allowed_entities.entities,
require 'map_gen.maps.danger_ores.compatibility.krastorio2.allowed_entities'
}
DOC.map_gen_settings.settings = H.empty_map_settings{
'coal',
'copper-ore',

View File

@ -28,10 +28,6 @@ DOC.map_config.spawn_shape = B.square_diamond(36 * 2)
DOC.map_config.spawn_tile = 'landfill'
DOC.map_config.start_ore_shape = B.square_diamond(44 * 2)
DOC.rocket_launched.win_satellite_count = 100
DOC.allowed_entities.entities = table.merge{
DOC.allowed_entities.entities,
require 'map_gen.maps.danger_ores.compatibility.omnimatter.allowed_entities'
}
DOC.map_gen_settings.settings = H.empty_map_settings{
'infinite-omnite',
'omnite',

View File

@ -29,10 +29,6 @@ DOC.map_config.spawn_shape = B.square_diamond(36 * 2)
DOC.map_config.spawn_tile = 'landfill'
DOC.map_config.start_ore_shape = B.square_diamond(44 * 2)
DOC.rocket_launched.win_satellite_count = 100
DOC.allowed_entities.entities = table.merge{
DOC.allowed_entities.entities,
require 'map_gen.maps.danger_ores.compatibility.omnimatter.allowed_entities'
}
DOC.map_gen_settings.settings = H.empty_map_settings{
'infinite-omnite',
'omnite',

View File

@ -19,10 +19,8 @@ DOC.map_config.resource_patches_config = require 'map_gen.maps.danger_ores.compa
DOC.map_config.spawn_shape = B.rectangle(100)
DOC.map_config.spawn_tile = 'landfill'
DOC.map_config.start_ore_shape = B.empty_shape
DOC.allowed_entities.entities = table.merge{
DOC.allowed_entities.entities,
require 'map_gen.maps.danger_ores.compatibility.pyanodon.allowed_entities'
}
DOC.allowed_entities.types['inserter'] = true
DOC.allowed_entities.types['splitter'] = true
DOC.game.technology_price_multiplier = 1
DOC.game.on_init = function()
game.map_settings.pollution.diffusion_ratio = 0.01

View File

@ -40,7 +40,7 @@ Config.player_shortcuts.enabled = true
Config.player_shortcuts.shortcuts.battery_charge = false
Config.reactor_meltdown.enabled = false
local allowed_entities = require 'map_gen.maps.danger_ores.modules.banned_entities'
local allowed_entities = require 'map_gen.maps.danger_ores.modules.allowed_entities'.register
local concrete_on_landfill = require 'map_gen.maps.danger_ores.modules.concrete_on_landfill'
local container_dump = require 'map_gen.maps.danger_ores.modules.container_dump'
local map_builder = require 'map_gen.maps.danger_ores.modules.map'
@ -56,7 +56,7 @@ Public.register = function(danger_ores_config)
local _C = danger_ores_config
if _C.allowed_entities.enabled then
allowed_entities(_C.allowed_entities.entities, _C.allowed_entities.message)
allowed_entities(_C.allowed_entities)
end
if _C.biter_drops.enabled then
require 'map_gen.maps.danger_ores.modules.biter_drops'