working version

This commit is contained in:
Brevven 2021-06-11 03:13:04 -07:00
parent 4c98b02f72
commit 00e15527d4
92 changed files with 1385 additions and 0 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
*.bak
*.blend*

20
LICENSE.md Normal file
View file

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2021 Brevven
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

30
Makefile Normal file
View file

@ -0,0 +1,30 @@
# General makefile for factorio mods.
#
# Presumes the development work is done in a <factoriodir>/dev/<modname>/
# directory where this makefile resides. This directory must be parallel to
# the <factoriodir>/mods/ directory where mods are installed. Run `make
# install` from dev/<modname> to install the mod as a zip file. That zip file
# should also be ready to upload to the mod portal
.PHONY: copy lint-changelog install
pwd = $(shell pwd)
v = $(shell basename "$(pwd)")_$(shell jq -r .version info.json)
copy:
rm -rf ../$(v)
mkdir -p ../$(v)
cp -rf * ../$(v)
rm -f ../$(v).zip
cd ..; zip -9 -r -y $(v).zip $(v) -x "*.xcf" -x "*.git*" -x "*.bak" -x "*.blend*"
install: lint-changelog copy
cp -f ../$(v).zip ../../mods/
lint-changelog: copy
python3 ../da-changelog-tools_0.0.14/changelog-checker.py --changelog ../$(v).zip
zorro:
python3 ../da-changelog-tools_0.0.14/changelog-checker.py --zorro --changelog ../$(v).zip

6
changelog.txt Normal file
View file

@ -0,0 +1,6 @@
---------------------------------------------------------------------------------------------------
Version: 0.0.1
Date: 2021-06-10
Features:
- Zirconium, Zirconia, Zircon, Cermet added to game.
- Compatible with space exploration, krastorio2, deadlock stacking/crating, etc.

22
data-final-fixes.lua Normal file
View file

@ -0,0 +1,22 @@
-- require("modules")
require("zirconium-recipe-final-stacking")
require("zirconium-recipe-final-rrr")
local util = require("__bzzirconium__.data-util");
if mods["space-exploration"] then
-- Organization
data.raw.item["zirconia"].subgroup = "plates"
data.raw.recipe["zirconia"].subgroup = "plates"
data.raw.item["zirconium-plate"].subgroup = "plates"
data.raw.recipe["zirconium-plate"].subgroup = "plates"
end
if mods.bztitanium then
for i, entity in pairs(data.raw.furnace) do
if entity.result_inventory_size ~= nil and entity.result_inventory_size < 2 and util.contains(entity.crafting_categories, "smelting") then
entity.result_inventory_size = 2
end
end
end

6
data-updates.lua Normal file
View file

@ -0,0 +1,6 @@
require("tech-updates")
require("zirconium-recipe-updates")
require("zircon-matter")
require("omni")
require("map-gen-preset-updates")
-- require("tungsten-recipe-5d")

177
data-util.lua Normal file
View file

@ -0,0 +1,177 @@
local util = {}
function util.get_setting(name)
if settings.startup[name] == nil then
return nil
end
return settings.startup[name].value
end
function util.use_cermet()
return util.get_setting("bzzirconium-enable-intermediates") == "yes"
end
function util.get_stack_size(default)
if mods["Krastorio2"] then
size = tonumber(krastorio.general.getSafeSettingValue("kr-stack-size"))
return size or default
end
return default
end
-- check if a table contains a sought value
function util.contains(table, sought)
for i, value in pairs(table) do
if value == sought then
return true
end
end
return false
end
-- Add a prerequisite to a given technology
function util.add_prerequisite(technology_name, prerequisite)
technology = data.raw.technology[technology_name]
if technology and data.raw.technology[prerequisite] then
if technology.prerequisites then
table.insert(technology.prerequisites, prerequisite)
else
technology.prerequisites = {prerequisite}
end
end
end
-- Remove a prerequisite from a given technology
function util.remove_prerequisite(technology_name, prerequisite)
technology = data.raw.technology[technology_name]
local index = -1
if technology and data.raw.technology[prerequisite] then
for i, prereq in pairs(technology.prerequisites) do
if prereq == prerequisite then
index = i
break
end
end
if index > -1 then
table.remove(technology.prerequisites, index)
end
end
end
-- Add an effect to a given technology
function util.add_effect(technology_name, effect)
technology = data.raw.technology[technology_name]
if technology then
table.insert(technology.effects, effect)
end
end
-- Set technology ingredients
function util.set_tech_recipe(technology_name, ingredients)
technology = data.raw.technology[technology_name]
if technology then
technology.unit.ingredients = ingredients
end
end
-- Add a given quantity of ingredient to a given recipe
function util.add_ingredient(recipe_name, ingredient, quantity)
if data.raw.recipe[recipe_name] then
add_ingredient(data.raw.recipe[recipe_name], ingredient, quantity)
add_ingredient(data.raw.recipe[recipe_name].normal, ingredient, quantity)
add_ingredient(data.raw.recipe[recipe_name].expensive, ingredient, quantity)
end
end
function add_ingredient(recipe, ingredient, quantity)
if recipe ~= nil and recipe.ingredients ~= nil then
table.insert(recipe.ingredients, {ingredient, quantity})
end
end
-- Add a given quantity of product to a given recipe.
-- Only works for recipes with multiple products
function util.add_product(recipe_name, product)
if data.raw.recipe[recipe_name] then
add_product(data.raw.recipe[recipe_name], product)
add_product(data.raw.recipe[recipe_name].normal, product)
add_product(data.raw.recipe[recipe_name].expensive, product)
end
end
function add_product(recipe, product)
if recipe ~= nil and recipe.results ~= nil then
table.insert(recipe.results, product)
end
end
-- Replace one ingredient with another in a recipe
function util.replace_ingredient(recipe_name, old, new)
if data.raw.recipe[recipe_name] then
replace_ingredient(data.raw.recipe[recipe_name], old, new)
replace_ingredient(data.raw.recipe[recipe_name].normal, old, new)
replace_ingredient(data.raw.recipe[recipe_name].expensive, old, new)
end
end
function replace_ingredient(recipe, old, new)
if recipe ~= nil and recipe.ingredients ~= nil then
for i, ingredient in pairs(recipe.ingredients) do
if ingredient.name == old then ingredient.name = new end
if ingredient[1] == old then ingredient[1] = new end
end
end
end
-- Remove an ingredient from a recipe
function util.remove_ingredient(recipe_name, old)
if data.raw.recipe[recipe_name] then
remove_ingredient(data.raw.recipe[recipe_name], old)
remove_ingredient(data.raw.recipe[recipe_name].normal, old)
remove_ingredient(data.raw.recipe[recipe_name].expensive, old)
end
end
function remove_ingredient(recipe, old)
index = -1
if recipe ~= nil and recipe.ingredients ~= nil then
for i, ingredient in pairs(recipe.ingredients) do
if ingredient.name == old or ingredient[1] == old then
index = i
break
end
end
if index > -1 then
table.remove(recipe.ingredients, index)
end
end
end
-- Replace an amount of an ingredient in a recipe. Keep at least 1 of old.
function util.replace_some_ingredient(recipe_name, old, old_amount, new, new_amount)
if data.raw.recipe[recipe_name] then
replace_some_ingredient(data.raw.recipe[recipe_name], old, old_amount, new, new_amount)
replace_some_ingredient(data.raw.recipe[recipe_name].normal, old, old_amount, new, new_amount)
replace_some_ingredient(data.raw.recipe[recipe_name].expensive, old, old_amount, new, new_amount)
end
end
function replace_some_ingredient(recipe, old, old_amount, new, new_amount)
if recipe ~= nil and recipe.ingredients ~= nil then
for i, ingredient in pairs(recipe.ingredients) do
-- For final fixes
if ingredient.name == old then
ingredient.amount = math.max(1, ingredient.amount - old_amount)
end
-- For updates
if ingredient[1] == old then
ingredient[2] = math.max(1, ingredient[2] - old_amount)
end
end
add_ingredient(recipe, new, new_amount)
end
end
return util

