1
0
mirror of https://github.com/Refactorio/RedMew.git synced 2024-12-12 10:04:40 +02:00
RedMew/map_layout.lua

172 lines
6.8 KiB
Lua

--[[
This file is used to choose which styles you want.
You may choose up to one of each type shapes, terrain, ores and misc or one of the combined styles by removing uncommenting the line.
If you want to add your own module, just add it to the others
in this file and your run_*type*_module(event) function will be called.
--]]
local b = require 'map_gen.shared.builders'
local RS = require 'map_gen.shared.redmew_surface'
require 'utils.table'
local shape = nil
local regen_decoratives = false
local tiles_per_tick = 32
--combined--
--shape = require "map_gen.combined.island_resort"
--shape = require 'map_gen.combined.borg_planet_v2'
--require "map_gen.combined.dimensions"
--require "map_gen.combined.diggy"
--presets--
--shape = require "map_gen.presets.template"
--shape = require "map_gen.presets.dna"
--shape = require "map_gen.presets.lines_and_balls"
--shape = require "map_gen.presets.mobius_strip"
--shape = require "map_gen.presets.antfarm"
--shape = require "map_gen.presets.creation_of_adam"
--shape = require "map_gen.presets.creation_of_adam2"
--shape = require "map_gen.presets.manhattan"
--shape = require "map_gen.presets.mona_lisa"
--shape = require "map_gen.presets.connected_dots"
--shape = require "map_gen.presets.maori"
--shape = require "map_gen.presets.goat"
--shape = require "map_gen.presets.GoT"
--shape = require "map_gen.presets.turkey" -- needs to be rebuilt from missing source image.
--shape = require "map_gen.presets.north_america" -- needs to be rebuilt from missing source image.
--shape = require "map_gen.presets.UK"
--shape = require "map_gen.presets.venice"
--shape = require "map_gen.presets.goats_on_goats"
--shape = require "map_gen.presets.grid_islands"
--shape = require "map_gen.presets.grid_islands_rotated"
--shape = require "map_gen.presets.crosses"
--shape = require "map_gen.presets.crosses3"
--shape = require "map_gen.presets.broken_web"
--shape = require "map_gen.presets.misc_stuff"
--shape = require "map_gen.presets.lines"
--shape = require "map_gen.presets.dickbutt"
--shape = require "map_gen.presets.void_gears"
--shape = require "map_gen.presets.gears"
--shape = require "map_gen.presets.factorio_logo"
--shape = require "map_gen.presets.factorio_logo2"
--shape = require "map_gen.presets.hearts"
--shape = require "map_gen.presets.women"
--shape = require "map_gen.presets.fractal_balls"
--shape = require "map_gen.presets.fruit_loops"
--shape = require "map_gen.presets.fish_islands"
--shape = require "map_gen.presets.ContraSpiral"
--shape = require "map_gen.presets.cookies"
--shape = require "map_gen.presets.plus"
--shape = require "map_gen.presets.honeycomb"
--shape = require "map_gen.presets.line_and_trees"
--shape = require "map_gen.presets.line_and_tree"
--shape = require "map_gen.presets.square_spiral"
--shape = require "map_gen.presets.beach"
--shape = require "map_gen.presets.double_beach"
--shape = require "map_gen.presets.factory"
--shape = require "map_gen.presets.triangle_of_death"
--shape = require "map_gen.presets.world_map"
--shape = require "map_gen.presets.lines_and_squares"
--shape = require "map_gen.presets.spiral_of_spirals"
--shape = require 'map_gen.presets.crash_site'
--shape = require "map_gen.presets.dino_island"
--shape = require "map_gen.presets.toxic_jungle"
--shape = require "map_gen.presets.danger_ores"
--shape = require 'map_gen.presets.terraforming_danger_ores'
--shape = require "map_gen.presets.bacon_islands"
--shape = require "map_gen.presets.spiral"
--shape = require "map_gen.presets.hub_spiral"
--shape = require "map_gen.presets.diagonal_ribbon"
--shape = require "map_gen.presets.venus"
--shape = require "map_gen.presets.vanilla"
--shape = require "map_gen.presets.maltease_crossings"
--shape = require "map_gen.presets.tetris"
--shape = require "map_gen.presets.world_map_thanksgiving"
--shape = require "map_gen.presets.christmas_tree_of_terror"
--shape = require "map_gen.presets.rotten_apples"
--shape = require "map_gen.presets.spiral_crossings"
--shape = require "map_gen.presets.grid_bot_islands"
--shape = require "map_gen.presets.sierpinski_carpet"
--shape = require "map_gen.presets.test"
--WIP maps--
--require "map_gen.combined.meteor_strike" --unfinished
--shape = require "map_gen.presets.web" --unfinished
--shape = require "map_gen.presets.rings_and_boxes" --unfinished
--shape = require "map_gen.presets.ring_of_balls" --unfinished
--shapes--
--shape = require "map_gen.shape.left"
--shape = require "map_gen.shape.right"
--shape = require "map_gen.shape.up"
--require "map_gen.shape.maze"
--shape = require "map_gen.shape.spiral"
--shape = require "map_gen.shape.threaded_spirals"
--shape = require "map_gen.shape.spiral_tri"
--shape = require "map_gen.shape.spiral2"
--shape = require "map_gen.shape.donut"
--shape = b.rectangular_spiral(128)
--shape = require "map_gen.shape.diagonal_lattice"
--require "map_gen.shape.infinite_mazes"
--shape = require "map_gen.shape.x_shape"
--shape = require "map_gen.shape.pacman"
--terrain--
--require "map_gen.terrain.neko_bridged_rivers"
--require "map_gen.terrain.neko_river_overlay"
-- modules that only return max one entity per tile
local entity_modules = {
--require "map_gen.misc.loot_items",
--require "map_gen.terrain.mines",
--require "map_gen.terrain.deathworld",
--require "map_gen.ores.glitter_ores",
--require "map_gen.terrain.worms",
--require "map_gen.misc.wreck_items",
--require "map_gen.ores.neko_crazy_ores",
--require "map_gen.ores.fluffy_rainbows",
--require "map_gen.ores.harmonic_gen",
--require "map_gen.ores.resource_clustertruck"
--require "map_gen.ores.tiny_ores"
}
local terrain_modules = {
--require "map_gen.misc.tris_chunk_grid",
}
--everything else. You may use more than one of these, but beware they might not be compatible
--require "map_gen.misc.rusky_pvp"
--require("map_gen.misc.rail_grid") -- used for map_gen.presets.UK
--require ('map_gen.misc.change_landfill_tile'){'sand-1'}
--require ('map_gen.misc.danger_ore_banned_entities')
--require ('map_gen.misc.restrict_landfill_tile')({['water'] = true})
--require "map_gen.ores.rso.rso_control"
--require 'map_gen.misc.nightfall' -- forces idle biters to attack at night
--require 'map_gen.misc.terraforming' -- prevents players from building on non-terraformed tiles
--require 'map_gen.misc.car_body' -- gives players cars instead of characters
--require 'map_gen.misc.naughty_words' -- admonishes players for cursing
if #entity_modules > 0 then
shape = shape or b.full_shape
shape = b.apply_entities(shape, entity_modules)
end
if #terrain_modules > 0 then
shape = shape or b.full_shape
for _, m in ipairs(terrain_modules) do
shape = b.overlay_tile_land(shape, m)
end
end
if shape then
local surfaces = {
[RS.get_surface_name()] = shape
}
local gen = require('map_gen.shared.generate')
gen.init({surfaces = surfaces, regen_decoratives = regen_decoratives, tiles_per_tick = tiles_per_tick})
gen.register()
end