Compare commits

...

8 commits
2.0.27 ... main

Author SHA1 Message Date
Simon Brodtmann
923d31db2b Gardens have reduced crafting speed with quality 2025-11-24 22:41:04 +01:00
Simon Brodtmann
6e1ebd7fe3 2.0.30 2025-11-05 10:18:19 +01:00
9141272322 New scales for items that was too small. (#9)
Just simple scale increase for item mip textures. More info in last commit description.

![image](/attachments/63fa30f2-3fb7-4744-9439-4f8840fbf879)

Reviewed-on: #9
Co-authored-by: MAGGen <maggen@noreply.example.org>
Co-committed-by: MAGGen <maggen@noreply.example.org>
2025-11-03 22:17:20 +01:00
Simon Brodtmann
7f7e973136 2.0.29 2025-11-02 18:45:53 +01:00
Simon Brodtmann
a52c40bad8 Remove settings check for wooden rails 2025-11-02 07:31:03 +01:00
Simon Brodtmann
ae98408dee editorconfig 2025-11-02 07:24:54 +01:00
Simon Brodtmann
f355cb92dc 2.0.28 2025-11-01 22:48:05 +01:00
209f7d621e Returned wooden rails. (#8)
Borrowed recipes from here and edited them to work with Factorio 2.0: https://github.com/TheSAguy/Bio_Industries
Recipes: `wooden rails recipe`, `alternative production science pack recipe`

Additional feature: added ability to replace/upgrade ralis (wood <-> iron)
Note: to degrade iron rails back to wooden variant ALL variations of rails must be manualy selected in upgrade plan interface.
Example:
![image](/attachments/9566fda8-d019-4e84-8304-0f5d70205261)

Reviewed-on: #8
Co-authored-by: MAGGen <maggen@noreply.example.org>
Co-committed-by: MAGGen <maggen@noreply.example.org>
2025-11-01 14:52:19 +01:00
7 changed files with 631 additions and 574 deletions

3
.editorconfig Normal file
View file

@ -0,0 +1,3 @@
[*]
indent_style = space
indent_size = 2

View file

@ -1,4 +1,19 @@
---------------------------------------------------------------------------------------------------
Version: 2.0.30
Date: 05.11.2025
Bug Fixes:
- Fix icon scales
---------------------------------------------------------------------------------------------------
Version: 2.0.29
Date: 02.11.2025
Bug Fixes:
- Remove settings check for wooden rails
---------------------------------------------------------------------------------------------------
Version: 2.0.28
Date: 01.11.2025
Changes:
- Add wooden rails again (thanks MAGGen)
---------------------------------------------------------------------------------------------------
Version: 2.0.27
Date: 21.10.2025
Changes:

View file

@ -1,6 +1,6 @@
{
"name": "Bio_Industries_2",
"version": "2.0.27",
"version": "2.0.30",
"factorio_version": "2.0",
"title": "Bio Industries",
"author": "TheSAguy - Had a few Ideas, Pi-C (Programming Genius), Snouz (Graphics Wizard), Cackling Fiend - Conversion to F2.0",

View file

@ -13,10 +13,10 @@ data:extend(
name = "bi-seed",
icons = { {icon = ICONPATH .. "bio_seed.png", icon_size = 64, }},
pictures = {
{ size = 64, filename = ICONPATHMIPS.."bio_seed_1.png", scale = 0.25, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."bio_seed_2.png", scale = 0.25, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."bio_seed_3.png", scale = 0.25, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."bio_seed_4.png", scale = 0.25, mipmap_count = 4 }
{ size = 64, filename = ICONPATHMIPS.."bio_seed_1.png", scale = 0.48, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."bio_seed_2.png", scale = 0.46, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."bio_seed_3.png", scale = 0.45, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."bio_seed_4.png", scale = 0.43, mipmap_count = 4 }
},
category = "biofarm-mod-greenhouse",
subgroup = "bio-bio-farm",
@ -35,15 +35,15 @@ data:extend(
localised_description = {"entity-description.seedling"},
icons = { {icon = ICONPATH .. "Seedling.png", icon_size = 64, }},
pictures = {
{ size = 64, filename = ICONPATHMIPS.."seedling_1.png", scale = 0.25, mipmap_count = 9 },
{ size = 64, filename = ICONPATHMIPS.."seedling_2.png", scale = 0.25, mipmap_count = 9 },
{ size = 64, filename = ICONPATHMIPS.."seedling_3.png", scale = 0.25, mipmap_count = 9 },
{ size = 64, filename = ICONPATHMIPS.."seedling_4.png", scale = 0.25, mipmap_count = 9 },
{ size = 64, filename = ICONPATHMIPS.."seedling_5.png", scale = 0.25, mipmap_count = 9 },
{ size = 64, filename = ICONPATHMIPS.."seedling_6.png", scale = 0.25, mipmap_count = 9 },
{ size = 64, filename = ICONPATHMIPS.."seedling_7.png", scale = 0.25, mipmap_count = 9 },
{ size = 64, filename = ICONPATHMIPS.."seedling_8.png", scale = 0.25, mipmap_count = 9 },
{ size = 64, filename = ICONPATHMIPS.."seedling_9.png", scale = 0.25, mipmap_count = 9 }
{ size = 64, filename = ICONPATHMIPS.."seedling_1.png", scale = 0.57, mipmap_count = 9 },
{ size = 64, filename = ICONPATHMIPS.."seedling_2.png", scale = 0.52, mipmap_count = 9 },
{ size = 64, filename = ICONPATHMIPS.."seedling_3.png", scale = 0.47, mipmap_count = 9 },
{ size = 64, filename = ICONPATHMIPS.."seedling_4.png", scale = 0.52, mipmap_count = 9 },
{ size = 64, filename = ICONPATHMIPS.."seedling_5.png", scale = 0.62, mipmap_count = 9 },
{ size = 64, filename = ICONPATHMIPS.."seedling_6.png", scale = 0.52, mipmap_count = 9 },
{ size = 64, filename = ICONPATHMIPS.."seedling_7.png", scale = 0.72, mipmap_count = 9 },
{ size = 64, filename = ICONPATHMIPS.."seedling_8.png", scale = 0.52, mipmap_count = 9 },
{ size = 64, filename = ICONPATHMIPS.."seedling_9.png", scale = 0.47, mipmap_count = 9 }
},
subgroup = "bio-bio-farm",
order = "x[bi]-b[bi-seedling]",
@ -114,10 +114,10 @@ data:extend(
name = "bi-woodpulp",
icons = { {icon = ICONPATH .. "woodpulp_64.png", icon_size = 64, }},
pictures = {
{ size = 64, filename = ICONPATHMIPS.."woodpulp_1.png", scale = 0.2, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."woodpulp_2.png", scale = 0.2, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."woodpulp_3.png", scale = 0.2, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."woodpulp_4.png", scale = 0.2, mipmap_count = 4 }
{ size = 64, filename = ICONPATHMIPS.."woodpulp_1.png", scale = 0.55, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."woodpulp_2.png", scale = 0.53, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."woodpulp_3.png", scale = 0.51, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."woodpulp_4.png", scale = 0.49, mipmap_count = 4 }
},
fuel_value = "1MJ",
fuel_category = "chemical",
@ -147,10 +147,10 @@ data:extend(
name = "bi-ash",
icons = { {icon = ICONPATH .. "ash.png", icon_size = 64, }},
pictures = {
{ size = 64, filename = ICONPATHMIPS.."ash_1.png", scale = 0.2, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."ash_2.png", scale = 0.2, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."ash_3.png", scale = 0.2, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."ash_4.png", scale = 0.2, mipmap_count = 4 }
{ size = 64, filename = ICONPATHMIPS.."ash_1.png", scale = 0.42, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."ash_2.png", scale = 0.42, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."ash_3.png", scale = 0.42, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."ash_4.png", scale = 0.42, mipmap_count = 4 }
},
subgroup = "raw-material",
order = "a[bi]-a-b[bi-ash]",
@ -164,10 +164,10 @@ data:extend(
name = "wood-charcoal",
icons = { {icon = ICONPATH .. "charcoal.png", icon_size = 64, }},
pictures = {
{ size = 64, filename = ICONPATHMIPS.."charcoal_1.png", scale = 0.2, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."charcoal_2.png", scale = 0.2, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."charcoal_3.png", scale = 0.2, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."charcoal_4.png", scale = 0.2, mipmap_count = 4 }
{ size = 64, filename = ICONPATHMIPS.."charcoal_1.png", scale = 0.49, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."charcoal_2.png", scale = 0.5, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."charcoal_3.png", scale = 0.5, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."charcoal_4.png", scale = 0.51, mipmap_count = 4 }
},
fuel_value = "6MJ",
fuel_category = "chemical",
@ -199,10 +199,10 @@ data:extend(
name = "stone-crushed",
icons = { {icon = ICONPATH .. "crushed-stone.png", icon_size = 64, }},
pictures = {
{ size = 64, filename = ICONPATHMIPS.."crush_1.png", scale = 0.2, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."crush_2.png", scale = 0.2, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."crush_3.png", scale = 0.2, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."crush_4.png", scale = 0.2, mipmap_count = 4 }
{ size = 64, filename = ICONPATHMIPS.."crush_1.png", scale = 0.44, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."crush_2.png", scale = 0.45, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."crush_3.png", scale = 0.45, mipmap_count = 4 },
{ size = 64, filename = ICONPATHMIPS.."crush_4.png", scale = 0.46, mipmap_count = 4 }
},
subgroup = "raw-material",
order = "a[bi]-a-z[stone-crushed]",

View file

@ -1,11 +1,16 @@
local BioInd = require('common')('Bio_Industries_2')
local ICONPATH = BioInd.modRoot .. "/graphics/icons/"
local ICONPATH_E = BioInd.modRoot .. "/graphics/icons/entity/"
local ENTITYPATH_BIO = BioInd.modRoot .. "/graphics/entities/"
local REMNANTSPATH = BioInd.modRoot .. "/graphics/entities/remnants/"
require("util")
local crafting_speed_quality_multiplier = mods["quality"] and {
uncommon = 0.83,
rare = 0.66,
epic = 0.50,
legendary = 0.16
} or nil
--- Bio Garden
data:extend({
@ -68,6 +73,7 @@ data:extend({
source_inventory_size = 1,
result_inventory_size = 1,
crafting_speed = 1.0,
crafting_speed_quality_multiplier = crafting_speed_quality_multiplier,
energy_source = {
type = "electric",
usage_priority = "secondary-input",
@ -105,8 +111,7 @@ data:extend({
time_before_removed = 60 * 60 * 15, -- 15 minutes
final_render_layer = "remnants",
remove_on_tile_placement = false,
animation =
{
animation = {
{
filename = REMNANTSPATH .. "bio_garden_remnant.png",
line_length = 1,
@ -121,7 +126,6 @@ data:extend({
},
---- Bio Garden Large
{
type = "assembling-machine",
@ -209,6 +213,7 @@ data:extend({
source_inventory_size = 1,
result_inventory_size = 1,
crafting_speed = 4.0,
crafting_speed_quality_multiplier = crafting_speed_quality_multiplier,
energy_source = {
type = "electric",
usage_priority = "secondary-input",
@ -246,8 +251,7 @@ data:extend({
time_before_removed = 60 * 60 * 15, -- 15 minutes
final_render_layer = "remnants",
remove_on_tile_placement = false,
animation =
{
animation = {
{
filename = REMNANTSPATH .. "bio_garden_large_remnant.png",
line_length = 1,
@ -391,6 +395,7 @@ data:extend({
source_inventory_size = 1,
result_inventory_size = 1,
crafting_speed = 16,
crafting_speed_quality_multiplier = crafting_speed_quality_multiplier,
energy_source = {
type = "electric",
usage_priority = "secondary-input",
@ -428,8 +433,7 @@ data:extend({
time_before_removed = 60 * 60 * 15, -- 15 minutes
final_render_layer = "remnants",
remove_on_tile_placement = false,
animation =
{
animation = {
{
filename = REMNANTSPATH .. "bio_garden_huge_remnant.png",
line_length = 1,

View file

@ -39,7 +39,6 @@ log("Enabling disassemble recipes!")
},
main_product = "",
},
----
{
type = "recipe",
name = "bi-burner-inserter-disassemble",
@ -61,7 +60,6 @@ log("Enabling disassemble recipes!")
},
main_product = "",
},
----
{
type = "recipe",
name = "bi-long-handed-inserter-disassemble",
@ -85,7 +83,6 @@ log("Enabling disassemble recipes!")
},
main_product = "",
},
---
{
type = "recipe",
name = "bi-stone-furnace-disassemble",
@ -107,7 +104,6 @@ log("Enabling disassemble recipes!")
},
main_product = "",
},
---
{
type = "recipe",
name = "bi-steel-furnace-disassemble",
@ -133,3 +129,27 @@ log("Enabling disassemble recipes!")
})
end
local SET = settings.startup["BI_Game_Tweaks_Production_Science"].value
if SET and not mods["Krastorio2"] then
data:extend({
{
type = "recipe",
name = "bi-production-science-pack",
enabled = false,
energy_required = 21,
ingredients = {
{ type = "item", name = "electric-furnace", amount = 1 },
{ type = "item", name = "productivity-module", amount = 1 },
{ type = "item", name = "bi-rail-wood", amount = 40 }
},
results = { { type = "item", name = "production-science-pack", amount = 3 } },
},
})
--~ BI_Functions.lib.allow_productivity("bi-production-science-pack")
--~ thxbob.lib.tech.add_recipe_unlock("production-science-pack", "bi-production-science-pack")
BioInd.writeDebug("Added alternative recipe for Production science packs.")
else
BioInd.writeDebug("Didn't add alternative recipe for Production science packs! (\"Krastorio\": %s\tSetting: %s",
{ (mods["Krastorio2"] and "active" or "not active"), (SET and "enabled" or "disabled") })
end

View file

@ -1,19 +1,10 @@
require("prototypes.Wood_Products.rail-pictures-wood")
local BioInd = require('common')('Bio_Industries_2')
local ICONPATH = BioInd.modRoot .. "/graphics/icons/"
local ICONPATH_E = BioInd.modRoot .. "/graphics/icons/entity/"
local item_sounds = require("__base__.prototypes.item_sounds")
local hit_effects = require("__base__.prototypes.entity.hit-effects")
local sounds = require("__base__.prototypes.entity.sounds")
local tile_sounds = require("__base__.prototypes.tile.tile-sounds")
local simulations = require("__base__.prototypes.factoriopedia-simulations")
if BI.Settings.BI_Game_Tweaks_Recipe then
data:extend({
---- ITEM
@ -29,8 +20,7 @@ local simulations = require("__base__.prototypes.factoriopedia-simulations")
drop_sound = item_sounds.train_inventory_move,
place_result = "bi-straight-rail-wood",
stack_size = 100,
rails =
{
rails = {
"bi-straight-rail-wood",
"bi-curved-rail-a-wood",
"bi-curved-rail-b-wood",
@ -40,13 +30,39 @@ local simulations = require("__base__.prototypes.factoriopedia-simulations")
},
---- Recipe
{
type = "recipe",
name = "bi-rail-wood",
localised_name = { "entity-name.bi-rail-wood" },
localised_description = { "entity-description.bi-rail-wood" },
icons = { { icon = ICONPATH_E .. "rail-wood.png", icon_size = 64, } },
enabled = false,
ingredients = {
{ type = "item", name = "wood", amount = 6 },
{ type = "item", name = "stone", amount = 1 },
{ type = "item", name = "steel-plate", amount = 1 },
{ type = "item", name = "iron-stick", amount = 1 },
},
results = { { type = "item", name = "bi-rail-wood", amount = 2 } },
main_product = "",
requester_paste_multiplier = 4,
--~ always_show_made_in = true,
--~ allow_decomposition = false,
allow_as_intermediate = false, -- Added for 0.18.34/1.1.4
always_show_made_in = false, -- Changed for 0.18.34/1.1.4
allow_decomposition = true, -- Changed for 0.18.34/1.1.4
subgroup = "transport",
order = "a[train-system]-a[rail]",
-- This is a custom property for use by "Krastorio 2" (it will change
-- ingredients/results; used for wood/wood pulp)
mod = "Bio_Industries",
},
{
type = "recipe",
name = "bi-rail-wood-to-concrete",
icons = { { icon = ICONPATH_E .. "rail-wood-to-concrete.png", icon_size = 64, } },
enabled = false,
ingredients =
{
ingredients = {
{ type = "item", name = "bi-rail-wood", amount = 2 },
{ type = "item", name = "stone-brick", amount = 6 },
@ -68,12 +84,10 @@ local simulations = require("__base__.prototypes.factoriopedia-simulations")
minable = { mining_time = 0.2, result = "bi-rail-wood", count = 1 },
max_health = 200,
corpse = "straight-rail-remnants",
dying_explosion =
{
dying_explosion = {
name = "rail-explosion"
},
resistances =
{
resistances = {
{
type = "fire",
percent = 100
@ -90,7 +104,10 @@ local simulations = require("__base__.prototypes.factoriopedia-simulations")
placeable_by = { item = "bi-rail-wood", count = 1 },
walking_sound = tile_sounds.walking.rails,
extra_planner_goal_penalty = -4,
factoriopedia_alternative = "straight-rail"
factoriopedia_alternative = "straight-rail",
-- for upgrade planer (fast rail change wood/iron)
next_upgrade = "straight-rail",
fast_replaceable_group = "straight-rail",
},
{
@ -107,8 +124,7 @@ local simulations = require("__base__.prototypes.factoriopedia-simulations")
minable = { mining_time = 0.2, result = "bi-rail-wood", count = 2 },
max_health = 200,
corpse = "half-diagonal-rail-remnants",
dying_explosion =
{
dying_explosion = {
{
name = "rail-explosion",
offset = { 0.9, 2.2 }
@ -121,8 +137,7 @@ local simulations = require("__base__.prototypes.factoriopedia-simulations")
offset = { -1.2, -2 }
}
},
resistances =
{
resistances = {
{
type = "fire",
percent = 100
@ -139,7 +154,10 @@ local simulations = require("__base__.prototypes.factoriopedia-simulations")
placeable_by = { item = "bi-rail-wood", count = 2 },
walking_sound = tile_sounds.walking.rails,
extra_planner_penalty = 0,
factoriopedia_alternative = "straight-rail"
factoriopedia_alternative = "straight-rail",
-- for upgrade planer (fast rail change wood/iron)
next_upgrade = "half-diagonal-rail",
fast_replaceable_group = "half-diagonal-rail",
},
{
type = "curved-rail-a",
@ -153,8 +171,7 @@ local simulations = require("__base__.prototypes.factoriopedia-simulations")
minable = { mining_time = 0.2, result = "bi-rail-wood", count = 3 },
max_health = 200,
corpse = "curved-rail-a-remnants",
dying_explosion =
{
dying_explosion = {
{
name = "rail-explosion",
offset = { 0.9, 2.2 }
@ -167,8 +184,7 @@ local simulations = require("__base__.prototypes.factoriopedia-simulations")
offset = { -1.2, -2 }
}
},
resistances =
{
resistances = {
{
type = "fire",
percent = 100
@ -186,7 +202,10 @@ local simulations = require("__base__.prototypes.factoriopedia-simulations")
walking_sound = tile_sounds.walking.rails,
extra_planner_penalty = 0.5,
deconstruction_marker_positions = rail_8shifts_vector(-0.248, -0.533),
factoriopedia_alternative = "straight-rail"
factoriopedia_alternative = "straight-rail",
-- for upgrade planer (fast rail change wood/iron)
next_upgrade = "curved-rail-a",
fast_replaceable_group = "curved-rail-a",
},
{
type = "curved-rail-b",
@ -200,8 +219,7 @@ local simulations = require("__base__.prototypes.factoriopedia-simulations")
minable = { mining_time = 0.2, result = "bi-rail-wood", count = 3 },
max_health = 200,
corpse = "curved-rail-b-remnants",
dying_explosion =
{
dying_explosion = {
{
name = "rail-explosion",
offset = { 0.9, 2.2 }
@ -214,8 +232,7 @@ local simulations = require("__base__.prototypes.factoriopedia-simulations")
offset = { -1.2, -2 }
}
},
resistances =
{
resistances = {
{
type = "fire",
percent = 100
@ -233,11 +250,9 @@ local simulations = require("__base__.prototypes.factoriopedia-simulations")
walking_sound = tile_sounds.walking.rails,
extra_planner_penalty = 0.5,
deconstruction_marker_positions = rail_8shifts_vector(-0.309, -0.155),
factoriopedia_alternative = "straight-rail"
factoriopedia_alternative = "straight-rail",
-- for upgrade planer (fast rail change wood/iron)
next_upgrade = "curved-rail-b",
fast_replaceable_group = "curved-rail-b",
},
})
end