package com.brandon3055.townbuilder;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.text.TextComponentString;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
/**
* Created by Brandon on 22/01/2015.
*/
public class ForgeEventHandler {
@SubscribeEvent
public void playerInteract(PlayerInteractEvent event)
{
if (!(event instanceof PlayerInteractEvent.LeftClickBlock || event instanceof PlayerInteractEvent.RightClickBlock) || event.getEntityPlayer().getHeldItemMainhand() == null || event.getEntityPlayer().getHeldItemMainhand().getItem() != TBFeatures.schematicTool) {
return;
}
ItemStack tool = event.getEntityPlayer().getHeldItemMainhand();
if (event instanceof PlayerInteractEvent.LeftClickBlock)
{
if (!tool.hasTagCompound()) tool.setTagCompound(new NBTTagCompound());
if (tool.getTagCompound().getInteger("Pos1Y") == -1)
{
tool.getTagCompound().setInteger("Pos2X", event.getPos().getX());
tool.getTagCompound().setInteger("Pos2Y", event.getPos().getY());
tool.getTagCompound().setInteger("Pos2Z", event.getPos().getZ());
}
tool.getTagCompound().setInteger("Pos1X", event.getPos().getX());
tool.getTagCompound().setInteger("Pos1Y", event.getPos().getY());
tool.getTagCompound().setInteger("Pos1Z", event.getPos().getZ());
event.getEntityPlayer().addChatComponentMessage(new TextComponentString("Pos1 Set"));
event.setCanceled(true);
}
else if (event instanceof PlayerInteractEvent.RightClickBlock)
{
if (!tool.hasTagCompound()) tool.setTagCompound(new NBTTagCompound());
if (tool.getTagCompound().getInteger("Pos1Y") == -1)
{
tool.getTagCompound().setInteger("Pos1X", event.getPos().getX());
tool.getTagCompound().setInteger("Pos1Y", event.getPos().getY());
tool.getTagCompound().setInteger("Pos1Z", event.getPos().getZ());
}
tool.getTagCompound().setInteger("Pos2X", event.getPos().getX());
tool.getTagCompound().setInteger("Pos2Y", event.getPos().getY());
tool.getTagCompound().setInteger("Pos2Z", event.getPos().getZ());
if (event.getEntityPlayer().worldObj.isRemote)event.getEntityPlayer().addChatComponentMessage(new TextComponentString("Pos2 Set"));
else event.setCanceled(true);
}
}
}