Compare commits

...
Sign in to create a new pull request.

16 commits

Author SHA1 Message Date
Simon Brodtmann
b2ac4793c6 1.0.30 2025-03-06 22:49:06 +01:00
Simon Brodtmann
4ed26b5b9d Any planet start: Fix startup crash 2025-03-06 22:45:51 +01:00
Simon Brodtmann
d41cc3c822 1.0.29 2025-03-05 09:49:28 +01:00
Simon Brodtmann
ad56704b52 Fix Burner agricultural tower not having a Nauvis recipe 2025-03-05 09:47:03 +01:00
Simon Brodtmann
c481394e55 Alien Biomes: Add warning 2025-03-05 00:12:54 +01:00
Simon Brodtmann
c334459db2 readme 2025-03-04 21:31:06 +01:00
Simon Brodtmann
e1c40fcd33 Nerf quality assembler to +25% quality 2025-03-04 21:28:24 +01:00
Simon Brodtmann
da50f85b5b Set default for setting "Basic circuit boards" to true 2025-03-04 20:46:42 +01:00
Simon Brodtmann
3b26f3a754 readme 2025-03-04 20:46:14 +01:00
Simon Brodtmann
0bfda7246f 1.0.28 2025-03-04 10:17:22 +01:00
Simon Brodtmann
f91f364c8d Prevent possible errors on player initialization 2025-03-04 09:56:59 +01:00
Simon Brodtmann
8e1c774e2a Steam assembler technology should not ignore tech cost multiplier 2025-03-03 18:41:20 +01:00
Simon Brodtmann
1b117be9c6 AAI Loaders: Add missing translation 2025-03-03 18:40:55 +01:00
Simon Brodtmann
67055378c8 1.0.27 2025-03-02 23:49:55 +01:00
Simon Brodtmann
0fb21cf2ea AAI Industry: Fix basic circuit board recipe unlock 2025-03-02 23:44:01 +01:00
Simon Brodtmann
db9dd1c252 Add compatibility for "Lane splitters" 2025-03-02 23:19:45 +01:00
14 changed files with 127 additions and 40 deletions

View file

