icon, sounds, CE2

This commit is contained in:
Brevven 2025-03-21 22:25:59 -07:00
parent 3d571fc3f7
commit 3235d77fab
7 changed files with 93 additions and 53 deletions

View file

@ -1,4 +1,16 @@
--------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------
Version: 2.0.22
Date: 2025-03-10
Changes:
- Set custom inventory sounds for some items
Fixes:
- Loads with Crafting Efficiency
---------------------------------------------------------------------------------------------------
Version: 2.0.21
Date: 2025-03-10
Changes:
- Minor icon tweak
---------------------------------------------------------------------------------------------------
Version: 2.0.20 Version: 2.0.20
Date: 2025-02-01 Date: 2025-02-01
Changes: Changes:

View file

@ -1,35 +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 },
}
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

@ -5,7 +5,6 @@ require("omni")
require("map-gen-preset-updates") require("map-gen-preset-updates")
require("strange-matter") require("strange-matter")
require("compatibility/248k") require("compatibility/248k")
require("compatibility/crafting-efficiency")
local util = require("data-util") local util = require("data-util")
util.redo_recycling() util.redo_recycling()
@ -22,4 +21,4 @@ if mods["any-planet-start"] then
}) })
end end
util.add_shiftite_recipe("titanium-plate", "beta", 2) util.add_shiftite_recipe("titanium-plate", {"beta"}, 2)

View file

@ -12,6 +12,22 @@ util.get_setting = util.me.get_setting
util.titanium_plate = "" util.titanium_plate = ""
util.titanium_processing = "" util.titanium_processing = ""
local foo = [[
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,
]]
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 +173,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 +193,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 +244,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 +252,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 +260,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 +268,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 +276,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 +284,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 +292,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 +300,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 +308,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 +316,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 +324,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 +332,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 +340,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 +348,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 +356,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 +364,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},
@ -571,7 +604,7 @@ function util.se_matter(params)
{"se-contaminated-scrap", 1}, {"se-contaminated-scrap", 1},
{type=item, name=sedata, amount=1, probability=.99}, {type=item, name=sedata, amount=1, probability=.99},
{type=item, name=sejunk, amount=1, probability=.01}, {type=item, name=sejunk, amount=1, probability=.01},
{type="fluid", name="se-space-coolant-hot", amount=25, catalyst_amount=25}, {type="fluid", name="se-space-coolant-hot", amount=25, ignored_by_stats=25, ignored_by_productivity=25},
} }
} }
}) })
@ -608,7 +641,7 @@ function util.se_matter(params)
results = { results = {
{type=item, name="se-kr-matter-liberation-data", amount=1, probability=.99}, {type=item, name="se-kr-matter-liberation-data", amount=1, probability=.99},
{type=item, name=sejunk, amount=1, probability=.01}, {type=item, name=sejunk, amount=1, probability=.01},
{type="fluid", name="se-particle-stream", amount=params.stream_out, catalyst_amount=50}, {type="fluid", name="se-particle-stream", amount=params.stream_out, ignored_by_stats=50, ignored_by_productivity=50},
} }
} }
}) })
@ -928,7 +961,12 @@ function add_product(recipe, product)
if recipe ~= nil then if recipe ~= nil then
if product.name and data.raw[product.type][product.name] then if product.name and data.raw[product.type][product.name] then
if recipe.results == nil then if recipe.results == nil then
recipe.results = {{recipe.result, recipe.result_count and recipe.result_count or 1}} recipe.results = {}
end
for _, old in pairs(recipe.results) do
if old.name == product.name then
return
end
end end
recipe.result = nil recipe.result = nil
recipe.result_count = nil recipe.result_count = nil
@ -1182,8 +1220,11 @@ function multiply_recipe(recipe, multiple)
result.amount_min = result.amount_min * multiple result.amount_min = result.amount_min * multiple
result.amount_max = result.amount_max * multiple result.amount_max = result.amount_max * multiple
end end
if result.catalyst_amount then if result.ignored_by_stats then
result.catalyst_amount = result.catalyst_amount * multiple result.ignored_by_stats = result.ignored_by_stats * multiple
end
if result.ignored_by_productivity then
result.ignored_by_productivity = result.ignored_by_productivity * multiple
end end
end end
end end
@ -1478,6 +1519,12 @@ function util.set_to_founding(recipe, options)
util.set_subgroup(recipe, "foundry-intermediate", options) util.set_subgroup(recipe, "foundry-intermediate", options)
end end
function util.add_asteroid_to_planet(planet, spawn_def)
if data.raw.planet[planet] and data.raw[spawn_def.type][spawn_def.asteroid] then
table.insert(data.raw.planet[planet].asteroid_spawn_definitions, spawn_def)
end
end
-- Add crafting category to an entity -- Add crafting category to an entity
function util.add_crafting_category(entity_type, entity, category) function util.add_crafting_category(entity_type, entity, category)
if data.raw[entity_type][entity] and data.raw["recipe-category"][category] then if data.raw[entity_type][entity] and data.raw["recipe-category"][category] then
@ -1658,12 +1705,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) remove_prior_unlocks(prerequisite, recipe, {})
end end
end end
end end
function remove_prior_unlocks(tech, recipe) function remove_prior_unlocks(tech, recipe, processed)
if processed[tech] then
print("Already processed ".. tech .. " returning")
return
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)
@ -1672,7 +1724,7 @@ function remove_prior_unlocks(tech, recipe)
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) remove_prior_unlocks(prerequisite, recipe, processed)
end end
end end
end end
@ -1696,12 +1748,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) replace_ingredients_prior_to(prerequisite, old, new, multiplier, {})
end end
end end
end end
function replace_ingredients_prior_to(tech, old, new, multiplier) function replace_ingredients_prior_to(tech, old, new, multiplier, processed)
if processed[tech] then
print("Already processed ".. tech .. " returning")
return
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
@ -1717,7 +1774,7 @@ function replace_ingredients_prior_to(tech, old, new, multiplier)
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) replace_ingredients_prior_to(prerequisite, old, new, multiplier, processed)
end end
end end
end end

