Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require "prefabutil"
- require "recipe"
- require "modutil"
- local assets=
- {
- Asset("ANIM", "anim/myprefab_build.zip"),
- Asset("ATLAS", "images/inventoryimages/myprefab.xml"),
- Asset("IMAGE", "images/inventoryimages/myprefab.tex"),
- }
- local prefabs = {}
- local function onhammered(inst, worker)
- inst.components.lootdropper:DropLoot()
- inst.SoundEmitter:PlaySound("dontstarve/common/destroy_wood")
- inst:Remove()
- end
- local slotpos = {}
- for y = 2, 1, -1 do
- for x = 0, 2 do
- table.insert(slotpos, Vector3(80*x-80*2+80, 80*y-80*2+80,0))
- end
- end
- local myprefab =
- {
- }
- local function onopen(inst)
- end
- local function onclose(inst)
- end
- local function onbuilt(inst)
- inst.AnimState:PlayAnimation("idle")
- inst.AnimState:PushAnimation("idle", false)
- end
- local function fn(Sim)
- local inst = CreateEntity()
- inst.entity:AddTransform()
- inst.entity:AddAnimState()
- inst.entity:AddSoundEmitter()
- inst.entity:AddNetwork()
- local minimap = inst.entity:AddMiniMapEntity()
- minimap:SetIcon( "myprefab.tex" )
- inst:AddTag("structure")
- MakeObstaclePhysics(inst, .5)
- inst.AnimState:SetBank("myprefab")
- inst.AnimState:SetBuild("myprefab")
- inst.AnimState:PlayAnimation("idle")
- if not TheWorld.ismastersim then
- return inst
- end
- inst.entity:SetPristine()
- inst:AddComponent("container")
- inst.components.container:WidgetSetup("myprefab", myprefab)
- inst.components.container.onopenfn = onopen
- inst.components.container.onclosefn = onclose
- inst:AddComponent("inspectable")
- inst.components.inspectable.getstatus = getstatus
- inst:AddComponent("lootdropper")
- inst:AddComponent("workable")
- inst.components.workable:SetWorkAction(ACTIONS.HAMMER)
- inst.components.workable:SetWorkLeft(4)
- inst.components.workable:SetOnFinishCallback(onhammered)
- return inst
- end
- return Prefab( "common/myprefab", fn, assets, prefabs),
- MakePlacer( "common/myprefab", "myprefab", "myprefab", "idle" )
Advertisement
Add Comment
Please, Sign In to add comment