6
data.lua Normal file
View file

@ -0,0 +1,6 @@
require("zircon")
require("zircon-particle")
require("zirconium-recipe")
require("zirconium-enriched") -- Enriched for Krastorio 2
require("zirconium-recipe-se") -- Space Exploration special recipes (depends on K2 if present)
-- require("zirconium-compressed")

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 638 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 812 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 711 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 572 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 239 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 370 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 B

BIN
graphics/icons/cermet.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
graphics/icons/cermet.xcf Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

BIN
graphics/icons/zircon-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
graphics/icons/zircon-2.xcf Normal file

Binary file not shown.

BIN
graphics/icons/zircon-3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
graphics/icons/zircon-3.xcf Normal file

Binary file not shown.

BIN
graphics/icons/zircon-4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
graphics/icons/zircon-4.xcf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
graphics/icons/zircon-n.xcf Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Binary file not shown.

BIN
graphics/icons/zircon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
graphics/icons/zircon.xcf Normal file

Binary file not shown.

BIN
graphics/icons/zirconia.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
graphics/icons/zirconia.xcf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

23
info.json Normal file
View file

@ -0,0 +1,23 @@
{
"name": "bzzirconium",
"version": "0.0.1",
"factorio_version": "1.1",
"title": "Zirconium",
"author": "Brevven",
"contact": "",
"homepage": "",
"dependencies": [
"base >= 1.1.0",
"? space-exploration",
"? Krastorio2",
"? deadlock-beltboxes-loaders",
"? DeadlockCrating",
"? omnimatter",
"? bzsilicon",
"? bzlead",
"? bztitanium",
"? bztungsten"
],
"description": "Adds zircon, zirconia, zirconium, and cermet to the base game."
}

55
locale/en/zirconium.cfg Normal file
View file

@ -0,0 +1,55 @@
[entity-name]
zircon=Zircon
[autoplace-control-names]
zircon=[item=zircon] Zircon
[item-name]
zircon=Zircon
zirconium-dust=Zircon dust
zirconia=Zirconia
zirconium-plate=Zirconium plate
enriched-zircon=Enriched zircon
compressed-zircon=Compressed zircon
cermet=Cermet
zirconium-tungstate=Zirconium tungstate
[item-description]
zircon=Can be smelted into zirconia
zirconia=A great ceramic. Can be smelted into zirconium, too.
enriched-zircon=Can be efficiently smelted into zirconia.
enriched-zirconia=Can be efficiently smelted into zirconium plates.
cermet=Advanced ceramic/metal composites.
zirconium-tungstate=A material with interesting thermal properties.
[technology-name]
zirconia-processing=Zirconia processing
cermet=Cermet
enriched-zircon=Enriched zircon
enriched-zirconia=Enriched zirconia
zirconium-matter-processing=Zirconium conversion
[technology-description]
enriched-zircon=Enrich zircon, purifying with ammonia [fluid=ammonia] and water [fluid=water], improving the final yield. Produce dirty water [fluid=dirty-water] as a byproduct.
[recipe-name]
sort-stone-zircon=Sort stone for zircon
sort-zircon-stone=Sort zircon for stone
enriched-zircon=__ITEM__enriched-zircon__
enriched-zirconia=__ITEM__enriched-zirconia__
zirconium-plate=__ITEM__zirconium-plate__
smelt-compressed-zircon=__ITEM__zirconia__
zircon-dust=__ITEM__zircon-dust__
dirty-water-filtration-zircon=Filter dirty water [item=zircon]
[recipe-description]
enriched-zircon=Enrich zircon, purifying with sulfuric-acid [fluid=sulfuric-acid] and water [fluid=water], improving the final yield. Produce dirty water [fluid=dirty-water] as a byproduct.
enriched-zirconia=Further enrich zirconia, purifying with hydrogen chloride [fluid=hydrogen-chloride] and water [fluid=water], improving the final yield. Produce dirty water [fluid=dirty-water] as a byproduct.
dirty-water-filtration-zircon=Filter dirty water, giving zircon [item=zircon] and stone [item=stone] (probabilistically).
# Settings
[mod-setting-name]
bzzirconium-enable-intermediates=Enable cermet
[mod-setting-description]
bzzirconium-enable-intermediates=Enable cermet, an advanced intermediate made from ceramics and metals.

