From 5e4f32b0b24a79ee6398a42f203e8fd669d207fb Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein Date: Tue, 16 Jun 2020 15:37:24 +0200 Subject: Villager Protection --- src/main/god_stick.lua | 4 ++-- src/main/lobby.lua | 2 +- src/onload/villager_protection.lua | 7 +++++++ 3 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 src/onload/villager_protection.lua (limited to 'src') diff --git a/src/main/god_stick.lua b/src/main/god_stick.lua index d702082..91e83b8 100644 --- a/src/main/god_stick.lua +++ b/src/main/god_stick.lua @@ -15,14 +15,14 @@ minetest.register_tool("skycraft:god_stick", { fleshy = groupcaps, handy = groupcaps, }, - damage_groups = {fleshy = 65535}, + damage_groups = {fleshy = 1000}, } }) minetest.register_on_punchplayer(function(player, hitter, time_from_last_punch, tool_capabilities, dir, damage) if hitter:get_wielded_item():get_name() == "skycraft:god_stick" then lightning.strike(player:get_pos()) - minetest.after(0.5, minetest.ban_player, player:get_player_name()) + minetest.after(0.25, minetest.ban_player, player:get_player_name()) return true end end) diff --git a/src/main/lobby.lua b/src/main/lobby.lua index c54f0c9..0eb28ca 100644 --- a/src/main/lobby.lua +++ b/src/main/lobby.lua @@ -50,7 +50,7 @@ end) minetest.register_on_punchplayer(function(player, hitter, time_from_last_punch, tool_capabilities, dir, damage) if player:get_pos().y > 5000 then - minetest.chat_send_player(hitter:get_player_name(), minetest.colorize("#FF6737", "You can not do PvP here!")) + minetest.chat_send_player(hitter:get_player_name(), minetest.colorize("#FF6737", "Hey! Sorry, you can't PvP here!")) return true end end) diff --git a/src/onload/villager_protection.lua b/src/onload/villager_protection.lua new file mode 100644 index 0000000..3e0a5f7 --- /dev/null +++ b/src/onload/villager_protection.lua @@ -0,0 +1,7 @@ +minetest.registered_entities["mobs_mc:villager"].on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, dir) + if puncher:get_wielded_item():get_name() ~= "skycraft:god_stick" then + minetest.chat_send_player(puncher:get_player_name(), minetest.colorize("#FF6737", "Hey! Sorry, you can't hit that here!")) + else + self.object:remove() + end +end -- cgit v1.2.3