added cottages.forbid_repair to allow forbidding some tools from beeing repaired
This commit is contained in:
parent
3dec7bf200
commit
1afe904303
|
@ -9,6 +9,12 @@
|
||||||
|
|
||||||
local S = cottages.S
|
local S = cottages.S
|
||||||
|
|
||||||
|
-- disable repair with anvil by setting a message for the item in question
|
||||||
|
cottages.forbid_repair = {}
|
||||||
|
-- example for hammer no longer beeing able to repair the hammer
|
||||||
|
--cottages.forbid_repair["cottages:hammer"] = 'The hammer is too complex for repairing.'
|
||||||
|
|
||||||
|
|
||||||
-- the hammer for the anvil
|
-- the hammer for the anvil
|
||||||
minetest.register_tool("cottages:hammer", {
|
minetest.register_tool("cottages:hammer", {
|
||||||
description = S("Steel hammer for repairing tools on the anvil"),
|
description = S("Steel hammer for repairing tools on the anvil"),
|
||||||
|
@ -138,6 +144,12 @@ minetest.register_node("cottages:anvil", {
|
||||||
S('The workpiece slot is for damaged tools only.'));
|
S('The workpiece slot is for damaged tools only.'));
|
||||||
return 0;
|
return 0;
|
||||||
end
|
end
|
||||||
|
if( listname=='input'
|
||||||
|
and cottages.forbid_repair[ stack:get_name() ]) then
|
||||||
|
minetest.chat_send_player( player:get_player_name(),
|
||||||
|
S(cottages.forbid_repair[ stack:get_name() ]));
|
||||||
|
return 0;
|
||||||
|
end
|
||||||
return stack:get_count()
|
return stack:get_count()
|
||||||
end,
|
end,
|
||||||
|
|
||||||
|
@ -181,6 +193,14 @@ minetest.register_node("cottages:anvil", {
|
||||||
-- 65535 is max damage
|
-- 65535 is max damage
|
||||||
local damage_state = 40-math.floor(input:get_wear()/1638);
|
local damage_state = 40-math.floor(input:get_wear()/1638);
|
||||||
|
|
||||||
|
-- just to make sure that it really can't get repaired if it should not
|
||||||
|
-- (if the check of placing the item in the input slot failed somehow)
|
||||||
|
if( puncher and name and cottages.forbid_repair[ input:get_name() ]) then
|
||||||
|
minetest.chat_send_player( name,
|
||||||
|
S(cottages.forbid_repair[ input:get_name() ]));
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
local tool_name = input:get_name();
|
local tool_name = input:get_name();
|
||||||
local hud_image = "";
|
local hud_image = "";
|
||||||
if( tool_name
|
if( tool_name
|
||||||
|
|
Loading…
Reference in New Issue