View file

@ -0,0 +1,14 @@
local base_ore = "iron-ore"
if mods["angelssmelting"] then
base_ore = "angels-ore1"
end
if data.raw["map-gen-presets"] and data.raw["map-gen-presets"].default then
for name, preset in pairs(data.raw["map-gen-presets"].default) do
if type(preset) == "table" and
preset.basic_settings and
preset.basic_settings.autoplace_controls and
preset.basic_settings.autoplace_controls[base_ore] then
preset.basic_settings.autoplace_controls["zircon"] = preset.basic_settings.autoplace_controls[base_ore]
end
end
end

27
modules.lua Normal file
View file

@ -0,0 +1,27 @@
-- Enable prod modules for all zircon, etc recipes
recipes = {"zirconium-plate", "zirconia", "cermet"}
if mods["Krastorio2"] then
table.insert(recipes, "enriched-zirconia-smelting")
table.insert(recipes, "enriched-zircon")
end
if mods["space-exploration"] then
table.insert(recipes, "tungsten-smelting-vulcanite")
if mods["Krastorio2"] then
table.insert(recipes, "enriched-tungsten-smelting-vulcanite")
end
end
for i, recipe in pairs(recipes) do
if data.raw.recipe[recipe] then
for j, module in pairs(data.raw.module) do
if module.effect then
for effect_name, effect in pairs(module.effect) do
if effect_name == "productivity" and effect.bonus > 0 and module.limitation and #module.limitation > 0 then
table.insert(module.limitation, recipe)
end
end
end
end
end
end

3
omni.lua Normal file
View file

@ -0,0 +1,3 @@
if omni and omni.matter then
omni.matter.add_resource("zircon", omni.matter.get_ore_tier("iron-ore"))
end

10
settings.lua Normal file
View file

@ -0,0 +1,10 @@
data:extend(
{
{
type = "string-setting",
name = "bzzirconium-enable-intermediates",
setting_type = "startup",
default_value = "yes",
allowed_values = {"yes", "no"},
},
})

27
tech-updates.lua Normal file
View file

@ -0,0 +1,27 @@
local util = require("__bzzirconium__.data-util");
util.add_prerequisite("advanced-material-processing-2", "zirconia-processing")
util.add_prerequisite("low-density-structure", "zirconia-processing")
util.add_prerequisite("nuclear-power", "zirconia-processing")
util.add_prerequisite("explosives", "zirconia-processing")
util.add_prerequisite("chemical-science-pack", "zirconia-processing")
if util.use_cermet() then
-- production science techs behind cermet
util.add_prerequisite("effect-transmission", "cermet")
util.add_prerequisite("automation-3", "cermet")
util.add_prerequisite("productivity-module-3", "cermet")
util.add_prerequisite("speed-module-3", "cermet")
util.add_prerequisite("effectivity-module-3", "cermet")
-- utility science techs behind cermet
util.add_prerequisite("rocket-control-unit", "cermet")
util.set_tech_recipe("rocket-control-unit",
{
{"automation-science-pack", 1},
{"logistic-science-pack", 1},
{"chemical-science-pack", 1},
{"production-science-pack", 1},
{"utility-science-pack", 1},
})
end

BIN
thumbnail.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
thumbnail.xcf Normal file

Binary file not shown.

32
zircon-compressed.lua Normal file
View file

@ -0,0 +1,32 @@
if simpleCompress then
if simpleCompress.ores then
simpleCompress.currentSubgroup = "intermediate-product"
if data.raw.item["tungsten-ore"] then
SimpleCompress_AddTintedItem("tungsten-ore", "ore4-tungsten", "ore", {r=0.90, g=0.90, b=0.75})
SimpleCompress_UnlockOreTechAndRecipe("tungsten-ore")
end
end
if simpleCompress.plates then
simpleCompress.currentSubgroup = "intermediate-product"
if data.raw.item["tungsten-plate"] then
SimpleCompress_AddTintedItem("tungsten-plate", "plates4-tungsten", "plate3", {r=0.90, g=0.90, b=0.75})
SimpleCompress_UnlockPlateTechAndRecipe("tungsten-plate")
local tungstenRecipe = data.raw.recipe["decompress-tungsten-plate"]
tungstenRecipe.order = "d[tungsten-plate]"
end
end
if simpleCompress.smelting then
if data.raw.item["tungsten-plate"] and data.raw.item["tungsten-plate"] then
SimpleCompress_AddSmeltingRecipe("tungsten-ore", "tungsten-plate")
SimpleCompress_UnlockOreSmeltingTech("tungsten-ore")
local tungstenRecipe = data.raw.recipe["smelt-compressed-tungsten-ore"]
tungstenRecipe.results = {
{type="item", name = "tungsten-plate", amount=simpleCompress.CompressedSmeltAmount},
}
tungstenRecipe.icons = {{ icon = "__bztungsten__/graphics/icons/tungsten-plate.png", icon_size = 128 }}
tungstenRecipe.subgroup = "raw-material"
tungstenRecipe.order = "d[tungsten-plate]"
end
end
end

73
zircon-matter.lua Normal file
View file

