This commit is contained in:
Simon Brodtmann 2024-12-27 23:46:25 +01:00
parent cbbe4ed4b3
commit a230d1a80b
92 changed files with 665 additions and 342 deletions

View file

@ -1,2 +1,17 @@
# Lignumis # Lignumis
Dive into the world of Lignumis, a moon of Nauvis offering only the most basic technologies. Dive into the world of Lignumis, a moon of Nauvis offering only the most basic technologies.
## Credits
Hurricane:
- Lumber mill
- Core extractor
malcolmriley (https://github.com/malcolmriley/unused-renders)
- Gold seed
PreLeyZero (https://mods.factorio.com/mod/exotic-industries)
- Gold patch

Binary file not shown.

After

Width:  |  Height:  |  Size: 756 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

View file

@ -12,6 +12,8 @@
"wood-military >= 2.0.0", "wood-military >= 2.0.0",
"Wood-Walls >= 1.2.0", "Wood-Walls >= 1.2.0",
"wood-logistics >= 2.1.1", "wood-logistics >= 2.1.1",
"Burner-Leech-Fork >= 1.0.0" "Burner-Leech-Fork >= 1.0.0",
"mf-buildings >= 0.1.0",
"mf-logistics >= 0.1.0"
] ]
} }

View file

@ -14,14 +14,21 @@ burner-agricultural-tower=Burner agricultural tower
burner-assembling-machine=Burner assembling machine burner-assembling-machine=Burner assembling machine
burner-long-handed-inserter=Burner long handed inserter burner-long-handed-inserter=Burner long handed inserter
lumber-mill=Lumber mill lumber-mill=Lumber mill
copper-stromatolite-plant=Copper stromatolite plant gold-stromatolite=Gold stromatolite
copper-stromatolite-lignumis=Copper stromatolite gold-stromatolite-plant=Gold stromatolite plant
gold-stromatolite-lignumis=Gold stromatolite
gold-patch=Gold patch
deep-miner=Deep miner
[item-name] [item-name]
wooden-gear-wheel=Wooden gear wheel wooden-gear-wheel=Wooden gear wheel
wood-science-pack=Wood science pack wood-science-pack=Wood science pack
peat=Peat peat=Peat
copper-stromatolite-seed=Copper stromatolite seed gold-stromatolite-seed=Gold stromatolite seed
gold-ore=Gold ore
gold-bacteria=Gold bacteria
gold-plate=Gold plate
gold-cable=Gold cable
[item-description] [item-description]
wooden-wall=Use wooden walls to protect your base from the locals and to reduce noise levels. wooden-wall=Use wooden walls to protect your base from the locals and to reduce noise levels.
@ -32,9 +39,11 @@ burner-automation=Burner automation
planet-discovery-nauvis=Planet discovery Nauvis planet-discovery-nauvis=Planet discovery Nauvis
iron-processing=Iron processing iron-processing=Iron processing
lumber-mill=Lumber mill lumber-mill=Lumber mill
deep-miner=Deep miner
[tile-name] [tile-name]
wood-floor=Wood floor wood-floor=Wood floor
natural-gold-soil=Gold-infused soil
[lignumis] [lignumis]
start-new-game=Lignumis is meant to be played in a fresh game as it extends the early game before Nauvis. start-new-game=Lignumis is meant to be played in a fresh game as it extends the early game before Nauvis.

View file

