INITIAL COMMIT
Some code from bob's for the gasification plant. Planning to remove it
7
Liquid_Fueled_0.1.0/data.lua
Normal file
|
@ -0,0 +1,7 @@
|
|||
--prototype crap
|
||||
require("prototypes.entities")
|
||||
require("prototypes.items")
|
||||
require("prototypes.fluids")
|
||||
require("prototypes.automatic_recipes")
|
||||
require("prototypes.entity_overrides")
|
||||
--require("prototypes.technologies")
|
42
Liquid_Fueled_0.1.0/functions.lua
Normal file
|
@ -0,0 +1,42 @@
|
|||
|
||||
--table of common metric prefixes
|
||||
metric_suffix = {
|
||||
--above 1 --name
|
||||
E = 10^18, --exa
|
||||
P = 10^15, --peta
|
||||
T = 10^12, --tera
|
||||
G = 10^9, --giga
|
||||
M = 10^6, --mega
|
||||
k = 10^3, --kilo
|
||||
h = 10^2, --hecto
|
||||
da = 10^1, --deca
|
||||
--below 1
|
||||
d = 10^-1, --deci
|
||||
c = 10^-2, --centi
|
||||
m = 10^-3 --mili
|
||||
}
|
||||
function string_to_num(str)
|
||||
num = ""
|
||||
for i = 1, #str do
|
||||
local a = str:sub(i,i)
|
||||
if tonumber(a) ~= nil then
|
||||
num = num .. a
|
||||
elseif tonumber(a) == nil and metric_suffix[a] ~= nil then
|
||||
suffix = a
|
||||
end
|
||||
end
|
||||
if suffix ~= nil then
|
||||
return tonumber(num) * metric_suffix[suffix]
|
||||
else
|
||||
return tonumber(num)
|
||||
end
|
||||
end
|
||||
--print(string_to_num("5G43j")) --debug crap
|
||||
|
||||
--Takes a list and recognises the existence of the elements in the list,
|
||||
--allowing it to be used in statements
|
||||
function Set (list)
|
||||
local set = {}
|
||||
for _, l in ipairs(list) do set[l] = true end
|
||||
return set
|
||||
end
|
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 806 B |
After Width: | Height: | Size: 251 B |
BIN
Liquid_Fueled_0.1.0/graphics/chemical-plant/chemical-plant.png
Normal file
After Width: | Height: | Size: 101 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 333 KiB |
10
Liquid_Fueled_0.1.0/info.json
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"name": "Liquid_Fueled",
|
||||
"version": "0.1.0",
|
||||
"factorio_version": "0.17",
|
||||
"title": "Liquid Fueled",
|
||||
"author": "npc_strider(morley376)",
|
||||
"contact": "",
|
||||
"homepage": "http://steamcommunity.com/id/morley376",
|
||||
"description": "Template Description"
|
||||
}
|
55
Liquid_Fueled_0.1.0/prototypes/automatic_recipes.lua
Normal file
|
@ -0,0 +1,55 @@
|
|||
require("functions")
|
||||
|
||||
fuel_blacklist = Set {
|
||||
"fuel-gas",
|
||||
"nuclear-fuel",
|
||||
"rocket-fuel",
|
||||
"solid-fuel"
|
||||
}
|
||||
|
||||
--hidden category
|
||||
data:extend(
|
||||
{{
|
||||
type = "recipe-category",
|
||||
name = "gasification-recipes"
|
||||
}})
|
||||
|
||||
for _, item in pairs(data.raw.item) do
|
||||
if item.fuel_value ~= nil and item.fuel_category == "chemical" and fuel_blacklist[item.name] == nil then
|
||||
local fuel_value = string_to_num(item.fuel_value)
|
||||
local output_amount = math.ceil(fuel_value/10000)
|
||||
local water_amount = math.ceil(fuel_value/100000)
|
||||
--local energy = (output_amount^1.5)/(output_amount^1.1)
|
||||
local energy = 0.25
|
||||
--[[
|
||||
Coal example:
|
||||
4MJ = 4,000,000J
|
||||
4,000,000/10,000 = 400 fuel-gas
|
||||
400*0.01MJ = 4MJ
|
||||
Fuel-Gas == Coal
|
||||
]]
|
||||
local recipe = {
|
||||
type = "recipe",
|
||||
name = "gasification-of-" .. item.name,
|
||||
category = "gasification-recipes",
|
||||
energy_required = energy,
|
||||
enabled = true, --change this to false on release
|
||||
ingredients =
|
||||
{
|
||||
{type="fluid", name="water", amount=water_amount},
|
||||
{type="item", name=item.name, amount=1}
|
||||
},
|
||||
results=
|
||||
{
|
||||
{type="fluid", name="fuel-gas", amount=output_amount, temperature = 25}
|
||||
},
|
||||
crafting_machine_tint =
|
||||
{
|
||||
primary = {r = 0.498, g = 0.498, b = 0.498, a = 0.000}, -- #7f7f7f00
|
||||
secondary = {r = 0.400, g = 0.400, b = 0.400, a = 0.000}, -- #66666600
|
||||
tertiary = {r = 0.305, g = 0.305, b = 0.305, a = 0.000}, -- #4d4d4d00
|
||||
}
|
||||
}
|
||||
data:extend({recipe})
|
||||
end
|
||||
end
|
249
Liquid_Fueled_0.1.0/prototypes/entities.lua
Normal file
|
@ -0,0 +1,249 @@
|
|||
|
||||
mod_scale = 2/3
|
||||
|
||||
data:extend(
|
||||
{
|
||||
{
|
||||
type = "assembling-machine",
|
||||
name = "gasification-plant",
|
||||
icon = "__base__/graphics/icons/chemical-plant.png",
|
||||
icon_size = 32,
|
||||
flags = {"placeable-neutral","placeable-player", "player-creation"},
|
||||
minable = {hardness = 0.2, mining_time = 0.5, result = "gasification-plant"},
|
||||
max_health = 300,
|
||||
corpse = "big-remnants",
|
||||
dying_explosion = "medium-explosion",
|
||||
collision_box = {{-0.8, -0.8}, {0.8, 0.8}},
|
||||
selection_box = {{-0.9, -0.9}, {0.9, 0.9}},
|
||||
--[[module_specification =
|
||||
{
|
||||
module_slots = 3
|
||||
},
|
||||
allowed_effects = {"consumption", "speed", "productivity", "pollution"},]]
|
||||
|
||||
animation = make_4way_animation_from_spritesheet({ layers =
|
||||
{
|
||||
{
|
||||
filename = "__base__/graphics/entity/chemical-plant/chemical-plant.png",
|
||||
width = 122,
|
||||
height = 134,
|
||||
frame_count = 1,
|
||||
shift = util.by_pixel(-5, -4.5),
|
||||
scale = mod_scale,
|
||||
hr_version = {
|
||||
filename = "__base__/graphics/entity/chemical-plant/hr-chemical-plant.png",
|
||||
width = 244,
|
||||
height = 268,
|
||||
frame_count = 1,
|
||||
shift = util.by_pixel(-5, -4.5),
|
||||
scale = 0.5 * mod_scale
|
||||
}
|
||||
},
|
||||
{
|
||||
filename = "__base__/graphics/entity/chemical-plant/chemical-plant-shadow.png",
|
||||
width = 175,
|
||||
height = 110,
|
||||
frame_count = 1,
|
||||
shift = util.by_pixel(31.5, 11),
|
||||
scale = mod_scale,
|
||||
draw_as_shadow = true,
|
||||
hr_version = {
|
||||
filename = "__base__/graphics/entity/chemical-plant/hr-chemical-plant-shadow.png",
|
||||
width = 350,
|
||||
height = 219,
|
||||
frame_count = 1,
|
||||
shift = util.by_pixel(31.5, 10.75),
|
||||
draw_as_shadow = true,
|
||||
scale = 0.5 * mod_scale
|
||||
}
|
||||
},
|
||||
}}),
|
||||
working_visualisations =
|
||||
{
|
||||
{
|
||||
north_position = util.by_pixel(30, -24),
|
||||
west_position = util.by_pixel(1, -49.5),
|
||||
south_position = util.by_pixel(-30, -48),
|
||||
east_position = util.by_pixel(-11, -1),
|
||||
apply_recipe_tint = "primary",
|
||||
animation =
|
||||
{
|
||||
filename = "__base__/graphics/entity/chemical-plant/boiling-green-patch.png",
|
||||
frame_count = 32,
|
||||
width = 15,
|
||||
height = 10,
|
||||
animation_speed = 0.5,
|
||||
scale = mod_scale,
|
||||
hr_version = {
|
||||
filename = "__base__/graphics/entity/chemical-plant/hr-boiling-green-patch.png",
|
||||
frame_count = 32,
|
||||
width = 30,
|
||||
height = 20,
|
||||
animation_speed = 0.5,
|
||||
scale = 0.5 * mod_scale
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
north_position = util.by_pixel(30, -24),
|
||||
west_position = util.by_pixel(1, -49.5),
|
||||
south_position = util.by_pixel(-30, -48),
|
||||
east_position = util.by_pixel(-11, -1),
|
||||
apply_recipe_tint = "secondary",
|
||||
animation =
|
||||
{
|
||||
filename = "__base__/graphics/entity/chemical-plant/boiling-green-patch-mask.png",
|
||||
frame_count = 32,
|
||||
width = 15,
|
||||
height = 10,
|
||||
animation_speed = 0.5,
|
||||
scale = mod_scale,
|
||||
hr_version = {
|
||||
filename = "__base__/graphics/entity/chemical-plant/hr-boiling-green-patch-mask.png",
|
||||
frame_count = 32,
|
||||
width = 30,
|
||||
height = 20,
|
||||
animation_speed = 0.5,
|
||||
scale = 0.5 * mod_scale
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
apply_recipe_tint = "tertiary",
|
||||
north_position = {0, 0},
|
||||
west_position = {0, 0},
|
||||
south_position = {0, 0},
|
||||
east_position = {0, 0},
|
||||
north_animation =
|
||||
{
|
||||
filename = "__base__/graphics/entity/chemical-plant/boiling-window-green-patch.png",
|
||||
frame_count = 1,
|
||||
width = 87,
|
||||
height = 60,
|
||||
shift = util.by_pixel(0, -5),
|
||||
scale = mod_scale,
|
||||
hr_version = {
|
||||
filename = "__base__/graphics/entity/chemical-plant/hr-boiling-window-green-patch.png",
|
||||
x = 0,
|
||||
frame_count = 1,
|
||||
width = 174,
|
||||
height = 119,
|
||||
shift = util.by_pixel(0, -5.25),
|
||||
scale = 0.5 * mod_scale
|
||||
}
|
||||
},
|
||||
east_animation =
|
||||
{
|
||||
filename = "__base__/graphics/entity/chemical-plant/boiling-window-green-patch.png",
|
||||
x = 87,
|
||||
frame_count = 1,
|
||||
width = 87,
|
||||
height = 60,
|
||||
shift = util.by_pixel(0, -5),
|
||||
scale = mod_scale,
|
||||
hr_version = {
|
||||
filename = "__base__/graphics/entity/chemical-plant/hr-boiling-window-green-patch.png",
|
||||
x = 174,
|
||||
frame_count = 1,
|
||||
width = 174,
|
||||
height = 119,
|
||||
shift = util.by_pixel(0, -5.25),
|
||||
scale = 0.5 * mod_scale
|
||||
}
|
||||
},
|
||||
south_animation =
|
||||
{
|
||||
filename = "__base__/graphics/entity/chemical-plant/boiling-window-green-patch.png",
|
||||
x = 174,
|
||||
frame_count = 1,
|
||||
width = 87,
|
||||
height = 60,
|
||||
shift = util.by_pixel(0, -5),
|
||||
scale = mod_scale,
|
||||
hr_version = {
|
||||
filename = "__base__/graphics/entity/chemical-plant/hr-boiling-window-green-patch.png",
|
||||
x = 348,
|
||||
frame_count = 1,
|
||||
width = 174,
|
||||
height = 119,
|
||||
shift = util.by_pixel(0, -5.25),
|
||||
scale = 0.5 * mod_scale
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
|
||||
working_sound =
|
||||
{
|
||||
sound =
|
||||
{
|
||||
{
|
||||
filename = "__base__/sound/boiler.ogg",
|
||||
volume = 0.8
|
||||
}
|
||||
},
|
||||
idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.6 },
|
||||
apparent_volume = 1.5,
|
||||
},
|
||||
crafting_speed = 1.25,
|
||||
energy_source =
|
||||
{
|
||||
type = "burner",
|
||||
fuel_category = "chemical",
|
||||
effectivity = 0.9,
|
||||
emissions = 0.03 / 3.5,
|
||||
fuel_inventory_size = 1,
|
||||
--[[smoke =
|
||||
{
|
||||
{
|
||||
name = "smoke",
|
||||
frequency = 10,
|
||||
position = {0.7, -1.2},
|
||||
starting_vertical_speed = 0.08,
|
||||
starting_frame_deviation = 60
|
||||
}
|
||||
}]]
|
||||
},
|
||||
--[[energy_source =
|
||||
{
|
||||
type = "electric",
|
||||
usage_priority = "secondary-input",
|
||||
emissions = 0.03 / 3.5
|
||||
},]]
|
||||
energy_usage = "210kW",
|
||||
ingredient_count = 4,
|
||||
crafting_categories = {"gasification-recipes"},
|
||||
fluid_boxes =
|
||||
{
|
||||
{
|
||||
production_type = "input",
|
||||
pipe_covers = pipecoverspictures(),
|
||||
base_area = 10,
|
||||
base_level = -1,
|
||||
pipe_connections = {{ type="input", position = {-0.5, -1.5} }}
|
||||
},
|
||||
--[[
|
||||
{
|
||||
production_type = "input",
|
||||
pipe_covers = pipecoverspictures(),
|
||||
base_area = 10,
|
||||
base_level = -1,
|
||||
pipe_connections = {{ type="input", position = {1, -2} }}
|
||||
},]]
|
||||
{
|
||||
production_type = "output",
|
||||
pipe_covers = pipecoverspictures(),
|
||||
base_level = 1,
|
||||
pipe_connections = {{ position = {-0.5, 1.5} }}
|
||||
}
|
||||
--[[
|
||||
{
|
||||
production_type = "output",
|
||||
pipe_covers = pipecoverspictures(),
|
||||
base_level = 1,
|
||||
pipe_connections = {{ position = {1, 2} }}
|
||||
}]]
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
51
Liquid_Fueled_0.1.0/prototypes/entity_overrides.lua
Normal file
|
@ -0,0 +1,51 @@
|
|||
|
||||
local entities = {
|
||||
{type="furnace", name="steel-furnace"},
|
||||
{type="assembling-machine", name="assembling-machine-1"},
|
||||
{type="assembling-machine", name="assembling-machine-2"},
|
||||
}
|
||||
|
||||
for _, entities in pairs(entities) do
|
||||
local entity = util.table.deepcopy(data.raw[entities.type][entities.name])
|
||||
local smoke = entity.energy_source.smoke
|
||||
local item = util.table.deepcopy(data.raw["item"][entities.name])
|
||||
item.name = "liquid-" .. entity.name
|
||||
item.place_result = "liquid-" .. entity.name
|
||||
data:extend({item})
|
||||
entity.name = "liquid-" .. entity.name
|
||||
entity.minable.result = entity.name
|
||||
entity.energy_source = {
|
||||
type = "fluid",
|
||||
fuel_category = "basic-fuel",
|
||||
effectivity = 1,
|
||||
emissions = 0.02,
|
||||
fuel_inventory_size = 1,
|
||||
maximum_temperature = 40.0,
|
||||
scale_fluid_usage = true,
|
||||
smoke = smoke,
|
||||
fluid_box =
|
||||
{
|
||||
production_type = "input",
|
||||
pipe_picture = assembler2pipepictures(),
|
||||
pipe_covers = pipecoverspictures(),
|
||||
base_area = 5,
|
||||
base_level = -1,
|
||||
filter = "fuel-gas",
|
||||
pipe_connections = {{ type="input", position = {-0.5, -1.5}}}
|
||||
}
|
||||
}
|
||||
if entity.fluid_boxes == nil then
|
||||
entity.fluid_boxes = {}
|
||||
end
|
||||
entity.fluid_boxes[#entity.fluid_boxes+1] =
|
||||
{
|
||||
production_type = "output",
|
||||
-- pipe_covers = pipecoverspictures(), --TODO: ADD NULL PIPE COVER PICTURES
|
||||
base_area = 10^-5,
|
||||
base_level = 0,
|
||||
-- filter = "water", --TODO: ADD NULL FILTER WITH NULL IMAGE. try the filter = "none" first
|
||||
pipe_connections = {{ type="output", position = {0, entity.selection_box[2][2]}}}
|
||||
}
|
||||
entity.fluid_boxes.off_when_no_fluid_recipe = false
|
||||
data:extend({entity})
|
||||
end
|
26
Liquid_Fueled_0.1.0/prototypes/fluids.lua
Normal file
|
@ -0,0 +1,26 @@
|
|||
|
||||
|
||||
data:extend(
|
||||
{
|
||||
{
|
||||
type = "fuel-category",
|
||||
name = "basic-fuel"
|
||||
},
|
||||
{
|
||||
type = "fluid",
|
||||
name = "fuel-gas",
|
||||
default_temperature = 24,
|
||||
base_color = {r=0, g=0, b=0},
|
||||
flow_color = {r=0.5, g=0.5, b=0.5},
|
||||
max_temperature = 1000,
|
||||
icon = "__base__/graphics/icons/fluid/crude-oil.png",
|
||||
icon_size = 32,
|
||||
pressure_to_speed_ratio = 0.4,
|
||||
flow_to_energy_ratio = 0.59,
|
||||
heat_capacity = "0.01MJ",
|
||||
fuel_value = "0.01MJ",
|
||||
fuel_category = "basic-fuel",
|
||||
order = "a[fluid]-b[crude-oil]"
|
||||
}
|
||||
}
|
||||
)
|
24
Liquid_Fueled_0.1.0/prototypes/items.lua
Normal file
|
@ -0,0 +1,24 @@
|
|||
data:extend(
|
||||
{
|
||||
{
|
||||
type = "item",
|
||||
name = "gasification-plant",
|
||||
icon = "__base__/graphics/icons/chemical-plant.png",
|
||||
icon_size = 32,
|
||||
subgroup = "production-machine",
|
||||
order = "e[gasification-plant]",
|
||||
place_result = "gasification-plant",
|
||||
stack_size = 50
|
||||
},
|
||||
{
|
||||
type = "item",
|
||||
name = "liquid-steel-furnace",
|
||||
icon = "__base__/graphics/icons/steel-furnace.png",
|
||||
icon_size = 32,
|
||||
subgroup = "smelting-machine",
|
||||
order = "b[liquid-steel-furnace]",
|
||||
place_result = "liquid-steel-furnace",
|
||||
stack_size = 50
|
||||
},
|
||||
}
|
||||
)
|
0
Liquid_Fueled_0.1.0/prototypes/recipes.lua
Normal file
6
Liquid_Fueled_0.1.0/prototypes/technologies.lua
Normal file
|
@ -0,0 +1,6 @@
|
|||
data:extend(
|
||||
{
|
||||
{
|
||||
}
|
||||
}
|
||||
)
|