@ -0,0 +1,73 @@
-- Matter recipes for Krastorio2
if mods["Krastorio2"] then
local matter = require("__Krastorio2__/lib/public/data-stages/matter-util")
data:extend(
{
{
type = "technology",
name = "zirconium-matter-processing",
icons =
{
{
icon = "__Krastorio2__/graphics/technologies/matter-stone.png",
icon_size = 256,
},
{
icon = "__bzzirconium__/graphics/icons/zircon.png",
icon_size = 64, icon_mipmaps = 3,
scale = 1.25,
}
},
prerequisites = {"kr-matter-processing"},
unit =
{
count = 350,
ingredients =
{
{"production-science-pack", 1},
{"utility-science-pack", 1},
{"matter-tech-card", 1}
},
time = 45
}
},
})
local zircon_matter =
{
item_name = "zircon",
minimum_conversion_quantity = 10,
matter_value = 6,
energy_required = 1,
need_stabilizer = false,
unlocked_by_technology = "zirconium-matter-processing"
}
matter.createMatterRecipe(zircon_matter)
local zirconia_matter =
{
item_name = "zirconia",
minimum_conversion_quantity = 20,
matter_value = 10,
energy_required = 2,
only_deconversion = true,
need_stabilizer = true,
unlocked_by_technology = "zirconium-matter-processing"
}
matter.createMatterRecipe(zirconia_matter)
local zirconium_plate_matter =
{
item_name = "zirconium-plate",
minimum_conversion_quantity = 10,
matter_value = 17,
energy_required = 2,
only_deconversion = true,
need_stabilizer = true,
unlocked_by_technology = "zirconium-matter-processing"
}
matter.createMatterRecipe(zirconium_plate_matter)
end

144
zircon-particle.lua Normal file
View file

@ -0,0 +1,144 @@
data:extend(
{
{
type = "optimized-particle",
name = "zircon-particle",
flags = {"not-on-map"},
life_time = 180,
pictures =
{
{
filename = "__bzzirconium__/graphics/entity/zircon-particle/zircon-particle-1.png",
priority = "extra-high",
width = 16,
height = 16,
frame_count = 1,
hr_version =
{
filename = "__bzzirconium__/graphics/entity/zircon-particle/hr-zircon-particle-1.png",
priority = "extra-high",
width = 32,
height = 32,
frame_count = 1,
scale = 0.5
}
},
{
filename = "__bzzirconium__/graphics/entity/zircon-particle/zircon-particle-2.png",
priority = "extra-high",
width = 16,
height = 16,
frame_count = 1,
hr_version =
{
filename = "__bzzirconium__/graphics/entity/zircon-particle/hr-zircon-particle-2.png",
priority = "extra-high",
width = 32,
height = 32,
frame_count = 1,
scale = 0.5
}
},
{
filename = "__bzzirconium__/graphics/entity/zircon-particle/zircon-particle-3.png",
priority = "extra-high",
width = 16,
height = 16,
frame_count = 1,
hr_version =
{
filename = "__bzzirconium__/graphics/entity/zircon-particle/hr-zircon-particle-3.png",
priority = "extra-high",
width = 32,
height = 32,
frame_count = 1,
scale = 0.5
}
},
{
filename = "__bzzirconium__/graphics/entity/zircon-particle/zircon-particle-4.png",
priority = "extra-high",
width = 16,
height = 16,
frame_count = 1,
hr_version =
{
filename = "__bzzirconium__/graphics/entity/zircon-particle/hr-zircon-particle-4.png",
priority = "extra-high",
width = 32,
height = 32,
frame_count = 1,
scale = 0.5
}
}
},
shadows =
{
{
filename = "__bzzirconium__/graphics/entity/zircon-particle/zircon-particle-shadow-1.png",
priority = "extra-high",
width = 16,
height = 16,
frame_count = 1,
hr_version =
{
filename = "__bzzirconium__/graphics/entity/zircon-particle/hr-zircon-particle-shadow-1.png",
priority = "extra-high",
width = 32,
height = 32,
frame_count = 1,
scale = 0.5
}
},
{
filename = "__bzzirconium__/graphics/entity/zircon-particle/zircon-particle-shadow-2.png",
priority = "extra-high",
width = 16,
height = 16,
frame_count = 1,
hr_version =
{
filename = "__bzzirconium__/graphics/entity/zircon-particle/hr-zircon-particle-shadow-2.png",
priority = "extra-high",
width = 32,
height = 32,
frame_count = 1,
scale = 0.5
}
},
{
filename = "__bzzirconium__/graphics/entity/zircon-particle/zircon-particle-shadow-3.png",
priority = "extra-high",
width = 16,
height = 16,
frame_count = 1,
hr_version =
{
filename = "__bzzirconium__/graphics/entity/zircon-particle/hr-zircon-particle-shadow-3.png",
priority = "extra-high",
width = 32,
height = 32,
frame_count = 1,
scale = 0.5
}
},
{
filename = "__bzzirconium__/graphics/entity/zircon-particle/zircon-particle-shadow-4.png",
priority = "extra-high",
width = 16,
height = 16,
frame_count = 1,
hr_version =
{
filename = "__bzzirconium__/graphics/entity/zircon-particle/hr-zircon-particle-shadow-4.png",
priority = "extra-high",
width = 32,
height = 32,
frame_count = 1,
scale = 0.5
}
}
}
}
}
)

82
zircon.lua Normal file
View file

