Rename tube_item() to tube_inject_item()

The new function has no API compatibility with the old one, so give it
a different name to avoid confusion among caller mods, which need to
change their usage.  Have a function under the old name that outputs a
helpful error message.
This commit is contained in:
Zefram 2014-08-14 21:59:15 +01:00 committed by Novatux
parent b77146f29c
commit 7915e7f51e
3 changed files with 10 additions and 6 deletions

View File

@ -4,7 +4,11 @@ local fakePlayer = {
-- perhaps a custom metaclass that errors specially when fakePlayer.<property> is not found? -- perhaps a custom metaclass that errors specially when fakePlayer.<property> is not found?
} }
function pipeworks.tube_item(pos, start_pos, velocity, item) function pipeworks.tube_item(pos, item)
error("obsolete pipeworks.tube_item() called; change caller to use pipeworks.tube_inject_item() instead")
end
function pipeworks.tube_inject_item(pos, start_pos, velocity, item)
-- Take item in any format -- Take item in any format
local stack = ItemStack(item) local stack = ItemStack(item)
local obj = luaentity.add_entity(pos, "pipeworks:tubed_item") local obj = luaentity.add_entity(pos, "pipeworks:tubed_item")
@ -112,7 +116,7 @@ local function grabAndFire(data,slotseq_mode,filtmeta,frominv,frominvname,frompo
end end
local pos = vector.add(frompos, vector.multiply(dir, 1.4)) local pos = vector.add(frompos, vector.multiply(dir, 1.4))
local start_pos = vector.add(frompos, dir) local start_pos = vector.add(frompos, dir)
local item1 = pipeworks.tube_item(pos, start_pos, dir, item) local item1 = pipeworks.tube_inject_item(pos, start_pos, dir, item)
return true-- only fire one item, please return true-- only fire one item, please
end end
end end
@ -322,7 +326,7 @@ minetest.register_entity("pipeworks:tubed_item", {
return return
end end
local item = minetest.deserialize(staticdata) local item = minetest.deserialize(staticdata)
pipeworks.tube_item(self.object:getpos(), item.start_pos, item.velocity, item.itemstring) pipeworks.tube_inject_item(self.object:getpos(), item.start_pos, item.velocity, item.itemstring)
self.object:remove() self.object:remove()
end, end,
}) })

View File

@ -496,7 +496,7 @@ if pipeworks.enable_sand_tube then
for _, object in ipairs(minetest.get_objects_inside_radius(pos, 2)) do for _, object in ipairs(minetest.get_objects_inside_radius(pos, 2)) do
if not object:is_player() and object:get_luaentity() and object:get_luaentity().name == "__builtin:item" then if not object:is_player() and object:get_luaentity() and object:get_luaentity().name == "__builtin:item" then
if object:get_luaentity().itemstring ~= "" then if object:get_luaentity().itemstring ~= "" then
pipeworks.tube_item(pos, pos, vector.new(0, 0, 0), object:get_luaentity().itemstring) pipeworks.tube_inject_item(pos, pos, vector.new(0, 0, 0), object:get_luaentity().itemstring)
end end
object:get_luaentity().itemstring = "" object:get_luaentity().itemstring = ""
object:remove() object:remove()
@ -556,7 +556,7 @@ if pipeworks.enable_mese_sand_tube then
for _,object in ipairs(get_objects_with_square_radius(pos, minetest.env:get_meta(pos):get_int("dist"))) do for _,object in ipairs(get_objects_with_square_radius(pos, minetest.env:get_meta(pos):get_int("dist"))) do
if not object:is_player() and object:get_luaentity() and object:get_luaentity().name == "__builtin:item" then if not object:is_player() and object:get_luaentity() and object:get_luaentity().name == "__builtin:item" then
if object:get_luaentity().itemstring ~= "" then if object:get_luaentity().itemstring ~= "" then
pipeworks.tube_item(pos, pos, vector.new(0, 0, 0), object:get_luaentity().itemstring) pipeworks.tube_inject_item(pos, pos, vector.new(0, 0, 0), object:get_luaentity().itemstring)
end end
object:get_luaentity().itemstring = "" object:get_luaentity().itemstring = ""
object:remove() object:remove()

View File

@ -101,7 +101,7 @@ local function wielder_on(data, wielder_pos, wielder_node)
if data.eject_drops then if data.eject_drops then
for i, stack in ipairs(inv:get_list("main")) do for i, stack in ipairs(inv:get_list("main")) do
if not stack:is_empty() then if not stack:is_empty() then
pipeworks.tube_item(wielder_pos, wielder_pos, dir, stack) pipeworks.tube_inject_item(wielder_pos, wielder_pos, dir, stack)
inv:set_stack("main", i, ItemStack("")) inv:set_stack("main", i, ItemStack(""))
end end
end end