Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 33 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,34 @@
# Yuoki Industries (Factorio 2.0)
Yuoki-Industries - a factorio mod by: [YuokiTani](https://mods.factorio.com/user/YuokiTani)
# Yuoki Industries (Factorio 2.1)

Currently Maintained by: [jatmn](https://mods.factorio.com/user/jatmn)
A Factorio mod by [YuokiTani](https://mods.factorio.com/user/YuokiTani),
currently maintained by [jatmn](https://mods.factorio.com/user/jatmn).

## Compatibility

Yuoki **1.3.0** requires **Factorio 2.1.20 or later**. Use Yuoki **1.2.x** with Factorio 2.0.

Space Age and Quality are optional. If enabled, each must be version 2.1.20
or later. Factorio 2.1 provides recycling through the separate built-in
Recycler mod; Space Age works with Quality disabled. Yuoki's quality module
requires both Space Age and Quality.

Do not enable `Yuoki_F2`, `yi_engines_F2`, or `YuokiTweaks` alongside this mod;
these are declared incompatible in [info.json](info.json).

## Installation

Install [Yuoki Industries](https://mods.factorio.com/mod/Yuoki) through the
in-game mod manager, selecting a version compatible with your Factorio version.
To install from source, build `Yuoki_1.3.0.zip` using the commands in
[Development checks](docs/development.md#installable-package), then put that ZIP
in your Factorio mods directory. Enable only one installed copy of Yuoki.
Back up existing saves before upgrading from Factorio 2.0.

## Validation

The 1.3.0 compatibility audit uses the official Factorio **2.1.21** headless
engine with base Yuoki, Recycler, Quality, and Space Age with Quality both
on and off. Headless checks cover prototype loading and short save runs;
they do not establish graphical correctness or full third-party mod compatibility.
See [changelog.txt](changelog.txt) for changes and
[CONTRIBUTING.md](CONTRIBUTING.md) for development requirements.
4 changes: 3 additions & 1 deletion changelog.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
---------------------------------------------------------------------------------------------------
Version: 1.3.0
Date: 5. 10. 2026
Date: 8. 10. 2026
Changes:
- Added experimental Factorio 2.1 support (requires 2.1.20 or later). Use Yuoki 1.2.x for Factorio 2.0.
Fixes:
- Updated assembler pipe pictures, fuel and recipe categories, and product probabilities for startup compatibility.
- Only load the Space Age quality module when quality is enabled.
- Preserve the YI Quality Module's 1% base quality chance with Factorio 2.1 effect units.
- Preserve hidden pipe connection indicators using the Factorio 2.1 per-connection field.
---------------------------------------------------------------------------------------------------
Version: 1.2.23
Date: 4. 7. 2026
Expand Down
4 changes: 2 additions & 2 deletions info.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"name": "Yuoki",
"version": "1.3.0",
"date": "2026-10-05",
"date": "2026-10-08",
"author": "YuokiTani",
"contact": "https://discord.gg/fM6NjWabAA",
"homepage": "https://github.com/jatmn/Yuoki-Factorio-2.0",
"homepage": "https://github.com/jatmn/Yuoki-Factorio-2.x",
"factorio_version": "2.1",
"dependencies": [
"base >= 2.1.20",
Expand Down
49 changes: 22 additions & 27 deletions prototypes/entity/e_pipes.lua
Original file line number Diff line number Diff line change
Expand Up @@ -730,10 +730,9 @@ data:extend({
volume = 200,
pipe_covers = pipecoverspictures(), -- in case a real pipe is connected to a ghost
pipe_connections = {
{ direction = defines.direction.east, position = { 0, 0 } },
{ direction = defines.direction.west, position = { 0, 0 } },
{ direction = defines.direction.east, position = { 0, 0 }, hide_connection_info = true },
{ direction = defines.direction.west, position = { 0, 0 }, hide_connection_info = true },
},
hide_connection_info = true,
},
pictures = pipepictures_hv(),

Expand Down Expand Up @@ -768,10 +767,9 @@ data:extend({
volume = 200,
pipe_covers = pipecoverspictures(), -- in case a real pipe is connected to a ghost
pipe_connections = {
{ direction = defines.direction.north, position = { 0, 0 } },
{ direction = defines.direction.south, position = { 0, 0 } },
{ direction = defines.direction.north, position = { 0, 0 }, hide_connection_info = true },
{ direction = defines.direction.south, position = { 0, 0 }, hide_connection_info = true },
},
hide_connection_info = true,
},
pictures = pipepictures_hv(),

Expand Down Expand Up @@ -932,12 +930,11 @@ data:extend({
volume = 80,
pipe_covers = pipecoverspictures(), -- in case a real pipe is connected to a ghost
pipe_connections = {
{ direction = defines.direction.north, position = { 0, 0 } },
{ direction = defines.direction.east, position = { 0, 0 } },
{ direction = defines.direction.south, position = { 0, 0 } },
{ direction = defines.direction.west, position = { 0, 0 } },
{ direction = defines.direction.north, position = { 0, 0 }, hide_connection_info = true },
{ direction = defines.direction.east, position = { 0, 0 }, hide_connection_info = true },
{ direction = defines.direction.south, position = { 0, 0 }, hide_connection_info = true },
{ direction = defines.direction.west, position = { 0, 0 }, hide_connection_info = true },
},
hide_connection_info = true,
},
pictures = pipepictures_hv(),

Expand Down Expand Up @@ -974,15 +971,15 @@ data:extend({
volume = 80,
--pipe_covers = pipecoverspictures(),
pipe_connections = {
{ direction = defines.direction.north, position = { 0, 0 } },
{ direction = defines.direction.north, position = { 0, 0 }, hide_connection_info = true },
{
connection_type = "underground",
hide_connection_info = true,
direction = defines.direction.south,
position = { 0, 0 },
max_underground_distance = 20,
},
},
hide_connection_info = true,
},
impact_category = "metal",
pictures = {
Expand Down Expand Up @@ -1111,12 +1108,11 @@ data:extend({
volume = 130,
pipe_covers = pipecoverspictures(), -- in case a real pipe is connected to a ghost
pipe_connections = {
{ direction = defines.direction.north, position = { 0, 0 } },
{ direction = defines.direction.east, position = { 0, 0 } },
{ direction = defines.direction.south, position = { 0, 0 } },
{ direction = defines.direction.west, position = { 0, 0 } },
{ direction = defines.direction.north, position = { 0, 0 }, hide_connection_info = true },
{ direction = defines.direction.east, position = { 0, 0 }, hide_connection_info = true },
{ direction = defines.direction.south, position = { 0, 0 }, hide_connection_info = true },
{ direction = defines.direction.west, position = { 0, 0 }, hide_connection_info = true },
},
hide_connection_info = true,
},
pictures = pipepictures_ec(),

Expand Down Expand Up @@ -1153,15 +1149,15 @@ data:extend({
volume = 130,
--pipe_covers = pipecoverspictures(),
pipe_connections = {
{ direction = defines.direction.north, position = { 0, 0 } },
{ direction = defines.direction.north, position = { 0, 0 }, hide_connection_info = true },
{
connection_type = "underground",
hide_connection_info = true,
direction = defines.direction.south,
position = { 0, 0 },
max_underground_distance = 30,
},
},
hide_connection_info = true,
},
impact_category = "metal",
pictures = {
Expand Down Expand Up @@ -1930,12 +1926,11 @@ data:extend({
volume = 100,
pipe_covers = pipecoverspictures(), -- in case a real pipe is connected to a ghost
pipe_connections = {
{ direction = defines.direction.north, position = { 0, 0 } },
{ direction = defines.direction.east, position = { 0, 0 } },
{ direction = defines.direction.south, position = { 0, 0 } },
{ direction = defines.direction.west, position = { 0, 0 } },
{ direction = defines.direction.north, position = { 0, 0 }, hide_connection_info = true },
{ direction = defines.direction.east, position = { 0, 0 }, hide_connection_info = true },
{ direction = defines.direction.south, position = { 0, 0 }, hide_connection_info = true },
{ direction = defines.direction.west, position = { 0, 0 }, hide_connection_info = true },
},
hide_connection_info = true,
},
pictures = pipepictures_green(),

Expand Down Expand Up @@ -1972,15 +1967,15 @@ data:extend({
volume = 100,
--pipe_covers = pipecoverspictures(),
pipe_connections = {
{ direction = defines.direction.north, position = { 0, 0 } },
{ direction = defines.direction.north, position = { 0, 0 }, hide_connection_info = true },
{
connection_type = "underground",
hide_connection_info = true,
direction = defines.direction.south,
position = { 0, 0 },
max_underground_distance = 25,
},
},
hide_connection_info = true,
},
impact_category = "metal",
pictures = {
Expand Down
2 changes: 1 addition & 1 deletion prototypes/integration/space-age/data_y-module.lua
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ if mods["space-age"] and mods["quality"] then
subgroup = "y-module",
order = "m-4c",
stack_size = 100,
effect = { quality = 0.1, consumption = 2.5, productivity = 0.05 },
effect = { quality = 0.01, consumption = 2.5, productivity = 0.05 },
weight = 20 * kg,
--auto_recycle = true,
},
Expand Down
Loading