@ -0,0 +1,82 @@
local resource_autoplace = require('resource-autoplace');
local noise = require('noise');
local util = require("__bzzirconium__.data-util");
data:extend({
{
type = "autoplace-control",
category = "resource",
name = "zircon",
richness = true,
order = "b-e"
},
{
type = "noise-layer",
name = "zircon"
},
{
type = "resource",
icon_size = 64, icon_mipmaps = 3,
name = "zircon",
icon = "__bzzirconium__/graphics/icons/zircon.png",
flags = {"placeable-neutral"},
order="a-b-a",
map_color = {r=0.90, g=0.70, b=0.70},
minable =
{
hardness = 1,
mining_particle = "zircon-particle",
mining_time = 1.5,
result = "zircon"
},
collision_box = {{ -0.1, -0.1}, {0.1, 0.1}},
selection_box = {{ -0.5, -0.5}, {0.5, 0.5}},
autoplace = resource_autoplace.resource_autoplace_settings{
name = "zircon",
order = "b-z",
base_density = 4,
has_starting_area_placement = true,
regular_rq_factor_multiplier = 1.2,
starting_rq_factor_multiplier = .7,
},
stage_counts = {15000, 9500, 5500, 2900, 1300, 400, 150, 80},
stages =
{
sheet =
{
filename = "__bzzirconium__/graphics/entity/ores/zircon.png",
priority = "extra-high",
size = 64,
frame_count = 8,
variation_count = 8,
hr_version =
{
filename = "__bzzirconium__/graphics/entity/ores/hr-zircon.png",
priority = "extra-high",
size = 128,
frame_count = 8,
variation_count = 8,
scale = 0.5
}
}
},
},
{
type = "item",
name = "zircon",
icon_size = 64, icon_mipmaps = 3,
icon = "__bzzirconium__/graphics/icons/zircon.png",
pictures = {
{filename="__bzzirconium__/graphics/icons/zircon.png", size=64, scale=0.25},
{filename="__bzzirconium__/graphics/icons/zircon-2.png", size=64, scale=0.25},
{filename="__bzzirconium__/graphics/icons/zircon-3.png", size=64, scale=0.25},
{filename="__bzzirconium__/graphics/icons/zircon-4.png", size=64, scale=0.25},
},
subgroup = "raw-resource",
order = "t-c-a",
stack_size = util.get_stack_size(50)
},
})

123
zirconium-enriched.lua Normal file
View file

@ -0,0 +1,123 @@
-- Enriched Titanium for Krastorio2
local util = require("__bzzirconium__.data-util");
if mods["Krastorio2"] then
data:extend({
{
type = "item",
name = "enriched-zircon",
icon_size = 128,
icon = "__bzzirconium__/graphics/icons/enriched-zircon.png",
pictures = {
{filename="__bzzirconium__/graphics/icons/enriched-zircon.png", size=128, scale=0.25},
{filename="__bzzirconium__/graphics/icons/enriched-zircon-2.png", size=128, scale=0.25},
{filename="__bzzirconium__/graphics/icons/enriched-zircon-3.png", size=128, scale=0.25},
{filename="__bzzirconium__/graphics/icons/enriched-zircon-4.png", size=128, scale=0.25},
},
subgroup = "raw-material",
order = "e05-a[enriched-ores]-a1[enriched-zircon]",
stack_size = util.get_stack_size(100),
},
{
type = "recipe",
name = "enriched-zircon",
icon = "__bzzirconium__/graphics/icons/enriched-zircon.png",
icon_size = 128,
category = "chemistry",
energy_required = 3,
enabled = false,
always_show_made_in = true,
always_show_products = true,
allow_productivity = true,
ingredients =
{
{type = "fluid", name = "sulfuric-acid", amount = 10},
{type = "fluid", name = "water", amount = 25, catalyst_amount = 25},
{type = "item", name = "zircon", amount = 9}
},
results =
{
{type = "item", name = "enriched-zircon", amount = 6},
{type = "fluid", name = "dirty-water", amount = 25, catalyst_amount = 25}
},
crafting_machine_tint =
{
primary = {r = 0.721, g = 0.525, b = 0.043, a = 0.000},
secondary = {r = 0.200, g = 0.680, b = 0.300, a = 0.357},
tertiary = {r = 0.690, g = 0.768, b = 0.870, a = 0.000},
quaternary = {r = 0.0, g = 0.980, b = 0.603, a = 0.900}
},
subgroup = "raw-material",
order = "e03[enriched-zircon]"
},
{
type = "recipe",
name = "enriched-zirconia-smelting",
icons =
{
{ icon = "__bzzirconium__/graphics/icons/zirconia.png", icon_size = 128, icon_mipmaps = 3, },
{ icon = "__bzzirconium__/graphics/icons/enriched-zircon.png", icon_size = 128, scale=0.125, shift= {-8, -8}},
},
category = "smelting",
energy_required = 24,
enabled = false,
always_show_made_in = true,
always_show_products = true,
allow_productivity = true,
ingredients =
{
{"enriched-zircon", 5}
},
result = "zirconia",
result_count = 10,
order = "z[zirconia]-z[enriched-zirconia]"
},
{
type = "recipe",
name = "dirty-water-filtration-zircon",
category = "fluid-filtration",
icons =
{
{
icon = data.raw.fluid["dirty-water"].icon,
icon_size = data.raw.fluid["dirty-water"].icon_size
},
{
icon = data.raw.item["zircon"].icon,
icon_size = data.raw.item["zircon"].icon_size,
scale = 0.20 * (data.raw.fluid["dirty-water"].icon_size/data.raw.item["zircon"].icon_size),
shift = {0, 4}
}
},
-- icon_size = data.raw.fluid["dirty-water"].icon_size,
energy_required = 2,
enabled = false,
allow_as_intermediate = false,
always_show_made_in = true,
always_show_products = true,
ingredients =
{
{type = "fluid", name = "dirty-water", amount = 100, catalyst_amount = 100},
},
results =
{
{type = "fluid", name = "water", amount = 100, catalyst_amount = 100},
{type = "item", name = "stone", probability = 0.20, amount = 1},
{type = "item", name = "zircon", probability = 0.20, amount = 1},
mods.bztitanium and
{type = "item", name = "titanium-ore", probability = 0.20, amount = 1} or nil,
},
crafting_machine_tint =
{
primary = {r = 0.60, g = 0.20, b = 0, a = 0.6},
secondary = {r = 1.0, g = 0.843, b = 0.0, a = 0.9}
},
subgroup = "raw-material",
order = "w013[dirty-water-filtration-zircon]"
}
}
)
util.add_effect("kr-enriched-ores", { type = "unlock-recipe", recipe = "enriched-zircon" })
util.add_effect("kr-enriched-ores", { type = "unlock-recipe", recipe = "enriched-zirconia-smelting" })
util.add_effect("kr-enriched-ores", { type = "unlock-recipe", recipe = "dirty-water-filtration-zircon" })
end

