From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: draycia Date: Wed, 29 Apr 2020 00:45:58 -0700 Subject: [PATCH] Totems work in inventory diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java index 9f3b9b42c1509bfd71206702799421dd716e61e4..7e3acb424720c2bdac3d5c5da034087cb15dab23 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -1327,6 +1327,19 @@ public abstract class EntityLiving extends Entity { } } + // Purpur start + if (world.purpurConfig.totemOfUndyingWorksInInventory && this instanceof EntityPlayer && (itemstack == null || itemstack.getItem() != Items.TOTEM_OF_UNDYING)) { + EntityPlayer player = (EntityPlayer) this; + for (ItemStack item : player.inventory.items) { + if (item.getItem() == Items.TOTEM_OF_UNDYING) { + itemstack1 = item; + itemstack = item.cloneItemStack(); + break; + } + } + } + // Purpur end + EntityResurrectEvent event = new EntityResurrectEvent((LivingEntity) this.getBukkitEntity()); event.setCancelled(itemstack == null); this.world.getServer().getPluginManager().callEvent(event); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java index 1f83fae3935d8bdacd396697e36d3c80d4d93b42..9c32d1d0d283ce8fb290623c8e40c2606d2fdd82 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -201,6 +201,11 @@ public class PurpurWorldConfig { teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder); } + public boolean totemOfUndyingWorksInInventory = false; + private void totemOfUndyingWorksInInventory() { + totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory); + } + public boolean silkTouchEnabled = false; public String silkTouchSpawnerName = "Spawner"; public List silkTouchSpawnerLore = new ArrayList<>();