@SubscribeEvent(priority = EventPriority.LOWEST) public static void onPlayerCloneLast(PlayerEvent.Clone evt) { if (!evt.isWasDeath() || evt.isCanceled()) { return;
@SubscribeEvent(priority = EventPriority.HIGHEST) public static void onPlayerClone(PlayerEvent.Clone evt) { if (!evt.isWasDeath() || evt.isCanceled()) { return;
@SubscribeEvent public void onPlayerRespawn(PlayerEvent.Clone event) { if (event.getEntityPlayer() == null || event.getEntityPlayer() instanceof FakePlayer || !event.isWasDeath() || event.isCanceled() || event.getEntityPlayer().world.getGameRules().getBoolean("keepInventory") || ModConfig.LOSE_QUEST_BOOK_ON_DEATH) { return; } if (event.getOriginal().inventory.hasItemStack(new ItemStack(ModItems.book))) { ItemStack bookStack = new ItemStack(ModItems.book); for (ItemStack stack : event.getOriginal().inventory.mainInventory) { if (bookStack.isItemEqual(stack)) { bookStack = stack.copy(); // Copy the actual stack break; } } event.getEntityPlayer().inventory.addItemStackToInventory(bookStack); } } }
@SubscribeEvent(priority = EventPriority.HIGH) public void onPlayerClone(PlayerEvent.Clone evt) { if(!evt.isWasDeath() || evt.isCanceled()) { return; } if(evt.getOriginal() == null || evt.getEntityPlayer() == null || evt.getEntityPlayer() instanceof FakePlayer) { return; } if(evt.getEntityPlayer().getEntityWorld().getGameRules().getBoolean("keepInventory")) { return; } for(int i = 0; i < evt.getOriginal().inventory.mainInventory.size(); i++) { ItemStack stack = evt.getOriginal().inventory.mainInventory.get(i); if(TinkerUtil.hasModifier(stack.getTagCompound(), this.identifier)) { evt.getEntityPlayer().inventory.addItemStackToInventory(stack); evt.getOriginal().inventory.mainInventory.set(i, ItemStack.EMPTY); } } } }