From 6d6b894c7ad7fbd2dcfab25488738149dc0efb06 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sun, 20 May 2018 14:51:26 +0200 Subject: Small usage changes for air and ignore items (#7305) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Remove “you hacker you!” from node description * Prevent placement of ignore in builtin * Prevent giving of "unknown" explicitly --- builtin/game/chatcommands.lua | 13 ++++++++----- builtin/game/register.lua | 11 +++++++++-- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/builtin/game/chatcommands.lua b/builtin/game/chatcommands.lua index e349eec7e..3b701c1fd 100644 --- a/builtin/game/chatcommands.lua +++ b/builtin/game/chatcommands.lua @@ -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 diff --git a/builtin/game/register.lua b/builtin/game/register.lua index 1e478bc35..43bb9e067 100644 --- a/builtin/game/register.lua +++ b/builtin/game/register.lua @@ -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) -- cgit v1.2.3