UltimateStacker/UltimateStacker/src/main/java/com.craftaro.ultimatestacker/listeners/item/ItemLegacyListener.java

35 lines
1.5 KiB
Java

package com.craftaro.ultimatestacker.listeners.item;
import com.craftaro.ultimatestacker.api.UltimateStackerAPI;
import com.craftaro.ultimatestacker.settings.Settings;
import com.craftaro.ultimatestacker.utils.Methods;
import com.songoda.core.compatibility.CompatibleSound;
import org.bukkit.entity.Arrow;
import org.bukkit.entity.Item;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerPickupItemEvent;
import org.bukkit.inventory.ItemStack;
public class ItemLegacyListener implements Listener {
//TODO Do we need this?
@EventHandler
public void onPickup(PlayerPickupItemEvent event) {
if (!Settings.STACK_ITEMS.getBoolean() || event.getItem() instanceof Arrow) return;
// Amount here is not the total amount of item (32 if more than 32) but the amount of item the player can retrieve
// ie there is x64 diamonds blocks (so 32), the player pick 8 items so the amount is 8 and not 32
Item item = event.getItem();
ItemStack stack = item.getItemStack();
int amount = UltimateStackerAPI.getStackedItemManager().getActualItemAmount(item);
if (amount < (stack.getMaxStackSize() / 2)) return;
event.setCancelled(true);
event.getPlayer().playSound(event.getPlayer().getLocation(), CompatibleSound.ENTITY_ITEM_PICKUP.getSound(), .2f, (float) (1 + Math.random()));
Methods.updateInventory(event.getItem(), event.getPlayer().getInventory());
}
}