Restructure repository
20
bzsilicon2/LICENSE.md
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013 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.
|
||||
429
bzsilicon2/changelog.txt
Normal file
|
|
@ -0,0 +1,429 @@
|
|||
---------------------------------------------------------------------------------------------------
|
||||
Version: 2.0.16
|
||||
Date: 2025-06-15
|
||||
Fixes:
|
||||
- Krastorio2 & Spaced Out: Fix soft lock on circuits introduced in 2.0 updates
|
||||
- Fix load error with certain loadouts, especially with K2SO
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 2.0.15
|
||||
Date: 2025-05-04
|
||||
Changes:
|
||||
- Krastorio2 spaced out support
|
||||
- Minor K2 integration tweaks
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 2.0.14
|
||||
Date: 2025-05-03
|
||||
Fixes:
|
||||
- Fix possible load issues with Bob's
|
||||
Changes:
|
||||
- K2 compatibility updates, thanks to autechr3 & pla
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 2.0.13
|
||||
Date: 2025-04-08
|
||||
Changes:
|
||||
- Improve compatibility with Ash mod
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 2.0.12
|
||||
Date: 2025-04-08
|
||||
Changes:
|
||||
- Improve compatbility with Crushing Industry
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 2.0.11
|
||||
Date: 2025-03-23
|
||||
Fixes:
|
||||
- Fix when used without space age.
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 2.0.10
|
||||
Date: 2025-03-22
|
||||
Changes:
|
||||
- Set inventory sounds for some items
|
||||
Fixes:
|
||||
- Loads with Crafting Efficiency
|
||||
- Improved compatibility with Muluna
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 2.0.9
|
||||
Date: 2025-03-21
|
||||
Fixes:
|
||||
- Fix startup crash introduced in Factorio 2.0.42
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 2.0.8
|
||||
Date: 2025-03-11
|
||||
Fixes:
|
||||
- Improve compatibility with glass: silica comes from sand when generic sand is available.
|
||||
- Minor locale fixes
|
||||
Changes:
|
||||
- Make wafers in smaller batches (ratio unchanged)
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 2.0.7
|
||||
Date: 2025-03-03
|
||||
Fixes:
|
||||
- Fix Tier 1 module recipes to all require silicon, when wafers are not enabled.
|
||||
- Space Age: When enabled, add a handcrafting recipe for silicon wafers
|
||||
- Fix for infinite loop with certain mod loadouts (mostly during mod dev).
|
||||
- Other minor fixes
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 2.0.6
|
||||
Date: 2025-01-29
|
||||
Changes:
|
||||
- Changes to Any Planet Start progression
|
||||
- Maraxsis: Can make silica from sand, silica is used for glass on Maraxsis.
|
||||
Fixes:
|
||||
- Fix razorgrass regenerate
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 2.0.5
|
||||
Date: 2025-01-25
|
||||
Fixes:
|
||||
- Improve compatibility with mods that modify armor recipes in certain ways
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 2.0.4
|
||||
Date: 2025-01-16
|
||||
Changes:
|
||||
- Player can plant razorgrass by hand on appropriate tiles.
|
||||
- Stop adding extra decoratives.
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 2.0.3
|
||||
Date: 2025-01-14
|
||||
Changes:
|
||||
- Fix /bz-regenerate command when not using Space Age
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 2.0.2
|
||||
Date: 2025-01-09
|
||||
Changes:
|
||||
- With AAI Industry, unlock crusher with sand, slight change to tech tree
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 2.0.1
|
||||
Date: 2025-01-07
|
||||
Changes:
|
||||
- In Space Age, modded sand (eg in AAI Industry) will now be created in basic crusher
|
||||
Fixes:
|
||||
- Attempted fix for crash with a large suite of mods, one of which seems to set a "deadlock" global variable
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 2.0.0
|
||||
Date: 2025-01-06
|
||||
Changes:
|
||||
- Compatible with 2.0 and Space Age
|
||||
- More intermediate recipes setting now only has yes/no options.
|
||||
- Changes to silicon wafers
|
||||
- New intermediate when setting is active: silicone. Silicone is handled a bit differently between vanilla and Space Age.
|
||||
- With space age enabled, add a small crusher for making silica directly from stone.
|
||||
- New plant for Space Age, Razorgrass. Used in silica production chain on Gleba. (Can use command "/bz-regenerate gleba razorgrass" when adding to existing game)
|
||||
- Recipe for making extra stone on Vulcanus.
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.11.12
|
||||
Date: 2024-01-13
|
||||
Localization:
|
||||
- pl updates, thanks to S3BA
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.11.11
|
||||
Date: 2023-04-23
|
||||
Fixes:
|
||||
- Fix some typos
|
||||
Changes:
|
||||
- K2: Silica matter recipe balance
|
||||
- SE+K2: Silica matter recipe requires stabilizer
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.11.10
|
||||
Date: 2023-02-12
|
||||
Changes:
|
||||
- Crafting efficiency improvements, thanks to nihilistzsche
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.11.9
|
||||
Date: 2023-01-23
|
||||
Fixes:
|
||||
- Fix for new SE release
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.11.8
|
||||
Date: 2023-01-17
|
||||
Fixes:
|
||||
- Add optional depenency on aai-industry to fix some mod load order discrepancies
|
||||
Features:
|
||||
- (Beta) Support for Crafting Efficieny mod
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.11.7
|
||||
Date: 2023-01-01
|
||||
Changes:
|
||||
- Prod modules enabled for optical fiber
|
||||
- SE Space locomotives require MEMS gyro now
|
||||
Localization:
|
||||
- K2: Better string for silica processing, for ja, from Sakuro
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.11.6
|
||||
Date: 2022-12-31
|
||||
Fixes:
|
||||
- SE/K2: Silicon with pyroflux can be made in fluid-enabled furnaces
|
||||
- Add tech tree dependency on logistic science pack
|
||||
- SE/K2: Attempt fix of issue where some mod loadouts did not have MEMS gyro in flying robot
|
||||
frame recipe.
|
||||
- K2: Fix compatibility issue with Seb's electrics.
|
||||
Localization:
|
||||
- K2: Better string for silica processing, for en
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.11.5
|
||||
Date: 2022-12-24
|
||||
Localization:
|
||||
- ja locale updates from Sakuro
|
||||
- de locale updates from NathanU
|
||||
- zh-CN updates from sunnytan53
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.11.4
|
||||
Date: 2022-08-23
|
||||
Changes:
|
||||
- deep core mining balance for stone needs
|
||||
- Minor compatibility updates
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.11.3
|
||||
Date: 2022-08-10
|
||||
Changes:
|
||||
- Cable item subgroup
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.11.2
|
||||
Date: 2022-07-02
|
||||
Fixes:
|
||||
- SE 0.6.68 compatibility breakage fixed
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.11.1
|
||||
Date: 2022-07-01
|
||||
Fixes:
|
||||
- SE 0.6: Use stone subgroup for raw material items
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.11.0
|
||||
Date: 2022-07-01
|
||||
Changes:
|
||||
- Compatible with Space Exploration 0.6
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.10.0
|
||||
Date: 2022-06-26
|
||||
Features:
|
||||
- Beta support for 248k. Silica used in glass. More changes likely to come.
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.9.1
|
||||
Date: 2022-01-08
|
||||
Features:
|
||||
- Korean (ko) l10n, thanks to x2605
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.9.0
|
||||
Date: 2022-01-08
|
||||
Features:
|
||||
- Added a new optional gyroscope intermediate
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.8.3
|
||||
Date: 2022-01-06
|
||||
Changes:
|
||||
- Polish (pl) l10n, thanks to S3BA
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.8.2
|
||||
Date: 2022-01-05
|
||||
Changes:
|
||||
- Simplified Chinese (zh_CN) l10n, thanks to PlexPt
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.8.1
|
||||
Date: 2022-01-05
|
||||
Changes:
|
||||
- Bio Industries more minor compatibility
|
||||
Fixes:
|
||||
- IR2 loose compatibility fix
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.8.0
|
||||
Date: 2021-12-31
|
||||
Changes:
|
||||
- K2 1.2 alternate electronic components recipe
|
||||
- Update stone autoplace for more stone.
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.7.4
|
||||
Date: 2021-07-26
|
||||
Changes:
|
||||
- Very minor K2 tech tree tweak
|
||||
- Minor Refactor
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.7.3
|
||||
Date: 2021-07-01
|
||||
Features:
|
||||
- Strange matter compatibility
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.7.2
|
||||
Date: 2021-06-26
|
||||
Changes:
|
||||
- Tweak solar cell recipe, less silicon
|
||||
Features:
|
||||
- Transport drone circuits
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.7.1
|
||||
Date: 2021-06-16
|
||||
Localization:
|
||||
- ja locale updates from Sakuro
|
||||
Features:
|
||||
- Mod Mash Electronics recipes
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.7.0
|
||||
Date: 2021-06-16
|
||||
Features:
|
||||
- Recipe bypass setting
|
||||
Localization:
|
||||
- Polish localization tweaks, thanks to user TheoMarque
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.6.14
|
||||
Date: 2021-06-02
|
||||
Localization:
|
||||
- ja localization thanks to Sakuro
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.6.13
|
||||
Date: 2021-05-23
|
||||
Features:
|
||||
- Zombies compatibility
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.6.12
|
||||
Date: 2021-05-22
|
||||
Localization:
|
||||
- Polish localization, thanks to user TheoMarque
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.6.11
|
||||
Date: 2021-05-01
|
||||
Features:
|
||||
- Russian localization, thanks to user Spectrus1702
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.6.10
|
||||
Date: 2021-04-30
|
||||
Localization:
|
||||
- German localization, thanks to user yokmp
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.6.9
|
||||
Date: 2021-04-13
|
||||
Fixes:
|
||||
- Recipe fix for deadlock stacked recipes + K2
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.6.8
|
||||
Date: 2021-04-12
|
||||
Changes:
|
||||
- Reduce silicon/wafer needs for first tier modules.
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.6.7
|
||||
Date: 2021-04-11
|
||||
Changes:
|
||||
- Added experimental setting to not use crushed stone with Bio Industries.
|
||||
This is meant only for massive megabases, and is not recommended otherwise.
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.6.6
|
||||
Date: 2021-03-20
|
||||
Changes:
|
||||
- Rebalance: circuit network components always use silicon, not wafers
|
||||
This makes them craftable when they are unlocked, and also improves mod compatibility.
|
||||
- Programmable speaker also uses 1 silicon.
|
||||
- When using Extended Research System with Bio Industries, unlock some stuff earlier.
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.6.5
|
||||
Date: 2021-03-19
|
||||
Features:
|
||||
- Omnimatter recipe for silica
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.6.4
|
||||
Date: 2021-03-15
|
||||
Fixes:
|
||||
- Fix tech deadlock in K2 with intermediates on (type SiliconRecipes)
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.6.3
|
||||
Date: 2021-03-14
|
||||
Features:
|
||||
- More combinator recipes
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.6.2
|
||||
Date: 2021-03-13
|
||||
Fixes:
|
||||
- Fix Crash with angels mods
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.6.1
|
||||
Date: 2021-03-13
|
||||
Fixes:
|
||||
- Minor tech tree fix when intermediates on.
|
||||
Changes:
|
||||
- Space Exploration: Added silica to chemical gel, materials testing pack
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.6.0
|
||||
Date: 2021-03-13
|
||||
Changes:
|
||||
- Less silicon (or wafers) needed in processing units
|
||||
- If using intermediates, wafers now required for advanced circuits
|
||||
- Increase map's richness of stone slightly.
|
||||
- Bio industries, crushed stone -> silica recipe is smelting now. More changes to come...
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.5.2
|
||||
Date: 2021-03-11
|
||||
Changes:
|
||||
- Enable prod modules on all recipes
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.5.1
|
||||
Date: 2021-03-11
|
||||
Changes:
|
||||
- UsefulCombinators recipes
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.5.0
|
||||
Date: 2021-03-08
|
||||
Changes:
|
||||
- New visuals by snouz (icons, technologies)
|
||||
- New mod icon
|
||||
- Added icon mipmaps
|
||||
Features:
|
||||
- Beta Bio Industries compatibility: silica from crushed stone, concrete recipe update.
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.4.1
|
||||
Date: 2021-02-28
|
||||
Features:
|
||||
- Deadlock stacking and crating, with thanks to GeneralTank
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.4.0
|
||||
Date: 2021-02-27
|
||||
Features:
|
||||
- New optional intermediates: Silicon wafer & Solar cell.
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.3.7
|
||||
Date: 2021-02-15
|
||||
Changes:
|
||||
- Loose compabitility with IR2
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.3.6
|
||||
Date: 2021-02-13
|
||||
Changes:
|
||||
- Use K2 silicon icon.
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.3.5
|
||||
Date: 2021-02-12
|
||||
Fixes:
|
||||
- Fix silicon vulcanite smelting recipe.
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.3.4
|
||||
Date: 2021-01-31
|
||||
Changes:
|
||||
- Concrete will always try to keep stone brick in some step of the chain.
|
||||
Concrete will also use sand where possible. I.e concrete "realism".
|
||||
This may be further adjusted but these goals will remain.
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.3.3
|
||||
Date: 2021-01-31
|
||||
Changes:
|
||||
- SE Delivery cannon capsules
|
||||
- K2 Silica matter
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.3.2
|
||||
Date: 2021-01-30
|
||||
Fixes:
|
||||
- K2+AAI concrete recipe
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.3.1
|
||||
Date: 2021-01-30
|
||||
Changes:
|
||||
- SE Vulcanite silicon smelting
|
||||
- K2+SE Vulcanite silicon smelting
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.3.0
|
||||
Date: 2021-01-30
|
||||
Changes:
|
||||
- Support K2+SE
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.2.0
|
||||
Date: 2020-11-23
|
||||
Changes:
|
||||
- Support 1.1
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.0
|
||||
Date: 2020-09-15
|
||||
Changes:
|
||||
- Initial version
|
||||
4
bzsilicon2/compatibility/248k.lua
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
local util = require("data-util");
|
||||
|
||||
util.add_ingredient("fi_arc_glass_recipe", "silica", 7)
|
||||
util.remove_ingredient("fi_arc_glass_recipe", "stone")
|
||||
52
bzsilicon2/compatibility/any-planet-start.lua
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
local util = require("data-util");
|
||||
if mods["any-planet-start"] and util.me.get_setting("aps-planet") == "vulcanus" then
|
||||
-- Avoid cycles or soft locks on Vulcanus start
|
||||
util.set_prerequisite("silica-processing", {})
|
||||
util.add_unlock("automation", "basic-crusher")
|
||||
util.set_prerequisite("silicon-processing", {"silica-processing"})
|
||||
util.set_tech_trigger("silica-processing", {type = "mine-entity", entity="vulcanus-chimney-truncated"})
|
||||
util.replace_ingredient("solar-cell", "silicon-wafer", "silicon")
|
||||
util.set_tech_trigger("silicon-processing", {type = "craft-item", item="silica", count=50})
|
||||
if util.me.more_intermediates() then
|
||||
util.add_new_crafting_category("handcrafting", true)
|
||||
data:extend({
|
||||
{
|
||||
type = "recipe",
|
||||
name = "silicon-wafer-by-hand",
|
||||
localised_name = {"item-name.silicon-wafer"},
|
||||
category = "handcrafting",
|
||||
subgroup = "intermediate-product",
|
||||
enabled = false,
|
||||
energy_required = 1,
|
||||
allow_productivity = true,
|
||||
ingredients = {
|
||||
{type= "item", name="silicon", amount=1},
|
||||
},
|
||||
results = {util.item("silicon-wafer", 1)}
|
||||
},
|
||||
})
|
||||
util.add_unlock("silicon-processing", "silicon-wafer-by-hand")
|
||||
end
|
||||
elseif mods["any-planet-start"] and util.me.get_setting("aps-planet") == "fulgora" then
|
||||
util.set_prerequisite("silica-processing", {"automation-2"})
|
||||
util.set_prerequisite("silicon-processing", {"silica-processing"})
|
||||
util.remove_prerequisite("advanced-circuit", "silicon-processing")
|
||||
elseif mods["any-planet-start"] and util.me.get_setting("aps-planet") == "gleba" then
|
||||
util.add_new_crafting_category("handcrafting", true)
|
||||
data:extend({
|
||||
{
|
||||
type = "recipe",
|
||||
name = "silica-from-ash-by-hand",
|
||||
localised_name = {"item-name.silica"},
|
||||
category = "handcrafting",
|
||||
subgroup = "raw-material",
|
||||
enabled = false,
|
||||
energy_required = 1,
|
||||
ingredients = {
|
||||
{type= "item", name="razorgrass-ash", amount=1},
|
||||
},
|
||||
results = {util.item("silica", 1)}
|
||||
},
|
||||
})
|
||||
util.add_unlock("razorgrass", "silica-from-ash-by-hand")
|
||||
end
|
||||
8
bzsilicon2/compatibility/hot-metals.lua
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
local util = require("data-util")
|
||||
util.add_hot_metals({
|
||||
{name="silicon", icons={
|
||||
{ icon = "__bzsilicon__/graphics/icons/silicon.png", icon_size = 64},
|
||||
{ icon = "__bzsilicon__/graphics/icons/silicon.png", icon_size = 64, tint={.9,.3,0, .5}},
|
||||
}},
|
||||
})
|
||||
|
||||
4
bzsilicon2/compatibility/krastorio2.lua
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
if mods["Krastorio2"] then
|
||||
local k2datautil = require("__Krastorio2__/data-util")
|
||||
k2datautil.remove_recipe_unlock("kr-silicon-processing", "kr-quartz")
|
||||
end
|
||||
298
bzsilicon2/control-util.lua
Normal file
|
|
@ -0,0 +1,298 @@
|
|||
local me = require("me")
|
||||
|
||||
local util = {}
|
||||
util.me = me
|
||||
local regenerate_command = "bz-regenerate"
|
||||
local list_command = "bz-list"
|
||||
|
||||
function decode(data)
|
||||
if type(data) == "string" then return data end
|
||||
local str = {}
|
||||
for i = 2, #data do
|
||||
str[i-1] = decode(data[i])
|
||||
end
|
||||
return table.concat(str, "")
|
||||
end
|
||||
|
||||
function util.check_fluid_mining()
|
||||
if me.fluid_mining then
|
||||
for i, force in pairs(game.forces) do
|
||||
if (
|
||||
(force.technologies["uranium-processing"] and force.technologies["uranium-processing"].researched) or
|
||||
(force.technologies["titanium-processing"] and force.technologies["titanium-processing"].researched) or
|
||||
false
|
||||
) then
|
||||
force.technologies["fluid-mining"].researched = true
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function get_list()
|
||||
local p = prototypes.item[me.name.."-list"]
|
||||
if p then
|
||||
data = p.localised_description
|
||||
return decode(data)
|
||||
end
|
||||
end
|
||||
|
||||
function util.force_enable_recipe(event, recipe_name)
|
||||
if game.players[event.player_index].force.recipes[recipe_name] then
|
||||
game.players[event.player_index].force.recipes[recipe_name].enabled=true
|
||||
end
|
||||
end
|
||||
|
||||
function list(event)
|
||||
if event.command and string.lower(event.command) == "bz-list" then
|
||||
local player = game.players[event.player_index]
|
||||
if player and player.connected then
|
||||
local list = get_list()
|
||||
if list and #list>0 then
|
||||
local filename = util.me.name..".txt"
|
||||
helpers.write_file(filename, list, false, event.player_index)
|
||||
player.print("Wrote recipes to script-output/"..filename)
|
||||
else
|
||||
player.print("Please change your mod startup setting for this mod's modified recipes list.")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function util.add_command_handler()
|
||||
script.on_event(defines.events.on_console_command, route)
|
||||
end
|
||||
|
||||
function route(event)
|
||||
if event.command == regenerate_command then regenerate_ore(event) end
|
||||
if event.command == list_command then list(event) end
|
||||
end
|
||||
|
||||
function util.add_list_command_handler()
|
||||
util.add_command_handler()
|
||||
|
||||
if not commands.commands[list_command] then
|
||||
commands.add_command(list_command, "", function() end)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
function util.warptorio2_expansion_helper()
|
||||
if script.active_mods["warptorio2_expansion"] then
|
||||
function check_container_for_items(container,items)
|
||||
local has_all =true
|
||||
for k=1,#items do
|
||||
if container.get_item_count(items[k].name)<items[k].count then has_all=false break end
|
||||
end
|
||||
return has_all
|
||||
end
|
||||
|
||||
function remove_items_from_container(container,items)
|
||||
for k=1,#items do
|
||||
container.remove_item(items[k])
|
||||
end
|
||||
end
|
||||
|
||||
script.on_nth_tick(60, function (event)
|
||||
if global.done then return end
|
||||
local fix_items={
|
||||
{name='iron-plate',count=100},
|
||||
{name='iron-gear-wheel',count=100},
|
||||
{name='repair-pack',count=50},
|
||||
}
|
||||
local entities = {}
|
||||
for i=1,100 do
|
||||
if game.surfaces[i] then
|
||||
local lentities= game.surfaces[i].find_entities_filtered{area = {{-100, -100}, {100, 100}}, name = "wpe_broken_lab"}
|
||||
for j, entity in pairs(lentities) do
|
||||
table.insert(entities, entity)
|
||||
end
|
||||
end
|
||||
end
|
||||
if #entities == 0 then
|
||||
if global.checking then
|
||||
-- The lab has already been fixed
|
||||
global.done = true
|
||||
else
|
||||
-- Check that the lab doesn't reappear due to a warp
|
||||
global.checking = true
|
||||
end
|
||||
return
|
||||
end
|
||||
if check_container_for_items(entities[1],fix_items) then
|
||||
remove_items_from_container(entities[1],fix_items)
|
||||
local lab = entities[1].surface.create_entity({name='wpe_repaired_lab', position=entities[1].position, force = game.forces.player})
|
||||
lab.destructible=false
|
||||
lab.minable=false
|
||||
entities[1].destroy()
|
||||
global.done = true
|
||||
end
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
local usage_regenerate = [[
|
||||
Recommend saving the game before running this command.
|
||||
Usage: /bz-regenerate all
|
||||
or /bz-regenerate <planet> <resource> [<frequency> <size> <richness>]
|
||||
planet must be an internal name like nauvis
|
||||
resource must be an internal name like lead-ore or titanium-ore
|
||||
frequency, size, and richness are optional, but all or none must be provided, and each should be a number between 0.166 and 6, where 1 is default setting.
|
||||
Regenerates ore patches. If frequency/size/richness are provided, the planet will use those settings from now on, as well.
|
||||
- Separate arguments with spaces, do not use < >, [ ], quotes or other symbols
|
||||
- This action can take a while for larger maps!
|
||||
- Ores can sometimes overlap on regeneration. This can sometimes hide ore patches. If none seem to be made for a resource, regenerate just that resource and tweak frequency/size.
|
||||
]]
|
||||
function util.add_regenerate_command_handler()
|
||||
util.add_command_handler()
|
||||
|
||||
if not commands.commands[regenerate_command] then
|
||||
commands.add_command( regenerate_command, usage_regenerate, function() end)
|
||||
end
|
||||
end
|
||||
|
||||
function regenerate_ore(event)
|
||||
if event.command == regenerate_command then
|
||||
local params = {}
|
||||
for w in event.parameters:gmatch("%S+") do table.insert(params, w) end
|
||||
if #params == 1 and params[1] == "all" then
|
||||
for _, resource in pairs(me.resources) do
|
||||
if prototypes.entity[resource[1]] then
|
||||
game.print("Regenerating "..resource[1])
|
||||
game.regenerate_entity(resource[1])
|
||||
end
|
||||
end
|
||||
return
|
||||
end
|
||||
if not (#params == 2 or #params == 5) then
|
||||
game.print(usage_regenerate)
|
||||
return
|
||||
end
|
||||
local planet = params[1]
|
||||
for _, resource in pairs(me.resources) do
|
||||
if not game.surfaces[planet] then
|
||||
game.print("Could not find surface for "..planet..". May not exist, or may not yet be explored.")
|
||||
return
|
||||
end
|
||||
if resource[1] == params[2] and (resource[2] == planet or "tenebris" == planet) then
|
||||
if #params == 5 then
|
||||
local settings = {frequency=params[3], size=params[4], richness=params[5]}
|
||||
local map_gen_settings = game.surfaces[planet].map_gen_settings
|
||||
map_gen_settings.autoplace_controls[resource[1]] = settings
|
||||
map_gen_settings.autoplace_settings.entity.settings[resource[1]] = settings
|
||||
game.surfaces[planet].map_gen_settings = map_gen_settings
|
||||
game.print("Set "..resource[1].." on "..planet.." to "..serpent.line(settings))
|
||||
end
|
||||
game.print("Regenerating "..resource[1])
|
||||
game.surfaces[planet].regenerate_entity(resource[1])
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function util.ore_fix()
|
||||
ore_fix("nauvis")
|
||||
ore_fix("vulcanus")
|
||||
if game.surfaces.tenebris then
|
||||
ore_fix("tenebris")
|
||||
end
|
||||
end
|
||||
|
||||
function ore_fix(surface_name)
|
||||
for _, resource in pairs(me.resources) do
|
||||
if resource[2] == surface_name then
|
||||
if game.surfaces[resource[2]] then
|
||||
local map_gen_settings = game.surfaces[surface_name].map_gen_settings
|
||||
if map_gen_settings.autoplace_controls[resource[1]] == nil then
|
||||
map_gen_settings.autoplace_controls[resource[1]] = {}
|
||||
end
|
||||
if map_gen_settings.autoplace_settings.entity.settings[resource[1]] == nil then
|
||||
map_gen_settings.autoplace_settings.entity.settings[resource[1]] = {}
|
||||
end
|
||||
game.surfaces[surface_name].map_gen_settings = map_gen_settings
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- A workaround for generating ores until this bug is fixed:
|
||||
-- https://forums.factorio.com/viewtopic.php?f=7&t=124996&p=655013#p655013
|
||||
function util.ore_workaround(event)
|
||||
for i, ore in pairs(util.me.ores_for_workaround) do
|
||||
if (
|
||||
event.surface and
|
||||
event.surface.map_gen_settings and
|
||||
event.surface.map_gen_settings.autoplace_controls and
|
||||
event.surface.map_gen_settings.autoplace_controls["titanium-ore"]
|
||||
) then
|
||||
return
|
||||
end
|
||||
if event.surface.name ~= "nauvis" then return end
|
||||
if math.random() < settings.global[util.me.name.."-ore-workaround-probability"].value then
|
||||
util.generate_ore(event, ore.name, ore.amount, ore.tiles)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- The majority of this function was written by Eradicator, see https://forums.factorio.com/viewtopic.php?t=72723
|
||||
function util.generate_ore(event, name, amount, tiles)
|
||||
local biases = {[0] = {[0] = 1}}
|
||||
local t = 1
|
||||
|
||||
repeat
|
||||
t = t + util.grow(biases,t,tiles)
|
||||
until t >= tiles
|
||||
|
||||
local pos = {x=event.position.x*32, y=event.position.y*32}
|
||||
local multiplier = math.max(math.abs(event.position.x), math.abs(event.position.y))
|
||||
if multiplier < 10 then return end -- don't generate too close to start
|
||||
local total_bias = 0
|
||||
for x,_ in pairs(biases) do for y,bias in pairs(_) do
|
||||
total_bias = total_bias + bias
|
||||
end end
|
||||
|
||||
for x,_ in pairs(biases) do for y,bias in pairs(_) do
|
||||
local entity = {
|
||||
name = name,
|
||||
amount = amount * (bias/total_bias) * multiplier,
|
||||
force = 'neutral',
|
||||
position = {pos.x+x,pos.y+y},
|
||||
}
|
||||
if event.surface.can_place_entity(entity) then
|
||||
event.surface.create_entity(entity)
|
||||
end
|
||||
end end
|
||||
|
||||
end
|
||||
|
||||
-- The majority of this function was written by Eradicator, see https://forums.factorio.com/viewtopic.php?t=72723
|
||||
function util.grow(grid,t,tiles)
|
||||
local w_max = 256
|
||||
local h_max = 256
|
||||
local abs = math.abs
|
||||
local old = {}
|
||||
local new_count = 0
|
||||
for x,_ in pairs(grid) do for y,__ in pairs(_) do
|
||||
table.insert(old,{x,y})
|
||||
end end
|
||||
for _,pos in pairs(old) do
|
||||
local x,y = pos[1],pos[2]
|
||||
local bias = grid[x][y]
|
||||
for dx=-1,1,1 do for dy=-1,1,1 do
|
||||
local a,b = x+dx, y+dy
|
||||
if (math.random() > 0.9) and (abs(a) < w_max) and (abs(b) < h_max) then
|
||||
grid[a] = grid[a] or {}
|
||||
if not grid[a][b] then
|
||||
grid[a][b] = 1 - (t/tiles)
|
||||
new_count = new_count + 1
|
||||
if (new_count+t) == tiles then return new_count end
|
||||
end
|
||||
end
|
||||
end end
|
||||
end
|
||||
return new_count
|
||||
end
|
||||
|
||||
|
||||
|
||||
return util
|
||||
35
bzsilicon2/control.lua
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
local util = require("control-util")
|
||||
|
||||
util.add_regenerate_command_handler()
|
||||
|
||||
script.on_configuration_changed(plant_fix)
|
||||
function plant_fix()
|
||||
if not script.active_mods["space-age"] then return end
|
||||
local surface_name = "gleba"
|
||||
for _, resource in pairs(me.resources) do
|
||||
local map_gen_settings = game.surfaces[surface_name].map_gen_settings
|
||||
if map_gen_settings.autoplace_controls[resource] == nil then
|
||||
map_gen_settings.autoplace_controls[resource] = {}
|
||||
end
|
||||
if map_gen_settings.autoplace_settings.entity.settings[resource] == nil then
|
||||
map_gen_settings.autoplace_settings.entity.settings[resource] = {}
|
||||
end
|
||||
game.surfaces[surface_name].map_gen_settings = map_gen_settings
|
||||
end
|
||||
end
|
||||
|
||||
script.on_event( defines.events.on_console_chat, function(event)
|
||||
-- refresh recipes, in case of settings change
|
||||
if event.message and event.message == "SiliconRecipes" and (not event.player_index or not game.players[event.player_index] or game.players[event.player_index].admin) then
|
||||
if game.players[event.player_index].force.recipes["silicon-wafer"] then
|
||||
game.players[event.player_index].force.recipes["silicon-wafer"].enabled=true
|
||||
end
|
||||
if game.players[event.player_index].force.recipes["solar-cell"] then
|
||||
game.players[event.player_index].force.recipes["solar-cell"].enabled=true
|
||||
end
|
||||
if game.players[event.player_index].force.recipes["hydrogen-chloride"] then
|
||||
game.players[event.player_index].force.recipes["hydrogen-chloride"].enabled=true
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
51
bzsilicon2/data-final-fixes.lua
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
require("deadlock-stacking")
|
||||
|
||||
local util = require("__bzsilicon__.data-util");
|
||||
|
||||
-- Mod Mash Splinter Electronics
|
||||
if mods.modmashsplinterelectronics then
|
||||
if util.me.more_intermediates() then
|
||||
util.multiply_recipe("advanced-circuit", 3)
|
||||
util.add_ingredient("advanced-circuit", "silicon-wafer", 1)
|
||||
end
|
||||
util.add_ingredient("processing-unit", "silicon-wafer", 1)
|
||||
end
|
||||
|
||||
if mods["space-age"] 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
|
||||
if util.contains(entity.crafting_categories, "smelting") then
|
||||
if entity.energy_source and entity.energy_source.fuel_categories then
|
||||
for i, cat in pairs(entity.energy_source.fuel_categories) do
|
||||
if cat == "chemical" and not entity.energy_source.burnt_inventory_size then
|
||||
entity.energy_source.burnt_inventory_size = 1
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
util.add_to_product("vtk-deepcore-mining-ore-chunk-refining-stone-focus", "vtk-deepcore-mining-stone-chunk", 12)
|
||||
util.add_to_product("vtk-deepcore-mining-ore-chunk-refining", "vtk-deepcore-mining-stone-chunk", 10)
|
||||
util.add_to_product("vtk-deepcore-mining-ore-chunk-refining-no-uranium", "vtk-deepcore-mining-stone-chunk", 10)
|
||||
util.set_vtk_dcm_ingredients()
|
||||
|
||||
if util.me.use_gyros() then
|
||||
util.add_ingredient("recipe-space-locomotive", "gyro", 1) -- must be in final fixes
|
||||
end
|
||||
|
||||
if util.me.use_gyros() then
|
||||
-- Mod portal reported issue, can't reproduce, attempt to add gyro at the very end
|
||||
util.add_ingredient("flying-robot-frame", "gyro", 1)
|
||||
end
|
||||
|
||||
if mods["atan-ash"] and data.raw.item["razorgrass-dried"] then
|
||||
data.raw.item["razorgrass-dried"].burnt_result = "razorgrass-ash"
|
||||
end
|
||||
|
||||
util.size_recycler_output()
|
||||
30
bzsilicon2/data-updates.lua
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
require("recipe-updates")
|
||||
require("strange-matter")
|
||||
require("recipes/silicon-vulcanite")
|
||||
require("compatibility/248k")
|
||||
require("compatibility/any-planet-start")
|
||||
require("compatibility/krastorio2")
|
||||
|
||||
local util = require("data-util");
|
||||
|
||||
if data.raw.resource["stone"] then
|
||||
if mods["space-exploration"] then
|
||||
-- local noise = require('noise');
|
||||
-- -- Increase richness of stone a bit
|
||||
-- data.raw.resource["stone"].autoplace.richness_expression =
|
||||
-- data.raw.resource["stone"].autoplace.richness_expression noise.to_noise_expression(4/3)
|
||||
else
|
||||
log("Replacing vanilla stone autoplace")
|
||||
local resource_autoplace = require('resource-autoplace');
|
||||
data.raw.resource["stone"].autoplace = resource_autoplace.resource_autoplace_settings{
|
||||
name = "stone",
|
||||
order = "b",
|
||||
base_density = 7, -- increased from 4 in vanilla
|
||||
has_starting_area_placement = true,
|
||||
regular_rq_factor_multiplier = 1.0,
|
||||
starting_rq_factor_multiplier = 1.1,
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
util.redo_recycling()
|
||||
2172
bzsilicon2/data-util.lua
Normal file
13
bzsilicon2/data.lua
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
require("prototypes/cables")
|
||||
require("prototypes/silica-recipe")
|
||||
require("prototypes/silicon-recipe")
|
||||
require("prototypes/optical-fiber")
|
||||
require("prototypes/gyro")
|
||||
require("prototypes/razorgrass")
|
||||
require("prototypes/stone")
|
||||
require("prototypes/basic-crusher")
|
||||
require("recipes/silica-matter")
|
||||
require("compatibility/hot-metals")
|
||||
|
||||
local util = require("data-util");
|
||||
util.prepare_recycling_helper()
|
||||
38
bzsilicon2/deadlock-stacking.lua
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
-- Deadlock stacking recipes
|
||||
local util = require("__bzsilicon__.data-util");
|
||||
|
||||
if deadlock and deadlock["add_stack"] then
|
||||
deadlock.add_stack("silica", "__bzsilicon__/graphics/icons/stacked/silica-stacked.png" , "deadlock-stacking-1", 64)
|
||||
deadlock.add_stack("optical-fiber", "__bzsilicon__/graphics/icons/stacked/optical-fiber-stacked.png" , "deadlock-stacking-2", 64)
|
||||
if not util.k2() then
|
||||
deadlock.add_stack("silicon", "__bzsilicon__/graphics/icons/stacked/silicon-stacked.png" , "deadlock-stacking-2", 64)
|
||||
end
|
||||
if util.me.more_intermediates() then
|
||||
deadlock.add_stack("silicon-wafer", "__bzsilicon__/graphics/icons/stacked/silicon-wafer-stacked.png" , "deadlock-stacking-2", 64)
|
||||
deadlock.add_stack("solar-cell", "__bzsilicon__/graphics/icons/stacked/solar-cell-stacked.png" , "deadlock-stacking-2", 64)
|
||||
end
|
||||
if util.me.use_gyros() then
|
||||
deadlock.add_stack("gyro", "__bzsilicon__/graphics/icons/stacked/gyro-stacked.png", "deadlock-stacking-3", 128)
|
||||
end
|
||||
end
|
||||
|
||||
-- Deadlock crating recipes
|
||||
if deadlock_crating then
|
||||
deadlock_crating.add_crate("silica", "deadlock-crating-1")
|
||||
deadlock_crating.add_crate("optical-fiber", "deadlock-crating-2")
|
||||
if not util.k2() then
|
||||
deadlock_crating.add_crate("silicon", "deadlock-crating-2")
|
||||
end
|
||||
if util.me.more_intermediates() then
|
||||
deadlock_crating.add_crate("silicon-wafer", "deadlock-crating-2")
|
||||
deadlock_crating.add_crate("solar-cell", "deadlock-crating-2")
|
||||
end
|
||||
if util.me.use_gyros() then
|
||||
deadlock_crating.add_crate("gyro", "deadlock-crating-3")
|
||||
end
|
||||
end
|
||||
|
||||
if mods["deadlock_stacked_recipes"] and util.k2() then
|
||||
-- We assume the crushing stacked quartz -> silica recipe will be added.
|
||||
util.remove_raw("recipe", "kr-vc-deadlock-stack-quartz")
|
||||
end
|
||||
BIN
bzsilicon2/graphics/entity/razorgrass-leaves.png
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
bzsilicon2/graphics/entity/razorgrass-normal.png
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
bzsilicon2/graphics/entity/razorgrass-shadow.png
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
bzsilicon2/graphics/entity/razorgrass-shadow2.png
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
bzsilicon2/graphics/entity/razorgrass.png
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
bzsilicon2/graphics/entity/razorgrass_1.png
Normal file
|
After Width: | Height: | Size: 410 KiB |
BIN
bzsilicon2/graphics/entity/razorgrass_2.png
Normal file
|
After Width: | Height: | Size: 419 KiB |
BIN
bzsilicon2/graphics/entity/razorgrass_3.png
Normal file
|
After Width: | Height: | Size: 432 KiB |
BIN
bzsilicon2/graphics/entity/razorgrass_4.png
Normal file
|
After Width: | Height: | Size: 413 KiB |
BIN
bzsilicon2/graphics/entity/razorgrass_5.png
Normal file
|
After Width: | Height: | Size: 371 KiB |
BIN
bzsilicon2/graphics/entity/razorgrass_6.png
Normal file
|
After Width: | Height: | Size: 373 KiB |
BIN
bzsilicon2/graphics/entity/razorgrass_7.png
Normal file
|
After Width: | Height: | Size: 373 KiB |
BIN
bzsilicon2/graphics/entity/razorgrass_8.png
Normal file
|
After Width: | Height: | Size: 389 KiB |
BIN
bzsilicon2/graphics/icons/Untitled.png
Normal file
|
After Width: | Height: | Size: 7.2 KiB |
BIN
bzsilicon2/graphics/icons/ash.png
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
BIN
bzsilicon2/graphics/icons/gyro.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
bzsilicon2/graphics/icons/optical-fiber.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
bzsilicon2/graphics/icons/razorgrass-1.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
bzsilicon2/graphics/icons/razorgrass-2.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
bzsilicon2/graphics/icons/razorgrass-3.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
bzsilicon2/graphics/icons/razorgrass-dried-1.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
bzsilicon2/graphics/icons/razorgrass-dried-2.png
Normal file
|
After Width: | Height: | Size: 8.8 KiB |
BIN
bzsilicon2/graphics/icons/razorgrass-dried-3.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
bzsilicon2/graphics/icons/razorgrass-dried.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
bzsilicon2/graphics/icons/razorgrass-seed-1.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
bzsilicon2/graphics/icons/razorgrass-seed-2.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
bzsilicon2/graphics/icons/razorgrass-seed-3.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
bzsilicon2/graphics/icons/razorgrass-seed.png
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
bzsilicon2/graphics/icons/razorgrass.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
bzsilicon2/graphics/icons/silica.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
bzsilicon2/graphics/icons/silicon-wafer.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
bzsilicon2/graphics/icons/silicon.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
bzsilicon2/graphics/icons/silicone-recipe.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
bzsilicon2/graphics/icons/silicone.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
bzsilicon2/graphics/icons/solar-cell.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
bzsilicon2/graphics/icons/stacked/gyro-stacked.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
bzsilicon2/graphics/icons/stacked/optical-fiber-stacked.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
bzsilicon2/graphics/icons/stacked/silica-stacked.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
bzsilicon2/graphics/icons/stacked/silicon-stacked.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
bzsilicon2/graphics/icons/stacked/silicon-wafer-stacked.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
bzsilicon2/graphics/icons/stacked/solar-cell-stacked.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
bzsilicon2/graphics/technology/gyro.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
BIN
bzsilicon2/graphics/technology/optical-fiber-tech.png
Normal file
|
After Width: | Height: | Size: 98 KiB |
BIN
bzsilicon2/graphics/technology/razorgrass-unlock.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
bzsilicon2/graphics/technology/razorgrass.png
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
bzsilicon2/graphics/technology/silica-processing.png
Normal file
|
After Width: | Height: | Size: 95 KiB |
BIN
bzsilicon2/graphics/technology/silicon-processing.png
Normal file
|
After Width: | Height: | Size: 152 KiB |
23
bzsilicon2/info.json
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"name": "bzsilicon",
|
||||
"version": "2.0.16",
|
||||
"factorio_version": "2.0",
|
||||
"title": "Silica & Silicon",
|
||||
"author": "Brevven",
|
||||
"contact": "",
|
||||
"homepage": "",
|
||||
"dependencies": [
|
||||
"? space-age",
|
||||
"? Krastorio2",
|
||||
"? Krastorio2-spaced-out",
|
||||
"? space-exploration",
|
||||
"? 248k-Redux",
|
||||
"? aai-industry",
|
||||
"? modmashsplinterelectronics",
|
||||
"? bztitanium",
|
||||
"(?) IndustrialRevolution",
|
||||
"base"
|
||||
],
|
||||
"description": "Adds silica, silicon, and basic fiber optics to the game. Compatible with Space Age including a new plant & production chain on Gleba.\n\nA standalone piece of BZ Mods, with graphics by snouz."
|
||||
}
|
||||
|
||||
51
bzsilicon2/locale/de/silicon.cfg
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
[entity-name]
|
||||
silica=Silica
|
||||
silicon=Silizium
|
||||
silicon-wafer=Silizium Wafer
|
||||
solar-cell=Solarzelle
|
||||
optical-fiber=Glasfaser
|
||||
|
||||
[item-name]
|
||||
silica=Silica
|
||||
silicon=Silizium
|
||||
silicon-wafer=Silizium Wafer
|
||||
solar-cell=Solarzelle
|
||||
optical-fiber=Glasfaser
|
||||
gyro=MEMS-Gyroskop
|
||||
|
||||
[item-description]
|
||||
silica=Kann direkt verwendet oder weiterverarbeitet werden.
|
||||
silicon=Wird für verschiedene elektrische und elektronische Anwendungen benötigt.
|
||||
silicon-wafer=Verwende Silizium in Schaltkreisen.
|
||||
solar-cell=Nutze den Photovoltaikeffekt, um Sonnenenergie zu nutzen.
|
||||
optical-fiber=Kabel für Glasfaser, einschließlich Schaltungsnetzwerk.
|
||||
|
||||
[technology-name]
|
||||
silica-processing=Silica-Verarbeitung
|
||||
silicon-processing=Siliziumverarbeitung
|
||||
fiber-optics=Glasfaser
|
||||
gyro=Mikrosysteme
|
||||
|
||||
[technology-description]
|
||||
silica-processing=Verarbeitet Steinziegel zu Silica.
|
||||
silica-processing-vanilla=
|
||||
silica-processing-k2=
|
||||
silicon-processing=Silica zu Silizium verarbeiten.
|
||||
fiber-optics=Glasfaser für Schaltungsnetzwerke.
|
||||
gyro=Lerne den Umgang mit winziger beweglicher Elektronik.
|
||||
|
||||
[recipe-name]
|
||||
silica=__ITEM__silica__
|
||||
silicon=__ITEM__silicon__
|
||||
optical-fiber=__ITEM__optical-fiber__
|
||||
|
||||
|
||||
# Settings
|
||||
|
||||
[mod-setting-name]
|
||||
bzsilicon-more-intermediates=Aktiviert mehr Zwischenrezepte wie Siliziumwafer.
|
||||
bzsilicon-bio-crushed-stone=Verwendet für Bio Industries Schotter zur Herstellung von Kieselsäure.
|
||||
|
||||
[mod-setting-description]
|
||||
bzsilicon-more-intermediates=Komplexere Produktionsketten. Optional in Vanille, Krastorio 2 usw. [color = red] Erforderlich für Bio Industries.[/color]
|
||||
bzsilicon-bio-crushed-stone=Diese Einstellung ist experimentell und wird möglicherweise in einem zukünftigen Update entfernt. Es wird dringend empfohlen, diese Option aktiviert zu lassen. Deaktiviere diese Option nur, wenn die UPS aufgrund der Anzahl der Inserter ausfällt. Auf Benutzerwunsch hinzugefügt.
|
||||
74
bzsilicon2/locale/en/silicon.cfg
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
[entity-name]
|
||||
silica=Silica
|
||||
silicon=Silicon
|
||||
silicon-wafer=Silicon wafer
|
||||
solar-cell=Solar cell
|
||||
optical-fiber=Optical Fiber
|
||||
razorgrass-plant=Razorgrass
|
||||
basic-crusher=Basic crusher
|
||||
|
||||
[entity-description]
|
||||
razorgrass-plant=A tall, sharp grass that only grows on the rare dry parts of Gleba. High in silica, it uses this advantage to help store water in its long leaves. If these leaves are burned before drying, the upward pressure from the water vapor will carry the silica-rich ash away.
|
||||
|
||||
[item-name]
|
||||
silica=Silica
|
||||
silicon=Silicon
|
||||
silicon-wafer=Silicon wafer
|
||||
solar-cell=Solar cell
|
||||
optical-fiber=Optical Fiber
|
||||
gyro=MEMS gyroscope
|
||||
silicone=Silicone
|
||||
razorgrass=Razorgrass
|
||||
razorgrass-dried=Dried razorgrass
|
||||
razorgrass-seed=Razorgrass seed
|
||||
razorgrass-ash=Razorgrass ash
|
||||
basic-crusher=Basic crusher
|
||||
|
||||
[item-description]
|
||||
silica=Can be used directly or processed further.
|
||||
silicon=Needed for various electrical and electronic applications.
|
||||
silicon-wafer=Use silicon in circuits.
|
||||
solar-cell=Use the photovoltaic effect to harness solar energy.
|
||||
optical-fiber=Cable used for fiber optics, including circuit network.
|
||||
razorgrass-seed=Can be planted in Gleba highlands.
|
||||
|
||||
[technology-name]
|
||||
silica-processing=Silica processing
|
||||
silicon-processing=Silicon processing
|
||||
fiber-optics=Fiber optics
|
||||
gyro=Microelectromechanical systems
|
||||
razorgrass=Razorgrass
|
||||
|
||||
[technology-description]
|
||||
silica-processing-vanilla=Process stone brick into silica.
|
||||
silica-processing-k2=Process quartz into silica.
|
||||
silicon-processing=Process silica into silicon.
|
||||
fiber-optics=Optical fiber for circuit network
|
||||
gyro=Learn to handle tiny moving electronics
|
||||
razorgrass=A plant made primarily of rigid leaves with high silica content. There must be a way to extract that resource.
|
||||
|
||||
[recipe-name]
|
||||
silica=__ITEM__silica__
|
||||
silicon=__ITEM__silicon__
|
||||
optical-fiber=__ITEM__optical-fiber__
|
||||
razorgrass-ash-washing=Silica from ash
|
||||
stone-from-lava=Stone from lava
|
||||
|
||||
[recipe-description]
|
||||
razorgrass-dried=A furnace is required to dry razorgrass and release its seeds.
|
||||
|
||||
# Settings
|
||||
|
||||
[mod-setting-name]
|
||||
bzsilicon-recipe-bypass=Bypass recipes
|
||||
bzsilicon-more-intermediates=Enable more intermediate recipes such as silicon wafers.
|
||||
bzsilicon-bio-crushed-stone=When using Bio Industries, use crushed stone to make silica.
|
||||
|
||||
[mod-setting-description]
|
||||
bzsilicon-recipe-bypass=Skip modifying these recipes (comma-separated list).
|
||||
bzsilicon-more-intermediates=More complex production chains. Optional in vanilla, Space Age, etc. [color=red]Required for Bio Industries.[/color]
|
||||
bzsilicon-bio-crushed-stone=This setting is experimental, and may be removed in a future update. It's strongly recommended to keep it enabled. Only disable if your UPS is dropping due to inserter count. Added per user request.
|
||||
|
||||
[string-mod-setting]
|
||||
bzsilicon-more-intermediates-no=No
|
||||
bzsilicon-more-intermediates-yes=Yes
|
||||
58
bzsilicon2/locale/ja/silicon.cfg
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
[entity-name]
|
||||
silica=珪砂
|
||||
silicon=シリコン
|
||||
silicon-wafer=シリコンウェーハー
|
||||
solar-cell=太陽電池
|
||||
optical-fiber=光ファイバー
|
||||
|
||||
[item-name]
|
||||
silica=珪砂
|
||||
silicon=シリコン
|
||||
silicon-wafer=シリコンウェーハー
|
||||
solar-cell=太陽電池
|
||||
optical-fiber=光ファイバー
|
||||
gyro=MEMSジャイロスコープ
|
||||
|
||||
[item-description]
|
||||
silica=直接利用のほか、更に加工されます。
|
||||
silicon=さまざまな電気・電子応用アイテムに必要となります。
|
||||
silicon-wafer=回路に用いるためのシリコンです。
|
||||
solar-cell=光電効果を介して太陽エネルギーを利用します。
|
||||
optical-fiber=回路ネットワークをはじめとした繊維光学で利用するケーブル
|
||||
|
||||
[technology-name]
|
||||
silica-processing=珪砂処理
|
||||
silicon-processing=シリコン処理
|
||||
fiber-optics=繊維光学
|
||||
gyro=微小電気機械システム(MEMS)
|
||||
|
||||
[technology-description]
|
||||
silica-processing=
|
||||
silica-processing-vanilla=__ITEM__stone-brick__を加工して__ITEM__silica__を得ることができます。
|
||||
silica-processing-k2=__ITEM__quartz__を加工して__ITEM__silica__を得ることができます。
|
||||
silicon-processing=珪砂を加工してシリコンを得ることができます。
|
||||
fiber-optics=回路ネットワークに光ファイバーを使用できるようになります。
|
||||
gyro=極小の可動電子機器について学びます。
|
||||
|
||||
[recipe-name]
|
||||
silica=__ITEM__silica__
|
||||
silicon=__ITEM__silicon__
|
||||
optical-fiber=__ITEM__optical-fiber__
|
||||
|
||||
|
||||
# Settings
|
||||
|
||||
[mod-setting-name]
|
||||
bzsilicon-recipe-bypass=改変しないレシピ
|
||||
bzsilicon-more-intermediates=シリコンウェーハーをはじめとした中間生産物レシピを有効にします。
|
||||
bzsilicon-bio-crushed-stone=Bio Industoriesと併用時、珪砂作成に crushed stone を使用します。
|
||||
|
||||
[mod-setting-description]
|
||||
bzsilicon-recipe-bypass=指定したレシピの改変を行わない。 (コンマ区切り)
|
||||
bzsilicon-more-intermediates=製造チェーンをさらに複雑化します。(他MOD未使用時、およびKrastorio 2などでは任意、[color=red]Bio Indistoriesでは必須[/color])
|
||||
bzsilicon-bio-crushed-stone=この設定は実験的なもので、将来のアップデートで削除される可能性があります。有効なままにしておくことを強く推奨します。UPSが低下する場合に限り無効にしてください。(本設定はユーザーからの要望で追加されました)
|
||||
|
||||
[string-mod-setting]
|
||||
bzsilicon-more-intermediates-no=いいえ
|
||||
bzsilicon-more-intermediates-yes=はい: シリコンウェーハー, 太陽電池
|
||||
bzsilicon-more-intermediates-more=もっと (実験的): シリコンウェーハー, 太陽電池, MEMSジャイロスコープ
|
||||
58
bzsilicon2/locale/ko/silicon.cfg
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
[entity-name]
|
||||
silica=실리카
|
||||
silicon=실리콘
|
||||
silicon-wafer=실리콘 웨이퍼
|
||||
solar-cell=솔라셀
|
||||
optical-fiber=광섬유
|
||||
|
||||
[item-name]
|
||||
silica=실리카
|
||||
silicon=실리콘
|
||||
silicon-wafer=실리콘 웨이퍼
|
||||
solar-cell=솔라셀
|
||||
optical-fiber=광섬유
|
||||
gyro=MEMS 자이로스코프
|
||||
|
||||
[item-description]
|
||||
silica=직접 사용하거나 추가로 가공할 수 있습니다.
|
||||
silicon=다양한 전기 및 전자 용도에 필요합니다.
|
||||
silicon-wafer=회로에 실리콘을 사용합니다.
|
||||
solar-cell=태양광 효과를 이용하여 태양 에너지를 활용합니다.
|
||||
optical-fiber=회로 네트워크를 포함한 광섬유에 사용되는 케이블.
|
||||
|
||||
[technology-name]
|
||||
silica-processing=실리카 가공
|
||||
silicon-processing=실리콘 가공
|
||||
fiber-optics=광섬유 광학
|
||||
gyro=미세 전자 기계 시스템
|
||||
|
||||
[technology-description]
|
||||
silica-processing=벽돌을 실리카로 가공합니다.
|
||||
silica-processing-vanilla=
|
||||
silica-processing-k2=
|
||||
silicon-processing=실리카를 실리콘으로 가공합니다.
|
||||
fiber-optics=회로 네트워크용 광섬유
|
||||
gyro=움직이는 작은 전자 제품을 다루는 법을 배웁니다.
|
||||
|
||||
[recipe-name]
|
||||
silica=__ITEM__silica__
|
||||
silicon=__ITEM__silicon__
|
||||
optical-fiber=__ITEM__optical-fiber__
|
||||
|
||||
|
||||
# 설정
|
||||
|
||||
[mod-setting-name]
|
||||
bzsilicon-recipe-bypass=우회 제작법
|
||||
bzsilicon-more-intermediates=실리콘 웨이퍼와 같은 더 많은 중간 제작법을 사용할 수 있습니다.
|
||||
bzsilicon-bio-crushed-stone=Bio Industries 사용시 부순 돌을 사용하여 규소를 만든다.
|
||||
|
||||
[mod-setting-description]
|
||||
bzsilicon-recipe-bypass=이러한 제작법 수정을 건너뜁니다(콤마로 구분된 목록).
|
||||
bzsilicon-more-intermediates=더 복잡한 생산 체인. 바닐라, Krastorio 2 등 옵션 [color=red]Bio Industries의 경우 필수.[/color]
|
||||
bzsilicon-bio-crushed-stone=이 설정은 실험용이며 나중에 업데이트할 때 삭제될 수 있습니다. 활성화 상태를 유지하는 것이 좋습니다. 투입기 수로 인해 UPS가 손실되는 경우에만 비활성화하십시오. 사용자 요청별로 추가됩니다.
|
||||
|
||||
[string-mod-setting]
|
||||
bzsilicon-more-intermediates-no=아니요
|
||||
bzsilicon-more-intermediates-yes=예: 웨이퍼, 솔라셀
|
||||
bzsilicon-more-intermediates-more=추가(Alpha): 웨이퍼, 솔라셀, MEMS 자이로스코프
|
||||
58
bzsilicon2/locale/pl/silicon.cfg
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
[entity-name]
|
||||
silica=Krzemionka
|
||||
silicon=Krzem
|
||||
silicon-wafer=Wafel krzemowy
|
||||
solar-cell=Fotoogniwo
|
||||
optical-fiber=Światłowód
|
||||
|
||||
[item-name]
|
||||
silica=Krzemionka
|
||||
silicon=Krzem
|
||||
silicon-wafer=Wafel krzemowy
|
||||
solar-cell=Fotoogniwo
|
||||
optical-fiber=Światłowód
|
||||
gyro=Żyroskop MEMS
|
||||
|
||||
[item-description]
|
||||
silica=Może być użyty bezpośrednio lub podlegać dalszej obróbce
|
||||
silicon=Używana do produkcji elektrycznych i elektronicznych przedmiotów
|
||||
silicon-wafer=Ma zastosowanie w obwodach
|
||||
solar-cell=Wykorzystuje efekt fotowoltaiczny do produckji czystej energii elektrycznej
|
||||
optical-fiber=Wykorzystywane do szybkiej i efektywnej komunikacji w systemach logicznych
|
||||
|
||||
[technology-name]
|
||||
silica-processing=Przetwórstwo krzemionki
|
||||
silicon-processing=Przetwórstwo krzemu
|
||||
fiber-optics=Światłowody
|
||||
gyro=Systemy mikroelektromechaniczne
|
||||
|
||||
[technology-description]
|
||||
silica-processing=
|
||||
silica-processing-vanilla=Przetwarzanie kamiennej cegły w krzemionkę.
|
||||
silica-processing-k2=Przetwarzanie kwarcu w krzemionkę.
|
||||
silicon-processing=Przetwarza krzemionki w krzem
|
||||
fiber-optics=Światłowód dla sieci logicznej
|
||||
gyro=Naucz się obsługiwać małą ruchomą elektronikę
|
||||
|
||||
[recipe-name]
|
||||
silica=__ITEM__silica__
|
||||
silicon=__ITEM__silicon__
|
||||
optical-fiber=__ITEM__optical-fiber__
|
||||
|
||||
|
||||
# Settings
|
||||
|
||||
[mod-setting-name]
|
||||
bzsilicon-recipe-bypass=Ominięcie receptur
|
||||
bzsilicon-more-intermediates=Włącz więcej pośrednich receptur, takich jak płytki krzemowe.
|
||||
bzsilicon-bio-crushed-stone=Jeśli masz mod Bio Industries - użyj kruszonego kamienia z kruszarek
|
||||
|
||||
[mod-setting-description]
|
||||
bzsilicon-recipe-bypass=Pomiń modyfikację tych receptur (lista oddzielona przecinkami).
|
||||
bzsilicon-more-intermediates=Bardziej złożone łańcuchy produckji, opcjonalne dla Vanillia, Krastorio2 ale [color=red]wymagane dla Bio Industries.[/color]
|
||||
bzsilicon-bio-crushed-stone=To ustawienie jest eksperymentalne i może zostać usunięte w przyszłej aktualizacji. Zaleca się pozostawienie go włączonego. Wyłączaj tylko wtedy, gdy twój UPS spada z powodu liczby podajników. Dodano na prośbę użytkownika.
|
||||
|
||||
[string-mod-setting]
|
||||
bzsilicon-more-intermediates-no=Nie
|
||||
bzsilicon-more-intermediates-yes=Tak: Wafel, ogniwo słoneczne
|
||||
bzsilicon-more-intermediates-more=Więcej (eksperymentalnie): wafel, ogniwo słoneczne, żyroskop MEMS
|
||||
59
bzsilicon2/locale/ru/silicon.cfg
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
[entity-name]
|
||||
silica=Кремнезем
|
||||
silicon=Кремний
|
||||
silicon-wafer=Кремниевая пластина
|
||||
solar-cell=Солнечная батарея
|
||||
optical-fiber=Оптоволокно
|
||||
|
||||
[item-name]
|
||||
silica=Кремнезем
|
||||
silicon=Кремний
|
||||
silicon-wafer=Кремниевая пластина
|
||||
solar-cell=Солнечная батарея
|
||||
optical-fiber=Оптоволокно
|
||||
gyro=МЭМС-гироскопы
|
||||
|
||||
[item-description]
|
||||
silica=Может использоваться непосредственно или подвергаться дальнейшей обработке.
|
||||
silicon=Необходим для различных электрических и электронных изделий.
|
||||
silicon-wafer=Используйте кремний в схемах.
|
||||
solar-cell=Используйте фотоэлектрический эффект для получения солнечной энергии.
|
||||
optical-fiber=Кабель, используемый для волоконной оптики, в том числе в сети.
|
||||
gyro=Гироскопы с микроэлектромеханической системой (MEMS).
|
||||
|
||||
[technology-name]
|
||||
silica-processing=Переработка кремнезема
|
||||
silicon-processing=Переработка кремния
|
||||
fiber-optics=Волоконная оптика
|
||||
gyro=Гироскопы с микроэлектромеханической системой (MEMS) - это датчики движения, которые обнаруживают и измеряют угловое движение объекта
|
||||
|
||||
[technology-description]
|
||||
silica-processing=Переработка каменного кирпича в кремнезем.
|
||||
silica-processing-vanilla=
|
||||
silica-processing-k2=
|
||||
silicon-processing=Переработка кремнезема в кремний.
|
||||
fiber-optics=Оптоволокно для сети.
|
||||
gyro=Научитесь обращаться с крошечной подвижной электроникой.
|
||||
|
||||
[recipe-name]
|
||||
silica=__ITEM__silica__
|
||||
silicon=__ITEM__silicon__
|
||||
optical-fiber=__ITEM__optical-fiber__
|
||||
|
||||
|
||||
# Settings
|
||||
|
||||
[mod-setting-name]
|
||||
bzsilicon-recipe-bypass=Обходные рецепты
|
||||
bzsilicon-more-intermediates=Позволяет использовать промежуточные рецепты, такие как кремниевые пластины
|
||||
bzsilicon-bio-crushed-stone=При использовании Bio Industries для получения кремнезема используется щебень
|
||||
|
||||
[mod-setting-description]
|
||||
bzsilicon-recipe-bypass=Пропустить изменение этих рецептов (список, разделенный запятыми).
|
||||
bzsilicon-more-intermediates=Более сложные производственные цепочки. Опционально в Ваниле, Krastorio 2, др. [color=red]Требуется для Bio Industries.[/color]
|
||||
bzsilicon-bio-crushed-stone=Эта настройка является экспериментальной и может быть удалена в будущем обновлении. Настоятельно рекомендуется держать его включенным. Отключать только в том случае, если ваш UPS падает из-за количества инсертеров. Добавлено по просьбе пользователя.
|
||||
|
||||
[string-mod-setting]
|
||||
bzsilicon-more-intermediates-no=Нет
|
||||
bzsilicon-more-intermediates-yes=Да: Пластины, Солнечные батареи
|
||||
bzsilicon-more-intermediates-more=Да (Экспериментально): Пластины, Солнечные батареи, МЭМС-гироскопы
|
||||
61
bzsilicon2/locale/zh-CN/silicon.cfg
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
[entity-name]
|
||||
silica=二氧化硅
|
||||
silicon=硅
|
||||
silicon-wafer=硅片
|
||||
solar-cell=太阳能电池
|
||||
optical-fiber=光纤
|
||||
|
||||
[item-name]
|
||||
silica=二氧化硅
|
||||
silicon=硅
|
||||
silicon-wafer=硅片
|
||||
solar-cell=太阳能电池
|
||||
optical-fiber=光纤
|
||||
gyro=微机械陀螺仪
|
||||
|
||||
[item-description]
|
||||
silica=可以直接使用,或进一步处理。
|
||||
silicon=需要使用于各种电力机器或电子元件中。
|
||||
silicon-wafer=在电路板中使用硅。
|
||||
solar-cell=通过光伏效应来利用太阳能。
|
||||
optical-fiber=用于传输光纤的线缆,用于信号网络。
|
||||
|
||||
[technology-name]
|
||||
silica-processing=二氧化硅处理
|
||||
silicon-processing=硅处理
|
||||
fiber-optics=光纤
|
||||
gyro=微电子机械系统
|
||||
|
||||
[technology-description]
|
||||
silica-processing=将石砖加工成二氧化硅。
|
||||
silica-processing-vanilla=
|
||||
silica-processing-k2=
|
||||
silicon-processing=将二氧化硅加工成硅。
|
||||
fiber-optics=用于信号网络的光纤。
|
||||
gyro=学习处理微小的移动电子器械。
|
||||
|
||||
[recipe-name]
|
||||
silica=__ITEM__silica__
|
||||
silicon=__ITEM__silicon__
|
||||
optical-fiber=__ITEM__optical-fiber__
|
||||
|
||||
|
||||
# Settings
|
||||
|
||||
[mod-setting-name]
|
||||
bzsilicon-recipe-bypass=跳过合成
|
||||
bzsilicon-more-intermediates=启用更多中间配方,例如硅片。
|
||||
bzsilicon-bio-crushed-stone=(生物工业)使用碎石加工成二氧化硅。
|
||||
|
||||
[mod-setting-description]
|
||||
bzsilicon-recipe-bypass=跳过修改这些合成(用逗号分开)。
|
||||
bzsilicon-more-intermediates=更多复杂的生产线,选用。[color=red]在和生物工业游玩时必须启用![/color]
|
||||
bzsilicon-bio-crushed-stone=此设置是实验性的,可能会在未来更新中去除。极度推荐保持启用,除非UPS由于过多的机械臂的数量而下降。
|
||||
|
||||
[string-mod-setting]
|
||||
bzsilicon-more-intermediates-no=不启用
|
||||
bzsilicon-more-intermediates-yes=启用:硅片,太阳能电池
|
||||
bzsilicon-more-intermediates-more=启用+更多(实验性): 硅片,太阳能电池,微机械陀螺仪
|
||||
|
||||
[mod-name]
|
||||
bzsilicon=BZ-硅
|
||||
40
bzsilicon2/me.lua
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
local me = {}
|
||||
me.name = "bzsilicon"
|
||||
me.resources = {{"razorgrass-plant", "gleba"}}
|
||||
me.silicon_processing = (mods and data.raw.technology["kr-silicon-processing"] and "kr-silicon-processing") or "silicon-processing"
|
||||
me.recipes = {"silica", "silicon", "optical-fiber", "silicon-wafer", "solar-cell", "gyro", "silicon-smelting-vulcanite"}
|
||||
|
||||
function me.use_gyros()
|
||||
return me.more_intermediates()
|
||||
end
|
||||
|
||||
function me.more_intermediates()
|
||||
if me.get_setting("bz-all-intermediates") then return true end
|
||||
return mods["Bio_Industries_2"] or me.get_setting("bzsilicon-more-intermediates") == "yes"
|
||||
end
|
||||
|
||||
function me.use_bio_crushed_stone()
|
||||
return mods["Bio_Industries_2"] and me.get_setting("bzsilicon-bio-crushed-stone") == true
|
||||
end
|
||||
|
||||
function me.get_setting(name)
|
||||
if settings.startup[name] == nil then
|
||||
return nil
|
||||
end
|
||||
return settings.startup[name].value
|
||||
end
|
||||
|
||||
me.bypass = {}
|
||||
if me.get_setting(me.name.."-recipe-bypass") then
|
||||
for recipe in string.gmatch(me.get_setting(me.name.."-recipe-bypass"), '[^",%s]+') do
|
||||
me.bypass[recipe] = true
|
||||
end
|
||||
end
|
||||
|
||||
function me.add_modified(name)
|
||||
if me.get_setting(me.name.."-list") then
|
||||
table.insert(me.list, name)
|
||||
end
|
||||
end
|
||||
|
||||
return me
|
||||
184
bzsilicon2/prototypes/basic-crusher.lua
Normal file
|
|
@ -0,0 +1,184 @@
|
|||
local futil = require("util")
|
||||
local util = require("data-util");
|
||||
local item_sounds = require("__base__.prototypes.item_sounds")
|
||||
local sounds = require("__base__.prototypes.entity.sounds")
|
||||
local hit_effects = require("__base__.prototypes.entity.hit-effects")
|
||||
|
||||
if mods["space-age"] and not data.raw.furnace["basic-crusher"] and not mods["crushing-industry"] then
|
||||
-- note that crusher is a space age asset and as such can only be used with space age
|
||||
|
||||
local graphics = require("__space-age__.prototypes.entity.crusher-pictures")
|
||||
graphics.integration_patch.north.scale = graphics.integration_patch.north.scale * 0.5
|
||||
graphics.integration_patch.east.scale = graphics.integration_patch.east.scale * 0.5
|
||||
graphics.integration_patch.south.scale = graphics.integration_patch.south.scale * 0.5
|
||||
graphics.integration_patch.west.scale = graphics.integration_patch.west.scale * 0.5
|
||||
graphics.animation.north.layers[1].scale = graphics.animation.north.layers[1].scale * 0.5
|
||||
graphics.animation.north.layers[2].scale = graphics.animation.north.layers[2].scale * 0.5
|
||||
graphics.animation.south.layers[1].scale = graphics.animation.south.layers[1].scale * 0.5
|
||||
graphics.animation.south.layers[2].scale = graphics.animation.south.layers[2].scale * 0.5
|
||||
graphics.animation.east.layers[1].scale = graphics.animation.east.layers[1].scale * 0.5
|
||||
graphics.animation.east.layers[2].scale = graphics.animation.east.layers[2].scale * 0.5
|
||||
graphics.animation.west.layers[1].scale = graphics.animation.west.layers[1].scale * 0.5
|
||||
graphics.animation.west.layers[2].scale = graphics.animation.west.layers[2].scale * 0.5
|
||||
graphics.working_visualisations[1].north_animation.scale = graphics.working_visualisations[1].north_animation.scale * 0.5
|
||||
graphics.working_visualisations[1].east_animation.scale = graphics.working_visualisations[1].east_animation.scale * 0.5
|
||||
graphics.working_visualisations[1].south_animation.scale = graphics.working_visualisations[1].south_animation.scale * 0.5
|
||||
graphics.working_visualisations[1].west_animation.scale = graphics.working_visualisations[1].west_animation.scale * 0.5
|
||||
|
||||
graphics.integration_patch.north.shift[1] = graphics.integration_patch.north.shift[1] * 0.5
|
||||
graphics.integration_patch.north.shift[2] = graphics.integration_patch.north.shift[2] * 0.5
|
||||
graphics.integration_patch.south.shift[1] = graphics.integration_patch.south.shift[1] * 0.5
|
||||
graphics.integration_patch.south.shift[2] = graphics.integration_patch.south.shift[2] * 0.5
|
||||
graphics.integration_patch.east.shift[1] = graphics.integration_patch.east.shift[1] * 0.5
|
||||
graphics.integration_patch.east.shift[2] = graphics.integration_patch.east.shift[2] * 0.5
|
||||
graphics.integration_patch.west.shift[1] = graphics.integration_patch.west.shift[1] * 0.5
|
||||
graphics.integration_patch.west.shift[2] = graphics.integration_patch.west.shift[2] * 0.5
|
||||
graphics.animation.north.layers[1].shift[1] = graphics.animation.north.layers[1].shift[1] * 0.5
|
||||
graphics.animation.north.layers[1].shift[2] = graphics.animation.north.layers[1].shift[2] * 0.5
|
||||
graphics.animation.north.layers[2].shift[1] = graphics.animation.north.layers[2].shift[1] * 0.5
|
||||
graphics.animation.north.layers[2].shift[2] = graphics.animation.north.layers[2].shift[2] * 0.5
|
||||
graphics.animation.south.layers[1].shift[1] = graphics.animation.south.layers[1].shift[1] * 0.5
|
||||
graphics.animation.south.layers[1].shift[2] = graphics.animation.south.layers[1].shift[2] * 0.5
|
||||
graphics.animation.south.layers[2].shift[1] = graphics.animation.south.layers[2].shift[1] * 0.5
|
||||
graphics.animation.south.layers[2].shift[2] = graphics.animation.south.layers[2].shift[2] * 0.5
|
||||
graphics.animation.east.layers[1].shift[1] = graphics.animation.east.layers[1].shift[1] * 0.5
|
||||
graphics.animation.east.layers[1].shift[2] = graphics.animation.east.layers[1].shift[2] * 0.5
|
||||
graphics.animation.east.layers[2].shift[1] = graphics.animation.east.layers[2].shift[1] * 0.5
|
||||
graphics.animation.east.layers[2].shift[2] = graphics.animation.east.layers[2].shift[2] * 0.5
|
||||
graphics.animation.west.layers[1].shift[1] = graphics.animation.west.layers[1].shift[1] * 0.5
|
||||
graphics.animation.west.layers[1].shift[2] = graphics.animation.west.layers[1].shift[2] * 0.5
|
||||
graphics.animation.west.layers[2].shift[1] = graphics.animation.west.layers[2].shift[1] * 0.5
|
||||
graphics.animation.west.layers[2].shift[2] = graphics.animation.west.layers[2].shift[2] * 0.5
|
||||
graphics.working_visualisations[1].north_animation.shift[1] = graphics.working_visualisations[1].north_animation.shift[1] * 0.5
|
||||
graphics.working_visualisations[1].north_animation.shift[2] = graphics.working_visualisations[1].north_animation.shift[2] * 0.5
|
||||
graphics.working_visualisations[1].south_animation.shift[1] = graphics.working_visualisations[1].south_animation.shift[1] * 0.5
|
||||
graphics.working_visualisations[1].south_animation.shift[2] = graphics.working_visualisations[1].south_animation.shift[2] * 0.5
|
||||
graphics.working_visualisations[1].east_animation.shift[1] = graphics.working_visualisations[1].east_animation.shift[1] * 0.5
|
||||
graphics.working_visualisations[1].east_animation.shift[2] = graphics.working_visualisations[1].east_animation.shift[2] * 0.5
|
||||
graphics.working_visualisations[1].west_animation.shift[1] = graphics.working_visualisations[1].west_animation.shift[1] * 0.5
|
||||
graphics.working_visualisations[1].west_animation.shift[2] = graphics.working_visualisations[1].west_animation.shift[2] * 0.5
|
||||
|
||||
util.add_new_crafting_category("basic-crushing", true)
|
||||
|
||||
data:extend({
|
||||
{
|
||||
type = "item",
|
||||
name = "basic-crusher",
|
||||
icons = {{icon = "__space-age__/graphics/icons/crusher.png", icon_size=64, scale=0.8, tint={.7,.7,.7}}},
|
||||
subgroup = "production-machine",
|
||||
order = "s[crusher]",
|
||||
inventory_move_sound = item_sounds.drill_inventory_move,
|
||||
pick_sound = item_sounds.drill_inventory_pickup,
|
||||
drop_sound = item_sounds.drill_inventory_move,
|
||||
place_result = "basic-crusher",
|
||||
stack_size = 10,
|
||||
weight = 50*kg
|
||||
},
|
||||
{
|
||||
type = "furnace",
|
||||
name = "basic-crusher",
|
||||
icons = {{icon = "__space-age__/graphics/icons/crusher.png", icon_size=64, scale=0.8, tint={.7,.7,.7}}},
|
||||
source_inventory_size = 1,
|
||||
result_inventory_size = 1,
|
||||
icon = "__space-age__/graphics/icons/crusher.png",
|
||||
flags = {"placeable-neutral", "placeable-player", "player-creation"},
|
||||
minable = {mining_time = 0.5, result = "basic-crusher"},
|
||||
-- fast_replaceable_group = "",
|
||||
max_health = 350,
|
||||
corpse = "electric-furnace-remnants",
|
||||
dying_explosion = "electric-furnace-explosion",
|
||||
circuit_wire_max_distance = 9,
|
||||
circuit_connector = circuit_connector_definitions["crusher"],
|
||||
resistances =
|
||||
{
|
||||
{
|
||||
type = "fire",
|
||||
percent = 80
|
||||
}
|
||||
},
|
||||
collision_box = {{-0.4, -0.8}, {0.4, 0.8}},
|
||||
-- collision_box = {{-0.7, -1.2}, {0.7, 1.2}},
|
||||
surface_conditions =
|
||||
{
|
||||
{
|
||||
property = "gravity",
|
||||
min = 0.1,
|
||||
-- max =
|
||||
}
|
||||
},
|
||||
selection_box = {{-.5, -1}, {.5, 1}},
|
||||
damaged_trigger_effect = hit_effects.entity(),
|
||||
module_slots = 0,
|
||||
icons_positioning =
|
||||
{
|
||||
{inventory_index = defines.inventory.furnace_modules, shift = {0, 0.3}}
|
||||
},
|
||||
icon_draw_specification = { scale=0.5},
|
||||
allowed_effects = {"consumption", "speed", "productivity", "pollution", "quality"},
|
||||
crafting_categories = {"basic-crushing"},
|
||||
crafting_speed = 2,
|
||||
energy_usage = "100kW",
|
||||
heating_energy = "200kW",
|
||||
energy_source =
|
||||
{
|
||||
type = "electric",
|
||||
usage_priority = "secondary-input",
|
||||
emissions_per_minute = { pollution = 1 }
|
||||
},
|
||||
open_sound = sounds.electric_large_open,
|
||||
close_sound = sounds.electric_large_close,
|
||||
working_sound =
|
||||
{
|
||||
sound =
|
||||
{
|
||||
filename = "__space-age__/sound/entity/crusher/crusher-loop.ogg",
|
||||
volume = 0.8
|
||||
},
|
||||
audible_distance_modifier = 0.6,
|
||||
fade_in_ticks = 4,
|
||||
fade_out_ticks = 20,
|
||||
max_sounds_per_type = 3
|
||||
},
|
||||
graphics_set = graphics,
|
||||
water_reflection =
|
||||
{
|
||||
pictures =
|
||||
{
|
||||
filename = "__space-age__/graphics/entity/crusher/crusher-reflection.png",
|
||||
priority = "extra-high",
|
||||
width = 24,
|
||||
height = 24,
|
||||
shift = futil.by_pixel(5, 40-32),
|
||||
variation_count = 1,
|
||||
scale = 5
|
||||
},
|
||||
rotate = false,
|
||||
orientation_to_variation = false
|
||||
}
|
||||
},
|
||||
{
|
||||
type = "recipe",
|
||||
name = "basic-crusher",
|
||||
enabled = false,
|
||||
ingredients =
|
||||
{
|
||||
{type = "item", name = "steel-plate", amount = 10},
|
||||
{type = "item", name = "iron-plate", amount = 10},
|
||||
{type = "item", name = "iron-gear-wheel", amount = 10},
|
||||
|
||||
},
|
||||
energy_required = 2.5,
|
||||
results = {{type="item", name="basic-crusher", amount=1}}
|
||||
},
|
||||
})
|
||||
if mods["aai-industry"] then
|
||||
util.add_unlock("sand-processing", "basic-crusher")
|
||||
util.add_prerequisite("sand-processing", "steel-processing")
|
||||
else
|
||||
util.add_unlock("automation-2", "basic-crusher")
|
||||
end
|
||||
util.add_prerequisite("silica-processing", "automation-2")
|
||||
end
|
||||
-- For graphite we can't have steel as an ingredient.
|
||||
util.remove_ingredient("basic-crusher", "steel-plate")
|
||||
util.add_to_ingredient("basic-crusher", "iron-plate", 20)
|
||||
13
bzsilicon2/prototypes/cables.lua
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
local util = require("data-util");
|
||||
|
||||
if not util.se6() and not data.raw["item-subgroup"]["cable"] then
|
||||
data:extend({
|
||||
{
|
||||
type = "item-subgroup",
|
||||
name = "cable",
|
||||
group = "intermediate-products",
|
||||
order = "f-z",
|
||||
}
|
||||
})
|
||||
util.set_item_subgroup("copper-cable", "cable")
|
||||
end
|
||||
73
bzsilicon2/prototypes/gyro.lua
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
local util = require("data-util");
|
||||
local item_sounds = require('__base__.prototypes.item_sounds')
|
||||
|
||||
if util.me.use_gyros() then
|
||||
local silicon = util.k2() and "kr-silicon" or "silicon"
|
||||
gyro_ingredients = { -- outputs 4
|
||||
util.item("copper-cable", 2),
|
||||
util.item("silica", 1),
|
||||
util.item(silicon, 4)}
|
||||
|
||||
gyro_prereqs = {util.me.silicon_processing}
|
||||
if mods["bzcarbon2"] then
|
||||
table.insert(gyro_ingredients, util.item("diamond", 1))
|
||||
table.insert(gyro_prereqs, "diamond-processing")
|
||||
end
|
||||
if mods.bztungsten2 and not mods["space-age"] then
|
||||
table.insert(gyro_ingredients, util.item("tungsten-plate", 1))
|
||||
table.insert(gyro_prereqs, "tungsten-processing")
|
||||
elseif mods.bztitanium and data.raw.item["titanium-plate"] then
|
||||
table.insert(gyro_ingredients, util.item("titanium-plate", 1))
|
||||
table.insert(gyro_prereqs, "titanium-processing")
|
||||
elseif util.k2() then
|
||||
table.insert(gyro_ingredients, util.item("kr-rare-metals", 1))
|
||||
end
|
||||
|
||||
|
||||
data:extend({
|
||||
{
|
||||
type = "item",
|
||||
name = "gyro",
|
||||
icon = "__bzsilicon__/graphics/icons/gyro.png",
|
||||
icon_size = 128,
|
||||
inventory_move_sound = item_sounds.electric_small_inventory_move,
|
||||
pick_sound = item_sounds.electric_small_inventory_pickup,
|
||||
drop_sound = item_sounds.electric_small_inventory_move,
|
||||
subgroup = util.se6() and "electronic" or "intermediate-product",
|
||||
order = "s[silicon]-z-gyro",
|
||||
stack_size = util.get_stack_size(200),
|
||||
weight = 0.5*kg,
|
||||
},
|
||||
{
|
||||
type = "recipe",
|
||||
name = "gyro",
|
||||
category = "crafting",
|
||||
subgroup = "intermediate-product",
|
||||
enabled = false,
|
||||
energy_required = 12,
|
||||
allow_productivity = true,
|
||||
ingredients = gyro_ingredients,
|
||||
results = {util.item("gyro", 4)},
|
||||
},
|
||||
{
|
||||
type = "technology",
|
||||
name = "gyro",
|
||||
icon_size = 256,
|
||||
icon = "__bzsilicon__/graphics/technology/gyro.png",
|
||||
effects = {{type = "unlock-recipe", recipe="gyro"}},
|
||||
unit =
|
||||
{
|
||||
count = 100,
|
||||
ingredients =
|
||||
{
|
||||
{"automation-science-pack", 1},
|
||||
{"logistic-science-pack", 1},
|
||||
{"chemical-science-pack", 1},
|
||||
},
|
||||
time = 30
|
||||
},
|
||||
prerequisites = gyro_prereqs,
|
||||
order = "b-b"
|
||||
},
|
||||
})
|
||||
end
|
||||
60
bzsilicon2/prototypes/optical-fiber.lua
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
-- Optical Fiber
|
||||
local util = require("__bzsilicon__.data-util");
|
||||
local item_sounds = require('__base__.prototypes.item_sounds')
|
||||
data:extend(
|
||||
{
|
||||
{
|
||||
type = "item",
|
||||
name = "optical-fiber",
|
||||
icon = "__bzsilicon__/graphics/icons/optical-fiber.png",
|
||||
icon_size = 64, icon_mipmaps = 3,
|
||||
inventory_move_sound = item_sounds.wire_inventory_move,
|
||||
pick_sound = item_sounds.wire_inventory_pickup,
|
||||
drop_sound = item_sounds.wire_inventory_move,
|
||||
subgroup = util.cablesg,
|
||||
order = "a[optical-fiber]",
|
||||
stack_size = util.get_stack_size(200),
|
||||
weight = 1*kg,
|
||||
},
|
||||
{
|
||||
type = "recipe",
|
||||
name = "optical-fiber",
|
||||
enabled = false,
|
||||
allow_productivity = true,
|
||||
ingredients = {util.item("silica", 1)},
|
||||
results = {util.item("optical-fiber", 1)},
|
||||
-- expensive =
|
||||
-- {
|
||||
-- enabled = false,
|
||||
-- ingredients = {{"silica", 2}},
|
||||
-- results = {util.item("optical-fiber", 1)},
|
||||
-- },
|
||||
},
|
||||
|
||||
{
|
||||
type = "technology",
|
||||
name = "fiber-optics",
|
||||
icon = "__bzsilicon__/graphics/technology/optical-fiber-tech.png",
|
||||
icon_size = 256, icon_mipmaps = 4,
|
||||
effects =
|
||||
{
|
||||
{
|
||||
type = "unlock-recipe",
|
||||
recipe = "optical-fiber"
|
||||
}
|
||||
},
|
||||
unit =
|
||||
{
|
||||
count = 100,
|
||||
ingredients =
|
||||
{
|
||||
{"automation-science-pack", 1},
|
||||
{"logistic-science-pack", 1},
|
||||
},
|
||||
time = 10
|
||||
},
|
||||
prerequisites = {"lamp", "silica-processing"},
|
||||
order = "b-b"
|
||||
},
|
||||
}
|
||||
)
|
||||
362
bzsilicon2/prototypes/razorgrass.lua
Normal file
|
|
@ -0,0 +1,362 @@
|
|||
if mods["space-age"] then
|
||||
local futil = require("util")
|
||||
local util = require("data-util")
|
||||
local space_age_item_sounds = require("__space-age__.prototypes.item_sounds")
|
||||
local item_sounds = require('__base__.prototypes.item_sounds')
|
||||
|
||||
|
||||
data.raw.planet.gleba.map_gen_settings.autoplace_settings.entity.settings["razorgrass-plant"] = {}
|
||||
local function razorgrass_variations()
|
||||
local variation_count = 8 --variation_count or 5
|
||||
local per_row = 4 -- per_row or 5
|
||||
local scale_multiplier = .5
|
||||
local width = 600
|
||||
local height = 800
|
||||
local variations = {}
|
||||
local shift = futil.by_pixel(0,-60) -- shift or futil.by_pixel(52, -40)
|
||||
local sshift = futil.by_pixel(60, -4)
|
||||
for i = 1, variation_count do
|
||||
local x = ((i - 1) % per_row) * width
|
||||
local y = math.floor((i-1)/per_row) * height
|
||||
local sx = ((i - 1) % per_row) * height -- Shadow images are rotated
|
||||
local sy = math.floor((i-1)/per_row) * width -- Shadow images are rotated
|
||||
local variation = {
|
||||
trunk = {
|
||||
filename = "__bzsilicon__/graphics/entity/razorgrass.png",
|
||||
flags = { "mipmap" },
|
||||
surface = "gleba",
|
||||
width = width,
|
||||
height = height,
|
||||
x = x,
|
||||
y = y,
|
||||
frame_count = 1,
|
||||
shift = shift,
|
||||
scale = 0.33 * scale_multiplier
|
||||
},
|
||||
leaves = {
|
||||
filename = "__bzsilicon__/graphics/entity/razorgrass-leaves.png",
|
||||
flags = { "mipmap" },
|
||||
surface = "gleba",
|
||||
width = width,
|
||||
height = height,
|
||||
x = x,
|
||||
y = y,
|
||||
frame_count = 1,
|
||||
shift = shift,
|
||||
scale = 0.33 * scale_multiplier
|
||||
},
|
||||
normal = {
|
||||
filename = "__bzsilicon__/graphics/entity/razorgrass-normal.png",
|
||||
surface = "gleba",
|
||||
width = width,
|
||||
height = height,
|
||||
x = x,
|
||||
y = y,
|
||||
frame_count = 1,
|
||||
shift = shift,
|
||||
scale = 0.33 * scale_multiplier
|
||||
},
|
||||
shadow = {
|
||||
frame_count = 2,
|
||||
lines_per_file = 1,
|
||||
line_length = 1,
|
||||
flags = { "mipmap", "shadow" },
|
||||
surface = "gleba",
|
||||
filenames =
|
||||
{
|
||||
"__bzsilicon__/graphics/entity/razorgrass-shadow.png",
|
||||
"__bzsilicon__/graphics/entity/razorgrass-shadow2.png",
|
||||
},
|
||||
width = height, --shadows are rotated
|
||||
height = width, --shadows are rotated
|
||||
x = sx,
|
||||
y = sy,
|
||||
shift = sshift,
|
||||
scale = 0.33 * scale_multiplier
|
||||
},
|
||||
|
||||
-- underwater = gleba_tree_underwater_things[name] and gleba_tree_underwater_things[name].underwater or nil,
|
||||
-- water_reflection = gleba_tree_underwater_things[name] and gleba_tree_underwater_things[name].water_reflection or nil,
|
||||
|
||||
leaf_generation =
|
||||
{
|
||||
type = "create-particle",
|
||||
particle_name = "leaf-particle",
|
||||
offset_deviation = {{-0.5, -0.5}, {0.5, 0.5}},
|
||||
initial_height = 2,
|
||||
initial_vertical_speed = 0.01,
|
||||
initial_height_deviation = 0.05,
|
||||
speed_from_center = 0.01,
|
||||
speed_from_center_deviation = 0.01
|
||||
},
|
||||
branch_generation =
|
||||
{
|
||||
type = "create-particle",
|
||||
particle_name = "branch-particle",
|
||||
offset_deviation = {{-0.5, -0.5}, {0.5, 0.5}},
|
||||
initial_height = 2,
|
||||
initial_height_deviation = 2,
|
||||
initial_vertical_speed = 0.01,
|
||||
speed_from_center = 0.03,
|
||||
speed_from_center_deviation = 0.01,
|
||||
frame_speed = 0.4,
|
||||
repeat_count = 15
|
||||
}
|
||||
}
|
||||
table.insert(variations, variation)
|
||||
end
|
||||
return variations
|
||||
end
|
||||
local function minor_tints() -- Only for leaves where most if the colour is baked in.
|
||||
return {
|
||||
{r = 255, g = 255, b = 255},
|
||||
{r = 220, g = 255, b = 255},
|
||||
{r = 255, g = 220, b = 255},
|
||||
{r = 255, g = 255, b = 220},
|
||||
{r = 220, g = 220, b = 255},
|
||||
{r = 255, g = 220, b = 220},
|
||||
{r = 220, g = 255, b = 220},
|
||||
}
|
||||
end
|
||||
data:extend({
|
||||
{
|
||||
type = "plant",
|
||||
name = "razorgrass-plant", --silica
|
||||
icon = "__bzsilicon__/graphics/technology/razorgrass.png",
|
||||
icon_size = 256,
|
||||
growth_ticks = 5 * 60 * 60,
|
||||
agricultural_tower_tint = {primary = {.2, .7, .7}, secondary = {.4, .9, .9}},
|
||||
harvest_emissions = {spores = 3},
|
||||
flags = plant_flags,
|
||||
minable =
|
||||
{
|
||||
mining_particle = "leaf-particle",
|
||||
mining_time = 0.5,
|
||||
results =
|
||||
{
|
||||
{type = "item", name = "razorgrass", amount = 50}
|
||||
},
|
||||
},
|
||||
mining_sound = sound_variations("__space-age__/sound/mining/axe-mining-sunnycomb", 5, 0.7),
|
||||
mined_sound = sound_variations("__space-age__/sound/mining/mined-sunnycomb", 5, 0.6),
|
||||
emissions_per_second = plant_emissions,
|
||||
max_health = 50,
|
||||
collision_box = {{-0.4, -0.8}, {0.4, 0.2}},
|
||||
selection_box = {{-1, -1}, {1, 1}},
|
||||
drawing_box_vertical_extension = 0.8,
|
||||
subgroup = "trees",
|
||||
order = "a[tree]-c[gleba]-b[normal]-r[razorgrass]",
|
||||
impact_category = "tree",
|
||||
factoriopedia_simulation = {
|
||||
planet = "gleba",
|
||||
hide_factoriopedia_gradient = true,
|
||||
init =
|
||||
[[
|
||||
game.simulation.camera_zoom = 1.4
|
||||
game.simulation.camera_position = {-0.5, 0}
|
||||
for x = -10, 9, 1 do
|
||||
for y = -4, 4 do
|
||||
game.surfaces[1].set_tiles{{position = {x, y}, name = "midland-cracked-lichen"}}
|
||||
end
|
||||
end
|
||||
|
||||
game.surfaces[1].create_entity{name = "razorgrass-plant", position = {x=-2.54, y=-0.76}, tick_grown = 100}
|
||||
game.surfaces[1].create_entity{name = "razorgrass-plant", position = {x=2.87, y=-0.37}, tick_grown = 8000}
|
||||
game.surfaces[1].create_entity{name = "razorgrass-plant", position = {x=-4.68, y=1.83}, tick_grown = 1000}
|
||||
game.surfaces[1].create_entity{name = "razorgrass-plant", position = {x=-0.10, y=0.67}, tick_grown = 10000}
|
||||
game.surfaces[1].create_entity{name = "razorgrass-plant", position = {x=4.80, y=1.69}, tick_grown = 100}
|
||||
]]
|
||||
},
|
||||
autoplace =
|
||||
{
|
||||
control = "gleba_plants",
|
||||
order = "a[tree]-b[forest]-c",
|
||||
probability_expression = "max(main_probability, invasion_tall_probability)",
|
||||
richness_expression = "random_penalty_at(3, 1)",
|
||||
tile_restriction = {
|
||||
"midland-cracked-lichen",
|
||||
"midland-cracked-lichen-dull",
|
||||
"midland-yellow-crust",
|
||||
"midland-yellow-crust-2",
|
||||
"midland-yellow-crust-3",
|
||||
"highland-dark-rock",
|
||||
"highland-dark-rock-2",
|
||||
"highland-yellow-rock",
|
||||
},
|
||||
local_expressions = {
|
||||
main_box = "gleba_select(gleba_moisture, 0, 0.25, 0.01, -10, 1) - 1",
|
||||
main_probability = "min(0.08, 0.15 * (main_box + gleba_plants_noise_b - 0.45) * control:gleba_plants:size)", -- bigger patches, denser
|
||||
invasion_tall_box = "gleba_select(gleba_moisture, 0, 0.35, 0.01, -10, 1) - 1",
|
||||
invasion_tall_probability = "min(0.05, 0.15 * (invasion_tall_box + gleba_plants_noise_b - 0.4) * control:gleba_plants:size)", -- smaller patches, sparser
|
||||
}
|
||||
},
|
||||
variations = razorgrass_variations(), -- gleba_tree_variations("sunnycomb", 10, 5, nil, 3200/5, 1120/2),
|
||||
colors = minor_tints(),
|
||||
ambient_sounds =
|
||||
{
|
||||
sound =
|
||||
{
|
||||
variations = sound_variations("__space-age__/sound/world/plants/sunnycomb", 8, 0.7),
|
||||
advanced_volume_control =
|
||||
{
|
||||
fades = {fade_in = {curve_type = "cosine", from = {control = 0.5, volume_percentage = 0.0}, to = {1.5, 100.0}}}
|
||||
}
|
||||
},
|
||||
radius = 7.5,
|
||||
min_entity_count = 2,
|
||||
max_entity_count = 10,
|
||||
entity_to_sound_ratio = 0.3,
|
||||
average_pause_seconds = 10
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
data:extend({
|
||||
{
|
||||
type = "technology",
|
||||
name = "razorgrass",
|
||||
icon_size = 256,
|
||||
icon = "__bzsilicon__/graphics/technology/razorgrass.png",
|
||||
effects = util.me.more_intermediates() and {
|
||||
{ type = "unlock-recipe", recipe = "silicone", },
|
||||
{ type = "unlock-recipe", recipe = "razorgrass-dried", },
|
||||
{ type = "unlock-recipe", recipe = "razorgrass-ash-washing", },
|
||||
} or {
|
||||
{ type = "unlock-recipe", recipe = "razorgrass-dried", },
|
||||
{ type = "unlock-recipe", recipe = "razorgrass-ash-washing", },
|
||||
},
|
||||
research_trigger =
|
||||
{
|
||||
type = "mine-entity",
|
||||
entity = "razorgrass-plant",
|
||||
},
|
||||
prerequisites = {"agriculture"},
|
||||
order = "b-b",
|
||||
},
|
||||
{
|
||||
type = "item",
|
||||
name = "razorgrass",
|
||||
icon = "__bzsilicon__/graphics/icons/razorgrass.png",
|
||||
icon_size = 128,
|
||||
pictures = {
|
||||
{filename="__bzsilicon__/graphics/icons/razorgrass.png", size=128, scale=.3},
|
||||
{filename="__bzsilicon__/graphics/icons/razorgrass-1.png", size=128, scale=.3},
|
||||
{filename="__bzsilicon__/graphics/icons/razorgrass-2.png", size=128, scale=.3},
|
||||
{filename="__bzsilicon__/graphics/icons/razorgrass-3.png", size=128, scale=.3},
|
||||
},
|
||||
inventory_move_sound = space_age_item_sounds.agriculture_inventory_move,
|
||||
pick_sound = space_age_item_sounds.agriculture_inventory_pickup,
|
||||
drop_sound = space_age_item_sounds.agriculture_inventory_move,
|
||||
subgroup = "agriculture-processes",
|
||||
group = "intermediate-products",
|
||||
stack_size = 50,
|
||||
order = "b[agriculture]-r[razorgrass]",
|
||||
fuel_category = "chemical",
|
||||
fuel_value = "1MJ",
|
||||
spoil_ticks = 1*60*60*60,
|
||||
spoil_result = "razorgrass-dried",
|
||||
weight = 1*kg,
|
||||
},
|
||||
{
|
||||
type = "item",
|
||||
name = "razorgrass-dried",
|
||||
icon = "__bzsilicon__/graphics/icons/razorgrass-dried.png",
|
||||
icon_size = 128,
|
||||
pictures = {
|
||||
{filename="__bzsilicon__/graphics/icons/razorgrass-dried.png", size=128, scale=.3},
|
||||
{filename="__bzsilicon__/graphics/icons/razorgrass-dried-1.png", size=128, scale=.3},
|
||||
{filename="__bzsilicon__/graphics/icons/razorgrass-dried-2.png", size=128, scale=.3},
|
||||
{filename="__bzsilicon__/graphics/icons/razorgrass-dried-3.png", size=128, scale=.3},
|
||||
},
|
||||
inventory_move_sound = space_age_item_sounds.agriculture_inventory_move,
|
||||
pick_sound = space_age_item_sounds.agriculture_inventory_pickup,
|
||||
drop_sound = space_age_item_sounds.agriculture_inventory_move,
|
||||
subgroup = "agriculture-processes",
|
||||
group = "intermediate-products",
|
||||
stack_size = 100,
|
||||
order = "b[agriculture]-r[razorgrass-dried]",
|
||||
burnt_result = "razorgrass-ash",
|
||||
fuel_category = "chemical",
|
||||
fuel_value = "1MJ",
|
||||
weight = 1*kg,
|
||||
},
|
||||
{
|
||||
type = "item",
|
||||
name = "razorgrass-ash",
|
||||
icon = "__bzsilicon__/graphics/icons/ash.png",
|
||||
icon_size = 64,
|
||||
inventory_move_sound = item_sounds.sulfur_inventory_move,
|
||||
pick_sound = item_sounds.resource_inventory_pickup,
|
||||
drop_sound = item_sounds.sulfur_inventory_move,
|
||||
subgroup = "agriculture-processes",
|
||||
group = "intermediate-products",
|
||||
stack_size = 100,
|
||||
order = "b[agriculture]-r[razorgrass-ash]",
|
||||
},
|
||||
{
|
||||
type = "recipe",
|
||||
name = "razorgrass-dried",
|
||||
main_product = "razorgrass-dried",
|
||||
subgroup = "agriculture-processes",
|
||||
category = "smelting",
|
||||
enabled = false,
|
||||
energy_required = 6,
|
||||
allow_productivity = true,
|
||||
ingredients = {
|
||||
util.item("razorgrass", 1),
|
||||
},
|
||||
results = {
|
||||
util.item("razorgrass-dried", 1),
|
||||
util.item("razorgrass-seed", 1, .03),
|
||||
}
|
||||
},
|
||||
{
|
||||
type = "recipe",
|
||||
name = "razorgrass-ash-washing",
|
||||
icons = {
|
||||
{ icon = "__bzsilicon__/graphics/icons/ash.png", icon_size = 64, scale=0.5, shift = {-4,-4}},
|
||||
{ icon = "__bzsilicon__/graphics/icons/silica.png", icon_size = 64, scale=0.25, shift={8, 8}},
|
||||
},
|
||||
subgroup = "agriculture-processes",
|
||||
category = "chemistry",
|
||||
enabled = false,
|
||||
energy_required = 1,
|
||||
allow_productivity = true,
|
||||
ingredients = {
|
||||
util.item("razorgrass-ash", 1),
|
||||
util.fluid("water", 10),
|
||||
util.fluid("sulfuric-acid", 1),
|
||||
},
|
||||
results = {
|
||||
util.item("silica", 10)
|
||||
}
|
||||
},
|
||||
{
|
||||
type = "item",
|
||||
name = "razorgrass-seed",
|
||||
icon = "__bzsilicon__/graphics/icons/razorgrass-seed.png",
|
||||
icon_size = 128,
|
||||
localised_name = {"item-name.razorgrass-seed"},
|
||||
localised_description = {"item-description.razorgrass-seed"},
|
||||
pictures = {
|
||||
{filename="__bzsilicon__/graphics/icons/razorgrass-seed.png", size=128, scale=.25},
|
||||
{filename="__bzsilicon__/graphics/icons/razorgrass-seed-1.png", size=128, scale=.25},
|
||||
{filename="__bzsilicon__/graphics/icons/razorgrass-seed-2.png", size=128, scale=.25},
|
||||
{filename="__bzsilicon__/graphics/icons/razorgrass-seed-3.png", size=128, scale=.25},
|
||||
},
|
||||
subgroup = "agriculture-processes",
|
||||
order = "a[seeds]-r[razorgrass-seed]",
|
||||
plant_result = "razorgrass-plant",
|
||||
place_result = "razorgrass-plant",
|
||||
inventory_move_sound = space_age_item_sounds.agriculture_inventory_move,
|
||||
pick_sound = space_age_item_sounds.agriculture_inventory_pickup,
|
||||
drop_sound = space_age_item_sounds.agriculture_inventory_move,
|
||||
stack_size = 10,
|
||||
default_import_location = "gleba",
|
||||
weight = 10 * kg,
|
||||
fuel_category = "chemical",
|
||||
fuel_value = "1MJ"
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
137
bzsilicon2/prototypes/silica-recipe.lua
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
-- Silica
|
||||
local util = require("__bzsilicon__.data-util");
|
||||
local item_sounds = require('__base__.prototypes.item_sounds')
|
||||
data:extend(
|
||||
{
|
||||
util.k2() and {
|
||||
type = "recipe",
|
||||
name = "silica",
|
||||
category = "kr-crushing",
|
||||
enabled = false,
|
||||
energy_required = 4,
|
||||
allow_productivity = true,
|
||||
ingredients = {util.item("kr-quartz", 10)},
|
||||
results = {util.item("silica", 30)}
|
||||
} or util.me.use_bio_crushed_stone() and {
|
||||
type = "recipe",
|
||||
name = "silica",
|
||||
category = "smelting",
|
||||
enabled = false,
|
||||
energy_required = 6,
|
||||
allow_productivity = true,
|
||||
ingredients = {util.item("stone-crushed", 4)},
|
||||
results = {util.item("silica", 5)},
|
||||
} or mods["omnimatter"] and {
|
||||
type = "recipe",
|
||||
name = "silica",
|
||||
category = "smelting",
|
||||
enabled = false,
|
||||
energy_required = 6,
|
||||
allow_productivity = true,
|
||||
ingredients = {util.item("stone-crushed", 4)},
|
||||
results = {util.item("silica", 5)},
|
||||
} or
|
||||
{
|
||||
type = "recipe",
|
||||
name = "silica",
|
||||
category = mods["space-age"] and "basic-crushing" or "smelting",
|
||||
enabled = false,
|
||||
energy_required = 3.2,
|
||||
allow_productivity = true,
|
||||
ingredients = mods["space-age"] and {util.item("stone", 2)} or {util.item("stone-brick", 1)},
|
||||
results = {util.item("silica", 5)}
|
||||
-- expensive =
|
||||
-- {
|
||||
-- enabled = false,
|
||||
-- energy_required = 6.4,
|
||||
-- ingredients = {util.item("stone-brick", 2)},
|
||||
-- results = {util.item("silica", 5)}
|
||||
-- },
|
||||
|
||||
},
|
||||
{
|
||||
type = "item",
|
||||
name = "silica",
|
||||
icon = "__bzsilicon__/graphics/icons/silica.png",
|
||||
icon_size = 64, icon_mipmaps = 3,
|
||||
inventory_move_sound = item_sounds.sulfur_inventory_move,
|
||||
pick_sound = item_sounds.resource_inventory_pickup,
|
||||
drop_sound = item_sounds.sulfur_inventory_move,
|
||||
subgroup = "raw-material",
|
||||
order = "b[silica]",
|
||||
stack_size = util.get_stack_size(100),
|
||||
weight = 0.2*kg,
|
||||
},
|
||||
util.k2() and {
|
||||
type = "technology",
|
||||
name = "silica-processing",
|
||||
icon_size = 256, icon_mipmaps = 4,
|
||||
icon = "__bzsilicon__/graphics/technology/silica-processing.png",
|
||||
effects =
|
||||
{
|
||||
{
|
||||
type = "unlock-recipe",
|
||||
recipe = "silica"
|
||||
},
|
||||
{
|
||||
type = "unlock-recipe",
|
||||
recipe = "kr-quartz"
|
||||
},
|
||||
},
|
||||
prerequisites = {"kr-fluids-chemistry", "kr-stone-processing"},
|
||||
unit =
|
||||
{
|
||||
count = 10,
|
||||
ingredients =
|
||||
{
|
||||
{"automation-science-pack", 1},
|
||||
},
|
||||
time = 30
|
||||
},
|
||||
order = "b-b",
|
||||
localised_description = {"", {"technology-description.silica-processing"},
|
||||
{"technology-description.silica-processing-k2"}}
|
||||
} or {
|
||||
type = "technology",
|
||||
name = "silica-processing",
|
||||
icon_size = 256, icon_mipmaps = 4,
|
||||
icon = "__bzsilicon__/graphics/technology/silica-processing.png",
|
||||
prerequisites = {"logistic-science-pack"},
|
||||
effects =
|
||||
{
|
||||
{
|
||||
type = "unlock-recipe",
|
||||
recipe = "silica"
|
||||
}
|
||||
},
|
||||
unit =
|
||||
{
|
||||
count = 10,
|
||||
ingredients =
|
||||
{
|
||||
{"automation-science-pack", 1},
|
||||
{"logistic-science-pack", 1},
|
||||
},
|
||||
time = 30
|
||||
},
|
||||
order = "b-b",
|
||||
localised_description = {"", {"technology-description.silica-processing"},
|
||||
{"technology-description.silica-processing-vanilla"}}
|
||||
},
|
||||
}
|
||||
)
|
||||
if mods.maraxsis then
|
||||
data:extend({
|
||||
{
|
||||
type = "recipe",
|
||||
name = "silica-from-sand-maraxsis",
|
||||
localised_name = {"item-name.silica"},
|
||||
category = "basic-crushing",
|
||||
enabled = false,
|
||||
energy_required = 1.6,
|
||||
allow_productivity = true,
|
||||
ingredients = {util.item("sand", 1)},
|
||||
results = {util.item("silica", 5)},
|
||||
}
|
||||
})
|
||||
end
|
||||
211
bzsilicon2/prototypes/silicon-recipe.lua
Normal file
|
|
@ -0,0 +1,211 @@
|
|||
-- Silicon
|
||||
local util = require("data-util");
|
||||
local item_sounds = require('__base__.prototypes.item_sounds')
|
||||
local silicon = util.k2() and "kr-silicon" or "silicon"
|
||||
if util.k2() then
|
||||
util.remove_raw("recipe", "kr-silicon")
|
||||
util.remove_recipe_effect("kr-silicon-processing", "kr-silicon")
|
||||
if mods["Sebs-Electrics"] then
|
||||
util.add_unlock("kr-silicon-processing", "kr-silicon")
|
||||
end
|
||||
end
|
||||
local prerequisites = {}
|
||||
|
||||
if util.me.more_intermediates() and mods["space-age"] then
|
||||
prerequisites = {"silica-processing", "sulfur-processing"}
|
||||
else
|
||||
prerequisites = {"silica-processing", "logistic-science-pack"}
|
||||
end
|
||||
|
||||
data:extend(
|
||||
{
|
||||
util.k2() and {
|
||||
type = "recipe",
|
||||
name = "kr-silicon",
|
||||
category = "smelting",
|
||||
enabled = false,
|
||||
energy_required = 14.4,
|
||||
allow_productivity = true,
|
||||
ingredients = {
|
||||
util.item("silica", 18),
|
||||
util.item("kr-coke", 1),
|
||||
},
|
||||
results = {util.item("kr-silicon", 3)}
|
||||
} or {
|
||||
type = "recipe",
|
||||
name = "silicon",
|
||||
category = "smelting",
|
||||
enabled = false,
|
||||
energy_required = 3.2,
|
||||
allow_productivity = true,
|
||||
ingredients = {util.item("silica", 10)},
|
||||
results = {util.item("silicon", 1)}
|
||||
},
|
||||
(not util.k2()) and
|
||||
{
|
||||
type = "item",
|
||||
name = "silicon",
|
||||
icon = "__bzsilicon__/graphics/icons/silicon.png",
|
||||
icon_size = 64, icon_mipmaps = 3,
|
||||
inventory_move_sound = item_sounds.sulfur_inventory_move,
|
||||
pick_sound = item_sounds.resource_inventory_pickup,
|
||||
drop_sound = item_sounds.sulfur_inventory_move,
|
||||
subgroup = "raw-material",
|
||||
order = "b[silicon]",
|
||||
stack_size = util.get_stack_size(100),
|
||||
weight = 1*kg,
|
||||
} or nil,
|
||||
(not util.k2()) and
|
||||
{
|
||||
type = "technology",
|
||||
name = "silicon-processing",
|
||||
icon_size = 256, icon_mipmaps = 4,
|
||||
icon = "__bzsilicon__/graphics/technology/silicon-processing.png",
|
||||
effects =
|
||||
{
|
||||
{
|
||||
type = "unlock-recipe",
|
||||
recipe = "silicon",
|
||||
},
|
||||
util.me.more_intermediates() and
|
||||
{
|
||||
type = "unlock-recipe",
|
||||
recipe = "silicon-wafer",
|
||||
} or nil,
|
||||
},
|
||||
unit =
|
||||
{
|
||||
count = 100,
|
||||
ingredients =
|
||||
{
|
||||
{"automation-science-pack", 1},
|
||||
{"logistic-science-pack", 1},
|
||||
},
|
||||
time = 30
|
||||
},
|
||||
prerequisites = prerequisites,
|
||||
order = "b-b"
|
||||
} or nil,
|
||||
}
|
||||
)
|
||||
if util.me.more_intermediates() then
|
||||
data:extend({
|
||||
{
|
||||
type = "item",
|
||||
name = "silicon-wafer",
|
||||
icon = "__bzsilicon__/graphics/icons/silicon-wafer.png",
|
||||
icon_size = 64, icon_mipmaps = 3,
|
||||
inventory_move_sound = item_sounds.electric_small_inventory_move,
|
||||
pick_sound = item_sounds.electric_small_inventory_pickup,
|
||||
drop_sound = item_sounds.electric_small_inventory_move,
|
||||
subgroup = "intermediate-product",
|
||||
stack_size = util.get_stack_size(100),
|
||||
order = "s[silicon]-silicon-wafer",
|
||||
weight = 1*kg,
|
||||
},
|
||||
{
|
||||
type = "recipe",
|
||||
name = "silicon-wafer",
|
||||
category = "crafting-with-fluid",
|
||||
subgroup = "intermediate-product",
|
||||
enabled = false,
|
||||
energy_required = 2,
|
||||
allow_productivity = true,
|
||||
ingredients = (util.k2() and {
|
||||
{type= "item", name="kr-silicon", amount=2},
|
||||
{type= "fluid", name="kr-hydrogen-chloride", amount=5},
|
||||
} or {
|
||||
{type= "item", name="silicon", amount=2},
|
||||
{type= "fluid", name="sulfuric-acid", amount=5},
|
||||
}),
|
||||
results = {util.item("silicon-wafer", 3)}
|
||||
},
|
||||
{
|
||||
type = "item",
|
||||
name = "silicone",
|
||||
icon = "__bzsilicon__/graphics/icons/silicone.png",
|
||||
icon_size = 64,
|
||||
subgroup = "intermediate-product",
|
||||
stack_size = util.get_stack_size(100),
|
||||
order = "s[silicon]-silicone",
|
||||
weight = 2*kg,
|
||||
},
|
||||
{
|
||||
type = "recipe",
|
||||
name = "silicone",
|
||||
icon = "__bzsilicon__/graphics/icons/silicone-recipe.png",
|
||||
icon_size = 128,
|
||||
subgroup = "intermediate-product",
|
||||
category = mods["space-age"] and "organic-or-chemistry" or "crafting-with-fluid",
|
||||
enabled = false,
|
||||
energy_required = 10,
|
||||
allow_productivity = true,
|
||||
ingredients = {
|
||||
{type= "item", name=silicon, amount=10},
|
||||
{type= "item", name="copper-plate", amount=1},
|
||||
{type= "fluid", name="water", amount=20},
|
||||
},
|
||||
results = {util.item("silicone", 5)}
|
||||
},
|
||||
{
|
||||
type = "item",
|
||||
name = "solar-cell",
|
||||
icon = "__bzsilicon__/graphics/icons/solar-cell.png",
|
||||
icon_size = 64, icon_mipmaps = 3,
|
||||
inventory_move_sound = item_sounds.electric_small_inventory_move,
|
||||
pick_sound = item_sounds.electric_small_inventory_pickup,
|
||||
drop_sound = item_sounds.electric_small_inventory_move,
|
||||
subgroup = "intermediate-product",
|
||||
stack_size = util.get_stack_size(100),
|
||||
order = "s[silicon]-solar-cell",
|
||||
weight = 0.5*kg,
|
||||
},
|
||||
{
|
||||
type = "recipe",
|
||||
name = "solar-cell",
|
||||
category = "crafting",
|
||||
subgroup = "intermediate-product",
|
||||
enabled = false,
|
||||
energy_required = 2,
|
||||
allow_productivity = true,
|
||||
ingredients = {
|
||||
{type= "item", name="silicon-wafer", amount=1},
|
||||
{type= "item", name="electronic-circuit", amount=1},
|
||||
},
|
||||
results = {util.item("solar-cell", 2)}
|
||||
},
|
||||
})
|
||||
if mods["space-age"] then
|
||||
data:extend({
|
||||
{
|
||||
type = "recipe",
|
||||
name = "silicon-wafer-by-hand",
|
||||
localised_name = {"item-name.silicon-wafer"},
|
||||
category = "handcrafting",
|
||||
subgroup = "intermediate-product",
|
||||
enabled = false,
|
||||
energy_required = 2,
|
||||
allow_productivity = true,
|
||||
ingredients = {
|
||||
util.item(silicon, 1),
|
||||
},
|
||||
results = {util.item("silicon-wafer", 1)}
|
||||
},
|
||||
})
|
||||
util.add_new_crafting_category("handcrafting", true)
|
||||
util.add_unlock("silicon-processing", "silicon-wafer-by-hand")
|
||||
end
|
||||
if not mods["space-age"] then
|
||||
util.add_unlock("silicon-processing", "silicone")
|
||||
end
|
||||
end
|
||||
util.add_effect("kr-fluids-chemistry", {type="unlock-recipe", recipe="kr-hydrogen-chloride"})
|
||||
util.add_unlock("kr-silicon-processing", mods.Krastorio2 and "kr-silicon" or "silicon")
|
||||
|
||||
|
||||
if util.me.more_intermediates() and not mods["space-age"] then
|
||||
util.add_unlock("advanced-circuit", "silicon-wafer")
|
||||
util.add_prerequisite("advanced-circuit", "sulfur-processing")
|
||||
util.add_prerequisite("circuit-network", "advanced-circuit")
|
||||
util.add_prerequisite("solar-energy", "advanced-circuit")
|
||||
end
|
||||
31
bzsilicon2/prototypes/stone.lua
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
local util = require("data-util")
|
||||
if mods["space-age"] then
|
||||
data:extend({
|
||||
{
|
||||
type = "recipe",
|
||||
name = "stone-from-lava",
|
||||
icons = {
|
||||
{icon = "__space-age__/graphics/icons/fluid/lava.png", icon_size=64, shift={0,-8}},
|
||||
{icon = "__base__/graphics/icons/stone.png", icon_size=64, scale = 0.333, shift={0,8}},
|
||||
},
|
||||
category = "metallurgy",
|
||||
subgroup = "vulcanus-processes",
|
||||
order = "a[melting]-a[lava-a]",
|
||||
auto_recycle = false,
|
||||
enabled = false,
|
||||
ingredients =
|
||||
{
|
||||
{type = "item", name = "calcite", amount = 1},
|
||||
{type = "fluid", name = "lava", amount = 500},
|
||||
{type = "fluid", name = "water", amount = 250},
|
||||
},
|
||||
energy_required = 16,
|
||||
results =
|
||||
{
|
||||
{type = "item", name = "stone", amount = 25},
|
||||
},
|
||||
allow_productivity = true
|
||||
},
|
||||
})
|
||||
util.add_unlock("foundry", "stone-from-lava")
|
||||
end
|
||||
297
bzsilicon2/recipe-updates.lua
Normal file
|
|
@ -0,0 +1,297 @@
|
|||
local util = require("data-util");
|
||||
|
||||
local silicon = util.k2() and "kr-silicon" or "silicon"
|
||||
local si = util.me.more_intermediates() and "silicon-wafer" or silicon
|
||||
|
||||
if util.me.use_gyros() then
|
||||
util.add_ingredient("flying-robot-frame", "gyro", 1)
|
||||
util.add_prerequisite("robotics", "gyro")
|
||||
|
||||
util.add_ingredient("distractor-capsule", "gyro", 3)
|
||||
util.add_prerequisite("distractor", "gyro")
|
||||
|
||||
util.add_ingredient("laser-turret", "gyro", 1)
|
||||
util.add_prerequisite("laser-turret", "gyro")
|
||||
|
||||
util.add_ingredient("artillery-shell", "gyro", 1)
|
||||
util.add_ingredient("rocket-control-unit", "gyro", 1)
|
||||
|
||||
util.add_ingredient("gunship", "gyro", 1)
|
||||
util.add_prerequisite("gunships", "gyro")
|
||||
util.add_ingredient("flying-fortress", "gyro", 4)
|
||||
util.add_ingredient("jet", "gyro", 4)
|
||||
|
||||
util.add_ingredient("jetpack-2", "gyro", 2)
|
||||
util.add_prerequisite("jetpack-2", "gyro")
|
||||
|
||||
--K2
|
||||
util.add_ingredient("advanced-exoskeleton-equipment", "gyro", 4)
|
||||
util.add_ingredient("kr-laser-artillery-turret", "gyro", 4)
|
||||
util.add_ingredient("kr-railgun-turret", "gyro", 4)
|
||||
util.add_ingredient("kr-advanced-tank", "gyro", 4)
|
||||
util.add_ingredient("kr-rocket-turret", "gyro", 1)
|
||||
util.add_ingredient("kr-nuclear-locomotive", "gyro", 1)
|
||||
|
||||
--SE
|
||||
util.add_ingredient("se-spaceship-console", "gyro", 4)
|
||||
util.add_ingredient("se-space-mechanical-laboratory", "gyro", 14)
|
||||
util.add_ingredient("se-space-gravimetrics-laboratory", "gyro", 8)
|
||||
util.add_ingredient("se-delivery-cannon", "gyro", 2)
|
||||
util.add_ingredient("se-thruster-suit-2", "gyro", 2)
|
||||
end
|
||||
|
||||
util.replace_ingredient("cryogenic-plant", "processing-unit", "optical-fiber", 50)
|
||||
util.add_ingredient("quantum-processor", "optical-fiber", 2)
|
||||
|
||||
if data.raw.item["silicone"] then
|
||||
if mods["space-age"] then
|
||||
util.add_ingredient("spidertron", "silicone", 8)
|
||||
util.add_ingredient("stack-inserter", "silicone", 1)
|
||||
util.add_ingredient("mech-armor", "silicone", 50)
|
||||
util.add_ingredient("cryogenic-plant", "silicone", 20)
|
||||
util.add_ingredient("capture-bot-rocket", "silicone", 2)
|
||||
util.add_ingredient("biolab", "silicone", 1)
|
||||
util.add_prerequisite("biochamber", "razorgrass")
|
||||
util.add_ingredient("fusion-reactor-equipment", "silicone", 10)
|
||||
util.add_ingredient("fusion-power-cell", "silicone", 1)
|
||||
util.replace_some_ingredient("biolubricant", "jelly", 10, "silicone", 5)
|
||||
else
|
||||
util.add_to_product("lubricant", "lubricant", 10)
|
||||
util.add_ingredient("lubricant", "silicone", 1)
|
||||
util.replace_some_ingredient("engine-unit", "pipe", 1, "silicone", 1)
|
||||
util.add_prerequisite("engine", "silicon-processing")
|
||||
util.remove_prior_unlocks("advanced-circuit", "silicon-wafer")
|
||||
util.add_prerequisite("silicon-processing", "automation-2")
|
||||
util.add_ingredient("power-armor", "silicone", 20)
|
||||
util.add_ingredient("exoskeleton-equipment", "silicone", 10)
|
||||
util.add_ingredient("fission-reactor-equipment", "silicone", 80)
|
||||
util.add_ingredient("personal-roboport-mk2-equipment", "silicone", 50)
|
||||
end
|
||||
end
|
||||
|
||||
util.add_ingredient("solar-cell", "lead-plate", 1)
|
||||
|
||||
if not util.k2() then
|
||||
util.remove_ingredient("concrete", "stone-brick");
|
||||
if mods["Bio_Industries"] or mods["omnimatter"] then
|
||||
util.add_ingredient("concrete", "stone-brick", 3);
|
||||
util.add_ingredient("concrete", "silica", 10);
|
||||
else
|
||||
util.add_ingredient("concrete", "silica", 25);
|
||||
end
|
||||
util.add_prerequisite("concrete", "silica-processing")
|
||||
|
||||
if util.me.more_intermediates() then
|
||||
util.replace_some_ingredient("processing-unit", "electronic-circuit", 10, "silicon-wafer", 10)
|
||||
|
||||
util.multiply_recipe("efficiency-module", 2)
|
||||
util.remove_ingredient("efficiency-module", "electronic-circuit")
|
||||
util.add_ingredient("efficiency-module", "silicon-wafer", 5)
|
||||
|
||||
util.multiply_recipe("quality-module", 2)
|
||||
util.remove_ingredient("quality-module", "electronic-circuit")
|
||||
util.add_ingredient("quality-module", "silicon-wafer", 5)
|
||||
|
||||
util.multiply_recipe("productivity-module", 2)
|
||||
util.remove_ingredient("productivity-module", "electronic-circuit")
|
||||
util.add_ingredient("productivity-module", "silicon-wafer", 5)
|
||||
|
||||
util.multiply_recipe("speed-module", 2)
|
||||
util.remove_ingredient("speed-module", "electronic-circuit")
|
||||
util.add_ingredient("speed-module", "silicon-wafer", 5)
|
||||
|
||||
if mods.IndustrialRevolution then
|
||||
util.add_ingredient("solar-panel", "solar-cell", 9)
|
||||
util.add_effect("ir2-solar-energy-1", {type = "unlock-recipe", recipe="solar-cell"})
|
||||
else
|
||||
util.replace_ingredient("solar-panel", "electronic-circuit", "solar-cell")
|
||||
util.add_effect("solar-energy", {type = "unlock-recipe", recipe="solar-cell"})
|
||||
end
|
||||
util.replace_ingredient("solar-panel-equipment", "solar-panel", "solar-cell")
|
||||
|
||||
if not mods.modmashsplinterelectonics then
|
||||
util.multiply_recipe("advanced-circuit", 3)
|
||||
util.replace_some_ingredient("advanced-circuit", "electronic-circuit", 3, "silicon-wafer", 3)
|
||||
end
|
||||
util.add_prerequisite("advanced-circuit", util.me.silicon_processing)
|
||||
|
||||
else
|
||||
util.replace_some_ingredient("solar-panel", "electronic-circuit", 10, silicon, 10)
|
||||
|
||||
util.replace_some_ingredient("processing-unit", "electronic-circuit", 10, silicon, 6)
|
||||
|
||||
util.remove_ingredient("efficiency-module", "electronic-circuit")
|
||||
util.add_ingredient("efficiency-module", silicon, 3)
|
||||
util.remove_ingredient("quality-module", "electronic-circuit")
|
||||
util.add_ingredient("quality-module", silicon, 3)
|
||||
util.remove_ingredient("productivity-module", "electronic-circuit")
|
||||
util.add_ingredient("productivity-module", silicon, 3)
|
||||
util.remove_ingredient("speed-module", "electronic-circuit")
|
||||
util.add_ingredient("speed-module", silicon, 3)
|
||||
|
||||
if not mods.modmashsplinterelectonics then
|
||||
util.replace_some_ingredient("advanced-circuit", "electronic-circuit", 1, silicon, 1)
|
||||
end
|
||||
util.add_prerequisite("advanced-circuit", util.me.silicon_processing)
|
||||
end
|
||||
|
||||
util.add_prerequisite("solar-energy", "silicon-processing")
|
||||
util.add_prerequisite("modules", util.me.silicon_processing)
|
||||
else
|
||||
util.add_ingredient("concrete", "silica", 15);
|
||||
if not mods["aai-industry"] then
|
||||
util.add_ingredient("concrete", "kr-sand", 10);
|
||||
end
|
||||
end
|
||||
|
||||
util.replace_ingredient("beacon", "copper-cable", "optical-fiber")
|
||||
util.add_prerequisite("effect-transmission", "fiber-optics")
|
||||
|
||||
-- Circuit network changes
|
||||
local useful_combinators = {"timer-combinator", "counting-combinator", "random-combinator",
|
||||
"power-combinator", "max-combinator", "min-combinator", "and-gate-combinator",
|
||||
"nand-gate-combinator", "nor-gate-combinator", "not-gate-combinator", "or-gate-combinator",
|
||||
"xnor-gate-combinator", "xor-gate-combinator", "converter-combinator", "detector-combinator",
|
||||
"sensor-combinator", "railway-combinator", "color-combinator", "daytime-combinator",
|
||||
"statistic-combinator", "pollution-combinator", "emitter-combinator", "receiver-combinator"}
|
||||
|
||||
util.replace_ingredient("green-wire", "copper-cable", "optical-fiber")
|
||||
util.replace_ingredient("green-wire", "electronic-circuit", silicon)
|
||||
util.replace_ingredient("red-wire", "copper-cable", "optical-fiber")
|
||||
util.replace_ingredient("red-wire", "electronic-circuit", silicon)
|
||||
|
||||
if not mods["IndustrialRevolution"] then
|
||||
util.add_ingredient("arithmetic-combinator", si, 1)
|
||||
util.add_ingredient("constant-combinator", si, 1)
|
||||
util.add_ingredient("decider-combinator", si, 1)
|
||||
util.add_ingredient("programmable-speaker", si, 1)
|
||||
if mods["UsefulCombinators"] then
|
||||
for i, v in ipairs(useful_combinators) do
|
||||
util.add_ingredient(v, si, 1)
|
||||
end
|
||||
end
|
||||
if mods["crafting_combinator"] then
|
||||
util.add_ingredient("crafting_combinator:crafting-combinator", si, 1)
|
||||
util.add_ingredient("crafting_combinator:recipe-combinator", si, 1)
|
||||
end
|
||||
util.add_ingredient("clock-combinator", si, 1)
|
||||
util.add_ingredient("power-meter-combinator", si, 1)
|
||||
util.add_ingredient("ghost-scanner", si, 1)
|
||||
util.add_ingredient("item-sensor", si, 1)
|
||||
util.add_ingredient("bi-pollution-sensor", si, 1)
|
||||
else
|
||||
util.add_prerequisite("circuit-network", "fiber-optics")
|
||||
end
|
||||
|
||||
util.add_ingredient("arithmetic-combinator", "optical-fiber", 1)
|
||||
util.add_ingredient("constant-combinator", "optical-fiber", 1)
|
||||
util.add_ingredient("decider-combinator", "optical-fiber", 1)
|
||||
util.add_ingredient("programmable-speaker", "optical-fiber", 1)
|
||||
util.add_ingredient("display-panel", "optical-fiber", 1)
|
||||
if mods["UsefulCombinators"] then
|
||||
for i, v in ipairs(useful_combinators) do
|
||||
util.add_ingredient(v, "optical-fiber", 1)
|
||||
end
|
||||
end
|
||||
if mods["crafting_combinator"] then
|
||||
util.add_ingredient("crafting_combinator:crafting-combinator", "optical-fiber", 1)
|
||||
util.add_ingredient("crafting_combinator:recipe-combinator", "optical-fiber", 1)
|
||||
end
|
||||
util.add_ingredient("clock-combinator", "optical-fiber", 1)
|
||||
util.add_ingredient("power-meter-combinator", "optical-fiber", 1)
|
||||
util.add_ingredient("ghost-scanner", "optical-fiber", 1)
|
||||
util.add_ingredient("item-sensor", "optical-fiber", 1)
|
||||
util.add_ingredient("bi-pollution-sensor", "optical-fiber", 1)
|
||||
|
||||
-- Transport Drones
|
||||
util.add_ingredient("road-network-reader", "optical-fiber", 5)
|
||||
util.replace_some_ingredient("road-network-reader", "electronic-circuit", 5, si, 5)
|
||||
util.add_ingredient("transport-depot-reader", "optical-fiber", 5)
|
||||
util.replace_some_ingredient("transport-depot-reader", "electronic-circuit", 5, si, 5)
|
||||
util.add_ingredient("transport-depot-writer", "optical-fiber", 5)
|
||||
util.replace_some_ingredient("transport-depot-writer", "electronic-circuit", 5, si, 5)
|
||||
|
||||
|
||||
util.add_prerequisite("circuit-network", "fiber-optics")
|
||||
util.add_prerequisite("circuit-network", util.me.silicon_processing)
|
||||
|
||||
if util.k2() then
|
||||
util.add_ingredient("kr-advanced-lab", "optical-fiber", 10)
|
||||
util.add_ingredient("kr-ai-core", "optical-fiber", 2)
|
||||
|
||||
util.add_prerequisite(util.me.silicon_processing, "silica-processing")
|
||||
|
||||
if util.me.more_intermediates() then
|
||||
util.add_effect(util.me.silicon_processing, {type = "unlock-recipe", recipe="silicon-wafer"})
|
||||
util.remove_ingredient("kr-electronic-components", silicon)
|
||||
util.add_ingredient("kr-electronic-components", "silicon-wafer", 2)
|
||||
util.multiply_recipe("kr-electronic-components-with-lithium", 2)
|
||||
util.remove_ingredient("kr-electronic-components-with-lithium", silicon)
|
||||
util.add_ingredient("kr-electronic-components-with-lithium", "silicon-wafer", 6)
|
||||
|
||||
util.replace_ingredient("solar-panel", "electronic-circuit", "solar-cell")
|
||||
util.remove_ingredient("solar-panel", silicon)
|
||||
util.replace_ingredient("solar-panel-equipment", "solar-panel", "solar-cell")
|
||||
util.add_effect("solar-energy", {type = "unlock-recipe", recipe="solar-cell"})
|
||||
end
|
||||
end
|
||||
|
||||
if mods["aai-signal-transimission"] then
|
||||
util.add_ingredient("aai-signal-receiver", "optical-fiber", 2)
|
||||
util.add_ingredient("aai-signal-sender", "optical-fiber", 2)
|
||||
end
|
||||
if mods["aai-industry"] then
|
||||
util.add_ingredient("beacon", "optical-fiber", 10)
|
||||
end
|
||||
|
||||
if mods["space-exploration"] then
|
||||
util.add_ingredient("se-space-astrometrics-laboratory", "optical-fiber", 10)
|
||||
util.add_ingredient("se-space-gravimetrics-laboratory", "optical-fiber", 10)
|
||||
util.add_ingredient("se-space-laser-laboratory", "optical-fiber", 10)
|
||||
util.add_ingredient("se-space-science-lab", "optical-fiber", 10)
|
||||
util.add_ingredient("se-space-supercomputer-1", "optical-fiber", 100)
|
||||
util.add_ingredient("se-space-supercomputer-2", "optical-fiber", 500)
|
||||
|
||||
util.add_ingredient("se-polarisation-data", "optical-fiber", 1)
|
||||
|
||||
util.add_ingredient("se-chemical-gel", "silica", 10)
|
||||
util.add_ingredient("se-material-testing-pack", "silica", 1)
|
||||
end
|
||||
|
||||
if mods["zombiesextended-core"] then
|
||||
util.add_ingredient("complex-processing-unit", si, 2)
|
||||
end
|
||||
|
||||
|
||||
if mods["extended-research-system"] and mods["Bio_Industries"] then
|
||||
data:extend({{
|
||||
type = "recipe",
|
||||
name = "bi-stone-crusher-ers",
|
||||
category = "crafting",
|
||||
enabled = true,
|
||||
energy_required = 6,
|
||||
ingredients = {util.item("iron-plate", 100), util.item("iron-gear-wheel", 5)},
|
||||
results = util.item("bi-stone-crusher"),
|
||||
}})
|
||||
if data.raw.recipe["bi-crushed-stone-1"] then
|
||||
data.raw.recipe["bi-crushed-stone-1"].enabled = true
|
||||
end
|
||||
end
|
||||
|
||||
-- Sand in crusher. If sand comes from stone, silica comes from sand
|
||||
if mods["space-age"] then
|
||||
local sand = mods["Krastorio2"] and "kr-sand" or "sand"
|
||||
if data.raw.item[sand] and data.raw.recipe[sand] and #data.raw.recipe[sand].ingredients == 1 then
|
||||
data.raw.recipe[sand].category = "basic-crushing"
|
||||
log(serpent.block(data.raw.recipe.sand))
|
||||
if data.raw.recipe.sand.ingredients[1].name == "stone" then
|
||||
util.replace_ingredient("silica", "stone", sand, 1)
|
||||
util.set_product_amount("silica", "silica", 1)
|
||||
util.set_recipe_time("silica", 0.5)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Maraxsis
|
||||
util.replace_ingredient("maraxsis-glass-panes", "sand", "silica", 10)
|
||||
util.add_unlock("maraxsis-glassworking", "silica-from-sand-maraxsis")
|
||||
17
bzsilicon2/recipes/silica-matter.lua
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
local util = require("data-util");
|
||||
if util.k2() then
|
||||
util.k2matter({
|
||||
k2matter = {
|
||||
material = {
|
||||
name = "silica",
|
||||
type = "item",
|
||||
amount = 20
|
||||
},
|
||||
matter_count = .65,
|
||||
energy_required = 2,
|
||||
needs_stabilizer = false,
|
||||
allow_productivity = true,
|
||||
unlocked_by = "kr-matter-stone-processing"
|
||||
},
|
||||
}, false)
|
||||
end
|
||||
54
bzsilicon2/recipes/silicon-vulcanite.lua
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
local util = require("data-util");
|
||||
|
||||
if mods["space-exploration"] then
|
||||
if data.raw["item-subgroup"]["stone"] then
|
||||
util.set_item_subgroup("silica", "stone")
|
||||
util.set_item_subgroup("silicon", "stone")
|
||||
util.set_subgroup("silicon", "stone")
|
||||
end
|
||||
se_delivery_cannon_recipes["silica"] = {name= "silica"}
|
||||
if mods["Krastorio2"] then
|
||||
local recipe = data.raw.recipe["se-kr-silicon-with-vulcanite"]
|
||||
recipe.ingredients = {
|
||||
{type="item", name="silica", amount=18},
|
||||
{type="fluid", name="se-pyroflux", amount=10},
|
||||
}
|
||||
recipe.category = "smelting" -- now uses pyroflux so can't be kiln in se 0.6
|
||||
recipe.energy_required=21.6
|
||||
recipe.results = {
|
||||
{type="item", name = "kr-silicon", amount = 6},
|
||||
}
|
||||
table.insert(recipe.ingredients, { type = "item", name = "kr-coke", amount = 1 })
|
||||
recipe.icons = {
|
||||
{ icon = "__Krastorio2Assets__/icons/items/silicon.png", icon_size = 64},
|
||||
{ icon = "__space-exploration-graphics__/graphics/icons/fluid/pyroflux.png", icon_size = 64, scale=0.25, shift= {-10, -10}},
|
||||
}
|
||||
else
|
||||
se_delivery_cannon_recipes["silicon"] = {name= "silicon"}
|
||||
data:extend({
|
||||
{
|
||||
type = "recipe",
|
||||
name = "silicon-smelting-vulcanite",
|
||||
category = "smelting",
|
||||
order = "d[silicon]",
|
||||
energy_required = 6,
|
||||
enabled = false,
|
||||
always_show_made_in = true,
|
||||
allow_as_intermediate = false,
|
||||
ingredients = {
|
||||
{type="item", name = "silica", amount = 20},
|
||||
{type="fluid", name="se-pyroflux", amount=10},
|
||||
},
|
||||
results = {
|
||||
{type="item", name = "silicon", amount = 3},
|
||||
},
|
||||
icons = {
|
||||
{ icon = "__bzsilicon__/graphics/icons/silicon.png", icon_size = 64, icon_mipmaps = 3 },
|
||||
{ icon = "__space-exploration-graphics__/graphics/icons/fluid/pyroflux.png", icon_size = 64, scale=0.25, shift= {-10, -10}}
|
||||
},
|
||||
},
|
||||
})
|
||||
util.add_effect("se-vulcanite-smelting", {type = "unlock-recipe", recipe= "silicon-smelting-vulcanite"})
|
||||
util.add_effect("se-pyroflux-smelting", {type = "unlock-recipe", recipe= "silicon-smelting-vulcanite"})
|
||||
end
|
||||
end
|
||||
13
bzsilicon2/settings-util.lua
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
-- WARNING WARNING WARNING
|
||||
-- This file will be overwritten in mod zipfiles, edit bzlib/settings-util.lua
|
||||
-- WARNING WARNING WARNING
|
||||
|
||||
local util = {}
|
||||
|
||||
function util.set_default_value(t, name, default)
|
||||
if data.raw[t] and data.raw[t][name] then
|
||||
data.raw[t][name].default_value = default
|
||||
end
|
||||
end
|
||||
|
||||
return util
|
||||
29
bzsilicon2/settings.lua
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
data:extend( {
|
||||
{
|
||||
type = "string-setting",
|
||||
name = "bzsilicon-recipe-bypass",
|
||||
setting_type = "startup",
|
||||
default_value = "",
|
||||
allow_blank = true,
|
||||
order = "a-b",
|
||||
},
|
||||
{
|
||||
type = "string-setting",
|
||||
name = "bzsilicon-more-intermediates",
|
||||
setting_type = "startup",
|
||||
default_value = "no",
|
||||
allowed_values = {"yes", "no"},
|
||||
order = "a-a",
|
||||
},
|
||||
})
|
||||
if mods.Bio_Industries then
|
||||
data:extend( {
|
||||
{
|
||||
type = "bool-setting",
|
||||
name = "bzsilicon-bio-crushed-stone",
|
||||
setting_type = "startup",
|
||||
default_value = true,
|
||||
order = "z-a"
|
||||
},
|
||||
})
|
||||
end
|
||||
49
bzsilicon2/strange-matter.lua
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
local util = require("__bzsilicon__.data-util");
|
||||
|
||||
|
||||
local ore = "silica"
|
||||
local ore_icon = "__bzsilicon__/graphics/icons/silica.png"
|
||||
|
||||
if mods["StrangeMatter"] then
|
||||
data:extend({
|
||||
{
|
||||
type = "recipe",
|
||||
name = ore.."-synthesis",
|
||||
icons = {
|
||||
{ icon = ore_icon, icon_size = 64 },
|
||||
{ icon = "__StrangeMatter__/graphics/icons/fluid/matter.png", icon_size = 32, scale=0.5, shift= {-8, -8}},
|
||||
},
|
||||
enabled = false,
|
||||
energy_required = 1,
|
||||
ingredients = {{type="fluid", name="strange-matter", amount = 2}},
|
||||
result = ore,
|
||||
category = "crafting-with-fluid",
|
||||
subgroup = "synthesis",
|
||||
},
|
||||
{
|
||||
type = "technology",
|
||||
name = ore.."-synthesis",
|
||||
icons = {
|
||||
{ icon = "__StrangeMatter__/graphics/icons/fluid/matter.png", icon_size = 32, shift= {-6, 0}},
|
||||
{ icon = ore_icon, icon_size = 64, scale=0.25, shift={8, 8}},
|
||||
},
|
||||
prerequisites = {"stone-synthesis"},
|
||||
effects = {
|
||||
{
|
||||
type = "unlock-recipe",
|
||||
recipe = ore.."-synthesis",
|
||||
},
|
||||
},
|
||||
unit = {
|
||||
count = 800,
|
||||
time = 30,
|
||||
ingredients = {
|
||||
{"automation-science-pack", 1},
|
||||
{"logistic-science-pack", 1},
|
||||
{"chemical-science-pack", 1},
|
||||
{"production-science-pack", 1},
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
end
|
||||
BIN
bzsilicon2/thumbnail.png
Normal file
|
After Width: | Height: | Size: 35 KiB |