Jump to content

Recommended Posts

I'm trying to port the Leafy Meat recipes to Don't Starve, I don't see the image of the food on the crock pot.
A message is printed on the console : "Can't find prefab leafymeatsouffle".
I already put the prefab on modmain.lua

local assets =
{
    Asset("ANIM", "anim/cook_pot_food4.zip"),
}

local prefabs =
{
    "spoiled_food",
}

local function fn()
    local inst = CreateEntity()

    inst.entity:AddTransform()
    inst.entity:AddAnimState()
    inst.entity:AddNetwork()

    MakeInventoryPhysics(inst)

    inst.AnimState:SetBank("cook_pot_food4")
    inst.AnimState:SetBuild("cook_pot_food4")
    inst.AnimState:PlayAnimation("idle")

    MakeInventoryFloatable(inst, "small", 0.2, 0.95)

    inst.entity:SetPristine()

    if not TheWorld.ismastersim then
        return inst
    end
    inst:AddComponent("inspectable")
    inst:AddComponent("inventoryitem")

    inst:AddComponent("edible")
    inst.components.edible.foodtype = "MEAT"
    inst.components.edible.healthvalue = TUNING.CALORIES_LARGE
    inst.components.edible.hungervalue = TUNING.PERISH_FAST
    inst.components.edible.sanityvalue = TUNING.SANITY_HUGE

    inst:AddComponent("perishable")
    inst.components.perishable:SetPerishTime(TUNING.PERISH_FAST)
    inst.components.perishable:StartPerishing()
    inst.components.perishable.onperishreplacement = "spoiled_food"

    inst:AddComponent("stackable")
    inst.components.stackable.maxsize = TUNING.STACK_SIZE_LARGEITEM

    inst.replica.inventoryitem:SetImage("leafymeatsouffle")
    inst.components.inventoryitem.atlasname = "images/inventoryimages/leafymeatsouffle.xml"

    MakeHauntableLaunch(inst)

    return inst
end

return Prefab("common/inventory/leafymeatsouffle", fn, assets, prefabs )

log.txt

Link to comment
https://forums.kleientertainment.com/forums/topic/120410-cant-find-prefab/
Share on other sites

1) the error message in your attached log is "Could not find anim build leafymeatsouffle". is the animation ok? and is the name correct? 

2) you are talking about ds not dst? there is no "replica". you should remove it ( inst.replica.inventoryitem:SetImage("leafymeatsouffle"))

3) i think you need to import the inventory images too, not only the animation

local assets =
{
	Asset("ANIM", "anim/XX.zip"),	
    Asset("ATLAS", "images/inventoryimages/XX.xml"),
    Asset("IMAGE", "images/inventoryimages/XX.tex"),
}

 

  • Like 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...