Prevent potential loss of translocator in lag.
This commit is contained in:
parent
a8a058ac8b
commit
95c3acbe11
1 changed files with 10 additions and 7 deletions
|
@ -368,11 +368,13 @@ local function trans_place(itemstack, placer, pointed_thing)
|
||||||
print('* Fun Caves: high error in translocator storage')
|
print('* Fun Caves: high error in translocator storage')
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
local ret, place_good = minetest.item_place_node(itemstack, placer, pointed_thing)
|
||||||
|
if place_good then
|
||||||
pair[#pair+1] = pos
|
pair[#pair+1] = pos
|
||||||
local ret = minetest.item_place_node(itemstack, placer, pointed_thing)
|
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
meta:set_string('id', data.id)
|
meta:set_string('id', data.id)
|
||||||
return ret
|
end
|
||||||
|
return ret, place_good
|
||||||
end
|
end
|
||||||
|
|
||||||
local function trans_dig(pos, node, digger)
|
local function trans_dig(pos, node, digger)
|
||||||
|
@ -397,7 +399,9 @@ local function trans_dig(pos, node, digger)
|
||||||
local item = ItemStack(node.name)
|
local item = ItemStack(node.name)
|
||||||
local data_str = minetest.serialize(data)
|
local data_str = minetest.serialize(data)
|
||||||
item:set_metadata(data_str)
|
item:set_metadata(data_str)
|
||||||
inv:add_item('main', item)
|
if not inv:add_item('main', item) then
|
||||||
|
return
|
||||||
|
end
|
||||||
minetest.remove_node(pos)
|
minetest.remove_node(pos)
|
||||||
if #pair > 1 and minetest.serialize(pair[2]) == minetest.serialize(pos) then
|
if #pair > 1 and minetest.serialize(pair[2]) == minetest.serialize(pos) then
|
||||||
table.remove(pair, 2)
|
table.remove(pair, 2)
|
||||||
|
@ -417,7 +421,6 @@ newnode.groups = {cracky = 3, oddly_breakable_by_hand = 3}
|
||||||
minetest.register_node("fun_caves:translocator", newnode)
|
minetest.register_node("fun_caves:translocator", newnode)
|
||||||
|
|
||||||
for _, gem in pairs(gems) do
|
for _, gem in pairs(gems) do
|
||||||
print(dump(gem))
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'fun_caves:translocator 2',
|
output = 'fun_caves:translocator 2',
|
||||||
type = 'shapeless',
|
type = 'shapeless',
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue