Compare commits
No commits in common. "dcae045296633389c3e132c31c2015e437b95331" and "279cf0043d7ceb5a423a2ed69683820dc27aabce" have entirely different histories.
dcae045296
...
279cf0043d
|
|
@ -1,3 +0,0 @@
|
|||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
2
.gitignore
vendored
|
|
@ -1,2 +0,0 @@
|
|||
.idea
|
||||
*.zip
|
||||
37
Makefile
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
# General makefile for factorio mods.
|
||||
#
|
||||
# Presumes the development work is done in a <factoriodir>/dev/<modname>/
|
||||
# directory where this makefile resides. This directory must be parallel to
|
||||
# the <factoriodir>/mods/ directory where mods are installed. Run `make
|
||||
# install` from dev/<modname> to install the mod as a zip file. That zip file
|
||||
# should also be ready to upload to the mod portal
|
||||
|
||||
.PHONY: copy lint-changelog install
|
||||
|
||||
libdir = "../bzlib"
|
||||
libfiles = $(shell ls $(libdir)/*.lua | grep -o '[^/]*.lua')
|
||||
pwd = $(shell pwd)
|
||||
v = $(shell basename "$(pwd)")_$(shell jq -r .version info.json)
|
||||
|
||||
link:
|
||||
for f in $(libfiles) ; do \
|
||||
echo "using $(libdir)/$$f" ;\
|
||||
cp $(libdir)/$$f .; \
|
||||
done;
|
||||
|
||||
copy: link
|
||||
rm -rf ../$(v)
|
||||
mkdir -p ../$(v)
|
||||
cp -rf * ../$(v)
|
||||
rm -f ../$(v).zip
|
||||
cd ..; zip -9 -r -y $(v).zip $(v) -x "*.xcf" -x "*.git*" -x "*.bak" -x "*.blend*"
|
||||
|
||||
install: lint-changelog copy
|
||||
cp -f ../$(v).zip ../../mods/
|
||||
|
||||
lint-changelog: copy
|
||||
python3 ../da-changelog-tools_0.0.14/changelog-checker.py --changelog ../$(v).zip
|
||||
|
||||
zorro:
|
||||
python3 ../da-changelog-tools_0.0.14/changelog-checker.py --zorro --changelog ../$(v).zip
|
||||
|
||||
26
README.md
|
|
@ -1,26 +1,28 @@
|
|||
**This is an unofficial update to Factorio 2.0 and it stays until Brevven takes over again.**
|
||||
|
||||
**Compatibility with Space Age is explicitly excluded until someone integrates it nicely.**
|
||||
|
||||
# Natural Gas
|
||||
Adds natural gas to the game, extracted with drilling rigs. Adds bakelite (an early game plastic) and other intermediates.
|
||||
|
||||
This mod mostly impacts the early game including electronic circuit creation. With ElAdamo's gas-fired boiler (integrated, optionally), it provides an alternate power source.
|
||||
[factorio mod page](https://mods.factorio.com/mod/bzgas)
|
||||
|
||||
## Credits
|
||||
- Brevven ([Original mod](https://mods.factorio.com/mod/bzgas))
|
||||
- [cackling fiend](https://mods.factorio.com/user/cackling.fiend) (Update to 2.0)
|
||||
Adds natural gas to the base game
|
||||
|
||||
## Version History
|
||||
See changelog.txt
|
||||
|
||||
## Created by
|
||||
|
||||
- [brevven](https://mods.factorio.com/user/brevven) (code, design, graphics)
|
||||
- [ElAdamo](https://mods.factorio.com/user/ElAdamo) (Gas-fired boiler: code, design, graphics) (code is public domain)
|
||||
|
||||
## Thanks to
|
||||
- [Sakuro](https://github.com/sakuro) (expand options, icon tweaks)
|
||||
- [Benjah-bmm27](https://commons.wikimedia.org/wiki/User:Benjah-bmm27) ([Formaldehyde icon](https://commons.wikimedia.org/wiki/File:Formaldehyde-3D-vdW.png),
|
||||
public domain)
|
||||
- [Benjah-bmm27](https://commons.wikimedia.org/wiki/User:Benjah-bmm27) ([Formaldehyde icon](https://commons.wikimedia.org/wiki/File:Formaldehyde-3D-vdW.png), public domain)
|
||||
|
||||
### Compatibility
|
||||
- [nihilistzsche](https://github.com/nihilistzsche)
|
||||
|
||||
### Localization
|
||||
|
||||
- [RiCZrd](https://mods.factorio.com/user/RiCZrd) (cs)
|
||||
- [Sakuro](https://github.com/sakuro) (ja)
|
||||
- [Pergamum663](https://github.com/Pergamum663) (ru)
|
||||
- [sunnytan53](https://github.com/sunnytan53) (zh-CN)
|
||||
- [CV514](https://github.com/CV514) (ru)
|
||||
- [CV514](https://github.com/CV514) (ru)
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
---------------------------------------------------------------------------------------------------
|
||||
Version: 2.0.0
|
||||
Date: 19.10.2025
|
||||
Changes:
|
||||
- Update to Factorio 2.0
|
||||
|
|
@ -1,86 +0,0 @@
|
|||
local me = require("me")
|
||||
|
||||
local util = {}
|
||||
util.me = me
|
||||
|
||||
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.get_list()
|
||||
local p = game.item_prototypes[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 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
|
||||
|
||||
|
||||
|
||||
return util
|
||||
|
|
@ -1,145 +0,0 @@
|
|||
require("factsheet")
|
||||
|
||||
-- Added by Brevven for bzgas
|
||||
-- local gd = "__gas-boiler__"
|
||||
local gd = "__bzgas2__/gas-boiler"
|
||||
|
||||
|
||||
|
||||
gf_boiler_entity = util.table.deepcopy(data.raw.boiler.boiler)
|
||||
gf_boiler_entity.name = "gas-boiler"
|
||||
gf_boiler_entity.icon = gd.."/graphics/icons/gas-boiler.png"
|
||||
gf_boiler_entity.icon_size = 32
|
||||
gf_boiler_entity.minable.result = "gas-boiler"
|
||||
gf_boiler_entity.fast_replaceable_group = "boiler"
|
||||
gf_boiler_entity.energy_source = {
|
||||
type = "fluid",
|
||||
fluid_box = {
|
||||
volume = 100,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_picture = {
|
||||
north = {
|
||||
filename = gd.."/graphics/entity/"
|
||||
.."hr-assembling-machine-1-pipe-N.png",
|
||||
priority = "extra-high",
|
||||
width = 71,
|
||||
height = 38,
|
||||
shift = util.by_pixel(2.25, 13.5),
|
||||
scale = 0.5
|
||||
},
|
||||
east = {
|
||||
filename = gd.."/graphics/entity/"
|
||||
.."hr-assembling-machine-1-pipe-E.png",
|
||||
priority = "extra-high",
|
||||
width = 42,
|
||||
height = 76,
|
||||
shift = util.by_pixel(-24.5, 1),
|
||||
scale = 0.5
|
||||
},
|
||||
south = {
|
||||
filename = gd.."/graphics/entity/"
|
||||
.."hr-assembling-machine-1-pipe-S.png",
|
||||
priority = "extra-high",
|
||||
width = 88,
|
||||
height = 61,
|
||||
shift = util.by_pixel(0, -31.25),
|
||||
scale = 0.5
|
||||
},
|
||||
west = {
|
||||
filename = gd.."/graphics/entity/"
|
||||
.."hr-assembling-machine-1-pipe-W.png",
|
||||
priority = "extra-high",
|
||||
width = 39,
|
||||
height = 73,
|
||||
shift = util.by_pixel(25.75, 1.25),
|
||||
scale = 0.5
|
||||
}
|
||||
},
|
||||
pipe_connections = {
|
||||
{direction = defines.direction.south, flow_direction = "input", position = {0, 0.5}},
|
||||
},
|
||||
production_type = "input",
|
||||
secondary_draw_orders = {
|
||||
south = 32,
|
||||
north = -1,
|
||||
east = -1,
|
||||
west = -1,
|
||||
}
|
||||
},
|
||||
burns_fluid = true,
|
||||
scale_fluid_usage = true,
|
||||
emissions_per_minute = { pollution = 30 },
|
||||
smoke = {{
|
||||
name = "smoke",
|
||||
north_position = util.by_pixel(-38, -47.5),
|
||||
south_position = util.by_pixel(38.5, -32),
|
||||
east_position = util.by_pixel(20, -70),
|
||||
west_position = util.by_pixel(-19, -8.5),
|
||||
frequency = 15,
|
||||
starting_vertical_speed = 0.3,
|
||||
starting_frame_deviation = 0
|
||||
}},
|
||||
light_flicker = {
|
||||
color = colors.gas_fire_glow,
|
||||
minimum_light_size = 0.1,
|
||||
light_intensity_to_size_coefficient = 1
|
||||
}
|
||||
}
|
||||
gf_boiler_entity.fire_flicker_enabled = false
|
||||
gf_boiler_entity.fire_glow_flicker_enabled = false
|
||||
gf_boiler_entity.pictures.north.fire = nil
|
||||
gf_boiler_entity.pictures.south.fire = nil
|
||||
gf_boiler_entity.pictures.east.fire = nil
|
||||
gf_boiler_entity.pictures.west.fire = nil
|
||||
gf_boiler_entity.pictures.north.fire_glow.filename =
|
||||
gd.."/graphics/entity/"..
|
||||
"hr-gas-boiler-N-light.png"
|
||||
gf_boiler_entity.pictures.south.fire_glow.filename =
|
||||
gd.."/graphics/entity/"..
|
||||
"hr-gas-boiler-S-light.png"
|
||||
gf_boiler_entity.pictures.east.fire_glow.filename =
|
||||
gd.."/graphics/entity/"..
|
||||
"hr-gas-boiler-E-light.png"
|
||||
gf_boiler_entity.pictures.west.fire_glow.filename =
|
||||
gd.."/graphics/entity/"..
|
||||
"hr-gas-boiler-W-light.png"
|
||||
gf_boiler_entity.pictures.north.fire_glow.apply_runtime_tint = true
|
||||
gf_boiler_entity.pictures.south.fire_glow.apply_runtime_tint = true
|
||||
gf_boiler_entity.pictures.east.fire_glow.apply_runtime_tint = true
|
||||
gf_boiler_entity.pictures.west.fire_glow.apply_runtime_tint = true
|
||||
gf_boiler_entity.pictures.north.fire_glow.tint={r=1,g=0.6,b=0.6,a=0.4}
|
||||
gf_boiler_entity.pictures.south.fire_glow.tint={r=1,g=0.6,b=0.6,a=0.4}
|
||||
gf_boiler_entity.pictures.east.fire_glow.tint={r=1,g=0.6,b=0.6,a=0.4}
|
||||
gf_boiler_entity.pictures.west.fire_glow.tint={r=1,g=0.6,b=0.6,a=0.4}
|
||||
gf_boiler_entity.pictures.north.fire_glow.blend_mode = "additive-soft"
|
||||
gf_boiler_entity.pictures.south.fire_glow.blend_mode = "additive-soft"
|
||||
gf_boiler_entity.pictures.east.fire_glow.blend_mode = "additive-soft"
|
||||
gf_boiler_entity.pictures.west.fire_glow.blend_mode = "additive-soft"
|
||||
|
||||
|
||||
gf_boiler_item = util.table.deepcopy(data.raw.item.boiler)
|
||||
gf_boiler_item.name = "gas-boiler"
|
||||
gf_boiler_item.icon_size = 32
|
||||
gf_boiler_item.icon = gd.."/graphics/icons/gas-boiler.png"
|
||||
gf_boiler_item.order = "b[steam-power]-b[gas-boiler]"
|
||||
gf_boiler_item.place_result = "gas-boiler"
|
||||
|
||||
gf_boiler_recipe = {
|
||||
type = "recipe",
|
||||
name = "gas-boiler",
|
||||
enabled = false,
|
||||
ingredients = {
|
||||
{ type = "item", name = "boiler", amount = 1 },
|
||||
{ type = "item", name = "pump", amount = 1 }},
|
||||
results = {{ type = "item", name = "gas-boiler", amount = 1 }}
|
||||
}
|
||||
|
||||
data:extend({
|
||||
gf_boiler_item,
|
||||
gf_boiler_recipe,
|
||||
gf_boiler_entity
|
||||
})
|
||||
add_recipe_to_tech(
|
||||
"fluid-handling",
|
||||
"gas-boiler"
|
||||
)
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
{
|
||||
"name": "bzgas",
|
||||
"version": "2.0.0",
|
||||
"factorio_version": "2.0",
|
||||
"title": "Natural Gas",
|
||||
"description": "Adds a natural gas resource, along with early game plastic.",
|
||||
"author": "Brevven, cackling fiend",
|
||||
"homepage": "https://discord.gg/ufvFUJtVwk",
|
||||
"dependencies": [
|
||||
"base >= 2.0.0",
|
||||
"? bzfoundry2 >= 2.0.0",
|
||||
"? bztitanium >= 2.0.26",
|
||||
"? bzlead >= 2.0.28",
|
||||
"? bzzirconium >= 2.1.13",
|
||||
"? bztungsten >= 0.6.0",
|
||||
"? bzcarbon >= 2.0.21",
|
||||
"? bztin >= 2.1.15",
|
||||
"? warptorio2_expansion",
|
||||
"? space-exploration >= 0.7.34",
|
||||
"? aai-industry >= 0.6.13",
|
||||
"? Krastorio2 >= 2.0.8",
|
||||
"? deadlock-beltboxes-loaders >= 2.6.0",
|
||||
"? DeadlockCrating",
|
||||
"! space-age"
|
||||
]
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
local util = require("data-util");
|
||||
|
||||
for i, recipe in pairs(util.me.recipes) do
|
||||
if data.raw.recipe[recipe] then
|
||||
data.raw.recipe[recipe].allow_productivity = true
|
||||
end
|
||||
end
|
||||
223
changelog.txt
Normal file
|
|
@ -0,0 +1,223 @@
|
|||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.12
|
||||
Date: 2023-12-24
|
||||
Features:
|
||||
- Option to make gas finite in vanilla, thanks to Sakuro
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.11
|
||||
Date: 2023-02-12
|
||||
Changes:
|
||||
- Improved compatibility with bob's electronics
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.10
|
||||
Date: 2023-02-12
|
||||
Changes:
|
||||
- Crafting efficiency improvements, thanks to nihilistzsche
|
||||
- Other minor compatibility improvments
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.9
|
||||
Date: 2023-01-17
|
||||
Features:
|
||||
- (Beta) Crafting efficiency compatibility
|
||||
Localization:
|
||||
- ru thanks to CV514
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.8
|
||||
Date: 2022-12-29
|
||||
Changes:
|
||||
- Move several recipes into "fluid-recipes" subgroup, so they show up in standard place in GUI.
|
||||
- Basic chem plant has pollution emissions
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.7
|
||||
Date: 2022-12-24
|
||||
Localization:
|
||||
- Updates to ja by Sakuro
|
||||
- zh-CN by sunnytan53
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.6
|
||||
Date: 2022-12-08
|
||||
Fixes:
|
||||
- SE/K2: Fix SE core mining balance after 0.1.4 change to finite resources.
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.5
|
||||
Date: 2022-12-05
|
||||
Changes:
|
||||
- Added a command "NaturalGasRecipes" to unlock recipes if necessary.
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.4
|
||||
Date: 2022-12-02
|
||||
Fixes:
|
||||
- Finite oil no longer produces gas when combined with some other mods
|
||||
Changes:
|
||||
- Add some gas to the starting area if there isn't any yet. (Can turn off in Map settings)
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.3
|
||||
Date: 2022-10-23
|
||||
Changes:
|
||||
- ElAdamo's Fuel values setting no longer requires their gas boiler to be enabled.
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.2
|
||||
Date: 2022-09-25
|
||||
Changes:
|
||||
- Space Exploration: Delivery cannon recipes for natural gas, formaldehyde, and bakelite
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.1
|
||||
Date: 2022-09-01
|
||||
Changes:
|
||||
- Fix basic chem plant icon in upgrade planner, etc
|
||||
- When coke is present, alternate phenol recipe faster (15 -> 12)
|
||||
- Formaldehyde from natural gas is very slightly faster (2 -> 1.8)
|
||||
- Minor recipe unlock tweaks
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.0
|
||||
Date: 2022-08-24
|
||||
Fixes:
|
||||
- Attempt fix of issue when some character has no crafting categories
|
||||
Changes:
|
||||
- Beta release.
|
||||
Localization:
|
||||
- Updates to ja by Sakuro
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.21
|
||||
Date: 2022-08-18
|
||||
Changes:
|
||||
- In modded games, if sand exists, prefer sand to silica in basic chem plant recipe. This should
|
||||
help avoid some strange unlock orders.
|
||||
- Minor locale fixes
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.20
|
||||
Date: 2022-08-18
|
||||
Fixes:
|
||||
- Fix multiple prerequisite issue
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.19
|
||||
Date: 2022-08-18
|
||||
Features:
|
||||
- Menu simulation
|
||||
Changes:
|
||||
- Minor nanobot tech tree tweak
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.18
|
||||
Date: 2022-08-17
|
||||
Changes:
|
||||
- Minor, change tech name from "bakelite" to "basic plastics"
|
||||
- SE: can make methane from natural gas.
|
||||
- SE: can make formaldehyde from methane
|
||||
- SE: methane has a fuel value
|
||||
- SE + K2: methane can be reformed to hydrogen
|
||||
Fixes:
|
||||
- Add missing locale string
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.17
|
||||
Date: 2022-08-11
|
||||
Localization:
|
||||
- ja locale, thanks to Sakuro
|
||||
- ru locale, thanks to Pergamum663
|
||||
Fixes:
|
||||
- Slightly more improved compatibility, thanks to U.N.Owen
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.16
|
||||
Date: 2022-08-09
|
||||
Fixes:
|
||||
- Generically compatible with modded recipes that use electronic circuits.
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.15
|
||||
Date: 2022-08-05
|
||||
Features:
|
||||
- Some support for ScienceCostTweaker - green science
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.14
|
||||
Date: 2022-08-04
|
||||
Fixes:
|
||||
- AAI: Can use processed fuel for basic chem plant with Krastorio 2
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.13
|
||||
Date: 2022-08-02
|
||||
Features:
|
||||
- Add a setting to enable a handcrafting-only electronic circuit recipe
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.12
|
||||
Date: 2022-08-01
|
||||
Changes:
|
||||
- Accumulator recipe makes 2 now, but requires more batteries.
|
||||
- Minor, tweak a K2 recipe icon
|
||||
- Tweak bakelite item icon
|
||||
- If enabled, alternate phenol recipe allows productivity
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.11
|
||||
Date: 2022-07-31
|
||||
Changes:
|
||||
- Can use upgrade planner from basic chem plant to chem plant
|
||||
- SE: Rebalanced core mining output
|
||||
- AAI: Can use processed fuel for basic chem plant
|
||||
Features:
|
||||
- Some basic 248k compatibility. More to come.
|
||||
Fixes:
|
||||
- Will load with IR2. Probably will deadlock. Not true compatibility.
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.10
|
||||
Date: 2022-07-28
|
||||
Fixes:
|
||||
- SE/K2: Fix incorrect extreme quantity of bakelite needed.
|
||||
Changes:
|
||||
- Bakelite is now also created much faster in chemical plants.
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.9
|
||||
Date: 2022-07-26
|
||||
Localization:
|
||||
- cs locale thanks to RiCZrd
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.8
|
||||
Date: 2022-07-25
|
||||
Features:
|
||||
- K2: Respect finite fluids setting.
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.7
|
||||
Date: 2022-07-25
|
||||
Changes:
|
||||
- Add a new recipe for phenol (when enabled) from light oil, to help with late-game production.
|
||||
- K2, without AAI: fix green circuit recipe, actually simplify this one.
|
||||
Fixes:
|
||||
- Gas Boiler: input arrow for gas input
|
||||
- Minor typo fixes
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.6
|
||||
Date: 2022-07-23
|
||||
Features:
|
||||
- 5Dims - loose support
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.5
|
||||
Date: 2022-07-23
|
||||
Features:
|
||||
- K2: Biomethanol -> formaldehyde recipe
|
||||
Fixes:
|
||||
- Remove module slots from basic (burner) chem plant
|
||||
- Minor fix to AAI recipe unlocks
|
||||
- Map gen presets fixed
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.4
|
||||
Date: 2022-07-22
|
||||
Features:
|
||||
- Compatible with ModMash Splinter electronics
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.3
|
||||
Date: 2022-07-22
|
||||
Features:
|
||||
- Compatible with Bob's Electronics/Bob's Electronics SE KR
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.2
|
||||
Date: 2022-07-21
|
||||
Fixes:
|
||||
- Fix crash due to low res sprite
|
||||
- Remove some startup logs
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.1
|
||||
Date: 2022-07-19
|
||||
Features:
|
||||
- Alpha release. Adds natural gas, bakelite, and other intermediates.
|
||||
- Integrate's ElAdamo's public domain Gas-fired boiler mod.
|
||||
If it's ever updated, might remove from this mod and make a dependency.
|
||||
- Compatible with Krastorio 2
|
||||
- Compatible with Space Exploration
|
||||
- Compatible with deadlock stacking/crating
|
||||
- Compatible with many other mods
|
||||
|
|
@ -1,17 +1,17 @@
|
|||
local util = require("data-util");
|
||||
|
||||
if mods["248k-Redux"] then
|
||||
if mods["248k"] then
|
||||
data:extend({
|
||||
{
|
||||
type = "recipe",
|
||||
name = "acid-gas-breakdown",
|
||||
icons = {
|
||||
{icon = "__bzgas2__/graphics/icons/gas.png", icon_size = 128},
|
||||
{icon = "__248k-Redux-graphics__/ressources/fluids/fi_acid_gas.png", icon_size = 64, scale=0.25, shift={-8,-8}},
|
||||
{icon = "__bzgas__/graphics/icons/gas.png", icon_size = 128},
|
||||
{icon = "__248k__/ressources/fluids/fi_acid_gas.png", icon_size = 64, scale=0.25, shift={-8,-8}},
|
||||
},
|
||||
category = "chemistry",
|
||||
subgroup = "fi_item_subgroup_f",
|
||||
enabled = false,
|
||||
enabled = "false",
|
||||
energy_required = 3,
|
||||
ingredients = {
|
||||
{type="fluid", name="fi_acid_gas", amount=10},
|
||||
29
control-util.lua
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
local me = require("me")
|
||||
|
||||
local util = {}
|
||||
util.me = me
|
||||
|
||||
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.get_list()
|
||||
local p = game.item_prototypes[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
|
||||
|
||||
return util
|
||||
|
|
@ -35,7 +35,7 @@ end
|
|||
script.on_event(defines.events.on_console_chat, on_console_chat)
|
||||
|
||||
function on_init()
|
||||
if storage.starting_spawn then return end
|
||||
if global.starting_spawn then return end
|
||||
if settings.global["bzgas-force-spawn"].value then
|
||||
local gas = game.surfaces["nauvis"].find_entities_filtered({area = {{-100, -100}, {100, 100}}, name="gas"})
|
||||
if #gas == 0 then
|
||||
|
|
@ -45,8 +45,6 @@ function on_init()
|
|||
end
|
||||
end
|
||||
end
|
||||
storage.starting_spawn = true
|
||||
global.starting_spawn = true
|
||||
end
|
||||
script.on_init(on_init)
|
||||
|
||||
util.warptorio2_expansion_helper()
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
require("stacking")
|
||||
require("modules")
|
||||
-- require("tin-recipe-final-5d")
|
||||
require("compatibility/ir2")
|
||||
|
||||
local util = require("data-util");
|
||||
|
|
@ -8,16 +9,16 @@ local util = require("data-util");
|
|||
util.set_product_amount("se-core-fragment-omni", "gas", 24)
|
||||
|
||||
-- Fix basic chemical plant fuels for K2
|
||||
if mods.Krastorio2 and
|
||||
data.raw["assembling-machine"]["basic-chemical-plant"] and
|
||||
data.raw["assembling-machine"]["basic-chemical-plant"].energy_source and
|
||||
if mods.Krastorio2 and
|
||||
data.raw["assembling-machine"]["basic-chemical-plant"] and
|
||||
data.raw["assembling-machine"]["basic-chemical-plant"].energy_source and
|
||||
data.raw["assembling-machine"]["basic-chemical-plant"].energy_source.fuel_categories then
|
||||
table.insert(data.raw["assembling-machine"]["basic-chemical-plant"].energy_source.fuel_categories , "kr-vehicle-fuel")
|
||||
table.insert(data.raw["assembling-machine"]["basic-chemical-plant"].energy_source.fuel_categories , "vehicle-fuel")
|
||||
end
|
||||
|
||||
-- Vanilla burner phase tweaks -- green circuits after electronics
|
||||
-- Electronic circuit recipe set below in compatibility script
|
||||
if not mods.Krastorio2 and not mods["aai-industry"] and not mods.bzaluminum2 and not mods.bzcarbon then
|
||||
if not mods.Krastorio2 and not mods["aai-industry"] and not mods.bzaluminum and not mods.bzcarbon then
|
||||
util.replace_ingredient("offshore-pump", "electronic-circuit", "copper-cable")
|
||||
util.replace_ingredient("lab", "electronic-circuit", "copper-cable")
|
||||
util.replace_ingredient("electric-mining-drill", "electronic-circuit", "copper-cable", 2, true)
|
||||
|
|
@ -38,7 +39,7 @@ if not mods.Krastorio2 and not mods["aai-industry"] and not mods.bzaluminum2 and
|
|||
util.set_enabled("inserter", false)
|
||||
util.add_prerequisite("logistic-science-pack", "electronics")
|
||||
end
|
||||
if not mods.bzaluminum2 and not mods.bzcarbon then
|
||||
if not mods.bzaluminum and not mods.bzcarbon then
|
||||
util.replace_ingredients_prior_to("electronics", "electronic-circuit", "copper-cable", 2)
|
||||
end
|
||||
|
||||
|
|
@ -44,7 +44,7 @@ if get_setting("bz-recipe-bypass") then
|
|||
end
|
||||
|
||||
function util.is_foundry()
|
||||
return mods.bzfoundry2 and not me.get_setting("bzfoundry-minimal")
|
||||
return mods.bzfoundry and not me.get_setting("bzfoundry-minimal")
|
||||
end
|
||||
|
||||
function should_force(options)
|
||||
|
|
@ -64,7 +64,17 @@ function util.fe_plus(sub)
|
|||
end
|
||||
end
|
||||
|
||||
function util.k2assets()
|
||||
function util.get_stack_size(default)
|
||||
if mods.Krastorio2 then
|
||||
local size = get_setting("kr-stack-size")
|
||||
if size and tonumber(size) then
|
||||
return tonumber(size)
|
||||
end
|
||||
end
|
||||
return default
|
||||
end
|
||||
|
||||
function util.k2assets()
|
||||
if mods["Krastorio2Assets"] then
|
||||
return "__Krastorio2Assets__"
|
||||
end
|
||||
|
|
@ -101,8 +111,8 @@ function util.se_landfill(params)
|
|||
category = "hard-recycling",
|
||||
order = "z-b-"..params.ore,
|
||||
subgroup = "terrain",
|
||||
results = {{type="item", name="landfill", amount=1}},
|
||||
ingredients = {{type="item", name=params.ore, amount=50}},
|
||||
result = "landfill",
|
||||
ingredients = {{params.ore, 50}},
|
||||
}
|
||||
})
|
||||
util.add_unlock("se-recycling-facility", lname)
|
||||
|
|
@ -113,7 +123,7 @@ end
|
|||
-- k2 matter
|
||||
-- params: {k2matter}, k2baseicon , {icon}
|
||||
function util.k2matter(params)
|
||||
local matter = require("__Krastorio2__/prototypes/libraries/matter")
|
||||
local matter = require("__Krastorio2__/lib/public/data-stages/matter-util")
|
||||
if mods["space-exploration"] then
|
||||
params.k2matter.need_stabilizer = true
|
||||
end
|
||||
|
|
@ -159,7 +169,7 @@ function util.k2matter(params)
|
|||
{
|
||||
{"production-science-pack", 1},
|
||||
{"utility-science-pack", 1},
|
||||
{"kr-matter-tech-card", 1}
|
||||
{"matter-tech-card", 1}
|
||||
},
|
||||
time = 45,
|
||||
},
|
||||
|
|
@ -167,7 +177,7 @@ function util.k2matter(params)
|
|||
},
|
||||
})
|
||||
end
|
||||
matter.make_recipes(params.k2matter)
|
||||
matter.createMatterRecipe(params.k2matter)
|
||||
end
|
||||
|
||||
|
||||
|
|
@ -201,16 +211,16 @@ function util.se_matter(params)
|
|||
energy_required = params.energy_required,
|
||||
enabled = false,
|
||||
ingredients = {
|
||||
{type="item", name=sedata, amount=1},
|
||||
{sedata, 1},
|
||||
{type="fluid", name="se-particle-stream", amount=50},
|
||||
{type="fluid", name="se-space-coolant-supercooled", amount=25},
|
||||
},
|
||||
results = {
|
||||
{type="item", name=params.ore, amount=params.quant_out},
|
||||
{type="item", name="se-contaminated-scrap", amount=1},
|
||||
{type="item", name=sedata, amount=1, probability=.99},
|
||||
{type="item", name=sejunk, amount=1, probability=.01},
|
||||
{type="fluid", name="se-space-coolant-hot", amount=25, ignored_by_productivity=25},
|
||||
{params.ore, params.quant_out},
|
||||
{"se-contaminated-scrap", 1},
|
||||
{type=item, name=sedata, amount=1, probability=.99},
|
||||
{type=item, name=sejunk, amount=1, probability=.01},
|
||||
{type="fluid", name="se-space-coolant-hot", amount=25, catalyst_amount=25},
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
@ -240,14 +250,14 @@ function util.se_matter(params)
|
|||
energy_required = 30,
|
||||
enabled = false,
|
||||
ingredients = {
|
||||
{type="item", name="se-kr-matter-liberation-data", amount=1},
|
||||
{type="item", name=params.ore, amount=params.quant_in},
|
||||
{"se-kr-matter-liberation-data", 1},
|
||||
{params.ore, params.quant_in},
|
||||
{type="fluid", name="se-particle-stream", amount=50},
|
||||
},
|
||||
results = {
|
||||
{type="item", name="se-kr-matter-liberation-data", amount=1, probability=.99},
|
||||
{type="item", name=sejunk, amount=1, probability=.01},
|
||||
{type="fluid", name="se-particle-stream", amount=params.stream_out, ignored_by_productivity=50},
|
||||
{type=item, name="se-kr-matter-liberation-data", amount=1, probability=.99},
|
||||
{type=item, name=sejunk, amount=1, probability=.01},
|
||||
{type="fluid", name="se-particle-stream", amount=params.stream_out, catalyst_amount=50},
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
@ -274,7 +284,7 @@ function util.se_matter(params)
|
|||
{"se-astronomic-science-pack-4", 1},
|
||||
{"se-energy-science-pack-4", 1},
|
||||
{"se-material-science-pack-4", 1},
|
||||
{"kr-matter-tech-card", 1},
|
||||
{"matter-tech-card", 1},
|
||||
{"se-deep-space-science-pack-1", 1},
|
||||
}
|
||||
|
||||
|
|
@ -288,6 +298,18 @@ function util.se_matter(params)
|
|||
end
|
||||
end
|
||||
|
||||
-- Get the normal prototype for a recipe -- either .normal or the recipe itself
|
||||
function util.get_normal(recipe_name)
|
||||
if data.raw.recipe[recipe_name] then
|
||||
recipe = data.raw.recipe[recipe_name]
|
||||
if recipe.normal and recipe.normal.ingredients then
|
||||
return recipe.normal
|
||||
elseif recipe.ingredients then
|
||||
return recipe
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Set/override a technology's prerequisites
|
||||
function util.set_prerequisite(technology_name, prerequisites)
|
||||
local technology = data.raw.technology[technology_name]
|
||||
|
|
@ -354,7 +376,7 @@ function util.add_unlock(technology_name, recipe)
|
|||
end
|
||||
|
||||
-- Check if a tech unlocks a recipe
|
||||
function util.check_unlock(technology_name, recipe)
|
||||
function util.check_unlock(technology_name, recipe_name)
|
||||
local technology = data.raw.technology[technology_name]
|
||||
if technology and technology.effects then
|
||||
for i, effect in pairs(technology.effects) do
|
||||
|
|
@ -399,13 +421,17 @@ end
|
|||
|
||||
function util.set_enabled(recipe_name, enabled)
|
||||
if data.raw.recipe[recipe_name] then
|
||||
data.raw.recipe[recipe_name].enabled = enabled
|
||||
if data.raw.recipe[recipe_name].normal then data.raw.recipe[recipe_name].normal.enabled = enabled end
|
||||
if data.raw.recipe[recipe_name].expensive then data.raw.recipe[recipe_name].expensive.enabled = enabled end
|
||||
if not data.raw.recipe[recipe_name].normal then data.raw.recipe[recipe_name].enabled = enabled end
|
||||
end
|
||||
end
|
||||
|
||||
function util.set_hidden(recipe_name)
|
||||
if data.raw.recipe[recipe_name] then
|
||||
data.raw.recipe[recipe_name].hidden = true
|
||||
if data.raw.recipe[recipe_name].normal then data.raw.recipe[recipe_name].normal.hidden = true end
|
||||
if data.raw.recipe[recipe_name].expensive then data.raw.recipe[recipe_name].expensive.hidden = true end
|
||||
if not data.raw.recipe[recipe_name].normal then data.raw.recipe[recipe_name].hidden = true end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -415,6 +441,8 @@ function util.add_or_add_to_ingredient(recipe_name, ingredient, quantity, option
|
|||
if data.raw.recipe[recipe_name] and data.raw.item[ingredient] then
|
||||
me.add_modified(recipe_name)
|
||||
add_or_add_to_ingredient(data.raw.recipe[recipe_name], ingredient, quantity)
|
||||
add_or_add_to_ingredient(data.raw.recipe[recipe_name].normal, ingredient, quantity)
|
||||
add_or_add_to_ingredient(data.raw.recipe[recipe_name].expensive, ingredient, quantity)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -437,6 +465,8 @@ function util.add_ingredient(recipe_name, ingredient, quantity, options)
|
|||
if data.raw.recipe[recipe_name] and (data.raw.item[ingredient] or is_fluid) then
|
||||
me.add_modified(recipe_name)
|
||||
add_ingredient(data.raw.recipe[recipe_name], ingredient, quantity, is_fluid)
|
||||
add_ingredient(data.raw.recipe[recipe_name].normal, ingredient, quantity, is_fluid)
|
||||
add_ingredient(data.raw.recipe[recipe_name].expensive, ingredient, quantity, is_fluid)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -450,7 +480,7 @@ function add_ingredient(recipe, ingredient, quantity, is_fluid)
|
|||
if is_fluid then
|
||||
table.insert(recipe.ingredients, {type="fluid", name=ingredient, amount=quantity})
|
||||
else
|
||||
table.insert(recipe.ingredients, {type="item", name=ingredient, amount=quantity})
|
||||
table.insert(recipe.ingredients, {ingredient, quantity})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -461,6 +491,8 @@ function util.add_ingredient_raw(recipe_name, ingredient, options)
|
|||
if data.raw.recipe[recipe_name] and (data.raw.item[ingredient.name] or data.raw.item[ingredient[1]]) then
|
||||
me.add_modified(recipe_name)
|
||||
add_ingredient_raw(data.raw.recipe[recipe_name], ingredient)
|
||||
add_ingredient_raw(data.raw.recipe[recipe_name].normal, ingredient)
|
||||
add_ingredient_raw(data.raw.recipe[recipe_name].expensive, ingredient)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -484,6 +516,8 @@ function util.set_ingredient(recipe_name, ingredient, quantity, options)
|
|||
if data.raw.recipe[recipe_name] and data.raw.item[ingredient] then
|
||||
me.add_modified(recipe_name)
|
||||
set_ingredient(data.raw.recipe[recipe_name], ingredient, quantity)
|
||||
set_ingredient(data.raw.recipe[recipe_name].normal, ingredient, quantity)
|
||||
set_ingredient(data.raw.recipe[recipe_name].expensive, ingredient, quantity)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -507,18 +541,29 @@ end
|
|||
-- Only works for recipes with multiple products
|
||||
function util.add_product(recipe_name, product, options)
|
||||
if not should_force(options) and bypass(recipe_name) then return end
|
||||
if data.raw.recipe[recipe_name] and
|
||||
(data.raw.item[product.name] or data.raw.fluid[product.name]) then
|
||||
if data.raw.recipe[recipe_name] and
|
||||
(data.raw.item[product[1]] or data.raw.item[product.name] or
|
||||
data.raw.fluid[product[1]] or data.raw.fluid[product.name]
|
||||
) then
|
||||
add_product(data.raw.recipe[recipe_name], product)
|
||||
add_product(data.raw.recipe[recipe_name].normal, product)
|
||||
add_product(data.raw.recipe[recipe_name].expensive, product)
|
||||
end
|
||||
end
|
||||
|
||||
function add_product(recipe, product)
|
||||
if recipe ~= nil then
|
||||
if recipe.results == nil then
|
||||
recipe.results = {}
|
||||
if (product[1] and data.raw.item[product[1]]) or
|
||||
(product.name and data.raw[product.type][product.name]) then
|
||||
if not recipe.normal then
|
||||
if recipe.results == nil then
|
||||
recipe.results = {{recipe.result, recipe.result_count and recipe.result_count or 1}}
|
||||
end
|
||||
recipe.result = nil
|
||||
recipe.result_count = nil
|
||||
table.insert(recipe.results, product)
|
||||
end
|
||||
table.insert(recipe.results, product)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -526,13 +571,18 @@ end
|
|||
function util.get_ingredient_amount(recipe_name, ingredient_name)
|
||||
local recipe = data.raw.recipe[recipe_name]
|
||||
if recipe then
|
||||
if recipe.ingredients then
|
||||
if recipe.normal and recipe.normal.ingredients then
|
||||
for i, ingredient in pairs(recipe.normal.ingredients) do
|
||||
if ingredient[1] == ingredient_name then return ingredient[2] end
|
||||
if ingredient.name == ingredient_name then return ingredient.amount end
|
||||
end
|
||||
elseif recipe.ingredients then
|
||||
for i, ingredient in pairs(recipe.ingredients) do
|
||||
if ingredient[1] == ingredient_name then return ingredient[2] end
|
||||
if ingredient.name == ingredient_name then return ingredient.amount end
|
||||
end
|
||||
end
|
||||
return 1
|
||||
return 0
|
||||
end
|
||||
return 0
|
||||
end
|
||||
|
|
@ -542,7 +592,14 @@ function util.get_amount(recipe_name, product)
|
|||
if not product then product = recipe_name end
|
||||
local recipe = data.raw.recipe[recipe_name]
|
||||
if recipe then
|
||||
if recipe.results then
|
||||
if recipe.normal and recipe.normal.results then
|
||||
for i, result in pairs(recipe.normal.results) do
|
||||
if result[1] == product then return result[2] end
|
||||
if result.name == product then return result.amount end
|
||||
end
|
||||
elseif recipe.normal and recipe.normal.result_count then
|
||||
return recipe.normal.result_count
|
||||
elseif recipe.results then
|
||||
for i, result in pairs(recipe.results) do
|
||||
if result[1] == product then return result[2] end
|
||||
if result.name == product then return result.amount end
|
||||
|
|
@ -560,7 +617,9 @@ function util.get_result_count(recipe_name, product)
|
|||
if not product then product = recipe_name end
|
||||
local recipe = data.raw.recipe[recipe_name]
|
||||
if recipe then
|
||||
if recipe.results then
|
||||
if recipe.normal and recipe.normal.results then
|
||||
return #(recipe.normal.results)
|
||||
elseif recipe.results then
|
||||
return #(recipe.results)
|
||||
end
|
||||
return 1
|
||||
|
|
@ -575,6 +634,8 @@ function util.replace_ingredient(recipe_name, old, new, amount, multiply, option
|
|||
if data.raw.recipe[recipe_name] and (data.raw.item[new] or data.raw.fluid[new]) then
|
||||
me.add_modified(recipe_name)
|
||||
replace_ingredient(data.raw.recipe[recipe_name], old, new, amount, multiply)
|
||||
replace_ingredient(data.raw.recipe[recipe_name].normal, old, new, amount, multiply)
|
||||
replace_ingredient(data.raw.recipe[recipe_name].expensive, old, new, amount, multiply)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -616,6 +677,8 @@ function util.remove_ingredient(recipe_name, old, options)
|
|||
if data.raw.recipe[recipe_name] then
|
||||
me.add_modified(recipe_name)
|
||||
remove_ingredient(data.raw.recipe[recipe_name], old)
|
||||
remove_ingredient(data.raw.recipe[recipe_name].normal, old)
|
||||
remove_ingredient(data.raw.recipe[recipe_name].expensive, old)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -641,23 +704,28 @@ function util.replace_some_product(recipe_name, old, old_amount, new, new_amount
|
|||
if data.raw.recipe[recipe_name] and (data.raw.item[new] or is_fluid) then
|
||||
me.add_modified(recipe_name)
|
||||
replace_some_product(data.raw.recipe[recipe_name], old, old_amount, new, new_amount, is_fluid)
|
||||
replace_some_product(data.raw.recipe[recipe_name].normal, old, old_amount, new, new_amount, is_fluid)
|
||||
replace_some_product(data.raw.recipe[recipe_name].expensive, old, old_amount, new, new_amount, is_fluid)
|
||||
end
|
||||
end
|
||||
|
||||
function replace_some_product(recipe, old, old_amount, new, new_amount, is_fluid)
|
||||
function replace_some_product(recipe, old, old_amount, new, new_amount)
|
||||
if recipe ~= nil then
|
||||
if recipe.result == new then return end
|
||||
if recipe.results then
|
||||
for i, existing in pairs(recipe.results) do
|
||||
if existing.name == new then
|
||||
if existing[1] == new or existing.name == new then
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
add_product(recipe, {type=is_fluid and "fluid" or "item", name=new, amount=new_amount})
|
||||
add_product(recipe, {new, new_amount})
|
||||
for i, product in pairs(recipe.results) do
|
||||
if product.name == old then
|
||||
product.amount = math.max(1, product.amount - old_amount)
|
||||
end
|
||||
if product[1] == old then
|
||||
product[2] = math.max(1, product[2] - old_amount)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -670,6 +738,8 @@ function util.replace_some_ingredient(recipe_name, old, old_amount, new, new_amo
|
|||
if data.raw.recipe[recipe_name] and (data.raw.item[new] or is_fluid) then
|
||||
me.add_modified(recipe_name)
|
||||
replace_some_ingredient(data.raw.recipe[recipe_name], old, old_amount, new, new_amount, is_fluid)
|
||||
replace_some_ingredient(data.raw.recipe[recipe_name].normal, old, old_amount, new, new_amount, is_fluid)
|
||||
replace_some_ingredient(data.raw.recipe[recipe_name].expensive, old, old_amount, new, new_amount, is_fluid)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -698,6 +768,8 @@ function util.set_product_amount(recipe_name, product, amount, options)
|
|||
me.add_modified(recipe_name)
|
||||
if data.raw.recipe[recipe_name] then
|
||||
set_product_amount(data.raw.recipe[recipe_name], product, amount)
|
||||
set_product_amount(data.raw.recipe[recipe_name].normal, product, amount)
|
||||
set_product_amount(data.raw.recipe[recipe_name].expensive, product, amount)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -736,6 +808,8 @@ function util.multiply_recipe(recipe_name, multiple, options)
|
|||
me.add_modified(recipe_name)
|
||||
if data.raw.recipe[recipe_name] then
|
||||
multiply_recipe(data.raw.recipe[recipe_name], multiple)
|
||||
multiply_recipe(data.raw.recipe[recipe_name].normal, multiple)
|
||||
multiply_recipe(data.raw.recipe[recipe_name].expensive, multiple)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -743,6 +817,8 @@ function multiply_recipe(recipe, multiple)
|
|||
if recipe then
|
||||
if recipe.energy_required then
|
||||
recipe.energy_required = recipe.energy_required * multiple
|
||||
else
|
||||
recipe.energy_required = 0.5 * multiple -- 0.5 is factorio default
|
||||
end
|
||||
if recipe.result_count then
|
||||
recipe.result_count = recipe.result_count * multiple
|
||||
|
|
@ -757,8 +833,8 @@ function multiply_recipe(recipe, multiple)
|
|||
result.amount_min = result.amount_min * multiple
|
||||
result.amount_max = result.amount_max * multiple
|
||||
end
|
||||
if result.ignored_by_productivity then
|
||||
result.ignored_by_productivity = result.ignored_by_productivity * multiple
|
||||
if result.catalyst_amount then
|
||||
result.catalyst_amount = result.catalyst_amount * multiple
|
||||
end
|
||||
end
|
||||
if result[1] then
|
||||
|
|
@ -785,8 +861,9 @@ end
|
|||
|
||||
-- Returns true if a recipe has an ingredient
|
||||
function util.has_ingredient(recipe_name, ingredient)
|
||||
return data.raw.recipe[recipe_name] and
|
||||
has_ingredient(data.raw.recipe[recipe_name], ingredient)
|
||||
return data.raw.recipe[recipe_name] and (
|
||||
has_ingredient(data.raw.recipe[recipe_name], ingredient) or
|
||||
has_ingredient(data.raw.recipe[recipe_name].normal, ingredient))
|
||||
end
|
||||
|
||||
function has_ingredient(recipe, ingredient)
|
||||
|
|
@ -806,6 +883,8 @@ function util.remove_product(recipe_name, old, options)
|
|||
me.add_modified(recipe_name)
|
||||
if data.raw.recipe[recipe_name] then
|
||||
remove_product(data.raw.recipe[recipe_name], old)
|
||||
remove_product(data.raw.recipe[recipe_name].normal, old)
|
||||
remove_product(data.raw.recipe[recipe_name].expensive, old)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -828,6 +907,8 @@ function util.set_main_product(recipe_name, product, options)
|
|||
if not should_force(options) and bypass(recipe_name) then return end
|
||||
if data.raw.recipe[recipe_name] then
|
||||
set_main_product(data.raw.recipe[recipe_name], product)
|
||||
set_main_product(data.raw.recipe[recipe_name].normal, product)
|
||||
set_main_product(data.raw.recipe[recipe_name].expensive, product)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -841,11 +922,13 @@ end
|
|||
function util.replace_product(recipe_name, old, new, options)
|
||||
if not should_force(options) and bypass(recipe_name) then return end
|
||||
if data.raw.recipe[recipe_name] then
|
||||
replace_product(data.raw.recipe[recipe_name], old, new)
|
||||
replace_product(data.raw.recipe[recipe_name], old, new, options)
|
||||
replace_product(data.raw.recipe[recipe_name].normal, old, new, options)
|
||||
replace_product(data.raw.recipe[recipe_name].expensive, old, new, options)
|
||||
end
|
||||
end
|
||||
|
||||
function replace_product(recipe, old, new)
|
||||
function replace_product(recipe, old, new, options)
|
||||
if recipe then
|
||||
if recipe.main_product == old then
|
||||
recipe.main_product = new
|
||||
|
|
@ -885,6 +968,8 @@ function util.set_recipe_time(recipe_name, time, options)
|
|||
me.add_modified(recipe_name)
|
||||
if data.raw.recipe[recipe_name] then
|
||||
set_recipe_time(data.raw.recipe[recipe_name], time)
|
||||
set_recipe_time(data.raw.recipe[recipe_name].normal, time)
|
||||
set_recipe_time(data.raw.recipe[recipe_name].expensive, time)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -902,6 +987,8 @@ function util.multiply_time(recipe_name, factor, options)
|
|||
me.add_modified(recipe_name)
|
||||
if data.raw.recipe[recipe_name] then
|
||||
multiply_time(data.raw.recipe[recipe_name], factor)
|
||||
multiply_time(data.raw.recipe[recipe_name].normal, factor)
|
||||
multiply_time(data.raw.recipe[recipe_name].expensive, factor)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -919,6 +1006,8 @@ function util.add_time(recipe_name, amount, options)
|
|||
me.add_modified(recipe_name)
|
||||
if data.raw.recipe[recipe_name] then
|
||||
add_time(data.raw.recipe[recipe_name], amount)
|
||||
add_time(data.raw.recipe[recipe_name].normal, amount)
|
||||
add_time(data.raw.recipe[recipe_name].expensive, amount)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -942,7 +1031,7 @@ end
|
|||
-- Set recipe subgroup
|
||||
function util.set_subgroup(recipe_name, subgroup, options)
|
||||
if not should_force(options) and bypass(recipe_name) then return end
|
||||
if data.raw.recipe[recipe_name] then
|
||||
if data.raw.recipe[recipe_name] and data.raw["item-subgroup"][subgroup] then
|
||||
me.add_modified(recipe_name)
|
||||
data.raw.recipe[recipe_name].subgroup = subgroup
|
||||
end
|
||||
|
|
@ -961,16 +1050,34 @@ function util.add_icon(recipe_name, icon, options)
|
|||
if data.raw.recipe[recipe_name] then
|
||||
me.add_modified(recipe_name)
|
||||
if not (data.raw.recipe[recipe_name].icons and #(data.raw.recipe[recipe_name].icons) > 0) then
|
||||
data.raw.recipe[recipe_name].icons = {}
|
||||
if data.raw.recipe[recipe_name].icon then
|
||||
data.raw.recipe[recipe_name].icons = {{
|
||||
icon=data.raw.recipe[recipe_name].icon,
|
||||
icon_size=data.raw.recipe[recipe_name].icon_size,
|
||||
icon_mipmaps=data.raw.recipe[recipe_name].icon_mipmaps,
|
||||
}}
|
||||
data.raw.recipe[recipe_name].icon = nil
|
||||
data.raw.recipe[recipe_name].icon_size = nil
|
||||
end
|
||||
if data.raw.recipe[recipe_name].icon then
|
||||
data.raw.recipe[recipe_name].icons = {{
|
||||
icon=data.raw.recipe[recipe_name].icon,
|
||||
icon_size=data.raw.recipe[recipe_name].icon_size,
|
||||
icon_mipmaps=data.raw.recipe[recipe_name].icon_mipmaps,
|
||||
}}
|
||||
elseif data.raw.item[data.raw.recipe[recipe_name].main_product] then
|
||||
data.raw.recipe[recipe_name].icons = {{
|
||||
icon=data.raw.item[data.raw.recipe[recipe_name].main_product].icon,
|
||||
icon_size=data.raw.item[data.raw.recipe[recipe_name].main_product].icon_size,
|
||||
icon_mipmaps=data.raw.item[data.raw.recipe[recipe_name].main_product].icon_mipmaps,
|
||||
}}
|
||||
elseif data.raw.item[data.raw.recipe[recipe_name].result] then
|
||||
data.raw.recipe[recipe_name].icons = {{
|
||||
icon=data.raw.item[data.raw.recipe[recipe_name].result].icon,
|
||||
icon_size=data.raw.item[data.raw.recipe[recipe_name].result].icon_size,
|
||||
icon_mipmaps=data.raw.item[data.raw.recipe[recipe_name].result].icon_mipmaps,
|
||||
}}
|
||||
elseif data.raw.recipe[recipe_name].normal and
|
||||
data.raw.item[data.raw.recipe[recipe_name].normal.result] then
|
||||
data.raw.recipe[recipe_name].icons = {{
|
||||
icon=data.raw.item[data.raw.recipe[recipe_name].normal.result].icon,
|
||||
icon_size=data.raw.item[data.raw.recipe[recipe_name].normal.result].icon_size,
|
||||
icon_mipmaps=data.raw.item[data.raw.recipe[recipe_name].normal.result].icon_mipmaps,
|
||||
}}
|
||||
end
|
||||
data.raw.recipe[recipe_name].icon = nil
|
||||
data.raw.recipe[recipe_name].icon_size = nil
|
||||
end
|
||||
table.insert(data.raw.recipe[recipe_name].icons, icon)
|
||||
end
|
||||
|
|
@ -1030,6 +1137,8 @@ function util.add_to_ingredient(recipe, ingredient, amount, options)
|
|||
if not should_force(options) and bypass(recipe_name) then return end
|
||||
if data.raw.recipe[recipe] then
|
||||
add_to_ingredient(data.raw.recipe[recipe], ingredient, amount)
|
||||
add_to_ingredient(data.raw.recipe[recipe].normal, ingredient, amount)
|
||||
add_to_ingredient(data.raw.recipe[recipe].expensive, ingredient, amount)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -1052,6 +1161,8 @@ function util.add_to_product(recipe_name, product, amount, options)
|
|||
if not should_force(options) and bypass(recipe_name) then return end
|
||||
if data.raw.recipe[recipe_name] then
|
||||
add_to_product(data.raw.recipe[recipe_name], product, amount)
|
||||
add_to_product(data.raw.recipe[recipe_name].normal, product, amount)
|
||||
add_to_product(data.raw.recipe[recipe_name].expensive, product, amount)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -1174,8 +1285,10 @@ function remove_prior_unlocks(tech, recipe)
|
|||
util.remove_recipe_effect(tech, recipe)
|
||||
if technology.prerequisites then
|
||||
for i, prerequisite in pairs(technology.prerequisites) do
|
||||
-- log("BZZZ removing prior unlocks for " .. tech ..", checking " .. prerequisite) -- Handy Debug :|
|
||||
remove_prior_unlocks(prerequisite, recipe)
|
||||
if string.sub(prerequisite, 1, 3) ~= 'ei_' then
|
||||
-- log("BZZZ removing prior unlocks for " .. recipe .. " from " .. tech ..", checking " .. prerequisite) -- Handy Debug :|
|
||||
remove_prior_unlocks(prerequisite, recipe)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -1217,7 +1330,9 @@ function replace_ingredients_prior_to(tech, old, new, multiplier)
|
|||
if technology.prerequisites then
|
||||
for i, prerequisite in pairs(technology.prerequisites) do
|
||||
-- log("BZZZ checking " .. prerequisite) -- Handy Debug :|
|
||||
replace_ingredients_prior_to(prerequisite, old, new, multiplier)
|
||||
if string.sub(prerequisite, 1, 3) ~= 'ei_' then
|
||||
replace_ingredients_prior_to(prerequisite, old, new, multiplier)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
190
gas-boiler/data.lua
Normal file
|
|
@ -0,0 +1,190 @@
|
|||
require("factsheet")
|
||||
|
||||
-- Added by Brevven for bzgas
|
||||
-- local gd = "__gas-boiler__"
|
||||
local gd = "__bzgas__/gas-boiler"
|
||||
|
||||
|
||||
|
||||
gf_boiler_entity = util.table.deepcopy(data.raw.boiler.boiler)
|
||||
gf_boiler_entity.name = "gas-boiler"
|
||||
gf_boiler_entity.icon = gd.."/graphics/icons/gas-boiler.png"
|
||||
gf_boiler_entity.icon_size = 32
|
||||
gf_boiler_entity.minable.result = "gas-boiler"
|
||||
gf_boiler_entity.fast_replaceable_group = "boiler"
|
||||
gf_boiler_entity.energy_source = {
|
||||
type = "fluid",
|
||||
fluid_box = {
|
||||
base_area = 1,
|
||||
height = 1,
|
||||
base_level = -1,
|
||||
pipe_covers = pipecoverspictures(),
|
||||
pipe_picture = {
|
||||
north = {
|
||||
filename = gd.."/graphics/entity/"
|
||||
.."assembling-machine-1-pipe-N.png",
|
||||
priority = "extra-high",
|
||||
width = 35,
|
||||
height = 18,
|
||||
shift = util.by_pixel(2.5, 14),
|
||||
hr_version = {
|
||||
filename = gd.."/graphics/entity/"
|
||||
.."hr-assembling-machine-1-pipe-N.png",
|
||||
priority = "extra-high",
|
||||
width = 71,
|
||||
height = 38,
|
||||
shift = util.by_pixel(2.25, 13.5),
|
||||
scale = 0.5
|
||||
}
|
||||
},
|
||||
east = {
|
||||
filename = gd.."/graphics/entity/"
|
||||
.."assembling-machine-1-pipe-E.png",
|
||||
priority = "extra-high",
|
||||
width = 20,
|
||||
height = 38,
|
||||
shift = util.by_pixel(-25, 1),
|
||||
hr_version = {
|
||||
filename = gd.."/graphics/entity/"
|
||||
.."hr-assembling-machine-1-pipe-E.png",
|
||||
priority = "extra-high",
|
||||
width = 42,
|
||||
height = 76,
|
||||
shift = util.by_pixel(-24.5, 1),
|
||||
scale = 0.5
|
||||
}
|
||||
},
|
||||
south = {
|
||||
filename = gd.."/graphics/entity/"
|
||||
.."assembling-machine-1-pipe-S.png",
|
||||
priority = "extra-high",
|
||||
width = 44,
|
||||
height = 31,
|
||||
shift = util.by_pixel(0, -31.5),
|
||||
hr_version = {
|
||||
filename = gd.."/graphics/entity/"
|
||||
.."hr-assembling-machine-1-pipe-S.png",
|
||||
priority = "extra-high",
|
||||
width = 88,
|
||||
height = 61,
|
||||
shift = util.by_pixel(0, -31.25),
|
||||
scale = 0.5
|
||||
}
|
||||
},
|
||||
west = {
|
||||
filename = gd.."/graphics/entity/"
|
||||
.."assembling-machine-1-pipe-W.png",
|
||||
priority = "extra-high",
|
||||
width = 19,
|
||||
height = 37,
|
||||
shift = util.by_pixel(25.5, 1.5),
|
||||
hr_version = {
|
||||
filename = gd.."/graphics/entity/"
|
||||
.."hr-assembling-machine-1-pipe-W.png",
|
||||
priority = "extra-high",
|
||||
width = 39,
|
||||
height = 73,
|
||||
shift = util.by_pixel(25.75, 1.25),
|
||||
scale = 0.5
|
||||
}
|
||||
}
|
||||
},
|
||||
pipe_connections = {
|
||||
{type = "input", position = {0, 1.5}},
|
||||
},
|
||||
production_type = "input",
|
||||
secondary_draw_orders = {
|
||||
south = 32,
|
||||
north = -1,
|
||||
east = -1,
|
||||
west = -1,
|
||||
}
|
||||
},
|
||||
burns_fluid = true,
|
||||
scale_fluid_usage = true,
|
||||
emissions_per_minute = 30,
|
||||
smoke = {{
|
||||
name = "smoke",
|
||||
north_position = util.by_pixel(-38, -47.5),
|
||||
south_position = util.by_pixel(38.5, -32),
|
||||
east_position = util.by_pixel(20, -70),
|
||||
west_position = util.by_pixel(-19, -8.5),
|
||||
frequency = 15,
|
||||
starting_vertical_speed = 0.3,
|
||||
starting_frame_deviation = 0
|
||||
}},
|
||||
light_flicker = {
|
||||
color = colors.gas_fire_glow,
|
||||
minimum_light_size = 0.1,
|
||||
light_intensity_to_size_coefficient = 1
|
||||
}
|
||||
}
|
||||
gf_boiler_entity.fire_flicker_enabled = false
|
||||
gf_boiler_entity.fire_glow_flicker_enabled = false
|
||||
gf_boiler_entity.fire = {}
|
||||
gf_boiler_entity.fire_glow.north.filename =
|
||||
gd.."/graphics/entity/"..
|
||||
"gas-boiler-N-light.png"
|
||||
gf_boiler_entity.fire_glow.south.filename =
|
||||
gd.."/graphics/entity/"..
|
||||
"gas-boiler-S-light.png"
|
||||
gf_boiler_entity.fire_glow.east.filename =
|
||||
gd.."/graphics/entity/"..
|
||||
"gas-boiler-E-light.png"
|
||||
gf_boiler_entity.fire_glow.west.filename =
|
||||
gd.."/graphics/entity/"..
|
||||
"gas-boiler-W-light.png"
|
||||
gf_boiler_entity.fire_glow.north.hr_version.filename =
|
||||
gd.."/graphics/entity/"..
|
||||
"hr-gas-boiler-N-light.png"
|
||||
gf_boiler_entity.fire_glow.south.hr_version.filename =
|
||||
gd.."/graphics/entity/"..
|
||||
"hr-gas-boiler-S-light.png"
|
||||
gf_boiler_entity.fire_glow.east.hr_version.filename =
|
||||
gd.."/graphics/entity/"..
|
||||
"hr-gas-boiler-E-light.png"
|
||||
gf_boiler_entity.fire_glow.west.hr_version.filename =
|
||||
gd.."/graphics/entity/"..
|
||||
"hr-gas-boiler-W-light.png"
|
||||
gf_boiler_entity.fire_glow.north.apply_runtime_tint = true
|
||||
gf_boiler_entity.fire_glow.south.apply_runtime_tint = true
|
||||
gf_boiler_entity.fire_glow.east.apply_runtime_tint = true
|
||||
gf_boiler_entity.fire_glow.west.apply_runtime_tint = true
|
||||
gf_boiler_entity.fire_glow.north.tint={r=1,g=0.6,b=0.6,a=0.4}
|
||||
gf_boiler_entity.fire_glow.south.tint={r=1,g=0.6,b=0.6,a=0.4}
|
||||
gf_boiler_entity.fire_glow.east.tint={r=1,g=0.6,b=0.6,a=0.4}
|
||||
gf_boiler_entity.fire_glow.west.tint={r=1,g=0.6,b=0.6,a=0.4}
|
||||
gf_boiler_entity.fire_glow.north.blend_mode = "additive-soft"
|
||||
gf_boiler_entity.fire_glow.south.blend_mode = "additive-soft"
|
||||
gf_boiler_entity.fire_glow.east.blend_mode = "additive-soft"
|
||||
gf_boiler_entity.fire_glow.west.blend_mode = "additive-soft"
|
||||
|
||||
|
||||
gf_boiler_item = util.table.deepcopy(data.raw.item.boiler)
|
||||
gf_boiler_item.name = "gas-boiler"
|
||||
gf_boiler_item.icon_size = 32
|
||||
gf_boiler_item.icon = gd.."/graphics/icons/gas-boiler.png"
|
||||
gf_boiler_item.order = "b[steam-power]-b[gas-boiler]"
|
||||
gf_boiler_item.place_result = "gas-boiler"
|
||||
|
||||
gf_boiler_recipe = {
|
||||
type = "recipe",
|
||||
name = "gas-boiler",
|
||||
enabled = false,
|
||||
ingredients = {{
|
||||
"boiler",1
|
||||
},{
|
||||
"pump",1
|
||||
}},
|
||||
result = "gas-boiler"
|
||||
}
|
||||
|
||||
data:extend({
|
||||
gf_boiler_item,
|
||||
gf_boiler_recipe,
|
||||
gf_boiler_entity
|
||||
})
|
||||
add_recipe_to_tech(
|
||||
"fluid-handling",
|
||||
"gas-boiler"
|
||||
)
|
||||
|
|
@ -1700,6 +1700,9 @@ end
|
|||
|
||||
set_shift = function(shift, tab)
|
||||
tab.shift = shift
|
||||
if tab.hr_version then
|
||||
tab.hr_version.shift = shift
|
||||
end
|
||||
return tab
|
||||
end
|
||||
|
||||
|
|
@ -1726,10 +1729,16 @@ end
|
|||
|
||||
empty_sprite = function()
|
||||
return {
|
||||
filename = "__core__/graphics/empty.png",
|
||||
priority = "extra-high",
|
||||
width = 1,
|
||||
height = 1,
|
||||
filename = "__core__/graphics/empty.png",
|
||||
priority = "extra-high",
|
||||
width = 1,
|
||||
height = 1,
|
||||
hr_version = {
|
||||
filename = "__core__/graphics/empty.png",
|
||||
priority = "extra-high",
|
||||
width = 1,
|
||||
height = 1,
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
|
|
@ -1741,104 +1750,209 @@ centrifuge_idle_layers = function(size,speed)
|
|||
local size = number_or_one(size)
|
||||
local speed = number_or_one(speed)
|
||||
return {{
|
||||
filename =
|
||||
"__base__/graphics/entity/"
|
||||
.."centrifuge/hr-centrifuge-C.png",
|
||||
priority = "extra-high",
|
||||
scale = size*0.5,
|
||||
line_length = 8,
|
||||
width = 237,
|
||||
height = 214,
|
||||
frame_count = 64,
|
||||
animation_speed = speed,
|
||||
shift =
|
||||
util.by_pixel(
|
||||
-0.25,
|
||||
-26.5
|
||||
)
|
||||
filename =
|
||||
"__base__/graphics/entity/"
|
||||
.."centrifuge/centrifuge-C.png",
|
||||
priority = "extra-high",
|
||||
line_length = 8,
|
||||
width = 119,
|
||||
height = 107,
|
||||
scale = size,
|
||||
frame_count = 64,
|
||||
animation_speed = speed,
|
||||
shift =
|
||||
util.by_pixel(
|
||||
-0.5,
|
||||
-26.5
|
||||
),
|
||||
hr_version = {
|
||||
filename =
|
||||
"__base__/graphics/entity/"
|
||||
.."centrifuge/hr-centrifuge-C.png",
|
||||
priority = "extra-high",
|
||||
scale = size*0.5,
|
||||
line_length = 8,
|
||||
width = 237,
|
||||
height = 214,
|
||||
frame_count = 64,
|
||||
animation_speed = speed,
|
||||
shift =
|
||||
util.by_pixel(
|
||||
-0.25,
|
||||
-26.5
|
||||
)
|
||||
}
|
||||
},{
|
||||
filename =
|
||||
"__base__/graphics/entity/"
|
||||
.."centrifuge/hr-centrifuge-C-shadow.png",
|
||||
draw_as_shadow = true,
|
||||
priority = "extra-high",
|
||||
scale = size*0.5,
|
||||
line_length = 8,
|
||||
width = 279,
|
||||
height = 152,
|
||||
frame_count = 64,
|
||||
animation_speed = speed,
|
||||
shift =
|
||||
util.by_pixel(
|
||||
16.75,
|
||||
-10
|
||||
)
|
||||
filename =
|
||||
"__base__/graphics/entity/"
|
||||
.."centrifuge/centrifuge-C-shadow.png",
|
||||
draw_as_shadow = true,
|
||||
priority = "extra-high",
|
||||
line_length = 8,
|
||||
width = 132,
|
||||
height = 74,
|
||||
frame_count = 64,
|
||||
scale = size,
|
||||
animation_speed = speed,
|
||||
shift =
|
||||
util.by_pixel(
|
||||
20,
|
||||
-10
|
||||
),
|
||||
hr_version = {
|
||||
filename =
|
||||
"__base__/graphics/entity/"
|
||||
.."centrifuge/hr-centrifuge-C-shadow.png",
|
||||
draw_as_shadow = true,
|
||||
priority = "extra-high",
|
||||
scale = size*0.5,
|
||||
line_length = 8,
|
||||
width = 279,
|
||||
height = 152,
|
||||
frame_count = 64,
|
||||
animation_speed = speed,
|
||||
shift =
|
||||
util.by_pixel(
|
||||
16.75,
|
||||
-10
|
||||
)
|
||||
}
|
||||
},{
|
||||
filename =
|
||||
"__base__/graphics/entity/"
|
||||
.."centrifuge/hr-centrifuge-B.png",
|
||||
priority = "extra-high",
|
||||
scale = size*0.5,
|
||||
line_length = 8,
|
||||
width = 156,
|
||||
height = 234,
|
||||
frame_count = 64,
|
||||
animation_speed = speed,
|
||||
shift =
|
||||
util.by_pixel(
|
||||
23,
|
||||
6.5
|
||||
)
|
||||
filename =
|
||||
"__base__/graphics/entity/"
|
||||
.."centrifuge/centrifuge-B.png",
|
||||
priority = "extra-high",
|
||||
line_length = 8,
|
||||
width = 78,
|
||||
height = 117,
|
||||
scale = size,
|
||||
frame_count = 64,
|
||||
animation_speed = speed,
|
||||
shift =
|
||||
util.by_pixel(
|
||||
23,
|
||||
6.5
|
||||
),
|
||||
hr_version = {
|
||||
filename =
|
||||
"__base__/graphics/entity/"
|
||||
.."centrifuge/hr-centrifuge-B.png",
|
||||
priority = "extra-high",
|
||||
scale = size*0.5,
|
||||
line_length = 8,
|
||||
width = 156,
|
||||
height = 234,
|
||||
frame_count = 64,
|
||||
animation_speed = speed,
|
||||
shift =
|
||||
util.by_pixel(
|
||||
23,
|
||||
6.5
|
||||
)
|
||||
}
|
||||
},{
|
||||
filename =
|
||||
"__base__/graphics/entity/"
|
||||
.."centrifuge/hr-centrifuge-B-shadow.png",
|
||||
draw_as_shadow = true,
|
||||
priority = "extra-high",
|
||||
scale = size*0.5,
|
||||
line_length = 8,
|
||||
width = 251,
|
||||
height = 149,
|
||||
frame_count = 64,
|
||||
animation_speed = speed,
|
||||
shift =
|
||||
util.by_pixel(
|
||||
63.25,
|
||||
15.25
|
||||
)
|
||||
filename =
|
||||
"__base__/graphics/entity/"
|
||||
.."centrifuge/centrifuge-B-shadow.png",
|
||||
draw_as_shadow = true,
|
||||
priority = "extra-high",
|
||||
line_length = 8,
|
||||
width = 124,
|
||||
height = 74,
|
||||
frame_count = 64,
|
||||
scale = size,
|
||||
animation_speed = speed,
|
||||
shift =
|
||||
util.by_pixel(
|
||||
63,
|
||||
16
|
||||
),
|
||||
hr_version = {
|
||||
filename =
|
||||
"__base__/graphics/entity/"
|
||||
.."centrifuge/hr-centrifuge-B-shadow.png",
|
||||
draw_as_shadow = true,
|
||||
priority = "extra-high",
|
||||
scale = size*0.5,
|
||||
line_length = 8,
|
||||
width = 251,
|
||||
height = 149,
|
||||
frame_count = 64,
|
||||
animation_speed = speed,
|
||||
shift =
|
||||
util.by_pixel(
|
||||
63.25,
|
||||
15.25
|
||||
)
|
||||
}
|
||||
},{
|
||||
filename =
|
||||
"__base__/graphics/entity/"
|
||||
.."centrifuge/hr-centrifuge-A.png",
|
||||
priority = "extra-high",
|
||||
scale = size*0.5,
|
||||
line_length = 8,
|
||||
width = 139,
|
||||
height = 246,
|
||||
frame_count = 64,
|
||||
animation_speed = speed,
|
||||
shift =
|
||||
util.by_pixel(
|
||||
-26.25,
|
||||
3.5
|
||||
)
|
||||
filename =
|
||||
"__base__/graphics/entity/"
|
||||
.."centrifuge/centrifuge-A.png",
|
||||
priority = "extra-high",
|
||||
line_length = 8,
|
||||
width = 70,
|
||||
height = 123,
|
||||
scale = size,
|
||||
frame_count = 64,
|
||||
animation_speed = speed,
|
||||
shift =
|
||||
util.by_pixel(
|
||||
-26,
|
||||
3.5
|
||||
),
|
||||
hr_version = {
|
||||
filename =
|
||||
"__base__/graphics/entity/"
|
||||
.."centrifuge/hr-centrifuge-A.png",
|
||||
priority = "extra-high",
|
||||
scale = size*0.5,
|
||||
line_length = 8,
|
||||
width = 139,
|
||||
height = 246,
|
||||
frame_count = 64,
|
||||
animation_speed = speed,
|
||||
shift =
|
||||
util.by_pixel(
|
||||
-26.25,
|
||||
3.5
|
||||
)
|
||||
}
|
||||
},{
|
||||
filename =
|
||||
"__base__/graphics/entity/"
|
||||
.."centrifuge/hr-centrifuge-A-shadow.png",
|
||||
priority = "extra-high",
|
||||
draw_as_shadow = true,
|
||||
scale = size*0.5,
|
||||
line_length = 8,
|
||||
width = 230,
|
||||
height = 124,
|
||||
frame_count = 64,
|
||||
animation_speed = speed,
|
||||
shift =
|
||||
util.by_pixel(
|
||||
8.5,
|
||||
23.5
|
||||
)
|
||||
filename =
|
||||
"__base__/graphics/entity/"
|
||||
.."centrifuge/centrifuge-A-shadow.png",
|
||||
priority = "extra-high",
|
||||
draw_as_shadow = true,
|
||||
line_length = 8,
|
||||
width = 108,
|
||||
height = 54,
|
||||
frame_count = 64,
|
||||
scale = size,
|
||||
animation_speed = speed,
|
||||
shift =
|
||||
util.by_pixel(
|
||||
6,
|
||||
27
|
||||
),
|
||||
hr_version = {
|
||||
filename =
|
||||
"__base__/graphics/entity/"
|
||||
.."centrifuge/hr-centrifuge-A-shadow.png",
|
||||
priority = "extra-high",
|
||||
draw_as_shadow = true,
|
||||
scale = size*0.5,
|
||||
line_length = 8,
|
||||
width = 230,
|
||||
height = 124,
|
||||
frame_count = 64,
|
||||
animation_speed = speed,
|
||||
shift =
|
||||
util.by_pixel(
|
||||
8.5,
|
||||
23.5
|
||||
)
|
||||
}
|
||||
}}
|
||||
end
|
||||
|
||||
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 3 KiB After Width: | Height: | Size: 3 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
|
|
@ -10,13 +10,13 @@
|
|||
|
||||
data.raw["utility-constants"]["default"].main_menu_simulations["gas-rig"] = {
|
||||
checkboard = false,
|
||||
save = "__bzgas2__/menu-simulations/gas-rig-sim.zip", length = 15*60,
|
||||
save = "__bzgas__/menu-simulations/gas-rig-sim.zip", length = 15*60,
|
||||
init =
|
||||
[[
|
||||
local logo = game.surfaces.nauvis.find_entities_filtered{
|
||||
name = "factorio-logo-16tiles", limit = 1}[1]
|
||||
game.simulation.camera_position = {logo.position.x, logo.position.y+14}
|
||||
game.simulation.camera_zoom = 0.75
|
||||
game.camera_position = {logo.position.x, logo.position.y+14}
|
||||
game.camera_zoom = 0.75
|
||||
game.tick_paused = false
|
||||
game.surfaces.nauvis.daytime = 0
|
||||
]],
|
||||
BIN
graphics/entity/chemical-plant.png
Normal file
|
After Width: | Height: | Size: 772 KiB |
|
Before Width: | Height: | Size: 2.9 MiB After Width: | Height: | Size: 2.9 MiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 171 KiB After Width: | Height: | Size: 171 KiB |
|
Before Width: | Height: | Size: 2.6 MiB After Width: | Height: | Size: 2.6 MiB |
BIN
graphics/entity/ores/gas-effect.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
graphics/entity/ores/gas.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 9.8 KiB After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
25
info.json
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"name": "bzgas",
|
||||
"version": "0.1.12",
|
||||
"factorio_version": "1.1",
|
||||
"title": "Natural Gas",
|
||||
"author": "Brevven",
|
||||
"contact": "",
|
||||
"homepage": "",
|
||||
"dependencies": [
|
||||
"base >= 1.1.0",
|
||||
"? bzfoundry >= 0.2.1",
|
||||
"? bztitanium >= 1.2.0",
|
||||
"? bzlead >= 1.2.0",
|
||||
"? bzzirconium >= 0.6.0",
|
||||
"? bztungsten >= 0.6.0",
|
||||
"? bzcarbon >= 0.3.0",
|
||||
"? bztin",
|
||||
"? space-exploration >= 0.5.100",
|
||||
"? aai-industry",
|
||||
"? Krastorio2",
|
||||
"? deadlock-beltboxes-loaders",
|
||||
"? DeadlockCrating"
|
||||
],
|
||||
"description": "Adds a natural gas resource, along with early game plastic.\nIntegrates ElAdamo's gas-fired boiler.\n\nCompatible with Krastorio 2 and Space Exploration. A standalone piece of BZ Mods."
|
||||
}
|
||||