List of usage examples for net.minecraftforge.client.event RenderWorldLastEvent getContext
public WorldRenderer getContext()
From source file:com.teambrmodding.luxetumbra.events.RenderEvents.java
License:Creative Commons License
@SubscribeEvent public void renderBlockEvent(RenderWorldLastEvent event) { PlayerControllerMP controllerMP = Minecraft.getMinecraft().playerController; EntityPlayer player = Minecraft.getMinecraft().thePlayer; World world = player.worldObj;// w w w . j a v a 2 s .c o m List<BlockPos> blockList; EnumHand hand; //Check which hand if any is holding wand if (player.getHeldItemMainhand() != null && player.getHeldItemMainhand().isItemEqual(new ItemStack(ItemManager.exchanger))) hand = EnumHand.MAIN_HAND; else if (player.getHeldItemOffhand() != null && player.getHeldItemOffhand().isItemEqual(new ItemStack(ItemManager.exchanger))) hand = EnumHand.OFF_HAND; else return; //Display grid on blocks that will be changed RayTraceResult mop = player.rayTrace(controllerMP.getBlockReachDistance(), event.getPartialTicks()); if (mop != null && !world.isAirBlock(mop.getBlockPos())) { int size = ((ItemExchanger) player.getHeldItem(hand).getItem()).getSize(player.getHeldItem(hand)); blockList = BlockUtils.getBlockList(size, mop.sideHit, mop.getBlockPos(), world); ItemStack centerStack = new ItemStack(world.getBlockState(mop.getBlockPos()).getBlock(), 1, world.getBlockState(mop.getBlockPos()).getBlock() .getMetaFromState(world.getBlockState(mop.getBlockPos()))); for (BlockPos pos : blockList) { ItemStack stack = new ItemStack(world.getBlockState(pos).getBlock(), 1, world.getBlockState(pos).getBlock().getMetaFromState(world.getBlockState(pos))); if (centerStack.isItemEqual(stack)) event.getContext().drawSelectionBox(player, new RayTraceResult(new Vec3d(0, 0, 0), null, pos), 0, event.getPartialTicks()); } } }