View file

@ -0,0 +1,15 @@
local util = require("__bzzirconium__.data-util");
if mods["Rich-Rocks-Requiem"] then
if data.raw.recipe["rrr-stone-processing"] then
table.insert(data.raw.recipe["rrr-stone-processing"].results,
{name = "zircon", probability = 0.50, amount = 10}
)
end
if data.raw.recipe["rrr-raw-ores-processing"] then
table.insert(data.raw.recipe["rrr-raw-ores-processing"].results,
{name = "zircon", probability = 0.50, amount = 10}
)
end
end

View file

@ -0,0 +1,35 @@
-- Deadlock stacking recipes
local util = require("__bzzirconium__.data-util");
if deadlock then
deadlock.add_stack("zircon", "__bzzirconium__/graphics/icons/stacked/zircon-stacked.png", "deadlock-stacking-2", 64)
deadlock.add_stack("zirconia", "__bzzirconium__/graphics/icons/stacked/zirconia-stacked.png", "deadlock-stacking-2", 128)
deadlock.add_stack("zirconium-plate", "__bzzirconium__/graphics/icons/stacked/zirconium-plate-stacked.png" , "deadlock-stacking-2", 128)
if util.use_cermet() then
deadlock.add_stack("cermet", "__bzzirconium__/graphics/icons/stacked/cermet-stacked.png", "deadlock-stacking-2", 128)
end
if mods["Krastorio2"] then
deadlock.add_stack("enriched-zircon", "__bzzirconium__/graphics/icons/stacked/enriched-zircon-stacked.png" , "deadlock-stacking-2", 64)
end
if mods["Krastorio2"] or mods["space-exploration"] then
deadlock.add_stack("zirconium-tungstate", nil, "deadlock-stacking-2", 64)
end
end
-- Deadlock crating recipes
if deadlock_crating then
deadlock_crating.add_crate("zircon", "deadlock-crating-2")
deadlock_crating.add_crate("zirconia", "deadlock-crating-2")
deadlock_crating.add_crate("zirconium-plate", "deadlock-crating-2")
if util.use_cermet() then
deadlock_crating.add_crate("cermet", "deadlock-crating-2")
end
if mods["Krastorio2"] then
deadlock_crating.add_crate("enriched-zircon", "deadlock-crating-2")
end
if mods["Krastorio2"] or mods["space-exploration"] then
deadlock_crating.add_crate("zirconium-tungstate", "deadlock-crating-2")
end
end

88
zirconium-recipe-se.lua Normal file
View file

@ -0,0 +1,88 @@
-- Additional recipes if Space Exploration mod is enabled
local util = require("__bzzirconium__.data-util");
if mods["space-exploration"] then
se_delivery_cannon_recipes["zircon"] = {name= "zircon"}
se_delivery_cannon_recipes["zirconia"] = {name= "zirconia"}
se_delivery_cannon_recipes["zirconium-plate"] = {name= "zirconium-plate"}
if mods["Krastorio2"] then
data:extend({
{
type = "recipe",
name = "enriched-zirconia-smelting-vulcanite",
category = "smelting",
order = "z[zirconium-plate]",
energy_required = 24,
enabled = false,
always_show_made_in = true,
allow_as_intermediate = false,
ingredients = {
{name = "enriched-zircon", amount = 8},
{name = "se-vulcanite-block", amount = 1},
},
results = {
{name = "zirconia", amount = 24},
},
icons =
{
{ icon = "__bzzirconium__/graphics/icons/zirconia.png", icon_size = 128, icon_mipmaps = 3 },
{ icon = "__space-exploration-graphics__/graphics/icons/vulcanite-block.png", icon_size = 64, scale=0.25, shift= {-10, -10}},
},
},
})
table.insert(data.raw.technology["se-processing-vulcanite"].effects,
{type = "unlock-recipe", recipe= "enriched-zirconia-smelting-vulcanite"})
data.raw.recipe["enriched-zircon"].order= "d[zircon]"
se_delivery_cannon_recipes["enriched-zircon"] = {name= "enriched-zircon"}
else
data:extend({
{
type = "recipe",
name = "zircon-smelting-vulcanite",
category = "smelting",
order = "z[zirconium-plate]",
energy_required = 16,
enabled = false,
always_show_made_in = true,
allow_as_intermediate = false,
ingredients = {
{name = "zircon", amount = 8},
{name = "se-vulcanite-block", amount = 1},
},
results = {
{name = "zirconia", amount = 24},
},
icons =
{
{ icon = "__bzzirconium__/graphics/icons/zirconia.png", icon_size = 128, icon_mipmaps = 3,},
{ icon = "__space-exploration-graphics__/graphics/icons/vulcanite-block.png", icon_size = 64, scale=0.25, shift= {-10, -10}},
},
}})
util.add_effect("se-processing-vulcanite", {type = "unlock-recipe", recipe= "zircon-smelting-vulcanite"})
end
data:extend({
{
type = "recipe",
name = "zirconia-smelting-vulcanite",
category = "smelting",
order = "z[zirconium-plate]",
energy_required = 16,
enabled = false,
always_show_made_in = true,
allow_as_intermediate = false,
ingredients = {
{name = "zirconia", amount = 24},
{name = "se-vulcanite-block", amount = 1},
},
results = {
{name = "zirconium-plate", amount = 12},
},
icons =
{
{ icon = "__bzzirconium__/graphics/icons/zirconium-plate.png", icon_size = 128, icon_mipmaps = 3,},
{ icon = "__space-exploration-graphics__/graphics/icons/vulcanite-block.png", icon_size = 64, scale=0.25, shift= {-10, -10}},
},
},
})
util.add_effect("se-processing-vulcanite", {type = "unlock-recipe", recipe= "zirconia-smelting-vulcanite"})
end

