List of usage examples for net.minecraftforge.client.event RenderWorldLastEvent getPartialTicks
public float getPartialTicks()
From source file:buildcraft.core.client.RenderTickListener.java
License:Mozilla Public License
@SubscribeEvent public static void tick(RenderWorldLastEvent event) { float partialTicks = event.getPartialTicks(); renderHeldItemInWorld(partialTicks); }
From source file:buildcraft.lib.BCLibEventDist.java
License:Mozilla Public License
@SubscribeEvent @SideOnly(Side.CLIENT)/*from ww w . j av a2 s. c om*/ public void renderWorldLast(RenderWorldLastEvent event) { Minecraft mc = Minecraft.getMinecraft(); EntityPlayer player = mc.player; if (player == null) return; float partialTicks = event.getPartialTicks(); DetatchedRenderer.INSTANCE.renderWorldLastEvent(player, partialTicks); }
From source file:com.elytradev.thermionics.client.ClientProxy.java
License:Open Source License
@SubscribeEvent public void onPostRender(RenderWorldLastEvent evt) { if (!Loader.isModLoaded("baubles")) return;/*from w ww . jav a2 s . c o m*/ EntityPlayer thePlayer = Minecraft.getMinecraft().player; for (EntityPlayer entity : Minecraft.getMinecraft().world.playerEntities) { IBaublesItemHandler baubles = BaublesApi.getBaublesHandler(entity); ItemStack scarfStack = baubles.getStackInSlot(BAUBLE_AMULET); if (scarfStack == null || scarfStack.isEmpty() || scarfStack.getItem() != ThermionicsItems.SCARF) return; Scarf scarf = scarfCache.getIfPresent(entity); if (scarf == null) { scarf = new Scarf(); scarfCache.put(entity, scarf); scarf.readFromNBT(scarfStack.getTagCompound()); //System.out.println("Created scarf:"+(scarf.leftScarf.size()+scarf.rightScarf.size())+" nodes."); } else { scarf.updateFromNBT(scarfStack.getTagCompound()); //System.out.println("Updated scarf:"+(scarf.leftScarf.size()+scarf.rightScarf.size())+" nodes."); } double dx = thePlayer.prevPosX + (thePlayer.posX - thePlayer.prevPosX) * evt.getPartialTicks(); double dy = thePlayer.prevPosY + (thePlayer.posY - thePlayer.prevPosY) * evt.getPartialTicks(); double dz = thePlayer.prevPosZ + (thePlayer.posZ - thePlayer.prevPosZ) * evt.getPartialTicks(); LayerScarf.renderScarf(dx, dy, dz, entity, null, scarf, evt.getPartialTicks(), Minecraft.getMinecraft().world); } }
From source file:com.replaymod.pixelcam.renderer.PathVisualizer.java
License:Apache License
@SubscribeEvent public void onRender(RenderWorldLastEvent event) { if (pathVisibility == PathVisibility.NONE || cameraPath.getPointCount() == 0 || PixelCamMod.instance.camCommand.isTravelling()) return;/* ww w.j a v a 2 s.c o m*/ Entity entity = mc.getRenderViewEntity(); float partial = event.getPartialTicks(); double doubleX = entity.lastTickPosX + (entity.posX - entity.lastTickPosX) * partial; double doubleY = entity.lastTickPosY + (entity.posY - entity.lastTickPosY) * partial; double doubleZ = entity.lastTickPosZ + (entity.posZ - entity.lastTickPosZ) * partial; Position prev = null; GlStateManager.pushAttrib(); GlStateManager.enableTexture2D(); GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); if (pathVisibility == PathVisibility.LINEAR || pathVisibility == PathVisibility.BOTH) { for (Position pos : cameraPath.getPoints()) { if (prev != null) drawConnection(doubleX, doubleY, doubleZ, prev, pos, Color.RED); prev = pos; } } if (pathVisibility == PathVisibility.SPLINE || pathVisibility == PathVisibility.BOTH) { Interpolation<Position> interpolation = cameraPath.getInterpolation(InterpolationType.SPLINE); prev = null; for (int i = 0; i < cameraPath.getPointCount(); i++) { //draw 100 connection lines between the two points for (int j = 0; j < 100; j++) { float k = (i / (float) cameraPath.getPointCount()) + (j / 100f * 1f / cameraPath.getPointCount()); Position pos = new Position(); interpolation.applyPoint(k, pos); if (prev != null) drawConnection(doubleX, doubleY, doubleZ, prev, pos, Color.GREEN); prev = pos; } } } GlStateManager.blendFunc(GL11.GL_DST_COLOR, GL11.GL_SRC_COLOR); int index = 1; for (Position pos : cameraPath.getPoints()) { drawPoint(doubleX, doubleY, doubleZ, pos, index); index++; } GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GlStateManager.disableBlend(); GlStateManager.popAttrib(); }
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 .co 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()); } } }
From source file:de.sanandrew.mods.turretmod.client.event.RenderEventHandler.java
License:Creative Commons License
@SubscribeEvent public void onRenderWorldLast(RenderWorldLastEvent event) { Minecraft mc = Minecraft.getMinecraft(); Entity renderEntity = mc.getRenderViewEntity(); if (renderEntity != null) { float partTicks = event.getPartialTicks(); double renderX = renderEntity.lastTickPosX + (renderEntity.posX - renderEntity.lastTickPosX) * partTicks; double renderY = renderEntity.lastTickPosY + (renderEntity.posY - renderEntity.lastTickPosY) * partTicks; double renderZ = renderEntity.lastTickPosZ + (renderEntity.posZ - renderEntity.lastTickPosZ) * partTicks; RenderTurretPointed.INSTANCE.render(mc, renderX, renderY, renderZ, partTicks); RenderTurretLaser.render(mc, renderX, renderY, renderZ, partTicks); }// ww w.j av a2 s. co m }
From source file:de.sanandrew.mods.turretmod.client.event.RenderForcefieldHandler.java
License:Creative Commons License
@SubscribeEvent(priority = EventPriority.HIGH) public void onRenderWorldLast(RenderWorldLastEvent event) { Minecraft mc = Minecraft.getMinecraft(); Entity renderEntity = mc.getRenderViewEntity(); if (renderEntity == null) { return;// ww w .j a v a2 s . c o m } final float partialTicks = event.getPartialTicks(); double renderX = renderEntity.lastTickPosX + (renderEntity.posX - renderEntity.lastTickPosX) * partialTicks; double renderY = renderEntity.lastTickPosY + (renderEntity.posY - renderEntity.lastTickPosY) * partialTicks; double renderZ = renderEntity.lastTickPosZ + (renderEntity.posZ - renderEntity.lastTickPosZ) * partialTicks; List<ForcefieldCube> cubes = new ArrayList<>(); int worldTicks = (int) (mc.world.getTotalWorldTime() % Integer.MAX_VALUE); Iterator<Map.Entry<Integer, Queue<IForcefieldProvider>>> it = this.fieldProviders.entrySet().iterator(); while (it.hasNext()) { Map.Entry<Integer, Queue<IForcefieldProvider>> entry = it.next(); Entity entity = mc.world.getEntityByID(entry.getKey()); if (entity == null || entry.getValue().size() < 1) { it.remove(); continue; } Iterator<IForcefieldProvider> itFF = entry.getValue().iterator(); while (itFF.hasNext()) { IForcefieldProvider ffProvider = itFF.next(); ColorObj color = new ColorObj(ffProvider.getShieldColor()); double entityX = entity.lastTickPosX + (entity.posX - entity.lastTickPosX) * partialTicks; double entityY = entity.lastTickPosY + (entity.posY - entity.lastTickPosY) * partialTicks; double entityZ = entity.lastTickPosZ + (entity.posZ - entity.lastTickPosZ) * partialTicks; ForcefieldCube cube = new ForcefieldCube( new Vec3d(entityX - renderX, entityY - renderY, entityZ - renderZ), ffProvider.getShieldBoundingBox(), color); cube.fullRendered = ffProvider.renderFull(); if (entity.isDead || !entity.isEntityAlive() || !ffProvider.isShieldActive() || !mc.world.loadedEntityList.contains(entity)) { if (ffProvider.hasSmoothFadeOut()) { this.fadeOutFields.add(cube); } itFF.remove(); } else { if (TmrConfiguration.calcForcefieldIntf) { for (ForcefieldCube intfCube : cubes) { cube.interfere(intfCube, false); intfCube.interfere(cube, true); } } cubes.add(cube); } } } Iterator<ForcefieldCube> fadeOutIt = this.fadeOutFields.iterator(); while (fadeOutIt.hasNext()) { ForcefieldCube shield = fadeOutIt.next(); if (shield.boxColor.alpha() <= 0) { fadeOutIt.remove(); } else { cubes.add(shield); shield.boxColor.setAlpha(shield.boxColor.alpha() - 3); } } Tessellator tess = Tessellator.getInstance(); for (int pass = 1; pass <= 5; pass++) { float transformTexAmount = worldTicks % 400 + event.getPartialTicks(); float texTranslateX = 0.0F; float texTranslateY = 0.0F; switch (pass) { case 1: texTranslateX = transformTexAmount * -0.01F; texTranslateY = transformTexAmount * 0.01F; mc.renderEngine.bindTexture(Resources.TURRET_FORCEFIELD_P1.getResource()); break; case 2: texTranslateX = transformTexAmount * 0.005F; texTranslateY = transformTexAmount * 0.005F; mc.renderEngine.bindTexture(Resources.TURRET_FORCEFIELD_P2.getResource()); break; case 3: texTranslateX = transformTexAmount * -0.005F; texTranslateY = transformTexAmount * 0.005F; mc.renderEngine.bindTexture(Resources.TURRET_FORCEFIELD_P1.getResource()); break; case 4: texTranslateX = transformTexAmount * 0.0025F; texTranslateY = transformTexAmount * 0.0025F; mc.renderEngine.bindTexture(Resources.TURRET_FORCEFIELD_P2.getResource()); break; case 5: texTranslateX = transformTexAmount * 0.00F; texTranslateY = transformTexAmount * 0.00F; mc.renderEngine.bindTexture(Resources.TURRET_FORCEFIELD_P3.getResource()); break; } GlStateManager.matrixMode(GL11.GL_TEXTURE); GlStateManager.loadIdentity(); GlStateManager.translate(texTranslateX, texTranslateY, 0.0F); GlStateManager.matrixMode(GL11.GL_MODELVIEW); GlStateManager.enableBlend(); GlStateManager.blendFunc(GlStateManager.SourceFactor.CONSTANT_ALPHA, GlStateManager.DestFactor.ONE_MINUS_CONSTANT_ALPHA); for (ForcefieldCube cube : cubes) { tess.getBuffer().begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX_COLOR); cube.draw(tess); GL14.glBlendColor(1.0f, 1.0f, 1.0f, cube.boxColor.fAlpha() * 0.5F); GlStateManager.depthMask(false); GlStateManager.disableCull(); tess.draw(); GlStateManager.enableCull(); GlStateManager.depthMask(true); GL14.glBlendColor(1.0F, 1.0F, 1.0F, 1.0F); } GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); GlStateManager.disableBlend(); GlStateManager.matrixMode(GL11.GL_TEXTURE); GL11.glLoadIdentity(); GlStateManager.matrixMode(GL11.GL_MODELVIEW); } }
From source file:hellfirepvp.astralsorcery.client.effect.EffectHandler.java
License:Open Source License
@SubscribeEvent(priority = EventPriority.LOW) public void onRender(RenderWorldLastEvent event) { TESRPrismLens.renderColoredPrismsLast(); float pTicks = event.getPartialTicks(); acceptsNewParticles = false;/* w ww .ja va 2 s.c om*/ for (CompoundObjectEffect.ObjectGroup og : objects.keySet()) { og.prepareGLContext(); for (CompoundObjectEffect effect : objects.get(og)) { effect.render(pTicks); } og.revertGLContext(); } if (uiGateway != null) { if (renderGateway) { uiGateway.renderIntoWorld(pTicks); } if (ClientGatewayHandler.focusingEntry != null) { renderGatewayTarget(pTicks); } } EntityFXFacingParticle.renderFast(pTicks, fastRenderParticles); EffectLightning.renderFast(pTicks, fastRenderLightnings); Map<Integer, List<IComplexEffect>> layeredEffects = complexEffects .get(IComplexEffect.RenderTarget.RENDERLOOP); for (int i = 0; i <= 2; i++) { for (IComplexEffect effect : layeredEffects.get(i)) { GL11.glPushMatrix(); GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); effect.render(pTicks); GL11.glPopAttrib(); GL11.glPopMatrix(); } } acceptsNewParticles = true; TESRMapDrawingTable.renderRemainingGlasses(pTicks); TESRTranslucentBlock.renderTranslucentBlocks(); }
From source file:hellfirepvp.astralsorcery.client.event.ClientRenderEventHandler.java
License:Open Source License
@SubscribeEvent(priority = EventPriority.LOWEST) @SideOnly(Side.CLIENT)//from w w w. j ava 2 s .co m public void onRender(RenderWorldLastEvent event) { World world = Minecraft.getMinecraft().world; if (((DataWorldSkyHandlers) SyncDataHolder.getDataClient(SyncDataHolder.DATA_SKY_HANDLERS)) .hasWorldHandler(world) && world.provider.getDimension() != Config.dimensionIdSkyRift) { if (!(world.provider.getSkyRenderer() instanceof RenderSkybox)) { world.provider.setSkyRenderer(new RenderSkybox(world, world.provider.getSkyRenderer())); } } if (world.provider.getDimension() == Config.dimensionIdSkyRift) { if (!(world.provider.getSkyRenderer() instanceof RenderRiftSkybox)) { world.provider.setSkyRenderer(new RenderRiftSkybox()); } } playHandAndHudRenders(Minecraft.getMinecraft().player.getHeldItem(EnumHand.MAIN_HAND), EnumHand.MAIN_HAND, event.getPartialTicks()); playHandAndHudRenders(Minecraft.getMinecraft().player.getHeldItem(EnumHand.OFF_HAND), EnumHand.OFF_HAND, event.getPartialTicks()); }
From source file:vazkii.botania.client.core.handler.BlockHighlightRenderHandler.java
License:Open Source License
@SubscribeEvent public static void onWorldRenderLast(RenderWorldLastEvent event) { Minecraft mc = Minecraft.getMinecraft(); RayTraceResult pos = mc.objectMouseOver; GlStateManager.pushMatrix();//from ww w .j a v a 2 s. co m GlStateManager.disableTexture2D(); GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); GlStateManager.disableLighting(); GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); boundTile: { if (Botania.proxy.isClientPlayerWearingMonocle() && pos != null && pos.entityHit == null) { BlockPos bPos = pos.getBlockPos(); ItemStack stackHeld = PlayerHelper.getFirstHeldItem(mc.thePlayer, ModItems.twigWand); if (stackHeld != null && ItemTwigWand.getBindMode(stackHeld)) { BlockPos coords = ItemTwigWand.getBoundTile(stackHeld); if (coords.getY() != -1) bPos = coords; } TileEntity tile = mc.theWorld.getTileEntity(bPos); if (tile == null || !(tile instanceof ISubTileContainer)) break boundTile; ISubTileContainer container = (ISubTileContainer) tile; SubTileEntity subtile = container.getSubTile(); if (subtile == null) break boundTile; RadiusDescriptor descriptor = subtile.getRadius(); if (descriptor == null) break boundTile; if (descriptor.isCircle()) renderCircle(descriptor.getSubtileCoords(), descriptor.getCircleRadius()); else renderRectangle(descriptor.getAABB(), true, null, (byte) 32); } } double offY = -1.0 / 16 + 0.005; for (Entity e : mc.theWorld.loadedEntityList) if (e instanceof EntityMagicLandmine) { BlockPos bpos = e.getPosition(); AxisAlignedBB aabb = new AxisAlignedBB(bpos).offset(0, offY, 0).expand(2.5, 0, 2.5); float gs = (float) (Math.sin(ClientTickHandler.total / 20) + 1) * 0.2F + 0.6F; int r = (int) (105 * gs); int g = (int) (25 * gs); int b = (int) (145 * gs); Color color = new Color(r, g, b); int alpha = 32; if (e.ticksExisted < 8) alpha *= Math.min((e.ticksExisted + event.getPartialTicks()) / 8F, 1F); else if (e.ticksExisted > 47) alpha *= Math.min(1F - (e.ticksExisted - 47 + event.getPartialTicks()) / 8F, 1F); renderRectangle(aabb, false, color, (byte) alpha); offY += 0.001; } GlStateManager.enableTexture2D(); GlStateManager.disableBlend(); GL11.glPopAttrib(); GlStateManager.popMatrix(); }