Item Categories and SubCategories Help
Posted: Sat Feb 10, 2024 1:14 pm
				
				I am making a mod and it adds an Item Category and Item SubCategory and they don't show up ingame, even though the mod adds items/recipes to those SubCategories.
Code (which adds the Categories/SubCategories):
The game loads as normal, with no immediate errors in the script.
This is the code which makes some recipes and then adds it to the above SubCategory (It also makes items):
Please help!
			Code (which adds the Categories/SubCategories):
Code: Select all
local RocketItemCategory = table.deepcopy(data.raw['item-group']['production'])
RocketItemCategory.name = 'mrw:rocket-construction'
RocketItemCategory.icon = '__base__/graphics/icons/rocket-part.png'
RocketItemCategory.icon_size = 64
RocketItemCategory.icon_mipmaps = 4
RocketItemCategory.order = 'e'
data:extend({RocketItemCategory})
local RocketPartSubCategory = table.deepcopy(data.raw['item-subgroup']['space-related'])
RocketPartSubCategory.name = 'mrw:rocket-parts'
RocketPartSubCategory.group = 'mrw:rocket-construction'
RocketPartSubCategory.order = 'a'
data:extend({RocketPartSubCategory})
This is the code which makes some recipes and then adds it to the above SubCategory (It also makes items):
Code: Select all
function DefineRocketPart(name, ingredients, failure_chance)
    name = 'mrw:' .. name
    if data.raw['technology']['mrw:rocket-part-assembly'] == nil then
        CreateTechnologies('RPA')
    end
    local Item = table.deepcopy(data.raw['item']['rocket-part'])
    Item.name = name
    data:extend({Item})
    local Recipe = table.deepcopy(data.raw['recipe']['rocket-part'])
    Recipe.name = name
    Recipe.ingredients = ingredients
    Recipe.result = nil
    Recipe.result_count = nil
    Recipe.normal = nil
    Recipe.expensive = nil
    Recipe.results = {{type = 'item', name = name, amount = 1, probability = 1 - failure_chance}}
    for i, ingredient in pairs(ingredients) do
        ingredient.probability = failure_chance
        table.insert(Recipe.results, ingredient)
    end
    Recipe.main_product = name
    Recipe.subgroup = 'mrw:rocket-parts'
    data:extend({Recipe})
end