View file

@ -0,0 +1,87 @@
local util = require("__bzzirconium__.data-util");
util.replace_some_ingredient("stone-furnace", "stone", 1, "zircon", 1)
if not mods["Krastorio2"] then
util.replace_some_ingredient("steel-furnace", "stone-brick", 4, "zircon", 6)
end
if mods["Krastorio2"] then
util.replace_some_ingredient("low-density-structure", "copper-plate", 5, "zirconia", 5)
else
util.replace_some_ingredient("low-density-structure", "copper-plate", 10, "zirconia", 10)
end
util.add_ingredient("electric-furnace", "zirconia", 5)
util.add_ingredient("explosives", "zirconium-plate", 1)
util.add_ingredient("nuclear-reactor", "zirconium-plate", 100)
local ufc_amt = mods["Krastorio2"] and 1 or 5
if mods.bzlead then
util.replace_some_ingredient("uranium-fuel-cell", "lead-plate", 5, "zirconium-plate", ufc_amt)
else
util.replace_some_ingredient("uranium-fuel-cell", "iron-plate", 5, "zirconium-plate", ufc_amt)
end
if not mods.bztungsten then
util.add_ingredient("nuclear-fuel", "zirconium-plate", 1)
end
if util.use_cermet() then
util.add_ingredient("rocket-control-unit", "cermet", 1)
util.add_ingredient("speed-module-3", "cermet", 1)
util.add_ingredient("productivity-module-3", "cermet", 1)
util.add_ingredient("effectivity-module-3", "cermet", 1)
util.add_ingredient("assembling-machine-3", "cermet", 2)
util.add_ingredient("beacon", "cermet", 10)
util.add_ingredient("spidertron", "cermet", 8)
end
-- Krastorio2
if mods["Krastorio2"] then
util.replace_some_ingredient("matter-stabilizer", "imersium-plate", 1, "zirconium-plate", 5)
util.add_ingredient("kr-advanced-furnace", "zirconia", 60)
if util.use_cermet() then
util.add_ingredient("ai-core", "cermet", 2)
util.add_ingredient("kr-matter-assembler", "cermet", 4)
end
util.replace_some_ingredient("stone-brick", "stone", 2, "zircon", 2)
if mods["space-exploration"] then
util.replace_some_ingredient("se-stone-brick-vulcanite", "stone", 2, "zircon", 2)
end
if not mods.bztungsten then
util.add_ingredient("matter-research-data", "zirconia", 5)
end
end
-- Space Exploration
if mods["space-exploration"] then
util.replace_some_ingredient("se-aeroframe-scaffold", "se-aeroframe-pole", 1, "zirconia", 2)
util.replace_some_ingredient("se-heat-shielding", "stone-tablet", 10, "zirconia", 10)
util.replace_ingredient("se-heat-shielding-iridium", "stone-tablet", "zirconia")
util.add_ingredient("se-thruster-suit", "zirconium-plate", 10)
util.add_ingredient("se-space-thermodynamics-laboratory", "zirconium-plate", 20)
if util.use_cermet() then
util.add_ingredient("se-quantum-processor", "cermet", 1)
util.add_ingredient("se-space-mechanical-laboratory", "cermet", 40)
end
if not mods.bztungsten then
util.add_ingredient("se-hot-thermodynamics-data", "zirconium-plate", 1)
util.add_product("se-hot-thermodynamics-data", {name="zirconium-plate", amount=1, probability=0.50})
end
end
-- AAI
util.add_ingredient("industrial-furnace", "zirconium-plate", 4)
-- Aircraft
util.add_ingredient("gunship", "zirconia", 10)
util.add_ingredient("cargo-plane", "zirconia", 20)
util.add_ingredient("jet", "zirconia", 50)
util.add_ingredient("flying-fortress", "zirconia", 80)
util.add_ingredient("aircraft-afterburner", "zirconia", 5)
util.add_ingredient("mega-furnace", "zirconia", 5)

278
zirconium-recipe.lua Normal file
View file

