@SubscribeEvent(priority = EventPriority.HIGH) public void onPlayerDeath(PlayerDropsEvent event) { if(event.getEntityPlayer() == null || event.getEntityPlayer() instanceof FakePlayer || event.isCanceled()) { return; } if(event.getEntityPlayer().getEntityWorld().getGameRules().getBoolean("keepInventory")) { return; } ListIterator<EntityItem> iter = event.getDrops().listIterator(); while(iter.hasNext()) { EntityItem ei = iter.next(); ItemStack stack = ei.getItem(); // find soulbound items if(TinkerUtil.hasModifier(stack.getTagCompound(), this.identifier)) { // copy the items back into the dead players inventory event.getEntityPlayer().inventory.addItemStackToInventory(stack); iter.remove(); } } }
@SubscribeEvent(priority = EventPriority.HIGHEST) public void onPlayerDropItemsOnDeath(PlayerDropsEvent event) { if (event.getEntityPlayer() == null || event.getEntityPlayer() instanceof FakePlayer || event.isCanceled() || event.getEntityPlayer().world.getGameRules().getBoolean("keepInventory") || ModConfig.LOSE_QUEST_BOOK_ON_DEATH) { return; } Iterator<EntityItem> iter = event.getDrops().iterator(); while (iter.hasNext()) { EntityItem entityItem = iter.next(); ItemStack stack = entityItem.getItem(); if (!stack.isEmpty() && stack.getItem().equals(ModItems.book)) { event.getEntityPlayer().inventory.addItemStackToInventory(stack); iter.remove(); } } }
@SubscribeEvent(priority = EventPriority.LOWEST) public static void onPlayerDeathLate(PlayerDropsEvent evt) { if (evt.getEntityPlayer() == null || evt.getEntityPlayer() instanceof FakePlayer || evt.isCanceled()) { return; } if (evt.getEntityPlayer().world.getGameRules().getBoolean("keepInventory")) { return; } Log.debug("Running onPlayerDeathLate logic for " + evt.getEntityPlayer().getName()); ListIterator<EntityItem> iter = evt.getDrops().listIterator(); while (iter.hasNext()) { EntityItem ei = iter.next(); ItemStack item = ei.getItem(); if (isSoulBound(item)) { if (addToPlayerInventory(evt.getEntityPlayer(), item)) { iter.remove(); } } } }
List<EntityItem> drops = event.getDrops(); if(!event.isCanceled() && (enableOnPK || !(event.getSource().getTrueSource() instanceof EntityPlayer))) { EntityPlayer player = event.getEntityPlayer(); NBTTagCompound data = player.getEntityData();
@SubscribeEvent(priority = EventPriority.HIGHEST) public static void onPlayerDeath(PlayerDropsEvent evt) { if (evt.getEntityPlayer() == null || evt.getEntityPlayer() instanceof FakePlayer || evt.isCanceled()) { return;