Small usage changes for air and ignore items (#7305)

* Remove “you hacker you!” from node description
* Prevent placement of ignore in builtin
* Prevent giving of "unknown" explicitly
This commit is contained in:
Wuzzy 2018-05-20 14:51:26 +02:00 committed by SmallJoker
parent 122eed7a34
commit 6d6b894c7a
2 changed files with 17 additions and 7 deletions

@ -557,8 +557,11 @@ local function handle_give_command(cmd, giver, receiver, stackstring)
local itemstack = ItemStack(stackstring)
if itemstack:is_empty() then
return false, "Cannot give an empty item"
elseif not itemstack:is_known() then
elseif (not itemstack:is_known()) or (itemstack:get_name() == "unknown") then
return false, "Cannot give an unknown item"
-- Forbid giving 'ignore' due to unwanted side effects
elseif itemstack:get_name() == "ignore" then
return false, "Giving 'ignore' is not allowed"
end
local receiverref = core.get_player_by_name(receiver)
if receiverref == nil then
@ -577,13 +580,13 @@ local function handle_give_command(cmd, giver, receiver, stackstring)
-- entered (e.g. big numbers are always interpreted as 2^16-1).
stackstring = itemstack:to_string()
if giver == receiver then
return true, ("%q %sadded to inventory.")
:format(stackstring, partiality)
local msg = "%q %sadded to inventory."
return true, msg:format(stackstring, partiality)
else
core.chat_send_player(receiver, ("%q %sadded to inventory.")
:format(stackstring, partiality))
return true, ("%q %sadded to %s's inventory.")
:format(stackstring, partiality, receiver)
local msg = "%q %sadded to %s's inventory."
return true, msg:format(stackstring, partiality, receiver)
end
end

@ -338,7 +338,7 @@ core.register_item(":unknown", {
})
core.register_node(":air", {
description = "Air (you hacker you!)",
description = "Air",
inventory_image = "air.png",
wield_image = "air.png",
drawtype = "airlike",
@ -355,7 +355,7 @@ core.register_node(":air", {
})
core.register_node(":ignore", {
description = "Ignore (you hacker you!)",
description = "Ignore",
inventory_image = "ignore.png",
wield_image = "ignore.png",
drawtype = "airlike",
@ -368,6 +368,13 @@ core.register_node(":ignore", {
air_equivalent = true,
drop = "",
groups = {not_in_creative_inventory=1},
on_place = function(itemstack, placer, pointed_thing)
minetest.chat_send_player(
placer:get_player_name(),
minetest.colorize("#FF0000",
"You can't place 'ignore' nodes!"))
return ""
end,
})
-- The hand (bare definition)