Prevent tools & nodes from being dropped (#11)

Adds a function to message a player that they cannot drop tools/nodes registered by maptools
This commit is contained in:
shivajiva101
2018-07-27 11:10:09 +01:00
committed by SmallJoker
parent 7459fc3389
commit 106bba39b9
4 changed files with 71 additions and 3 deletions

View File

@ -16,6 +16,7 @@ minetest.register_node(":default:cloud", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_defaults(),
on_drop = maptools.drop_msg
})
-- Nodes
@ -30,6 +31,7 @@ minetest.register_node("maptools:black", {
post_effect_color = {a=255, r=0, g=0, b=0},
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_stone_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:white", {
@ -41,6 +43,7 @@ minetest.register_node("maptools:white", {
post_effect_color = {a=255, r=128, g=128, b=128},
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_stone_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:playerclip", {
@ -54,6 +57,7 @@ minetest.register_node("maptools:playerclip", {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:fake_walkable", {
@ -74,6 +78,7 @@ minetest.register_node("maptools:fake_walkable", {
},
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:fullclip", {
@ -86,6 +91,7 @@ minetest.register_node("maptools:fullclip", {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:fake_walkable_pointable", {
@ -105,6 +111,7 @@ minetest.register_node("maptools:fake_walkable_pointable", {
},
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:ignore_like", {
@ -117,6 +124,7 @@ minetest.register_node("maptools:ignore_like", {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:ignore_like_no_clip", {
@ -130,6 +138,7 @@ minetest.register_node("maptools:ignore_like_no_clip", {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
@ -144,6 +153,7 @@ minetest.register_node("maptools:ignore_like_no_point", {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:ignore_like_no_clip_no_point", {
@ -158,6 +168,7 @@ minetest.register_node("maptools:ignore_like_no_clip_no_point", {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:fullclip_face", {
@ -176,6 +187,7 @@ minetest.register_node("maptools:fullclip_face", {
},
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:playerclip_bottom", {
@ -194,6 +206,7 @@ minetest.register_node("maptools:playerclip_bottom", {
},
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:playerclip_top", {
@ -212,6 +225,7 @@ minetest.register_node("maptools:playerclip_top", {
},
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100},
on_drop = maptools.drop_msg
})
for pusher_num=1,10,1 do
@ -231,6 +245,7 @@ minetest.register_node("maptools:pusher_" .. pusher_num, {
},
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100, bouncy=pusher_num*100},
on_drop = maptools.drop_msg
})
end
@ -247,6 +262,7 @@ minetest.register_node("maptools:lightbulb", {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:nobuild", {
@ -261,6 +277,7 @@ minetest.register_node("maptools:nobuild", {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:nointeract", {
@ -274,6 +291,7 @@ minetest.register_node("maptools:nointeract", {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:climb", {
@ -289,6 +307,7 @@ minetest.register_node("maptools:climb", {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
for damage_num=1,5,1 do
@ -305,6 +324,7 @@ minetest.register_node("maptools:damage_" .. damage_num, {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
end
@ -321,6 +341,7 @@ minetest.register_node("maptools:kill", {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:smoke", {
@ -334,6 +355,7 @@ minetest.register_node("maptools:smoke", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
post_effect_color = {a=192, r=96, g=96, b=96},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:ladder", {
@ -354,6 +376,7 @@ minetest.register_node("maptools:ladder", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_wood_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:permanent_fire", {
@ -373,6 +396,7 @@ minetest.register_node("maptools:permanent_fire", {
sunlight_propagates = true,
walkable = false,
damage_per_second = 4,
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:fake_fire", {
@ -391,6 +415,7 @@ minetest.register_node("maptools:fake_fire", {
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sunlight_propagates = true,
walkable = false,
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:igniter", {
@ -406,6 +431,7 @@ minetest.register_node("maptools:igniter", {
sunlight_propagates = true,
pointable = false,
walkable = false,
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:superapple", {
@ -426,4 +452,5 @@ minetest.register_node("maptools:superapple", {
groups = {fleshy=3, dig_immediate=3, not_in_creative_inventory = maptools.creative},
on_use = minetest.item_eat(20),
sounds = default.node_sound_defaults(),
on_drop = maptools.drop_msg
})