@ -2,8 +2,6 @@ This mod extends the early game of Space Age by putting you on the moon "Lignumi
The duration of the stay on Lignumis will be rather short. The impact of the later game will still be substantial (once implemented).
**If you start a new game, check out the setting for adding Basic circuit boards.**
## Mod recommendations
The following mods can be a great addition for this mod:
@ -63,6 +61,7 @@ The following planet mods are tested for (at least technical) compatibility:
## Problematic / incompatible mods
* Mods that let you start on a different planet: They are supported, but you are missing half of the content of this mod.
* The combination of AAI Industry and Any planet start is currently not supported.
* Alien Biomes: Lignumis won't have any trees. It's playable, but not as intended.
* The rest of the Wooden Universe: I marked the ones incompatible that don't make sense to combine or that wouldn't add more that is not already included.
@ -123,7 +122,7 @@ If your modded lab is special and it should not support these science packs, use
- Simplified chinese (zh-CN): cyx2015s
- Polish (pl): StarGazer
### Assets
### Assets / Code
[Hurricane](https://mods.factorio.com/user/Hurricane046)
@ -184,3 +183,8 @@ If your modded lab is special and it should not support these science packs, use
[Pixabay](https://pixabay.com)
- [AudioPapkin: Forest ambience](https://pixabay.com/sound-effects/forest-ambience-296528/)
[SafTheLamb](https://mods.factorio.com/user/SafTheLamb)
- [Early Agriculture](https://mods.factorio.com/mod/early-agriculture): Fix for trees not being plantable on Nauvis with Alien Biomes active.
- [Wooden Logistics](https://mods.factorio.com/mod/wood-logistics): Code for AAI Loader.

View file

@ -1,4 +1,35 @@
---------------------------------------------------------------------------------------------------
Version: 1.0.30
Date: 06.03.2025
Bug Fixes:
- Any planet start: Fix startup crash
---------------------------------------------------------------------------------------------------
Version: 1.0.29
Date: 05.03.2025
Breaking Changes:
- Nerf quality assembler to +25% quality
Changes:
- Set default for setting "Basic circuit boards" to true
- Alien Biomes: Add warning when the game starts that AB is not supported
Bug Fixes:
- Fix Burner agricultural tower not having a Nauvis recipe when "Basic circuit boards" is active
---------------------------------------------------------------------------------------------------
Version: 1.0.28
Date: 04.03.2025
Changes:
- Steam assembler technology should not ignore tech cost multiplier
Bug Fixes:
- AAI Loaders: Add missing translation
- Prevent possible errors on player initialization
---------------------------------------------------------------------------------------------------
Version: 1.0.27
Date: 02.03.2025
Changes:
- Add compatibility for "Any planet start"
- Add compatibility for "Lane splitters"
Bug Fixes:
- AAI Industry: Fix basic circuit board recipe unlock
---------------------------------------------------------------------------------------------------
Version: 1.0.26
Date: 28.02.2025
Bug Fixes:

View file

@ -1,6 +1,6 @@
{
"name": "lignumis",
"version": "1.0.26",
"version": "1.0.30",
"title": "Lignumis",
"description": "Dive into the world of Lignumis, a moon of Nauvis offering only the most basic technologies.",
"author": "cackling fiend",
@ -28,6 +28,7 @@
"?Diversitree",
"?aai-loaders",
"?atan-nuclear-science",
"?lane-splitters",
"!apm_power_ldinc",
"!wood-logistics",
"!early-agriculture",

View file

@ -45,6 +45,7 @@ basic-radar=Basic radar
active-noise-cancelling-tower=Active noise cancelling tower
quality-assembler=Quality assembler
aai-wood-loader=Wood loader
wood-lane-splitter=Wood lane splitter
[entity-description]
lumber-mill=Advanced machine to process wood.
@ -128,6 +129,7 @@ basic-repair-pack=Basic repair pack
basic-radar=Basic radar
active-noise-cancelling=Active noise cancelling
quality-assembler=Quality assembler
aai-wood-loader=Wood loader
[technology-description]
wood-science-pack=Allows research of basic technologies based on wood products.

View file

@ -5,10 +5,12 @@ if not mods["aai-industry"] then return end
data.raw.recipe["wood-science-pack"].allow_hand_crafting = true
local burner_mechanics = Technology:new("burner-mechanics")
burner_mechanics:addPrerequisite("iron-processing")
burner_mechanics:removeRecipe("burner-inserter")
burner_mechanics:removeRecipe("burner-mining-drill")
burner_mechanics:removeRecipe("burner-assembling-machine")
if not mods["planet-picker"] and not mods["any-planet-start"] then
burner_mechanics:addPrerequisite("iron-processing")
end
data.raw.recipe["burner-inserter"].enabled = true
data.raw.recipe["burner-mining-drill"].enabled = true
@ -29,4 +31,8 @@ if settings.startup["lignumis-basic-circuit-board"].value then
table.insert(data.raw["recipe"]["inserter"].ingredients, { type = "item", name = "basic-circuit-board", amount = 1 })
table.insert(data.raw["recipe"]["burner-lab"].ingredients, { type = "item", name = "basic-circuit-board", amount = 10 })
table.insert(data.raw["recipe"]["assembling-machine-1"].ingredients, { type = "item", name = "basic-circuit-board", amount = 5 })
-- AAI Industry messes with the basic circuit board recipe
Technology:new("electronics"):removeRecipe("basic-circuit-board")
data.raw.recipe["basic-circuit-board"].enabled = true
end

View file

@ -5,3 +5,4 @@ require("alien-biomes")
require("planet-picker")
require("aai-loaders")
require("nuclear-science")
require("lane-splitters")

View file

@ -0,0 +1,32 @@
if not mods["lane-splitters"] then return end
local lane_splitter = make_tier({
name = "wood-lane-splitter",
base_belt = "wood-transport-belt",
base_splitter = "wood-splitter",
health = 150,
next_upgrade = "lane-splitter",
})
lane_splitter.prototype.icon = Lignumis.graphics .. "icons/wood-lane-splitter.png"
lane_splitter.prototype.dying_explosion = "transport-belt-explosion"
lane_splitter.prototype.structure.east.filename = data.raw.splitter["wood-splitter"].structure.east.filename
lane_splitter.prototype.structure.south.filename = data.raw.splitter["wood-splitter"].structure.south.filename
lane_splitter.prototype.structure.west.filename = data.raw.splitter["wood-splitter"].structure.west.filename
lane_splitter.prototype.structure.north.filename = data.raw.splitter["wood-splitter"].structure.north.filename
lane_splitter.prototype.structure_patch.east.filename = data.raw.splitter["wood-splitter"].structure_patch.east.filename
lane_splitter.prototype.structure_patch.south.filename = data.raw.splitter["wood-splitter"].structure_patch.south.filename
lane_splitter.prototype.structure_patch.west.filename = data.raw.splitter["wood-splitter"].structure_patch.west.filename
lane_splitter.prototype.structure_patch.north.filename = data.raw.splitter["wood-splitter"].structure_patch.north.filename
lane_splitter.item.icon = Lignumis.graphics .. "icons/wood-lane-splitter.png"
data:extend({
lane_splitter.prototype,
lane_splitter.item,
lane_splitter.recipe,
})
table.insert(data.raw["technology"]["wood-logistics"].effects, {
type = "unlock-recipe",
recipe = "wood-lane-splitter"
})

View file

@ -51,7 +51,11 @@ data:extend({
}
})
Technology:new("copper-processing"):addRecipe("basic-circuit-board-copper")
if not mods["planet-picker"] and not mods["any-planet-start"] then
Technology:new("copper-processing"):addRecipe("basic-circuit-board-copper")
else
Technology:new("electronics"):addRecipe("basic-circuit-board-copper")
end
if settings.startup["lignumis-circuit-progression"].value then
table.insert(data.raw.recipe["electronic-circuit"].ingredients, { type = "item", name = "basic-circuit-board", amount = 1 })

View file

@ -1,4 +1,5 @@
local item_sounds = require("__base__.prototypes.item_sounds")
local Technology = require("__cf-lib__/data/Technology")
local basic_circuit_board = settings.startup["lignumis-basic-circuit-board"].value
local gfx = Lignumis.graphics .. "entity/burner-agricultural-tower/"
@ -109,30 +110,30 @@ tech.ignore_tech_cost_multiplier = true
data.raw.technology["fish-breeding"].prerequisites = { "agricultural-science-pack" }
if not basic_circuit_board then
data:extend({
data:extend({
{
type = "recipe",
name = "burner-agricultural-tower-electronic-circuit",
name = "burner-agricultural-tower-copper",
localised_name = { "entity-name.burner-agricultural-tower" },
icons = {
{ icon = Lignumis.graphics .. "icons/burner-agricultural-tower.png" },
{ icon = "__base__/graphics/icons/electronic-circuit.png", scale = 0.25, shift = { 8, 8 } }
{ icon = "__base__/graphics/icons/copper-plate.png", scale = 0.25, shift = { 8, 8 } }
},
energy_required = 10,
ingredients = {
{ type = "item", name = "stone-brick", amount = 5 },
{ type = "item", name = "wooden-gear-wheel", amount = 20 },
{ type = "item", name = "lumber", amount = 20 },
{ type = "item", name = "electronic-circuit", amount = 10 }
{ type = "item", name = "copper-plate", amount = 10 },
{ type = "item", name = basic_circuit_board and "basic-circuit-board" or "electronic-circuit", amount = 10 }
},
results = { { type = "item", name = "burner-agricultural-tower", amount = 1 } },
enabled = false
}
})
})
table.insert(data.raw.technology["electronics"].effects, {
type = "unlock-recipe",
recipe = "burner-agricultural-tower-electronic-circuit"
})
if not mods["planet-picker"] and not mods["any-planet-start"] then
Technology:new("copper-processing"):addRecipe("burner-agricultural-tower-copper")
else
Technology:new("electronics"):addRecipe("burner-agricultural-tower-copper")
end

View file

@ -29,6 +29,6 @@ require("active-noise-cancelling-tower")
require("quality-assembler")
require("decoratives")
require("wood-military")
require("basic-circuit-boards")
require("basic-circuit-board")
require("noise")

View file

@ -77,7 +77,7 @@ QualityAssembler.EntityBuilder:new()
crafting_speed = 4,
module_slots = 6,
allowed_effects = { "pollution", "quality" },
effect_receiver = { base_effect = { quality = 10 } }
effect_receiver = { base_effect = { quality = 2.5 } }
})
QualityAssembler.ItemBuilder:new():apply()

View file

@ -106,6 +106,6 @@ data:extend({
ingredients = { { "wood-science-pack", 1 } },
time = 15
},
ignore_tech_cost_multiplier = true
ignore_tech_cost_multiplier = false
}
})

View file

@ -22,10 +22,10 @@ end
-- Teleport to Lignumis and give some starting items
local function init_player(event)
local player = game.get_player(event.player_index)
if not player.character then return end
local surface = storage.surface or game.planets["lignumis"].surface
if not player.character or not surface then return end
player.teleport(surface.find_non_colliding_position("character", { 0, 0 }, 0, 1), "lignumis")
player.character.destructible = false
local main_inventory = player.character.get_main_inventory()
@ -80,6 +80,11 @@ Init.events[defines.events.on_player_created] = function(event)
if storage.init[event.player_index] then return end
storage.init[event.player_index] = true
if script.active_mods["alien-biomes"] then
game.print("While Alien Biomes is playable with Lignumis, it is not recommended as it prevents trees from being generated on Lignumis.")
end
init_player(event)
init_freeplay(event)
end

View file

@ -31,7 +31,7 @@ data:extend({
type = "bool-setting",
name = "lignumis-basic-circuit-board",
setting_type = "startup",
default_value = false,
default_value = true,
order = "e"
},
{