@ -0,0 +1,278 @@
-- Zirconium smelting, etc
local util = require("__bzzirconium__.data-util");
-- data:extend({
--
-- })
data:extend({
{
type = "item",
name = "zirconia",
icon = "__bzzirconium__/graphics/icons/zirconia.png",
icon_size = 128,
subgroup = "raw-material",
order = "z[zirconia]",
stack_size = util.get_stack_size(200)
},
{
type = "recipe",
name = "zirconia",
category = "smelting",
subgroup = "raw-material",
order = "z[zirconia]",
icons = (mods["Krastorio2"] and
{
{ icon = "__bzzirconium__/graphics/icons/zirconia.png", icon_size = 128 },
{ icon = "__bzzirconium__/graphics/icons/zircon.png", icon_size = 64, scale=0.25, shift= {-8, -8}},
} or {
{ icon = "__bzzirconium__/graphics/icons/zirconia.png", icon_size = 128, },
}
),
normal = (mods["Krastorio2"] and
{
enabled = false,
energy_required = 8,
ingredients = {{"zircon", 5}},
results = mods.bztitanium and {
{name="zirconia", amount_min=4, amount_max=5},
{name="titanium-ore", amount=1, probability=.5}
} or {{"zirconia", 5}}
} or
{
enabled = false,
energy_required = 3.2,
ingredients = {{"zircon", 1}},
results = mods.bztitanium and {
{name="zirconia", amount=2, probability=.95},
{name="titanium-ore", amount=1, probability=.1}
} or {{"zirconia", 2}}
}),
expensive =
{
enabled = false,
energy_required = 3.2,
ingredients = {{"zircon", 1}},
results = mods.bztitanium and {
{"zirconia", 1}, {name="titanium-ore", amount=1, probability=.05}
} or {{"zirconia", 2}}
}
},
{
type = "item",
name = "zirconium-plate",
icon = "__bzzirconium__/graphics/icons/zirconium-plate.png",
icon_size = 128,
subgroup = "raw-material",
order = "z[zirconium-plate]",
stack_size = util.get_stack_size(100)
},
{
type = "recipe",
name = "zirconium-plate",
category = "smelting",
subgroup = "raw-material",
order = "z[zirconium-plate]",
icons = (mods["Krastorio2"] and
{
{ icon = "__bzzirconium__/graphics/icons/zirconium-plate.png", icon_size = 128 },
{ icon = "__bzzirconium__/graphics/icons/zirconia.png", icon_size = 128, scale=0.125, shift= {-8, -8}},
} or {
{ icon = "__bzzirconium__/graphics/icons/zirconium-plate.png", icon_size = 128, },
}
),
normal = (mods["Krastorio2"] and
{
enabled = false,
energy_required = 8,
ingredients = {{"zirconia", 15}},
result = "zirconium-plate",
result_count = 5,
} or
{
enabled = false,
energy_required = 9.6,
ingredients = {{"zirconia", 3}},
result = "zirconium-plate",
result_count = 1,
}),
expensive =
{
enabled = false,
energy_required = 9.6,
ingredients = {{"zirconia", 6}},
result = "zirconium-plate",
}
},
{
type = "technology",
name = "zirconia-processing",
icon_size = 340,
icon = "__bzzirconium__/graphics/technology/zirconia-processing.png",
effects =
{
{
type = "unlock-recipe",
recipe = "zirconia"
},
{
type = "unlock-recipe",
recipe = "zirconium-plate",
},
-- mods["TheBigFurnace"] and {
-- type = "unlock-recipe",
-- recipe = "big-zirconium-plate",
-- } or nil,
-- mods["TheBigFurnace"] and {
-- type = "unlock-recipe",
-- recipe = "big-zirconia",
-- } or nil,
},
unit =
{
count = 75,
ingredients =
{
{"automation-science-pack", 1},
{"logistic-science-pack", 1},
},
time = 30,
},
prerequisites = {"automation-2", (not mods.bzzirconium and "advanced-material-processing") or nil },
order = "z"
},
})
-- cermet only if setting enabled
if util.use_cermet() then
local cermet_i = {{"zirconia", 1}, {"copper-plate", 1}}
if mods.bztitanium then
table.insert(cermet_i, {"titanium-plate", 1})
end
if mods.bzsilicon then
table.insert(cermet_i, {"silica", 1})
end
data:extend({
{
type = "item",
name = "cermet",
icon = "__bzzirconium__/graphics/icons/cermet.png",
icon_size = 128,
subgroup = "intermediate-product",
order = "z[cermet]",
stack_size = util.get_stack_size(200)
},
{
type = "recipe",
name = "cermet",
category = "crafting",
subgroup = "intermediate-product",
order = "z[zirconia]",
icons = { { icon = "__bzzirconium__/graphics/icons/cermet.png", icon_size = 128, } },
enabled = false,
energy_required = #cermet_i,
ingredients = cermet_i,
result = "cermet",
result_count = #cermet_i,
},
{
type = "technology",
name = "cermet",
icon_size = 512,
icon = "__bzzirconium__/graphics/technology/cermet.png",
effects =
{
{
type = "unlock-recipe",
recipe = "cermet"
},
},
unit =
{
count = 100,
ingredients =
{
{"automation-science-pack", 1},
{"logistic-science-pack", 1},
{"chemical-science-pack", 1},
{"production-science-pack", 1},
},
time = 30,
},
prerequisites = {"production-science-pack"},
order = "c"
},
})
end
-- sorting
data:extend({
{
type = "recipe",
name = "sort-stone-zircon",
category = "crafting",
subgroup = "raw-resource",
order = "bzz",
icons = {
{ icon = "__bzzirconium__/graphics/icons/zircon.png", icon_size = 64 },
{ icon = "__base__/graphics/icons/stone.png", icon_size = 64, scale=0.25, shift= {-8, -8}},
},
enabled = true,
energy_required = 1,
ingredients = {{"stone", 2}},
results = {
{type="item", name="zircon", amount=1},
{type="item", name="stone", amount=1, probability=0.5},
}
},
{
type = "recipe",
name = "sort-zircon-stone",
category = "crafting",
subgroup = "raw-resource",
order = "bzz",
icons = {
{ icon = "__base__/graphics/icons/stone.png", icon_size = 64 },
{ icon = "__bzzirconium__/graphics/icons/zircon.png", icon_size = 64, scale=0.25, shift= {-8, -8}},
},
enabled = true,
energy_required = 1,
ingredients = {{"zircon", 2}},
results = {
{type="item", name="stone", amount=1},
{type="item", name="zircon", amount=1, probability=0.5},
}
}
})
-- Zirconium Tungstate, only if needed
if mods.bztungsten and (mods["Krastorio2"] or mods["space-exploration"]) then
data:extend({
{
type = "item",
name = "zirconium-tungstate",
icons = {{icon = "__bzzirconium__/graphics/icons/zircon-powder.png",
icon_size = 64, tint = {a=1, r=.95, g=.75, b=0}}},
subgroup = "intermediate-product",
order = "z[z]",
stack_size = util.get_stack_size(100)
},
{
type = "recipe",
name = "zirconium-tungstate",
category = "crafting",
subgroup = "intermediate-product",
order = "z[z]",
enabled = false,
energy_required = 2,
ingredients = {{"zirconium-plate", 1}, {"tungsten-plate", 1},},
result = "zirconium-tungstate",
result_count = 2,
},
})
util.add_effect("zirconia-processing", {
type = "unlock-recipe",
recipe = "zirconium-tungstate"
})
end