This commit is contained in:
Brevven 2025-04-07 20:10:44 -07:00
parent c40215b0fd
commit bd96ca7464
7 changed files with 87 additions and 64 deletions

View file

@ -1,8 +1,12 @@
--------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------
Version: 2.1.7 Version: 2.1.7
Date: 2025-03-03 Date: 2025-03-22
Changes: Changes:
- Compatibility tweaks for Tungsten mod - Set inventory sounds for some items
- Minor compatibility tweaks
Fixes:
- Loads with Crafting Efficiency mod
- Improved compatibility with muluna
- Other incidental fixes - Other incidental fixes
--------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------
Version: 2.1.6 Version: 2.1.6

View file

@ -1,39 +0,0 @@
local util = require("data-util");
if mods["crafting-efficiency-2"] then
local eff_data = {
}
for i, recipe in pairs(util.me.recipes) do
-- add remaining recipes with direct items to find the icons
if data.raw.recipe[recipe] and (data.raw.item[recipe] or data.raw.fluid[recipe])
and not eff_data[recipe] then
local research_level = 1
if not data.raw.recipe[recipe].enabled then
for tech, tbl in pairs(data.raw.technology) do
for _, effect in pairs(tbl.effects or {}) do
if effect.type == "unlock-recipe" and effect.recipe == recipe then
research_level = math.min(#tbl.unit.ingredients, 6)
end
end
end
end
eff_data[recipe] = {
max = 15,
icon = util.get_item_or_fluid_icon(recipe),
crafting = { efficiency = 10 },
research = { level = research_level },
}
if recipe:find("smelting") then
eff_data[recipe].crafting.efficiency = 20
eff_data[recipe].crafting.category = "smelting"
end
end
end
for recipe, d in pairs(eff_data) do
log("Adding "..recipe.." crafting efficiency")
d.name = recipe:gsub("^%l", string.upper).." efficiency"
CE_Add_Recipe(d, recipe)
end
end

View file

@ -6,7 +6,6 @@ require("map-gen-preset-updates")
require("omni") require("omni")
require("strange-matter") require("strange-matter")
require("zircon-rocks") require("zircon-rocks")
require("compatibility/crafting-efficiency")
local util = require("data-util"); local util = require("data-util");

View file

@ -12,6 +12,30 @@ util.get_setting = util.me.get_setting
util.titanium_plate = "" util.titanium_plate = ""
util.titanium_processing = "" util.titanium_processing = ""
local item_sounds_helper = [[
local item_sounds = require('__base__.prototypes.item_sounds')
inventory_move_sound = item_sounds.wire_inventory_move,
pick_sound = item_sounds.wire_inventory_pickup,
drop_sound = item_sounds.wire_inventory_move,
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,
inventory_move_sound = item_sounds.resource_inventory_move,
pick_sound = item_sounds.resource_inventory_pickup,
drop_sound = item_sounds.resource_inventory_move,
inventory_move_sound = item_sounds.brick_inventory_move,
pick_sound = item_sounds.brick_inventory_pickup,
drop_sound = item_sounds.brick_inventory_move,
inventory_move_sound = item_sounds.sulfur_inventory_move,
pick_sound = item_sounds.resource_inventory_pickup,
drop_sound = item_sounds.sulfur_inventory_move,
]]
util.A = {{"automation-science-pack", 1}} util.A = {{"automation-science-pack", 1}}
util.AL = {{"automation-science-pack", 1}, {"logistic-science-pack", 1}} util.AL = {{"automation-science-pack", 1}, {"logistic-science-pack", 1}}
util.ALC = {{"automation-science-pack", 1}, {"logistic-science-pack", 1}, {"chemical-science-pack", 1}} util.ALC = {{"automation-science-pack", 1}, {"logistic-science-pack", 1}, {"chemical-science-pack", 1}}
@ -157,6 +181,7 @@ function util.add_shiftite_recipe(item, shiftites, quantity)
end end
-- Add the gleba rock. If it exists, still add resource to mine from it -- Add the gleba rock. If it exists, still add resource to mine from it
local gleba_tint = {.6, .8, 1}
function util.add_gleba_rock(resource, amount_min, amount_max) function util.add_gleba_rock(resource, amount_min, amount_max)
if (not data.raw.planet.gleba or if (not data.raw.planet.gleba or
not data.raw.planet.gleba.map_gen_settings or -- attempted compatibility fixes not data.raw.planet.gleba.map_gen_settings or -- attempted compatibility fixes
@ -176,7 +201,7 @@ function util.add_gleba_rock(resource, amount_min, amount_max)
name = "gleba-rock", name = "gleba-rock",
localised_name = {"entity-name.big-rock"}, localised_name = {"entity-name.big-rock"},
flags = {"placeable-neutral", "placeable-off-grid"}, flags = {"placeable-neutral", "placeable-off-grid"},
icon = "__base__/graphics/icons/big-sand-rock.png", icons = {{icon = "__base__/graphics/icons/big-sand-rock.png", tint=gleba_tint}},
subgroup = "grass", subgroup = "grass",
order = "b[decorative]-l[rock]-a[big]", order = "b[decorative]-l[rock]-a[big]",
deconstruction_alternative = "big-rock", deconstruction_alternative = "big-rock",
@ -227,6 +252,7 @@ function util.add_gleba_rock(resource, amount_min, amount_max)
{ {
{ {
filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-01.png", filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-01.png",
tint = gleba_tint,
width = 209, width = 209,
height = 138, height = 138,
shift = {0.304688, -0.4}, shift = {0.304688, -0.4},
@ -234,6 +260,7 @@ function util.add_gleba_rock(resource, amount_min, amount_max)
}, },
{ {
filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-02.png", filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-02.png",
tint = gleba_tint,
width = 165, width = 165,
height = 129, height = 129,
shift = {0.0, 0.0390625}, shift = {0.0, 0.0390625},
@ -241,6 +268,7 @@ function util.add_gleba_rock(resource, amount_min, amount_max)
}, },
{ {
filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-03.png", filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-03.png",
tint = gleba_tint,
width = 151, width = 151,
height = 139, height = 139,
shift = {0.151562, 0.0}, shift = {0.151562, 0.0},
@ -248,6 +276,7 @@ function util.add_gleba_rock(resource, amount_min, amount_max)
}, },
{ {
filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-04.png", filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-04.png",
tint = gleba_tint,
width = 216, width = 216,
height = 110, height = 110,
shift = {0.390625, 0.0}, shift = {0.390625, 0.0},
@ -255,6 +284,7 @@ function util.add_gleba_rock(resource, amount_min, amount_max)
}, },
{ {
filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-05.png", filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-05.png",
tint = gleba_tint,
width = 154, width = 154,
height = 147, height = 147,
shift = {0.328125, 0.0703125}, shift = {0.328125, 0.0703125},
@ -262,6 +292,7 @@ function util.add_gleba_rock(resource, amount_min, amount_max)
}, },
{ {
filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-06.png", filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-06.png",
tint = gleba_tint,
width = 154, width = 154,
height = 132, height = 132,
shift = {0.16875, -0.1}, shift = {0.16875, -0.1},
@ -269,6 +300,7 @@ function util.add_gleba_rock(resource, amount_min, amount_max)
}, },
{ {
filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-07.png", filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-07.png",
tint = gleba_tint,
width = 193, width = 193,
height = 130, height = 130,
shift = {0.3, -0.2}, shift = {0.3, -0.2},
@ -276,6 +308,7 @@ function util.add_gleba_rock(resource, amount_min, amount_max)
}, },
{ {
filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-08.png", filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-08.png",
tint = gleba_tint,
width = 136, width = 136,
height = 117, height = 117,
shift = {0.0, 0.0}, shift = {0.0, 0.0},
@ -283,6 +316,7 @@ function util.add_gleba_rock(resource, amount_min, amount_max)
}, },
{ {
filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-09.png", filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-09.png",
tint = gleba_tint,
width = 157, width = 157,
height = 115, height = 115,
shift = {0.1, 0.0}, shift = {0.1, 0.0},
@ -290,6 +324,7 @@ function util.add_gleba_rock(resource, amount_min, amount_max)
}, },
{ {
filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-10.png", filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-10.png",
tint = gleba_tint,
width = 198, width = 198,
height = 153, height = 153,
shift = {0.325, -0.1}, shift = {0.325, -0.1},
@ -297,6 +332,7 @@ function util.add_gleba_rock(resource, amount_min, amount_max)
}, },
{ {
filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-11.png", filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-11.png",
tint = gleba_tint,
width = 190, width = 190,
height = 115, height = 115,
shift = {0.453125, 0.0}, shift = {0.453125, 0.0},
@ -304,6 +340,7 @@ function util.add_gleba_rock(resource, amount_min, amount_max)
}, },
{ {
filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-12.png", filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-12.png",
tint = gleba_tint,
width = 229, width = 229,
height = 126, height = 126,
shift = {0.539062, -0.015625}, shift = {0.539062, -0.015625},
@ -311,6 +348,7 @@ function util.add_gleba_rock(resource, amount_min, amount_max)
}, },
{ {
filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-13.png", filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-13.png",
tint = gleba_tint,
width = 151, width = 151,
height = 125, height = 125,
shift = {0.0703125, 0.179688}, shift = {0.0703125, 0.179688},
@ -318,6 +356,7 @@ function util.add_gleba_rock(resource, amount_min, amount_max)
}, },
{ {
filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-14.png", filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-14.png",
tint = gleba_tint,
width = 137, width = 137,
height = 117, height = 117,
shift = {0.160938, 0.0}, shift = {0.160938, 0.0},
@ -325,6 +364,7 @@ function util.add_gleba_rock(resource, amount_min, amount_max)
}, },
{ {
filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-15.png", filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-15.png",
tint = gleba_tint,
width = 201, width = 201,
height = 141, height = 141,
shift = {0.242188, -0.195312}, shift = {0.242188, -0.195312},
@ -332,6 +372,7 @@ function util.add_gleba_rock(resource, amount_min, amount_max)
}, },
{ {
filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-16.png", filename = "__base__/graphics/decorative/sand-rock/big-sand-rock-16.png",
tint = gleba_tint,
width = 209, width = 209,
height = 154, height = 154,
shift = {0.351562, -0.1}, shift = {0.351562, -0.1},
@ -1672,16 +1713,17 @@ end
function util.remove_prior_unlocks(tech, recipe) function util.remove_prior_unlocks(tech, recipe)
if data.raw.technology[tech].prerequisites then if data.raw.technology[tech].prerequisites then
for i, prerequisite in pairs(data.raw.technology[tech].prerequisites) do for i, prerequisite in pairs(data.raw.technology[tech].prerequisites) do
remove_prior_unlocks(prerequisite, recipe, 0) remove_prior_unlocks(prerequisite, recipe, {})
end end
end end
end end
function remove_prior_unlocks(tech, recipe, depth) function remove_prior_unlocks(tech, recipe, processed)
if depth > 10000 then if processed[tech] then
log("Infinite recursion detected, backing out.") print("Already processed ".. tech .. " returning")
return return
end end
processed[tech] = true
local technology = data.raw.technology[tech] local technology = data.raw.technology[tech]
if technology then if technology then
log("Removing prior unlocks for ".. tech) log("Removing prior unlocks for ".. tech)
@ -1690,7 +1732,7 @@ function remove_prior_unlocks(tech, recipe, depth)
for i, prerequisite in pairs(technology.prerequisites) do for i, prerequisite in pairs(technology.prerequisites) do
if string.sub(prerequisite, 1, 3) ~= 'ei_' then if string.sub(prerequisite, 1, 3) ~= 'ei_' then
-- log("BZZZ removing prior unlocks for " .. recipe .. " from " .. tech ..", checking " .. prerequisite) -- Handy Debug :| -- log("BZZZ removing prior unlocks for " .. recipe .. " from " .. tech ..", checking " .. prerequisite) -- Handy Debug :|
remove_prior_unlocks(prerequisite, recipe, depth+1) remove_prior_unlocks(prerequisite, recipe, processed)
end end
end end
end end
@ -1714,16 +1756,17 @@ function util.replace_ingredients_prior_to(tech, old, new, multiplier)
end end
if data.raw.technology[tech].prerequisites then if data.raw.technology[tech].prerequisites then
for i, prerequisite in pairs(data.raw.technology[tech].prerequisites) do for i, prerequisite in pairs(data.raw.technology[tech].prerequisites) do
replace_ingredients_prior_to(prerequisite, old, new, multiplier, 0) replace_ingredients_prior_to(prerequisite, old, new, multiplier, {})
end end
end end
end end
function replace_ingredients_prior_to(tech, old, new, multiplier, depth) function replace_ingredients_prior_to(tech, old, new, multiplier, processed)
if depth > 10000 then if processed[tech] then
log("Infinite recursion detected, backing out.") print("Already processed ".. tech .. " returning")
return return
end end
processed[tech] = true
log("Replacing for tech "..tech) log("Replacing for tech "..tech)
local technology = data.raw.technology[tech] local technology = data.raw.technology[tech]
if technology then if technology then
@ -1739,7 +1782,7 @@ function replace_ingredients_prior_to(tech, old, new, multiplier, depth)
for i, prerequisite in pairs(technology.prerequisites) do for i, prerequisite in pairs(technology.prerequisites) do
-- log("BZZZ checking " .. prerequisite) -- Handy Debug :| -- log("BZZZ checking " .. prerequisite) -- Handy Debug :|
if string.sub(prerequisite, 1, 3) ~= 'ei_' then if string.sub(prerequisite, 1, 3) ~= 'ei_' then
replace_ingredients_prior_to(prerequisite, old, new, multiplier, depth + 1) replace_ingredients_prior_to(prerequisite, old, new, multiplier, processed)
end end
end end
end end
@ -1820,11 +1863,7 @@ end
-- Save recycling metadata that is later removed by quality mod. Call near end of data.lua -- Save recycling metadata that is later removed by quality mod. Call near end of data.lua
function util.prepare_recycling_helper() function util.prepare_recycling_helper()
if mods.quality then -- DEPRECATED
for _, recipe in pairs(data.raw.recipe) do
recipe.auto_recycle_helper = recipe.auto_recycle
end
end
end end
-- Recalculate recycling recipes, call near end of data-updates.lua, after calling -- Recalculate recycling recipes, call near end of data-updates.lua, after calling
@ -1833,7 +1872,6 @@ function util.redo_recycling()
if mods.quality then if mods.quality then
local recycling = require("__quality__.prototypes.recycling") local recycling = require("__quality__.prototypes.recycling")
for _, recipe in pairs(data.raw.recipe) do for _, recipe in pairs(data.raw.recipe) do
recipe.auto_recycle = recipe.auto_recycle_helper -- keeping this outside conditional to improve fidelity across multiple mods
if recipe.redo_recycling then if recipe.redo_recycling then
recycling.generate_recycling_recipe(recipe) recycling.generate_recycling_recipe(recipe)
end end

View file

@ -114,6 +114,9 @@ if util.me.ammo() then
type = "ammo", type = "ammo",
name = "explosive-rounds-rifle-magazine", name = "explosive-rounds-rifle-magazine",
icon = "__bzzirconium__/graphics/icons/r-magazine.png", icon = "__bzzirconium__/graphics/icons/r-magazine.png",
inventory_move_sound = item_sounds.ammo_small_inventory_move,
pick_sound = item_sounds.ammo_small_inventory_pickup,
drop_sound = item_sounds.ammo_small_inventory_move,
icon_size = 64, icon_size = 64,
icon_mipmaps = 4, icon_mipmaps = 4,
ammo_type = { ammo_type = {

View file

@ -1,5 +1,5 @@
local resource_autoplace = require('resource-autoplace'); local resource_autoplace = require('resource-autoplace');
local item_sounds = require('__base__.prototypes.item_sounds')
local util = require("data-util"); local util = require("data-util");
@ -75,6 +75,9 @@ data:extend({
{filename="__bzzirconium__/graphics/icons/zircon-3.png", size=128, scale=0.25}, {filename="__bzzirconium__/graphics/icons/zircon-3.png", size=128, scale=0.25},
{filename="__bzzirconium__/graphics/icons/zircon-4.png", size=128, scale=0.25}, {filename="__bzzirconium__/graphics/icons/zircon-4.png", size=128, scale=0.25},
}, },
inventory_move_sound = item_sounds.resource_inventory_move,
pick_sound = item_sounds.resource_inventory_pickup,
drop_sound = item_sounds.resource_inventory_move,
subgroup = "raw-resource", subgroup = "raw-resource",
order = "t-c-a", order = "t-c-a",
weight = 1*kg, weight = 1*kg,

View file

@ -1,10 +1,7 @@
-- Zirconium smelting, etc -- Zirconium smelting, etc
local util = require("data-util"); local util = require("data-util");
local item_sounds = require('__base__.prototypes.item_sounds')
-- data:extend({
--
-- })
data:extend({ data:extend({
{ {
@ -12,6 +9,9 @@ data:extend({
name = "zirconia", name = "zirconia",
icon = "__bzzirconium__/graphics/icons/zirconia.png", icon = "__bzzirconium__/graphics/icons/zirconia.png",
icon_size = 128, icon_size = 128,
inventory_move_sound = item_sounds.brick_inventory_move,
pick_sound = item_sounds.brick_inventory_pickup,
drop_sound = item_sounds.brick_inventory_move,
subgroup = "raw-material", subgroup = "raw-material",
order = "z[zirconia]", order = "z[zirconia]",
weight = 1*kg, weight = 1*kg,
@ -72,6 +72,9 @@ data:extend({
{filename = "__bzzirconium__/graphics/icons/zirconium-sponge-1.png", size=128, scale=0.25}, {filename = "__bzzirconium__/graphics/icons/zirconium-sponge-1.png", size=128, scale=0.25},
{filename = "__bzzirconium__/graphics/icons/zirconium-sponge-2.png", size=128, scale=0.25}, {filename = "__bzzirconium__/graphics/icons/zirconium-sponge-2.png", size=128, scale=0.25},
}, },
inventory_move_sound = item_sounds.wire_inventory_move,
pick_sound = item_sounds.wire_inventory_pickup,
drop_sound = item_sounds.wire_inventory_move,
subgroup = "raw-material", subgroup = "raw-material",
order = "z[zirconia]", order = "z[zirconia]",
weight = 1*kg, weight = 1*kg,
@ -98,6 +101,9 @@ data:extend({
icon_size = 128, icon_size = 128,
subgroup = "raw-material", subgroup = "raw-material",
order = "d[zirconium-plate]", order = "d[zirconium-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,
weight = 1*kg, weight = 1*kg,
stack_size = util.get_stack_size(100) stack_size = util.get_stack_size(100)
}, },
@ -208,6 +214,9 @@ data:extend({
{filename = "__bzzirconium__/graphics/icons/cermet-3.png", size=128, scale=0.125}, {filename = "__bzzirconium__/graphics/icons/cermet-3.png", size=128, scale=0.125},
{filename = "__bzzirconium__/graphics/icons/cermet-4.png", size=128, scale=0.125}, {filename = "__bzzirconium__/graphics/icons/cermet-4.png", size=128, scale=0.125},
}, },
inventory_move_sound = item_sounds.wire_inventory_move,
pick_sound = item_sounds.wire_inventory_pickup,
drop_sound = item_sounds.wire_inventory_move,
subgroup = "intermediate-product", subgroup = "intermediate-product",
order = "z[cermet]", order = "z[cermet]",
weight = 0.5*kg, weight = 0.5*kg,
@ -411,6 +420,9 @@ data:extend({
name = "zirconium-tungstate", name = "zirconium-tungstate",
icons = {{icon = "__bzzirconium__/graphics/icons/zircon-powder.png", icons = {{icon = "__bzzirconium__/graphics/icons/zircon-powder.png",
icon_size = 64, tint = {a=1, r=.95, g=.75, b=0}}}, icon_size = 64, tint = {a=1, r=.95, g=.75, b=0}}},
inventory_move_sound = item_sounds.sulfur_inventory_move,
pick_sound = item_sounds.resource_inventory_pickup,
drop_sound = item_sounds.sulfur_inventory_move,
subgroup = "intermediate-product", subgroup = "intermediate-product",
order = "z[zz]", order = "z[zz]",
weight = 2*kg, weight = 2*kg,
@ -449,6 +461,9 @@ data:extend({
type = "item", type = "item",
name = "zircaloy-4", name = "zircaloy-4",
icons = {{icon = "__bzzirconium__/graphics/icons/zircaloy-4.png", icon_size = 128}}, icons = {{icon = "__bzzirconium__/graphics/icons/zircaloy-4.png", icon_size = 128}},
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,
subgroup = "intermediate-product", subgroup = "intermediate-product",
order = "z[zz]", order = "z[zz]",
weight = 5*kg, weight = 5*kg,