public class EventHandlerBackpack {
@SubscribeEvent
public void serverTick(PlayerTickEvent event) {
if(ConfigurationBackpack.MAX_BACKPACK_AMOUNT > 0) {
if(event.side == Side.SERVER) {
EntityPlayerMP player = (EntityPlayerMP) event.player;
int counter = 0;
if(new PlayerSave(player).hasPersonalBackpack()) {
counter++;
}
ItemStack[] inventory = player.inventory.mainInventory;
for(int i = 0; i < inventory.length; i++) {
if(inventory[i] != null && inventory[i].getItem() instanceof ItemBackpackBase) {
counter++;
if(counter > ConfigurationBackpack.MAX_BACKPACK_AMOUNT) {
player.entityDropItem(inventory[i].copy(), 0);
inventory[i] = null;
}
}
}
counter -= ConfigurationBackpack.MAX_BACKPACK_AMOUNT;
if(counter > 0) {
IChatComponent message = new ChatComponentText("[Backpacks] ");
message.appendSibling(new ChatComponentTranslation(Localizations.MESSAGE_ALLOWED_BACKPACKS, ConfigurationBackpack.MAX_BACKPACK_AMOUNT));
player.addChatMessage(message);
message = new ChatComponentText("[Backpacks] ").appendSibling(new ChatComponentTranslation(Localizations.MESSAGE_DROPPED_BACKPACKS, counter));
player.addChatMessage(message);
}
}
}
}