From: Elias Fleckenstein Date: Tue, 16 Jun 2020 13:37:24 +0000 (+0200) Subject: Villager Protection X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=5e4f32b0b24a79ee6398a42f203e8fd669d207fb;p=skycraft.git Villager Protection --- diff --git a/modules.txt b/modules.txt index e5ca0be..f15e573 100644 --- a/modules.txt +++ b/modules.txt @@ -1 +1 @@ -return {common={"common","group_lists","random","request","schems",},main={"alpha","armor_stand","commands","flower_spread","god_stick","join_skyblock_entity","lobby","lucky_block","mapgen","money","netherrack_fix","plots","ranks","shopping","spawns","tpa","trade","wither_spawn",},onload={"grasstype","lava_cooling","load_group_lists","mob_spawner","monster_egg_stone_block","nether_portal","remove_heads_from_armor","sapling_mutation","shop_signs","spawn","void",},} \ No newline at end of file +return {common={"common","group_lists","random","request","schems",},main={"alpha","armor_stand","commands","flower_spread","god_stick","join_skyblock_entity","lobby","lucky_block","mapgen","money","netherrack_fix","plots","ranks","shopping","spawns","tpa","trade","wither_spawn",},onload={"grasstype","lava_cooling","load_group_lists","mob_spawner","monster_egg_stone_block","nether_portal","remove_heads_from_armor","sapling_mutation","shop_signs","spawn","villager_protection","void",},} \ No newline at end of file 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