package ttftcuts.physis.common.handler;
import java.util.Random;
import ttftcuts.physis.common.artifact.PhysisArtifacts;
import ttftcuts.physis.utils.Socket;
import ttftcuts.physis.utils.SocketIterator;
import ttftcuts.physis.utils.TileUtilities;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraftforge.event.entity.player.PlayerDestroyItemEvent;
public class ItemDestructionHandler {
@SubscribeEvent
public void OnItemDestruction(PlayerDestroyItemEvent event) {
if (event.entity == null) { return; }
if (event.entity.worldObj.isRemote) { return; }
Random rand = event.entityPlayer.getRNG();
ItemStack stack = event.original;
EntityPlayer player = event.entityPlayer;
if (PhysisArtifacts.canItemAcceptSockets(stack)) {
for(Socket socket : SocketIterator.triggers(stack)) {
if(socket.tag != null) {
if (rand.nextDouble() < 0.75) {
ItemStack socketable = ItemStack.loadItemStackFromNBT(socket.tag);
TileUtilities.dropItemInWorld(event.entityPlayer.worldObj, socketable, player.posX, player.posY - 0.3 + player.getEyeHeight(), player.posZ);
}
}
}
}
}
}