@ -48,7 +48,7 @@ data:extend({
ingredients = { ingredients = {
{ type = "item", name = "wooden-gear-wheel", amount = 5 }, { type = "item", name = "wooden-gear-wheel", amount = 5 },
{ type = "item", name = "lumber", amount = 8 }, { type = "item", name = "lumber", amount = 8 },
{ type = "item", name = "copper-cable", amount = 20 } { type = "item", name = "gold-cable", amount = 20 }
}, },
results = { { type = "item", name = "burner-assembling-machine", amount = 1 } }, results = { { type = "item", name = "burner-assembling-machine", amount = 1 } },
energy_required = 4 energy_required = 4

View file

@ -62,7 +62,7 @@ data:extend({
ingredients = { ingredients = {
{ type = "item", name = "wooden-gear-wheel", amount = 1 }, { type = "item", name = "wooden-gear-wheel", amount = 1 },
{ type = "item", name = "burner-inserter", amount = 1 }, { type = "item", name = "burner-inserter", amount = 1 },
{ type = "item", name = "copper-cable", amount = 4 } { type = "item", name = "gold-cable", amount = 4 }
}, },
results = { { type = "item", name = "burner-long-handed-inserter", amount = 1 } } results = { { type = "item", name = "burner-long-handed-inserter", amount = 1 } }
} }

View file

@ -1,173 +0,0 @@
local space_age_item_sounds = require("__space-age__.prototypes.item_sounds")
local copper_stromatolite_lignumis = util.copy(data.raw["simple-entity"]["copper-stromatolite"])
copper_stromatolite_lignumis.name = "copper-stromatolite-lignumis"
copper_stromatolite_lignumis.autoplace = nil
table.insert(copper_stromatolite_lignumis.minable.results, { type = "item", name = "copper-stromatolite-seed", amount_min = 1, amount_max = 7, probability = 0.5 })
local copper_stromatolite_plant = util.copy(data.raw["plant"]["tree-plant"])
copper_stromatolite_plant.name = "copper-stromatolite-plant"
copper_stromatolite_plant.localised_name = { "entity-name.copper-stromatolite-plant" }
copper_stromatolite_plant.icon = "__space-age__/graphics/icons/copper-stromatolite.png"
copper_stromatolite_plant.map_color = { 0.803, 0.388, 0.215, 0.5 }
copper_stromatolite_plant.agricultural_tower_tint = {
primary = { r = 0.878, g = 0.310, b = 0.114, a = 1 },
secondary = { r = 0.537, g = 0.259, b = 0.114, a = 1 }, -- #89421dff
}
copper_stromatolite_plant.minable = {
mining_particle = "copper-ore-particle",
mining_time = 2,
results = {
{ type = "item", name = "copper-ore", amount_min = 13, amount_max = 17 },
{ type = "item", name = "copper-bacteria", amount_min = 23, amount_max = 37 },
{ type = "item", name = "copper-stromatolite-seed", amount_min = 1, amount_max = 3 }
}
}
copper_stromatolite_plant.growth_ticks = 20 * minute
copper_stromatolite_plant.variations = nil
copper_stromatolite_plant.variation_weights = nil
copper_stromatolite_plant.collision_box = {{-0.5, -0.5}, {0.5, 0.5}}
copper_stromatolite_plant.selection_box = {{-0.7, -0.7}, {0.7, 0.7}}
copper_stromatolite_plant.remains_when_mined = nil
copper_stromatolite_plant.pictures = {
{
filename = "__space-age__/graphics/entity/stromatolite/copper/stromatolite-01.png",
width = 209,
height = 138,
shift = { 0.304688, -0.4 },
scale = 0.4
},
{
filename = "__space-age__/graphics/entity/stromatolite/copper/stromatolite-02.png",
width = 165,
height = 129,
shift = { 0.0, 0.0390625 },
scale = 0.4
},
{
filename = "__space-age__/graphics/entity/stromatolite/copper/stromatolite-03.png",
width = 151,
height = 139,
shift = { 0.151562, 0.0 },
scale = 0.4
},
{
filename = "__space-age__/graphics/entity/stromatolite/copper/stromatolite-04.png",
width = 216,
height = 110,
shift = { 0.390625, 0.0 },
scale = 0.4
},
{
filename = "__space-age__/graphics/entity/stromatolite/copper/stromatolite-05.png",
width = 154,
height = 147,
shift = { 0.328125, 0.0703125 },
scale = 0.4
},
{
filename = "__space-age__/graphics/entity/stromatolite/copper/stromatolite-06.png",
width = 154,
height = 132,
shift = { 0.16875, -0.1 },
scale = 0.4
},
{
filename = "__space-age__/graphics/entity/stromatolite/copper/stromatolite-07.png",
width = 193,
height = 130,
shift = { 0.3, -0.2 },
scale = 0.4
},
{
filename = "__space-age__/graphics/entity/stromatolite/copper/stromatolite-08.png",
width = 136,
height = 117,
shift = { 0.0, 0.0 },
scale = 0.4
},
{
filename = "__space-age__/graphics/entity/stromatolite/copper/stromatolite-09.png",
width = 157,
height = 115,
shift = { 0.1, 0.0 },
scale = 0.4
},
{
filename = "__space-age__/graphics/entity/stromatolite/copper/stromatolite-10.png",
width = 198,
height = 153,
shift = { 0.325, -0.1 },
scale = 0.4
},
{
filename = "__space-age__/graphics/entity/stromatolite/copper/stromatolite-11.png",
width = 190,
height = 115,
shift = { 0.453125, 0.0 },
scale = 0.4
},
{
filename = "__space-age__/graphics/entity/stromatolite/copper/stromatolite-12.png",
width = 229,
height = 126,
shift = { 0.539062, -0.015625 },
scale = 0.4
},
{
filename = "__space-age__/graphics/entity/stromatolite/copper/stromatolite-13.png",
width = 151,
height = 125,
shift = { 0.0703125, 0.179688 },
scale = 0.4
},
{
filename = "__space-age__/graphics/entity/stromatolite/copper/stromatolite-14.png",
width = 137,
height = 117,
shift = { 0.160938, 0.0 },
scale = 0.4
},
{
filename = "__space-age__/graphics/entity/stromatolite/copper/stromatolite-15.png",
width = 201,
height = 141,
shift = { 0.242188, -0.195312 },
scale = 0.4
},
{
filename = "__space-age__/graphics/entity/stromatolite/copper/stromatolite-16.png",
width = 209,
height = 154,
shift = { 0.351562, -0.1 },
scale = 0.4
}
}
data:extend({
copper_stromatolite_lignumis,
copper_stromatolite_plant,
{
type = "item",
name = "copper-stromatolite-seed",
localised_name = { "item-name.copper-stromatolite-seed" },
localised_description = { "item-description.copper-stromatolite-seed" },
icon = "__lignumis__/graphics/icons/copper-stromatolite-seed.png",
pictures = {
{ size = 64, filename = "__lignumis__/graphics/icons/copper-stromatolite-seed-1.png", scale = 0.5, mipmap_count = 4 },
{ size = 64, filename = "__lignumis__/graphics/icons/copper-stromatolite-seed-2.png", scale = 0.5, mipmap_count = 4 },
{ size = 64, filename = "__lignumis__/graphics/icons/copper-stromatolite-seed-3.png", scale = 0.5, mipmap_count = 4 },
{ size = 64, filename = "__lignumis__/graphics/icons/copper-stromatolite-seed-4.png", scale = 0.5, mipmap_count = 4 },
},
subgroup = "agriculture-processes",
order = "a[seeds]-a[copper-stromatolite-seed]",
plant_result = "copper-stromatolite-plant",
place_result = "copper-stromatolite-plant",
inventory_move_sound = space_age_item_sounds.agriculture_inventory_move,
pick_sound = space_age_item_sounds.agriculture_inventory_pickup,
drop_sound = space_age_item_sounds.agriculture_inventory_move,
stack_size = 10,
default_import_location = "lignumis",
weight = 10 * kg
}
})

View file

@ -8,6 +8,7 @@ require("burner-agricultural-tower")
require("burner-assembling-machine") require("burner-assembling-machine")
require("burner-long-handed-inserter") require("burner-long-handed-inserter")
require("lumber-mill") require("lumber-mill")
require("copper") require("gold")
require("deep-miner")
require("noise") require("noise")

View file

@ -0,0 +1,28 @@
local DeepMinerFactory = require(MF.buildings .. "CoreExtractor")
local DeepMiner = DeepMinerFactory("deep-miner")
local entity = DeepMiner.EntityBuilder:new():build({
resource_searching_radius = 0.49,
energy_usage = "25MW",
mining_speed = 30,
energySource = {
emissions_per_minute = { noise = 100 }
}
})
entity.resource_categories = { "drilling" }
data:extend({ entity })
DeepMiner.ItemBuilder:new():apply()
DeepMiner.RecipeBuilder:new()
:ingredients({
{ type = "item", name = "iron-plate", amount = 100 }
})
:apply()
DeepMiner.TechnologyBuilder:new()
:prerequisites({ "automation-science-pack" })
:count(500)
:ingredients({ { "automation-science-pack", 1 } })
:time(60)
:apply()

View file

@ -0,0 +1,363 @@
local item_sounds = require("__base__.prototypes.item_sounds")
local space_age_item_sounds = require("__space-age__.prototypes.item_sounds")
local tile_collision_masks = require("__base__/prototypes/tile/tile-collision-masks")
local tile_trigger_effects = require("__base__.prototypes.tile.tile-trigger-effects")
local semi_wet_sound = sound_variations("__space-age__/sound/walking/semi-wet-rock", 10, 0.7)
local tile_sounds = require("__space-age__/prototypes/tile/tile-sounds")
local resource_autoplace = require("resource-autoplace")
resource_autoplace.initialize_patch_set("gold-patch", true)
local gold_stromatolite = util.copy(data.raw["simple-entity"]["copper-stromatolite"])
gold_stromatolite.name = "gold-stromatolite"
gold_stromatolite.icon = "__lignumis__/graphics/icons/gold-stromatolite.png"
gold_stromatolite.autoplace = {
probability_expression = "min(0.2, 0.3 * (1 - gleba_plants_noise) * control:gleba_plants:size)",
tile_restriction = { "natural-gold-soil" }
}
gold_stromatolite.collision_mask = util.copy(data.raw["plant"]["tree-plant"].collision_mask)
gold_stromatolite.minable.results = {
{ type = "item", name = "gold-ore", amount_min = 13, amount_max = 17 },
{ type = "item", name = "gold-bacteria", amount_min = 23, amount_max = 37 },
{ type = "item", name = "gold-stromatolite-seed", amount_min = 1, amount_max = 7, probability = 0.5 }
}
gold_stromatolite.map_color = { 255, 171, 0, 0.5 }
gold_stromatolite.pictures = {
{
filename = "__lignumis__/graphics/entity/gold-stromatolite-01.png",
width = 209,
height = 138,
shift = { 0.304688, -0.4 },
scale = 0.4,
},
{
filename = "__lignumis__/graphics/entity/gold-stromatolite-02.png",
width = 165,
height = 129,
shift = { 0.0, 0.0390625 },
scale = 0.4
},
{
filename = "__lignumis__/graphics/entity/gold-stromatolite-03.png",
width = 151,
height = 139,
shift = { 0.151562, 0.0 },
scale = 0.4
},
{
filename = "__lignumis__/graphics/entity/gold-stromatolite-04.png",
width = 216,
height = 110,
shift = { 0.390625, 0.0 },
scale = 0.4
},
{
filename = "__lignumis__/graphics/entity/gold-stromatolite-05.png",
width = 154,
height = 147,
shift = { 0.328125, 0.0703125 },
scale = 0.4
},
{
filename = "__lignumis__/graphics/entity/gold-stromatolite-06.png",
width = 154,
height = 132,
shift = { 0.16875, -0.1 },
scale = 0.4
},
{
filename = "__lignumis__/graphics/entity/gold-stromatolite-07.png",
width = 193,
height = 130,
shift = { 0.3, -0.2 },
scale = 0.4
},
{
filename = "__lignumis__/graphics/entity/gold-stromatolite-08.png",
width = 136,
height = 117,
shift = { 0.0, 0.0 },
scale = 0.4
},
{
filename = "__lignumis__/graphics/entity/gold-stromatolite-09.png",
width = 157,
height = 115,
shift = { 0.1, 0.0 },
scale = 0.4
},
{
filename = "__lignumis__/graphics/entity/gold-stromatolite-10.png",
width = 198,
height = 153,
shift = { 0.325, -0.1 },
scale = 0.4
},
{
filename = "__lignumis__/graphics/entity/gold-stromatolite-11.png",
width = 190,
height = 115,
shift = { 0.453125, 0.0 },
scale = 0.4
},
{
filename = "__lignumis__/graphics/entity/gold-stromatolite-12.png",
width = 229,
height = 126,
shift = { 0.539062, -0.015625 },
scale = 0.4
},
{
filename = "__lignumis__/graphics/entity/gold-stromatolite-13.png",
width = 151,
height = 125,
shift = { 0.0703125, 0.179688 },
scale = 0.4
},
{
filename = "__lignumis__/graphics/entity/gold-stromatolite-14.png",
width = 137,
height = 117,
shift = { 0.160938, 0.0 },
scale = 0.4
},
{
filename = "__lignumis__/graphics/entity/gold-stromatolite-15.png",
width = 201,
height = 141,
shift = { 0.242188, -0.195312 },
scale = 0.4
},
{
filename = "__lignumis__/graphics/entity/gold-stromatolite-16.png",
width = 209,
height = 154,
shift = { 0.351562, -0.1 },
scale = 0.4
}
}
local gold_stromatolite_plant = util.copy(data.raw["plant"]["tree-plant"])
gold_stromatolite_plant.name = "gold-stromatolite-plant"
gold_stromatolite_plant.localised_name = { "entity-name.gold-stromatolite-plant" }
gold_stromatolite_plant.icon = "__lignumis__/graphics/icons/gold-stromatolite.png"
gold_stromatolite_plant.map_color = { 255, 171, 0, 0.5 }
gold_stromatolite_plant.agricultural_tower_tint = {
primary = { r = 255, g = 171, b = 0, a = 1 },
secondary = { r = 40, g = 100, b = 25, a = 1 }, -- #89421dff
}
gold_stromatolite_plant.minable = {
mining_particle = "copper-ore-particle",
mining_time = 2,
results = {
{ type = "item", name = "gold-ore", amount_min = 13, amount_max = 17 },
{ type = "item", name = "gold-bacteria", amount_min = 23, amount_max = 37 },
{ type = "item", name = "gold-stromatolite-seed", amount_min = 1, amount_max = 3 }
}
}
gold_stromatolite_plant.growth_ticks = 20 * minute
gold_stromatolite_plant.variations = nil
gold_stromatolite_plant.variation_weights = nil
gold_stromatolite_plant.collision_box = { { -0.5, -0.5 }, { 0.5, 0.5 } }
gold_stromatolite_plant.selection_box = { { -0.7, -0.7 }, { 0.7, 0.7 } }
gold_stromatolite_plant.remains_when_mined = nil
gold_stromatolite_plant.pictures = util.copy(gold_stromatolite.pictures)
gold_stromatolite_plant.autoplace = {
probability_expression = "min(0.2, 0.3 * (1 - gleba_plants_noise) * control:gleba_plants:size)",
tile_restriction = { "natural-gold-soil" }
}
data:extend({
gold_stromatolite,
gold_stromatolite_plant,
{
type = "item",
name = "gold-stromatolite-seed",
localised_name = { "item-name.gold-stromatolite-seed" },
icon = "__lignumis__/graphics/icons/gold-stromatolite-seed.png",
pictures = {
{ size = 64, filename = "__lignumis__/graphics/icons/gold-stromatolite-seed-1.png", scale = 0.5, mipmap_count = 4 },
{ size = 64, filename = "__lignumis__/graphics/icons/gold-stromatolite-seed-2.png", scale = 0.5, mipmap_count = 4 },
{ size = 64, filename = "__lignumis__/graphics/icons/gold-stromatolite-seed-3.png", scale = 0.5, mipmap_count = 4 },
{ size = 64, filename = "__lignumis__/graphics/icons/gold-stromatolite-seed-4.png", scale = 0.5, mipmap_count = 4 },
{ size = 64, filename = "__lignumis__/graphics/icons/gold-stromatolite-seed-5.png", scale = 0.5, mipmap_count = 4 }
},
subgroup = "agriculture-processes",
order = "a[seeds]-d[gold-stromatolite-seed]",
plant_result = "gold-stromatolite-plant",
place_result = "gold-stromatolite-plant",
inventory_move_sound = space_age_item_sounds.agriculture_inventory_move,
pick_sound = space_age_item_sounds.agriculture_inventory_pickup,
drop_sound = space_age_item_sounds.agriculture_inventory_move,
stack_size = 10,
default_import_location = "lignumis",
weight = 10 * kg
},
{
type = "item",
name = "gold-ore",
icon = "__lignumis__/graphics/icons/gold-ore.png",
pictures = {
{ size = 64, filename = "__lignumis__/graphics/icons/gold-ore-1.png", scale = 0.5, mipmap_count = 4 },
{ size = 64, filename = "__lignumis__/graphics/icons/gold-ore-2.png", scale = 0.5, mipmap_count = 4 },
{ size = 64, filename = "__lignumis__/graphics/icons/gold-ore-3.png", scale = 0.5, mipmap_count = 4 },
},
subgroup = "raw-resource",
order = "f[gold-ore]",
inventory_move_sound = item_sounds.resource_inventory_move,
pick_sound = item_sounds.resource_inventory_pickup,
drop_sound = item_sounds.resource_inventory_move,
stack_size = 50,
default_import_location = "lignumis",
weight = 2 * kg
},
{
type = "item",
name = "gold-bacteria",
icon = "__lignumis__/graphics/icons/gold-bacteria.png",
pictures = {
{ size = 64, filename = "__lignumis__/graphics/icons/gold-bacteria.png", scale = 0.5, mipmap_count = 4 },
{ size = 64, filename = "__lignumis__/graphics/icons/gold-bacteria-1.png", scale = 0.5, mipmap_count = 4 },
{ size = 64, filename = "__lignumis__/graphics/icons/gold-bacteria-2.png", scale = 0.5, mipmap_count = 4 },
{ size = 64, filename = "__lignumis__/graphics/icons/gold-bacteria-3.png", scale = 0.5, mipmap_count = 4 },
},
subgroup = "agriculture-processes",
order = "b[agriculture]-e[gold-bacteria]",
inventory_move_sound = space_age_item_sounds.agriculture_inventory_move,
pick_sound = space_age_item_sounds.agriculture_inventory_pickup,
drop_sound = space_age_item_sounds.agriculture_inventory_move,
stack_size = 50,
default_import_location = "lignumis",
weight = 1 * kg,
spoil_ticks = 1 * minute,
spoil_result = "gold-ore"
},
{
type = "tile",
name = "natural-gold-soil",
order = "d[gold]-c[natural-gold-soil]",
subgroup = "lignumis-tiles",
collision_mask = tile_collision_masks.ground(),
layer_group = "ground-natural",
layer = 85,
searchable = true,
transitions = lava_stone_transitions,
transitions_between_transitions = data.raw["tile"]["landfill"].transitions_between_transitions,
trigger_effect = tile_trigger_effects.landfill_trigger_effect(),
sprite_usage_surface = "any",
variants = tile_variations_template_with_transitions(
"__lignumis__/graphics/terrain/natural-gold-soil.png",
{
max_size = 4,
[1] = { weights = { 0.085, 0.085, 0.085, 0.085, 0.087, 0.085, 0.065, 0.085, 0.045, 0.045, 0.045, 0.045, 0.005, 0.025, 0.045, 0.045 } },
[2] = { probability = 1, weights = { 0.018, 0.020, 0.015, 0.025, 0.015, 0.020, 0.025, 0.015, 0.025, 0.025, 0.010, 0.025, 0.020, 0.025, 0.025, 0.010 }, },
[4] = { probability = 0.1, weights = { 0.018, 0.020, 0.015, 0.025, 0.015, 0.020, 0.025, 0.015, 0.025, 0.025, 0.010, 0.025, 0.020, 0.025, 0.025, 0.010 }, },
}
),
walking_sound = semi_wet_sound,
landing_steps_sound = tile_sounds.landing.semi_wet,
build_sound = data.raw["tile"]["landfill"].build_sound,
map_color = { 185, 166, 5 },
scorch_mark_color = { r = 0.329, g = 0.242 * 2, b = 0.177, a = 1.000 }
},
{
type = "item-subgroup",
name = "lignumis-tiles",
group = "tiles",
order = "h"
},
{
type = "resource",
name = "gold-patch",
icon = "__lignumis__/graphics/icons/gold-patch.png",
icon_size = 64,
flags = { "placeable-neutral" },
category = "drilling",
order = "a-b-a",
infinite = false,
highlight = true,
minimum = 600000,
normal = 1200000,
--infinite_depletion_amount = 10,
resource_patch_search_radius = 12,
tree_removal_probability = 1,
tree_removal_max_distance = 32 * 32,
minable = {
mining_time = 1,
result = "gold-ore",
},
collision_box = { { -4.4, -4.4 }, { 4.4, 4.4 } },
--collision_mask = {"item-layer", "water-tile"},
selection_box = { { -3.5, -3.5 }, { 3.5, 3.5 } },
autoplace = {
base_density = 2,
base_spots_per_km2 = 5,
has_starting_area_placement = true,
regular_rq_factor_multiplier = 1,
starting_rq_factor_multiplier = 1,
candidate_spot_count = 21,
probability_expression = "min(0.2, 0.3 * (1 - gleba_plants_noise) * control:gleba_plants:size)",
},
stage_counts = { 0 },
stages = {
sheet = {
filename = "__lignumis__/graphics/entity/gold-patch.png",
priority = "extra-high",
width = 975,
height = 664,
scale = 0.5,
frame_count = 1,
variation_count = 1
}
},
map_color = { r = 1, g = 0.82, b = 0.28 },
map_grid = false
},
{
name = "drilling",
type = "resource-category",
},
{
type = "item",
name = "gold-plate",
icon = "__lignumis__/graphics/icons/gold-plate.png",
subgroup = "raw-material",
color_hint = { text = "C" },
order = "a[smelting]-b[gold-plate]",
inventory_move_sound = item_sounds.metal_small_inventory_move,
pick_sound = item_sounds.metal_small_inventory_pickup,
drop_sound = item_sounds.metal_small_inventory_move,
stack_size = 100
},
{
type = "item",
name = "gold-cable",
icon = "__lignumis__/graphics/icons/gold-cable.png",
subgroup = "intermediate-product",
order = "a[basic-intermediates]-c[gold-cable]",
inventory_move_sound = item_sounds.wire_inventory_move,
pick_sound = item_sounds.wire_inventory_pickup,
drop_sound = item_sounds.wire_inventory_move,
stack_size = 200,
weight = 0.25 * kg,
ingredient_to_weight_coefficient = 0.25
},
{
type = "recipe",
name = "gold-plate",
category = "smelting",
energy_required = 3.2,
ingredients = { { type = "item", name = "gold-ore", amount = 1 } },
results = { { type = "item", name = "gold-plate", amount = 1 } },
allow_productivity = true
},
{
type = "recipe",
name = "gold-cable",
ingredients = { { type = "item", name = "gold-plate", amount = 1 } },
results = { { type = "item", name = "gold-cable", amount = 2 } },
allow_productivity = true
}
})

View file

@ -1,13 +1,13 @@
local resource_autoplace = require("resource-autoplace") local resource_autoplace = require("resource-autoplace")
resource_autoplace.initialize_patch_set("lignumis_copper", true) resource_autoplace.initialize_patch_set("lignumis_gold", true)
resource_autoplace.initialize_patch_set("lignumis_peat", true) resource_autoplace.initialize_patch_set("lignumis_peat", true)
data:extend({ data:extend({
{ {
type = "autoplace-control", type = "autoplace-control",
name = "lignumis_copper", name = "lignumis_gold",
localised_name = {"", "[entity=copper-ore] ", {"entity-name.copper-ore"}}, localised_name = {"", "[entity=gold-patch] ", {"entity-name.gold-patch"}},
richness = true, richness = true,
order = "0-b", order = "0-b",
category = "resource" category = "resource"

View file

@ -12,7 +12,7 @@ return {
cliff_smoothing = 0 cliff_smoothing = 0
}, },
autoplace_controls = { autoplace_controls = {
["lignumis_copper"] = { richness = "very-poor", frequency = "low", size = "big" }, ["lignumis_gold"] = { richness = "very-poor", frequency = "low", size = "big" },
["lignumis_peat"] = { richness = "poor", frequency = "very-high", size = "small" }, ["lignumis_peat"] = { richness = "poor", frequency = "very-high", size = "small" },
["stone"] = {}, ["stone"] = {},
["water"] = {}, ["water"] = {},
@ -73,13 +73,13 @@ return {
}, },
["entity"] = { ["entity"] = {
settings = { settings = {
["copper-ore"] = {}, ["gold-patch"] = {},
["stone"] = {}, ["stone"] = {},
["peat"] = {}, ["peat"] = {},
["fish"] = {}, ["fish"] = {},
["big-sand-rock"] = {}, ["big-sand-rock"] = {},
["big-rock"] = {}, ["big-rock"] = {},
["copper-stromatolite"] = {} ["gold-stromatolite"] = {}
} }
} }
} }

View file

@ -1,162 +1,44 @@
local hit_effects = require("__base__.prototypes.entity.hit-effects") local LumberMillFactory = require(MF.buildings .. "LumberMill")
local sounds = require("__base__.prototypes.entity.sounds") local LumberMill = LumberMillFactory()
local item_sounds = require("__base__.prototypes.item_sounds")
data:extend({ data:extend({
{ {
type = "recipe-category", type = "recipe-category",
name = "wood-processing-or-assembling" name = "wood-processing-or-assembling"
}, }
{ })
type = "assembling-machine",
name = "lumber-mill", table.insert(data.raw["character"]["character"].crafting_categories, "wood-processing-or-assembling")
icon = "__lignumis__/graphics/icons/lumber-mill.png",
flags = { "placeable-neutral", "player-creation" }, LumberMill.EntityBuilder:new()
minable = { mining_time = 0.2, result = "lumber-mill" }, :burnerEnergySource({ emissions_per_minute = { noise = 50 } })
fast_replaceable_group = "lumber-mill", :baseProductivity(0.5)
max_health = 200, :apply({
corpse = "foundry-remnants",
dying_explosion = "foundry-explosion",
collision_box = { { -3.2, -3.2 }, { 3.2, 3.2 } },
selection_box = { { -3.5, -3.5 }, { 3.5, 3.5 } },
damaged_trigger_effect = hit_effects.entity(),
drawing_box_vertical_extension = 1.3,
effect_receiver = { base_effect = { productivity = 0.5 } },
module_slots = 4,
icon_draw_specification = { scale = 2, shift = { 0, -0.3 } },
icons_positioning = {
{ inventory_index = defines.inventory.assembling_machine_modules, shift = { 0, 1.25 } }
},
allowed_effects = { "consumption", "speed", "productivity", "pollution", "quality" },
crafting_categories = { "wood-processing-or-assembling" }, crafting_categories = { "wood-processing-or-assembling" },
crafting_speed = 4, crafting_speed = 4,
energy_source = {
type = "burner",
fuel_categories = { "chemical" },
effectivity = 1,
fuel_inventory_size = 3,
emissions_per_minute = { noise = 50 }
},
energy_usage = "1000kW", energy_usage = "1000kW",
perceived_performance = { minimum = 0.25, performance_to_activity_rate = 2.0, maximum = 20 }, })
graphics_set = {
animation = {
layers = {
{
filename = "__lignumis__/graphics/entity/lumber-mill-shadow.png",
priority = "high",
width = 700,
height = 700,
frame_count = 1,
line_length = 1,
repeat_count = 80,
animation_speed = 0.15,
shift = { 0, 0 },
draw_as_shadow = true,
scale = 0.5
},
{
priority = "high",
width = 460,
height = 500,
frame_count = 80,
lines_per_file = 8,
shift = { 0, 0 },
scale = 0.5,
stripes = {
{
filename = "__lignumis__/graphics/entity/lumber-mill-animation-1.png",
width_in_frames = 8,
height_in_frames = 8
},
{
filename = "__lignumis__/graphics/entity/lumber-mill-animation-2.png",
width_in_frames = 8,
height_in_frames = 2
}
}
},
} LumberMill.ItemBuilder:new()
} :apply({
}, default_import_location = "lignumis"
open_sound = { filename = "__base__/sound/open-close/train-stop-open.ogg", volume = 0.6 }, })
close_sound = { filename = "__base__/sound/open-close/train-stop-close.ogg", volume = 0.5 },
--working_sound = LumberMill.RecipeBuilder:new()
--{ :ingredients({
-- sound =
-- {
-- filename = "__space-age__/sound/entity/foundry/foundry.ogg", volume = 0.5
-- },
-- --idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.3 },
-- fade_in_ticks = 4,
-- fade_out_ticks = 20,
-- sound_accents =
-- {
-- { sound = { filename = "__space-age__/sound/entity/foundry/foundry-pipe-out.ogg", volume = 0.9 }, frame = 2, audible_distance_modifier = 0.4 },
-- { sound = { filename = "__space-age__/sound/entity/foundry/foundry-slide-close.ogg", volume = 0.65 }, frame = 18, audible_distance_modifier = 0.3 },
-- { sound = { filename = "__space-age__/sound/entity/foundry/foundry-clamp.ogg", volume = 0.45 }, frame = 39, audible_distance_modifier = 0.3 },
-- { sound = { filename = "__space-age__/sound/entity/foundry/foundry-slide-stop.ogg", volume = 0.7 }, frame = 43, audible_distance_modifier = 0.4 },
-- { sound = { variations = sound_variations("__space-age__/sound/entity/foundry/foundry-fire-whoosh", 3, 0.8 )}, frame = 64, audible_distance_modifier = 0.3 },
-- { sound = { filename = "__space-age__/sound/entity/foundry/foundry-metal-clunk.ogg", volume = 0.65 }, frame = 64, audible_distance_modifier = 0.4 },
-- { sound = { filename = "__space-age__/sound/entity/foundry/foundry-slide-open.ogg", volume = 0.65 }, frame = 74, audible_distance_modifier = 0.3 },
-- { sound = { filename = "__space-age__/sound/entity/foundry/foundry-pipe-in.ogg", volume = 0.75 }, frame = 106, audible_distance_modifier = 0.4 },
-- { sound = { filename = "__space-age__/sound/entity/foundry/foundry-smoke-puff.ogg", volume = 0.8 }, frame = 106, audible_distance_modifier = 0.3 },
-- { sound = { variations = sound_variations("__space-age__/sound/entity/foundry/foundry-pour", 2, 0.7 )}, frame = 110 },
-- { sound = { filename = "__space-age__/sound/entity/foundry/foundry-rocks.ogg", volume = 0.65 }, frame = 120, audible_distance_modifier = 0.3 },
-- { sound = { filename = "__space-age__/sound/entity/foundry/foundry-blade.ogg", volume = 0.7 }, frame = 126 },
-- },
-- audible_distance_modifier = 0.6,
-- max_sounds_per_type = 2
--}
},
{
type = "item",
name = "lumber-mill",
icon = "__lignumis__/graphics/icons/lumber-mill.png",
subgroup = "production-machine",
order = "d[lumber-mill]",
inventory_move_sound = item_sounds.mechanical_large_inventory_move,
pick_sound = item_sounds.mechanical_large_inventory_pickup,
drop_sound = item_sounds.mechanical_large_inventory_move,
place_result = "lumber-mill",
stack_size = 20,
default_import_location = "lignumis",
weight = 200 * kg
},
{
type = "recipe",
name = "lumber-mill",
category = "wood-processing-or-assembling",
enabled = false,
ingredients = {
{ type = "item", name = "stone-brick", amount = 40 }, { type = "item", name = "stone-brick", amount = 40 },
{ type = "item", name = "lumber", amount = 100 }, { type = "item", name = "lumber", amount = 100 },
{ type = "item", name = "wooden-gear-wheel", amount = 100 }, { type = "item", name = "wooden-gear-wheel", amount = 100 },
{ type = "item", name = "copper-plate", amount = 60 }, { type = "item", name = "gold-plate", amount = 60 },
{ type = "item", name = "burner-assembling-machine", amount = 5 }, { type = "item", name = "burner-assembling-machine", amount = 5 }
}, })
energy_required = 60, :apply({
results = { { type = "item", name = "lumber-mill", amount = 1 } } category = "wood-processing-or-assembling"
}, })
{
type = "technology", LumberMill.TechnologyBuilder:new()
name = "lumber-mill", :prerequisites({ "wood-science-pack" })
icon = "__lignumis__/graphics/technology/lumber-mill.png", :count(500)
icon_size = 256, :ingredients({ { "wood-science-pack", 1 } })
effects = { :time(60)
{ :apply()
type = "unlock-recipe",
recipe = "lumber-mill"
},
},
prerequisites = { "wood-science-pack" },
unit = {
count = 500,
ingredients = {
{ "wood-science-pack", 1 }
},
time = 30
}
}
})

View file

@ -160,3 +160,4 @@ lumber.fuel_value = "4MJ"
local lumber_recipe = data.raw.recipe["lumber"] local lumber_recipe = data.raw.recipe["lumber"]
lumber_recipe.category = "wood-processing-or-assembling" lumber_recipe.category = "wood-processing-or-assembling"
lumber_recipe.energy_required = 2 lumber_recipe.energy_required = 2
lumber_recipe.allow_as_intermediate = true

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 756 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
sources/icons/gold-ore.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
sources/icons/gold-wire.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.