package fyresmodjam.handlers; import org.lwjgl.input.Keyboard; import fyresmodjam.ModjamMod; import fyresmodjam.blessings.Blessing; import fyresmodjam.blessings.BlessingUtils; import net.minecraft.client.Minecraft; import net.minecraft.client.settings.KeyBinding; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.RayTraceResult; import net.minecraftforge.fml.client.registry.ClientRegistry; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.InputEvent.KeyInputEvent; public class FyresKeyHandler { public static KeyBinding examine = new KeyBinding( "Examine", Keyboard.KEY_X, "YWD"); public static KeyBinding activateBlessing = new KeyBinding( "Activate Blessing", Keyboard.KEY_K, "YWD"); public static KeyBinding[] keyBindings = new KeyBinding[] { examine, activateBlessing }; public FyresKeyHandler() { for (KeyBinding k : keyBindings) { ClientRegistry.registerKeyBinding(k); } } @SubscribeEvent public void keyInput(KeyInputEvent event) { if (Minecraft.getMinecraft().inGameHasFocus) { Minecraft minecraft = Minecraft.getMinecraft(); EntityPlayer player = minecraft.player; // TODO fix this /* if (player != null) { if (examine.isPressed()) { if (minecraft.objectMouseOver != null) { RayTraceResult o = minecraft.objectMouseOver; if (o.typeOfHit == RayTraceResult.Type.BLOCK) { int x = minecraft.objectMouseOver.blockX; int y = minecraft.objectMouseOver.blockY; int z = minecraft.objectMouseOver.blockZ; if (minecraft.theWorld .getBlock(x, y, z) == ModjamMod.blockPillar && (minecraft.theWorld .getBlockMetadata( x, y, z) % 2) == 1) { y--; } TileEntity te = minecraft.theWorld .getTileEntity(x, y, z); if (te != null && te instanceof TileEntityPillar) { Blessing bless = BlessingUtils .getBlessingInstance( ((TileEntityPillar) te).blessing); String s = "@\u00A7e " + bless.customName() + "\n" + bless.description() + "."; for (String s2 : s .split("@")) { NewPacketHandler.SEND_MESSAGE.data = new Object[] { s2 }; NewPacketHandler.SEND_MESSAGE .executeClient(Minecraft .getMinecraft().player); } } else if (te != null && te instanceof TileEntityTrap) { String placedBy = ((TileEntityTrap) te).placedBy; String s = (placedBy != null ? "\u00A7eThis " + ItemTrap.names[te .getBlockMetadata() % BlockTrap.trapTypes] .toLowerCase() + " was placed by " + (placedBy.equals( player.getCommandSenderName()) ? "you" : placedBy) + "." : "\u00A7eThis " + ItemTrap.names[te .getBlockMetadata() % BlockTrap.trapTypes] .toLowerCase() + " doesn't seem to have been placed by anyone."); s += " \u00A7eTrap is set to " + TileEntityTrap.settings[((TileEntityTrap) te).setting] + "."; NewPacketHandler.SEND_MESSAGE.data = new Object[] { s }; NewPacketHandler.SEND_MESSAGE .executeClient(Minecraft .getMinecraft().player); } else { ItemStack stack = new ItemStack( minecraft.theWorld .getBlock(x, y, z), 1, minecraft.theWorld .getBlockMetadata( x, y, z)); if (stack.getItem() != null) { String name = stack .getDisplayName() .toLowerCase(); NewPacketHandler.SEND_MESSAGE.data = new Object[] { "\u00A7eIt's a " + name + (!name.contains( "block") ? " block." : ".") }; NewPacketHandler.SEND_MESSAGE .executeClient(Minecraft .getMinecraft().player); } } } else if (o.typeOfHit == MovingObjectType.ENTITY && o.entityHit != null) { NewPacketHandler.EXAMINE_MOB .sendToServer(o.entityHit.dimension, o.entityHit.getEntityId()); } } } if (activateBlessing.isPressed()) { String blessing = player .getEntityData() .getString("Blessing"); if (blessing != null) { FMLLog.info("Triggering blessing"); if (minecraft.objectMouseOver != null) { MovingObjectPosition o = minecraft.objectMouseOver; if (o.typeOfHit == MovingObjectType.BLOCK) { NewPacketHandler.ACTIVATE_BLESSING .sendToServer(minecraft.objectMouseOver.blockX, minecraft.objectMouseOver.blockY, minecraft.objectMouseOver.blockZ); } } else { NewPacketHandler.ACTIVATE_BLESSING .sendToServer(player.chunkCoordX, player.chunkCoordY, player.chunkCoordZ); } } } } */ } } }