View file

@ -1,6 +1,6 @@
{ {
"name": "bztitanium", "name": "bztitanium",
"version": "2.0.20", "version": "2.0.22",
"factorio_version": "2.0", "factorio_version": "2.0",
"title": "Titanium", "title": "Titanium",
"author": "Brevven", "author": "Brevven",

View file

@ -1,6 +1,6 @@
local resource_autoplace = require('resource-autoplace'); local resource_autoplace = require('resource-autoplace');
local util = require("__bztitanium__.data-util"); local util = require("__bztitanium__.data-util");
local item_sounds = require('__base__.prototypes.item_sounds')
if mods["FactorioExtended-Plus-Core"] then if mods["FactorioExtended-Plus-Core"] then
util.remove_raw("item", "titanium-ore") util.remove_raw("item", "titanium-ore")
@ -73,6 +73,9 @@ data:extend({
name = "titanium-ore", name = "titanium-ore",
icon_size = 64, icon_mipmaps = 3, icon_size = 64, icon_mipmaps = 3,
icon = "__bztitanium__/graphics/icons/titanium-ore.png", icon = "__bztitanium__/graphics/icons/titanium-ore.png",
inventory_move_sound = item_sounds.resource_inventory_move,
pick_sound = item_sounds.resource_inventory_pickup,
drop_sound = item_sounds.resource_inventory_move,
pictures = { pictures = {
{filename="__bztitanium__/graphics/icons/titanium-ore.png", size=64, scale=0.5}, {filename="__bztitanium__/graphics/icons/titanium-ore.png", size=64, scale=0.5},
{filename="__bztitanium__/graphics/icons/titanium-ore-2.png", size=64, scale=0.5}, {filename="__bztitanium__/graphics/icons/titanium-ore-2.png", size=64, scale=0.5},

View file

@ -1,6 +1,7 @@
-- Titanium smelting -- Titanium smelting
local util = require("__bztitanium__.data-util"); local util = require("__bztitanium__.data-util");
local item_sounds = require('__base__.prototypes.item_sounds')
if mods["FactorioExtended-Plus-Core"] then if mods["FactorioExtended-Plus-Core"] then
util.remove_raw("recipe", "titanium-ore") util.remove_raw("recipe", "titanium-ore")
@ -52,6 +53,9 @@ data:extend({
order = "b[titanium-plate]", order = "b[titanium-plate]",
stack_size = util.get_stack_size(100), stack_size = util.get_stack_size(100),
weight = 1*kg, weight = 1*kg,
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,
}, },
{ {
type = "technology", type = "technology",
@ -163,8 +167,8 @@ data:extend({
name = "titanium-extraction", name = "titanium-extraction",
category = "organic-or-hand-crafting", category = "organic-or-hand-crafting",
icons = { icons = {
{ icon = "__space-age__/graphics/icons/jellynut.png", icon_size = 64, scale = 0.5, shift = {-4, -6}}, { icon = "__bztitanium__/graphics/icons/titanium-ore.png", icon_size = 64, scale = 0.5, icon_mipmaps = 3, shift = {6,8}},
{ icon = "__bztitanium__/graphics/icons/titanium-ore.png", icon_size = 64, scale = 0.5, icon_mipmaps = 3, shift = {4,6}}, { icon = "__space-age__/graphics/icons/jellynut.png", icon_size = 64, scale = 0.5, shift = {-6, -8}},
}, },
surface_conditions = surface_conditions =
{ {