Page 1 of 1

steam output power not work

Posted: Thu May 16, 2024 6:59 pm
by aliakbartnt
hi guys i am noob with moding and i want just simple mod for upgrade steam engine

my custom item work but output power not change and its vanilla

my item.lua:

Code: Select all

--item.lua

local steam_engine = table.deepcopy(data.raw.item["steam-engine"])
 
	
	steam_engine.name = "steam engine 2"
	
	steam_engine.icon = "__base__/graphics/icons/steam-engine.png"
	steam_engine.stack_size = 100
	steam_engine.icon_size = 64
	steam_engine.effectivity = 1
	
	steam_engine.max_power_output = "2KW"
	steam_engine.maximum_temperature = 500
	steam_engine.fluid_usage_per_tick = 32
	

 
data:extend({
	steam_engine
})
my recipe.lua :

Code: Select all

--recipe.lua

local steamrecipe = table.deepcopy(data.raw.recipe["steam-engine"])
	steamrecipe.name = "steam-engine-2"
	steamrecipe.enabled = true
	
	steamrecipe.ingredients = {{"steam-engin", 1}, {"iron-plate", 3}}
		
	
	steamrecipe.results = {{name = "steam-engine-2", amount = 1}}
	-- energy_required = 1
	steamrecipe.category = "crafting-with-fluid"
	steamrecipe.group = "production"
	steamrecipe.subgroup = "energy"
	steamrecipe.order = "a"
	steamrecipe.max_power_output = "2KW"
	steamrecipe.maximum_temperature = 500
	steamrecipe.fluid_usage_per_tick = 32


data:extend({
	steamrecipe
})

local steamregen = table.deepcopy(data.raw.generator["steam-engine"])
	steamregen.name = "steam-engine-2"
	steamregen.enabled = true
	
	steamregen.ingredients = {{"steam-engin", 1}, {"iron-plate", 3}}
		
	
	steamregen.results = {{name = "steam-engine-2", amount = 1}}
	-- energy_required = 1
	steamregen.category = "crafting-with-fluid"
	steamregen.group = "production"
	steamregen.subgroup = "energy"
	steamregen.order = "a"
	steamregen.max_power_output = "2KW"
	steamregen.maximum_temperature = 500
	steamregen.fluid_usage_per_tick = 32
data:extend({
	steamregen
})


why my outpute power not change ? i change max temp but its not work and show a vanilla value pls help me
my custom item but output power not change and its vanilla
my custom item but output power not change and its vanilla
Screenshot (590).png (3.94 MiB) Viewed 972 times

Re: steam output power not work

Posted: Thu May 16, 2024 9:48 pm
by robot256
Items are only the things held in inventory. Right now your new item places the same old engine entity. You need to make a new Entity and change the placement links for it to be different when you place it.

Re: steam output power not work

Posted: Fri May 17, 2024 12:01 pm
by aliakbartnt
robot256 wrote: Thu May 16, 2024 9:48 pm Items are only the things held in inventory. Right now your new item places the same old engine entity. You need to make a new Entity and change the placement links for it to be different when you place it.
how i can do it ?

Re: steam output power not work

Posted: Sat May 18, 2024 4:27 pm
by robot256
The entity for the steam engine is stored in `data.raw.generator["steam-engine"]` and the prototype parameters for the generator entity can be found in the documentation at https://lua-api.factorio.com/latest/pro ... otype.html

Do another copy.deepcopy of the entity entry, rename it, and change the max power output parameter. You'll also have to change the mining result and the "placed by" parameters to your new item.

Re: steam output power not work

Posted: Sat May 18, 2024 5:28 pm
by aliakbartnt
robot256 wrote: Sat May 18, 2024 4:27 pm The entity for the steam engine is stored in `data.raw.generator["steam-engine"]` and the prototype parameters for the generator entity can be found in the documentation at https://lua-api.factorio.com/latest/pro ... otype.html

Do another copy.deepcopy of the entity entry, rename it, and change the max power output parameter. You'll also have to change the mining result and the "placed by" parameters to your new item.
your mean this ? :

local steamrecipe = table.deepcopy(data.raw.entity["steam-engine"])
steamrecipe.name = "steam-engine-2"
steamrecipe.enabled = true

steamrecipe.ingredients = {{"steam-engine", 1}, {"iron-plate", 3}}


minable = { mining_time = 1, result = "steam-engine-2" },
steamrecipe.max_power_output = "2KW"
steamrecipe.maximum_temperature = 500
steamrecipe.fluid_usage_per_tick = 32

Re: steam output power not work

Posted: Sat May 18, 2024 5:50 pm
by robot256
1. You still need all the code you already had, which was correct. steamrecipe should stay the same, and you add a new section for e.g. steamentity

2. What I wrote was correct. Items are stored in data.raw.item, but entities are stored in many different categories, like data.raw.armor and data.raw["transport-belt"]. You have to use the right category name to get the prototype you want. In the prototype list page, it shows in quotes the key inside data.raw for each type of entity. Steam engine is in the 'generator' category.

Re: steam output power not work

Posted: Sat May 18, 2024 5:54 pm
by aliakbartnt
robot256 wrote: Sat May 18, 2024 5:50 pm 1. You still need all the code you already had, which was correct. steamrecipe should stay the same, and you add a new section for e.g. steamentity

2. What I wrote was correct. Items are stored in data.raw.item, but entities are stored in many different categories, like data.raw.armor and data.raw["transport-belt"]. You have to use the right category name to get the prototype you want. In the prototype list page, it shows in quotes the key inside data.raw for each type of entity. Steam engine is in the 'generator' category.
near this ?
local steamregen = table.deepcopy(data.raw.generator["steam-engine"])
steamregen.name = "steam-engine-2"
steamregen.enabled = true

