diff --git a/src/main/java/net/citizensnpcs/editor/EndermanEquipper.java b/src/main/java/net/citizensnpcs/editor/EndermanEquipper.java index cf43e608b..fa2692950 100644 --- a/src/main/java/net/citizensnpcs/editor/EndermanEquipper.java +++ b/src/main/java/net/citizensnpcs/editor/EndermanEquipper.java @@ -36,6 +36,7 @@ public class EndermanEquipper implements Equipper { if (set.getType() != Material.AIR) { set.setAmount(1); hand.setAmount(hand.getAmount() - 1); + equipper.setItemInHand(hand); } npc.getTrait(Equipment.class).set(0, set); } diff --git a/src/main/java/net/citizensnpcs/editor/EquipmentEditor.java b/src/main/java/net/citizensnpcs/editor/EquipmentEditor.java index 5dd87258f..8198a9c5b 100644 --- a/src/main/java/net/citizensnpcs/editor/EquipmentEditor.java +++ b/src/main/java/net/citizensnpcs/editor/EquipmentEditor.java @@ -14,7 +14,6 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.block.Action; import org.bukkit.event.player.PlayerInteractEntityEvent; import org.bukkit.event.player.PlayerInteractEvent; -import org.bukkit.inventory.ItemStack; import com.google.common.collect.Maps; @@ -52,9 +51,7 @@ public class EquipmentEditor extends Editor { Equipper equipper = EQUIPPERS.get(npc.getBukkitEntity().getType()); if (equipper == null) equipper = new GenericEquipper(); - ItemStack hand = event.getPlayer().getItemInHand(); equipper.equip(event.getPlayer(), npc); - event.getPlayer().setItemInHand(hand.getAmount() > 0 ? hand : null); } private static final Map EQUIPPERS = Maps.newEnumMap(EntityType.class); diff --git a/src/main/java/net/citizensnpcs/editor/GenericEquipper.java b/src/main/java/net/citizensnpcs/editor/GenericEquipper.java index 81376169e..5036d988e 100644 --- a/src/main/java/net/citizensnpcs/editor/GenericEquipper.java +++ b/src/main/java/net/citizensnpcs/editor/GenericEquipper.java @@ -78,6 +78,7 @@ public class GenericEquipper implements Equipper { clone.setAmount(1); trait.set(slot, clone); hand.setAmount(hand.getAmount() - 1); + equipper.setItemInHand(hand); } } } diff --git a/src/main/java/net/citizensnpcs/editor/PigEquipper.java b/src/main/java/net/citizensnpcs/editor/PigEquipper.java index 0509a5216..ac3d81171 100644 --- a/src/main/java/net/citizensnpcs/editor/PigEquipper.java +++ b/src/main/java/net/citizensnpcs/editor/PigEquipper.java @@ -26,5 +26,6 @@ public class PigEquipper implements Equipper { toEquip.getTrait(Saddle.class).toggle(); Messaging.sendTr(equipper, Messages.SADDLED_STOPPED, toEquip.getName()); } + equipper.setItemInHand(hand); } } diff --git a/src/main/java/net/citizensnpcs/editor/SheepEquipper.java b/src/main/java/net/citizensnpcs/editor/SheepEquipper.java index 578d28d60..9cc2bfec9 100644 --- a/src/main/java/net/citizensnpcs/editor/SheepEquipper.java +++ b/src/main/java/net/citizensnpcs/editor/SheepEquipper.java @@ -34,5 +34,6 @@ public class SheepEquipper implements Equipper { toEquip.getTrait(WoolColor.class).setColor(DyeColor.WHITE); Messaging.sendTr(equipper, Messages.EQUIPMENT_EDITOR_SHEEP_COLOURED, toEquip.getName(), "white"); } + equipper.setItemInHand(hand); } }