Update backpacks with kingdoms_game version
This commit is contained in:
parent
a7a9fa04fd
commit
88c3caedac
55
init.lua
55
init.lua
@ -99,17 +99,21 @@ end
|
|||||||
minetest.after(CLEANUP_PERIOD__S, cleanInventory)
|
minetest.after(CLEANUP_PERIOD__S, cleanInventory)
|
||||||
|
|
||||||
dropbackpack = function(player)
|
dropbackpack = function(player)
|
||||||
local name = player:get_player_name()
|
local player = player
|
||||||
if player_backpack[name] then
|
minetest.after(.1, function(player)
|
||||||
local pos = player:getpos()
|
local name = player:get_player_name()
|
||||||
local pack = player_backpack[name]
|
if player_backpack[name] then
|
||||||
local obj = pack.object
|
local pos = player:getpos()
|
||||||
pos.y = pos.y + 0.4
|
local pack = player_backpack[name]
|
||||||
pack.owner = nil
|
local obj = pack.object
|
||||||
obj:set_detach()
|
pos.y = pos.y + 0.4
|
||||||
obj:setpos(pos)
|
pack.owner = nil
|
||||||
player_backpack[name] = nil
|
obj:set_detach()
|
||||||
end
|
local addnewentity = rezEntity(nil, pos, player, pack.contents)
|
||||||
|
if addnewentity then obj:remove() end
|
||||||
|
player_backpack[name] = nil
|
||||||
|
end
|
||||||
|
end, player)
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_on_leaveplayer(function(player)
|
minetest.register_on_leaveplayer(function(player)
|
||||||
@ -280,11 +284,11 @@ minetest.register_entity(
|
|||||||
loop = false
|
loop = false
|
||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
on_step = function(self, dt)
|
--[[on_step = function(self, dt)
|
||||||
if self.owner then
|
if self.owner then
|
||||||
self.object:setpos(self.owner:getpos())
|
self.object:setpos(self.owner:getpos())
|
||||||
end
|
end
|
||||||
end
|
end--]]
|
||||||
--[[on_step = function(self, dt)
|
--[[on_step = function(self, dt)
|
||||||
self.timer = self.timer - dt
|
self.timer = self.timer - dt
|
||||||
if self.timer > 0.0 then return end
|
if self.timer > 0.0 then return end
|
||||||
@ -380,7 +384,7 @@ minetest.register_entity(
|
|||||||
end--]]
|
end--]]
|
||||||
})
|
})
|
||||||
|
|
||||||
local function rezEntity(stack, pos, player)
|
function rezEntity(stack, pos, player, contents)
|
||||||
local x = pos.x
|
local x = pos.x
|
||||||
local y = math.floor(pos.y)
|
local y = math.floor(pos.y)
|
||||||
local z = pos.z
|
local z = pos.z
|
||||||
@ -396,15 +400,16 @@ local function rezEntity(stack, pos, player)
|
|||||||
|
|
||||||
local obj = minetest.env:add_entity(pos, "backpack:bag_entity")
|
local obj = minetest.env:add_entity(pos, "backpack:bag_entity")
|
||||||
if not obj then return stack end
|
if not obj then return stack end
|
||||||
|
if stack then
|
||||||
local contentData = stack:get_metadata()
|
local contentData = stack:get_metadata()
|
||||||
local contents = deserializeContents(contentData)
|
contents = deserializeContents(contentData)
|
||||||
if contents then
|
obj:set_hp(BAG_MAX_HP - BAG_MAX_HP * stack:get_wear() / 2^16)
|
||||||
obj:get_luaentity().contents = contents
|
end
|
||||||
end
|
if contents then
|
||||||
|
obj:get_luaentity().contents = contents
|
||||||
obj:set_hp(BAG_MAX_HP - BAG_MAX_HP * stack:get_wear() / 2^16)
|
end
|
||||||
|
obj:set_hp(4)
|
||||||
|
|
||||||
minetest.sound_play(
|
minetest.sound_play(
|
||||||
DROP_BAG_SOUND,
|
DROP_BAG_SOUND,
|
||||||
{
|
{
|
||||||
@ -421,7 +426,7 @@ end
|
|||||||
minetest.register_tool(
|
minetest.register_tool(
|
||||||
"backpack:backpack",
|
"backpack:backpack",
|
||||||
{
|
{
|
||||||
description = "Backpack",
|
description = "Backpack (WORK IN PROGRESS, USE AT YOUR OWN RISK)",
|
||||||
groups = { bag = BAG_WIDTH*BAG_HEIGHT, flammable = 1 },
|
groups = { bag = BAG_WIDTH*BAG_HEIGHT, flammable = 1 },
|
||||||
inventory_image = "inventory_plus_backpack.png",
|
inventory_image = "inventory_plus_backpack.png",
|
||||||
wield_image = "inventory_plus_backpack.png",
|
wield_image = "inventory_plus_backpack.png",
|
||||||
@ -460,4 +465,4 @@ minetest.register_craft(
|
|||||||
{ "group:wool", "", "group:wool" },
|
{ "group:wool", "", "group:wool" },
|
||||||
{ "group:wool", "group:wool", "group:wool" },
|
{ "group:wool", "group:wool", "group:wool" },
|
||||||
}
|
}
|
||||||
})
|
})
|
Loading…
x
Reference in New Issue
Block a user