steamregen.ingredients = {{"steam-engin", 1}, {"iron-plate", 3}}


steamregen.results = {{name = "steam-engine-2", amount = 1}}
-- energy_required = 1
steamregen.category = "crafting-with-fluid"
steamregen.group = "production"
steamregen.subgroup = "energy"
steamregen.order = "a"
steamregen.max_power_output = "2KW"
steamregen.maximum_temperature = 500
steamregen.fluid_usage_per_tick = 32
data:extend({
steamregen
})

if yes i am using this code i my recipe.lua and its not work

Re: steam output power not work

Posted: Sat May 18, 2024 6:05 pm
by aliakbartnt
aliakbartnt wrote: Sat May 18, 2024 5:54 pm
robot256 wrote: Sat May 18, 2024 5:50 pm 1. You still need all the code you already had, which was correct. steamrecipe should stay the same, and you add a new section for e.g. steamentity

2. What I wrote was correct. Items are stored in data.raw.item, but entities are stored in many different categories, like data.raw.armor and data.raw["transport-belt"]. You have to use the right category name to get the prototype you want. In the prototype list page, it shows in quotes the key inside data.raw for each type of entity. Steam engine is in the 'generator' category.
near this ?
local steamregen = table.deepcopy(data.raw.generator["steam-engine"])
steamregen.name = "steam-engine-2"
steamregen.enabled = true

steamregen.ingredients = {{"steam-engin", 1}, {"iron-plate", 3}}


steamregen.results = {{name = "steam-engine-2", amount = 1}}
-- energy_required = 1
steamregen.category = "crafting-with-fluid"
steamregen.group = "production"
steamregen.subgroup = "energy"
steamregen.order = "a"
steamregen.max_power_output = "2KW"
steamregen.maximum_temperature = 500
steamregen.fluid_usage_per_tick = 32
data:extend({
steamregen
})

if yes i am using this code i my recipe.lua and its not work
i think i know wahts your mean . your mean this ? :

local steament = data.raw.generator["steam-engine-2"]
steament.name = "steam-engine-2"
steament.max_power_output = "2KW"
steament.maximum_temperature = 500




data:extend({
steament
})

Re: steam output power not work

Posted: Sat May 18, 2024 7:00 pm
by robot256
Yeah, the second one. That should get you close enough to start seeing results in the game!

Re: steam output power not work

Posted: Sat May 18, 2024 7:33 pm
by aliakbartnt
robot256 wrote: Sat May 18, 2024 7:00 pm Yeah, the second one. That should get you close enough to start seeing results in the game!
its not work bro i try it this code :

Code: Select all

--recipe.lua

local steamrecipe = table.deepcopy(data.raw.recipe["steam-engine"])
	steamrecipe.name = "steam-engine-2"
	steamrecipe.enabled = true
	
	steamrecipe.ingredients = {{"steam-engine", 1}, {"iron-plate", 3}}
		
	
	steamrecipe.results = {{name = "steam-engines-2", amount = 1}}
	-- energy_required = 1
	steamrecipe.category = "crafting-with-fluid"
	steamrecipe.group = "production"
	steamrecipe.subgroup = "energy"
	steamrecipe.order = "a"
	steamrecipe.max_power_output = "2KW"
	steamrecipe.maximum_temperature = 500
	steamrecipe.fluid_usage_per_tick = 32


data:extend({
	steamrecipe
})

local steamregen = table.deepcopy(data.raw.generator["steam-engine"])
	steamregen.name = "steam-engine-2"
	steamregen.enabled = true
	
	steamregen.ingredients = {{"steam-engin", 1}, {"iron-plate", 3}}
		
	
	steamregen.results = {{name = "steam-engine-2", amount = 1}}
	-- energy_required = 1
	steamregen.category = "crafting-with-fluid"
	steamregen.group = "production"
	steamregen.subgroup = "energy"
	steamregen.order = "a"
	steamregen.max_power_output = "2KW"
	steamregen.maximum_temperature = 500
	steamregen.fluid_usage_per_tick = 32
data:extend({
	steamregen
})
local steament = data.raw.generator["steam-engine-2"]
	steament.name = "steam-engine-2"
	steament.max_power_output = "2KW"
	steament.maximum_temperature = 500
	
	steament.ingredients = {{"steam-engin", 1}, {"iron-plate", 3}}
	steament.minable = {mining_time = 2, result = "steam-engine-2"}	
	
	steament.results = {{name = "steam-engine-2", amount = 1}}
    
	
data:extend({
	steament
})
please say me whats problem ?

Re: steam output power not work

Posted: Sat May 18, 2024 8:06 pm
by robot256
There's a bunch of typos "engin" "engines", you're copying the entity twice instead if the item and the entity, the last one "steament" doesn't use the table.copy function at all. and a bunch of parameters that don't apply to the respective item/recipe/entity. Please go read the code from another mod that works and base yours on that one. Here's a good one: https://github.com/LsHallo/advanced-ele ... vamped-v16

Re: steam output power not work

Posted: Sat May 18, 2024 8:08 pm
by aliakbartnt
robot256 wrote: Sat May 18, 2024 8:06 pm There's a bunch of typos "engin" "engines", you're copying the entity twice instead if the item and the entity, the last one "steament" doesn't use the table.copy function at all. and a bunch of parameters that don't apply to the respective item/recipe/entity. Please go read the code from another mod that works and base yours on that one. Here's a good one: https://github.com/LsHallo/advanced-ele ... vamped-v16
ok i try it thx you