@Override public void render(@Nullable TileBrewery brewery, double d0, double d1, double d2, float f, int digProgress, float unused) { this.brewery = brewery; GlStateManager.pushMatrix(); GlStateManager.enableRescaleNormal(); GlStateManager.color(1F, 1F, 1F, 1F); GlStateManager.translate(d0, d1, d2); Minecraft.getMinecraft().renderEngine.bindTexture(texture); GlStateManager.scale(1F, -1F, -1F); GlStateManager.translate(0.5F, -1.5F, -0.5F); double time = ClientTickHandler.ticksInGame + f; model.render(this, time); GlStateManager.enableRescaleNormal(); GlStateManager.popMatrix(); }
@Override public void drawButton(@Nonnull Minecraft par1Minecraft, int par2, int par3, float partialTicks) { hovered = par2 >= x && par3 >= y && par2 < x + width && par3 < y + height; int k = getHoverState(hovered); RenderHelper.enableGUIStandardItemLighting(); GlStateManager.enableRescaleNormal(); par1Minecraft.getRenderItem().renderItemIntoGUI(challenge.icon, x, y); RenderHelper.disableStandardItemLighting(); GlStateManager.enableBlend(); if(challenge.complete) { GlStateManager.disableDepth(); par1Minecraft.fontRenderer.drawStringWithShadow("\u2714", x + 10, y + 9, 0x004C00); par1Minecraft.fontRenderer.drawStringWithShadow("\u2714", x + 10, y + 8, 0x0BD20D); GlStateManager.enableDepth(); } List<String> tooltip = new ArrayList<>(); tooltip.add(TextFormatting.AQUA + I18n.format(challenge.unlocalizedName)); int tooltipY = (tooltip.size() - 1) * 10; if(k == 2) vazkii.botania.client.core.helper.RenderHelper.renderTooltip(par2, par3 + tooltipY, tooltip); }
@Override public void render(@Nullable TileBellows bellows, double d0, double d1, double d2, float f, int digProgress, float unused) { if (bellows != null) if (!bellows.getWorld().isBlockLoaded(bellows.getPos(), false) || bellows.getWorld().getBlockState(bellows.getPos()).getBlock() != ModBlocks.bellows) return; GlStateManager.pushMatrix(); GlStateManager.enableRescaleNormal(); GlStateManager.color(1F, 1F, 1F, 1F); GlStateManager.translate(d0, d1, d2); Minecraft.getMinecraft().renderEngine.bindTexture(texture); int meta = bellows != null && bellows.getWorld() != null ? bellows.getBlockMetadata() : 0; GlStateManager.translate(0.5F, 1.5F, 0.5F); GlStateManager.scale(1F, -1F, -1F); GlStateManager.rotate(ROTATIONS[Math.max(Math.min(ROTATIONS.length, meta - 2), 0)], 0F, 1F, 0F); model.render(Math.max(0.1F, 1F - (bellows == null ? 0 : bellows.movePos + bellows.moving * f + 0.1F))); GlStateManager.color(1F, 1F, 1F); GlStateManager.scale(1F, -1F, -1F); GlStateManager.enableRescaleNormal(); GlStateManager.popMatrix(); }
@Override public void render(@Nullable TileTeruTeruBozu tileentity, double d0, double d1, double d2, float f, int digProgress, float unused) { GlStateManager.pushMatrix(); GlStateManager.enableRescaleNormal(); GlStateManager.enableBlend(); GlStateManager.disableCull(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GlStateManager.color(1F, 1F, 1F, 1F); GlStateManager.translate(d0, d1, d2); Minecraft.getMinecraft().renderEngine.bindTexture(ClientProxy.dootDoot ? textureHalloween : texture); GlStateManager.rotate(180F, 1F, 0F, 0F); double time = Botania.proxy.getWorldElapsedTicks() + f; boolean hasWorld = tileentity != null && tileentity.getWorld() != null; if(hasWorld) time += new Random(tileentity.getPos().hashCode()).nextInt(1000); GlStateManager.translate(0.5F, -1.25F + (hasWorld ? (float) Math.sin(time * 0.01F) * 0.05F : 0F), -0.5F); if(hasWorld) { GlStateManager.rotate((float) (time * 0.3), 0F, 1F, 0F); GlStateManager.rotate(4F * (float) Math.sin(time * 0.05F), 0F, 0F, 1F); float s = 0.75F; GlStateManager.scale(s, s, s); } model.render(); GlStateManager.color(1F, 1F, 1F); GlStateManager.enableRescaleNormal(); GlStateManager.enableCull(); GlStateManager.popMatrix(); }
@Override public void render(@Nonnull TileCocoon cocoon, double d0, double d1, double d2, float f, int digProgress, float unused) { float rot = 0F; float modval = 60F - (float) cocoon.timePassed / (float) TileCocoon.TOTAL_TIME * 30F; if(cocoon.timePassed % modval < 10) { float mod = (cocoon.timePassed + f) % modval; float v = mod / 5 * (float) Math.PI * 2; rot = (float) Math.sin(v) * (float) Math.log(cocoon.timePassed + f); } GlStateManager.pushMatrix(); GlStateManager.enableRescaleNormal(); GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GlStateManager.color(1F, 1F, 1F, 1F); GlStateManager.translate(d0, d1, d2 + 1); Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); GlStateManager.translate(0.5F, 0, 0F); GlStateManager.rotate(rot, 1F, 0F, 0F); GlStateManager.translate(-0.5F, 0, 0F); IBlockState state = cocoon.getWorld().getBlockState(cocoon.getPos()); IBakedModel model = Minecraft.getMinecraft().getBlockRendererDispatcher().getBlockModelShapes().getModelForState(state); Minecraft.getMinecraft().getBlockRendererDispatcher().getBlockModelRenderer().renderModelBrightness(model, state, 1.0F, false); GlStateManager.color(1F, 1F, 1F); GlStateManager.enableRescaleNormal(); GlStateManager.popMatrix(); } }
GlStateManager.enableRescaleNormal(); GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
private static void renderNearIndexDisplay(ScaledResolution res) { Minecraft mc = Minecraft.getMinecraft(); String txt0 = I18n.format("botaniamisc.nearIndex0"); String txt1 = TextFormatting.GRAY + I18n.format("botaniamisc.nearIndex1"); String txt2 = TextFormatting.GRAY + I18n.format("botaniamisc.nearIndex2"); int l = Math.max(mc.fontRenderer.getStringWidth(txt0), Math.max(mc.fontRenderer.getStringWidth(txt1), mc.fontRenderer.getStringWidth(txt2))) + 20; int x = res.getScaledWidth() - l - 20; int y = res.getScaledHeight() - 60; Gui.drawRect(x - 6, y - 6, x + l + 6, y + 37, 0x44000000); Gui.drawRect(x - 4, y - 4, x + l + 4, y + 35, 0x44000000); net.minecraft.client.renderer.RenderHelper.enableGUIStandardItemLighting(); GlStateManager.enableRescaleNormal(); mc.getRenderItem().renderItemAndEffectIntoGUI(new ItemStack(ModBlocks.corporeaIndex), x, y + 10); net.minecraft.client.renderer.RenderHelper.disableStandardItemLighting(); mc.fontRenderer.drawStringWithShadow(txt0, x + 20, y, 0xFFFFFF); mc.fontRenderer.drawStringWithShadow(txt1, x + 20, y + 14, 0xFFFFFF); mc.fontRenderer.drawStringWithShadow(txt2, x + 20, y + 24, 0xFFFFFF); }
@SuppressWarnings("deprecation") @Override public void render(@Nonnull TileIncensePlate plate, double d0, double d1, double d2, float ticks, int digProgress, float unused) { if(!plate.getWorld().isBlockLoaded(plate.getPos(), false) || plate.getWorld().getBlockState(plate.getPos()).getBlock() != ModBlocks.incensePlate) return; ItemStack stack = plate.getItemHandler().getStackInSlot(0); if(stack.isEmpty()) return; EnumFacing facing = plate.getWorld().getBlockState(plate.getPos()).getValue(BotaniaStateProps.CARDINALS); GlStateManager.pushMatrix(); GlStateManager.enableRescaleNormal(); GlStateManager.translate(d0, d1, d2); GlStateManager.translate(0.5F, 1.5F, 0.5F); GlStateManager.rotate(ROTATIONS.get(facing), 0F, 1F, 0F); Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); float s = 0.6F; GlStateManager.translate(-0.11F, -1.35F, 0F); GlStateManager.scale(s, s, s); Minecraft.getMinecraft().getRenderItem().renderItem(stack, ItemCameraTransforms.TransformType.GROUND); GlStateManager.color(1F, 1F, 1F); GlStateManager.enableRescaleNormal(); GlStateManager.popMatrix(); }
@SideOnly(Side.CLIENT) public void renderHUD(ScaledResolution res) { Minecraft mc = Minecraft.getMinecraft(); int x = res.getScaledWidth() / 2 + 10; int y = res.getScaledHeight() / 2 - 10; ItemStack stack = itemHandler.getStackInSlot(0); if(!stack.isEmpty()) { RenderHelper.enableGUIStandardItemLighting(); GlStateManager.enableRescaleNormal(); mc.getRenderItem().renderItemIntoGUI(stack, x, y); mc.getRenderItem().renderItemOverlays(mc.fontRenderer, stack, x, y); GlStateManager.disableRescaleNormal(); RenderHelper.disableStandardItemLighting(); int time = getTotalTime(); String timeStr = StringUtils.ticksToElapsedTime(time); mc.fontRenderer.drawStringWithShadow(timeStr, x + 20, y, getColor()); String status = ""; if(lock) status = "locked"; if(!move) status = status.isEmpty() ? "stopped" : "lockedStopped"; if(!status.isEmpty()) mc.fontRenderer.drawStringWithShadow(I18n.format("botaniamisc." + status), x + 20, y + 12, getColor()); } }
public static void drawComplexManaHUD(int color, int mana, int maxMana, String name, ScaledResolution res, ItemStack bindDisplay, boolean properlyBound) { drawSimpleManaHUD(color, mana, maxMana, name, res); Minecraft mc = Minecraft.getMinecraft(); int x = res.getScaledWidth() / 2 + 55; int y = res.getScaledHeight() / 2 + 12; net.minecraft.client.renderer.RenderHelper.enableGUIStandardItemLighting(); GlStateManager.enableRescaleNormal(); mc.getRenderItem().renderItemAndEffectIntoGUI(bindDisplay, x, y); net.minecraft.client.renderer.RenderHelper.disableStandardItemLighting(); GlStateManager.disableDepth(); if(properlyBound) { mc.fontRenderer.drawStringWithShadow("\u2714", x + 10, y + 9, 0x004C00); mc.fontRenderer.drawStringWithShadow("\u2714", x + 10, y + 8, 0x0BD20D); } else { mc.fontRenderer.drawStringWithShadow("\u2718", x + 10, y + 9, 0x4C0000); mc.fontRenderer.drawStringWithShadow("\u2718", x + 10, y + 8, 0xD2080D); } GlStateManager.enableDepth(); }
@Override @SideOnly(Side.CLIENT) public int bossBarRenderCallback(ScaledResolution res, int x, int y) { GlStateManager.pushMatrix(); int px = x + 160; int py = y + 12; Minecraft mc = Minecraft.getMinecraft(); ItemStack stack = new ItemStack(Items.SKULL, 1, 3); mc.renderEngine.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); net.minecraft.client.renderer.RenderHelper.enableGUIStandardItemLighting(); GlStateManager.enableRescaleNormal(); mc.getRenderItem().renderItemIntoGUI(stack, px, py); net.minecraft.client.renderer.RenderHelper.disableStandardItemLighting(); boolean unicode = mc.fontRenderer.getUnicodeFlag(); mc.fontRenderer.setUnicodeFlag(true); mc.fontRenderer.drawStringWithShadow("" + playerCount, px + 15, py + 4, 0xFFFFFF); mc.fontRenderer.setUnicodeFlag(unicode); GlStateManager.popMatrix(); return 5; }
private static void renderCrystalCubeHUD(ScaledResolution res, TileCorporeaCrystalCube tile) { Minecraft mc = Minecraft.getMinecraft(); Profiler profiler = mc.profiler; profiler.startSection("crystalCube"); ItemStack target = tile.getRequestTarget(); if(!target.isEmpty()) { String s1 = target.getDisplayName(); String s2 = tile.getItemCount() + "x"; int strlen = Math.max(mc.fontRenderer.getStringWidth(s1), mc.fontRenderer.getStringWidth(s2)); int w = res.getScaledWidth(); int h = res.getScaledHeight(); Gui.drawRect(w / 2 + 8, h / 2 - 12, w / 2 + strlen + 32, h / 2 + 10, 0x44000000); Gui.drawRect(w / 2 + 6, h / 2 - 14, w / 2 + strlen + 34, h / 2 + 12, 0x44000000); mc.fontRenderer.drawStringWithShadow(target.getDisplayName(), w / 2 + 30, h / 2 - 10, 0x6666FF); mc.fontRenderer.drawStringWithShadow(tile.getItemCount() + "x", w / 2 + 30, h / 2, 0xFFFFFF); net.minecraft.client.renderer.RenderHelper.enableGUIStandardItemLighting(); GlStateManager.enableRescaleNormal(); mc.getRenderItem().renderItemAndEffectIntoGUI(target, w / 2 + 10, h / 2 - 10); net.minecraft.client.renderer.RenderHelper.disableStandardItemLighting(); } profiler.endSection(); }
@SideOnly(Side.CLIENT) @Override public void renderHUD(Minecraft mc, ScaledResolution res, World world, BlockPos pos) { TileEntity tile = world.getTileEntity(pos); if(tile instanceof TileCraftCrate) { TileCraftCrate craft = (TileCraftCrate) tile; int width = 52; int height = 52; int xc = res.getScaledWidth() / 2 + 20; int yc = res.getScaledHeight() / 2 - height / 2; Gui.drawRect(xc - 6, yc - 6, xc + width + 6, yc + height + 6, 0x22000000); Gui.drawRect(xc - 4, yc - 4, xc + width + 4, yc + height + 4, 0x22000000); for(int i = 0; i < 3; i++) for(int j = 0; j < 3; j++) { int index = i * 3 + j; int xp = xc + j * 18; int yp = yc + i * 18; boolean enabled = true; if(craft.pattern > -1) enabled = TileCraftCrate.PATTERNS[craft.pattern][index]; Gui.drawRect(xp, yp, xp + 16, yp + 16, enabled ? 0x22FFFFFF : 0x22FF0000); ItemStack item = craft.getItemHandler().getStackInSlot(index); net.minecraft.client.renderer.RenderHelper.enableGUIStandardItemLighting(); GlStateManager.enableRescaleNormal(); mc.getRenderItem().renderItemAndEffectIntoGUI(item, xp, yp); net.minecraft.client.renderer.RenderHelper.disableStandardItemLighting(); } } }
@Override public void drawScreenAfterScale(int xCoord, int yCoord, float newPartialTicks) { super.drawScreenAfterScale(xCoord, yCoord, newPartialTicks); RenderHelper.enableGUIStandardItemLighting(); GlStateManager.enableRescaleNormal(); mc.getRenderItem().renderItemIntoGUI(challenge.icon, left + 18, top + 15); RenderHelper.disableStandardItemLighting(); GlStateManager.enableBlend(); boolean unicode = fontRenderer.getUnicodeFlag(); fontRenderer.setUnicodeFlag(true); fontRenderer.drawString(TextFormatting.BOLD + I18n.format(challenge.unlocalizedName), left + 38, top + 13, 0); fontRenderer.drawString(I18n.format(challenge.level.getName()) + ((challenge.icon.getItem() == ModItems.rune) ? "+" : "") + " / " + (challenge.complete ? TextFormatting.DARK_GREEN : TextFormatting.DARK_RED) + I18n.format(challenge.complete ? "botaniamisc.completed" : "botaniamisc.notCompleted"), left + 38, top + 23, 0); int width = guiWidth - 30; int x = left + 16; int y = top + 28; PageText.renderText(x, y, width, guiHeight, challenge.unlocalizedName + ".desc"); fontRenderer.setUnicodeFlag(unicode); }
@Override @SideOnly(Side.CLIENT) public void onPlayerBaubleRender(ItemStack stack, EntityPlayer player, RenderType type, float partialTicks) { if(type == RenderType.BODY) { Helper.rotateIfSneaking(player); boolean armor = !player.getItemStackFromSlot(EntityEquipmentSlot.CHEST).isEmpty(); GlStateManager.translate(0F, armor ? -0.07F : -0.01F, 0F); float s = 1F / 16F; GlStateManager.scale(s, s, s); if(model == null) model = new ModelCloak(); GlStateManager.enableLighting(); GlStateManager.enableRescaleNormal(); Minecraft.getMinecraft().renderEngine.bindTexture(getCloakTexture()); model.render(1F); int light = 15728880; int lightmapX = light % 65536; int lightmapY = light / 65536; OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, lightmapX, lightmapY); Minecraft.getMinecraft().renderEngine.bindTexture(getCloakGlowTexture()); model.render(1F); } }
public void renderKamuiBlack() { // Modified copy of RenderItem.renderItem(stack, transformtype) Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); Minecraft.getMinecraft().renderEngine.getTexture(TextureMap.LOCATION_BLOCKS_TEXTURE).setBlurMipmap(false, false); IBakedModel model = Minecraft.getMinecraft().getRenderItem().getItemModelMesher().getItemModel(renderStack); GlStateManager.enableRescaleNormal(); GlStateManager.alphaFunc(516, 0.1F); GlStateManager.enableBlend(); GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0); GlStateManager.pushMatrix(); model = net.minecraftforge.client.ForgeHooksClient.handleCameraTransforms(model, ItemCameraTransforms.TransformType.NONE, false); renderModel(model, renderStack, 0xFF00004C); GlStateManager.cullFace(GlStateManager.CullFace.BACK); GlStateManager.popMatrix(); GlStateManager.disableRescaleNormal(); GlStateManager.disableBlend(); Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); Minecraft.getMinecraft().renderEngine.getTexture(TextureMap.LOCATION_BLOCKS_TEXTURE).restoreLastBlurMipmap(); }
@SideOnly(Side.CLIENT) public void renderItem(IGuiLexiconEntry gui, int xPos, int yPos, ItemStack stack) { RenderItem render = Minecraft.getMinecraft().getRenderItem(); boolean mouseDown = Mouse.isButtonDown(0); GlStateManager.pushMatrix(); GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); RenderHelper.enableGUIStandardItemLighting(); GlStateManager.enableRescaleNormal(); GlStateManager.enableDepth(); render.renderItemAndEffectIntoGUI(stack, xPos, yPos); render.renderItemOverlays(Minecraft.getMinecraft().fontRenderer, stack, xPos, yPos); RenderHelper.disableStandardItemLighting(); GlStateManager.popMatrix(); if(relativeMouseX >= xPos && relativeMouseY >= yPos && relativeMouseX <= xPos + 16 && relativeMouseY <= yPos + 16) { tooltipStack = stack; EntryData data = LexiconRecipeMappings.getDataForStack(tooltipStack); if(data != null && (data.entry != gui.getEntry() || data.page != gui.getPageOn())) { tooltipEntry = true; if(!mouseDownLastTick && mouseDown && GuiScreen.isShiftKeyDown()) { GuiLexiconEntry newGui = new GuiLexiconEntry(data.entry, (GuiScreen) gui); newGui.page = data.page; Minecraft.getMinecraft().displayGuiScreen(newGui); } } } GlStateManager.disableLighting(); }
Gui.drawRect(x - 4, y - 4, x + l + 4, y + 35, 0x22000000); net.minecraft.client.renderer.RenderHelper.enableGUIStandardItemLighting(); GlStateManager.enableRescaleNormal(); mc.getRenderItem().renderItemAndEffectIntoGUI(craftingTable, resolution.getScaledWidth() / 2 - 8, resolution.getScaledHeight() / 2 - 52); net.minecraft.client.renderer.RenderHelper.disableStandardItemLighting();
GlStateManager.enableRescaleNormal(); for(int i = 0; i < 9; i++) { ItemStack stack = recipe[i];
GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); RenderHelper.enableGUIStandardItemLighting(); GlStateManager.enableRescaleNormal(); GlStateManager.enableDepth(); GlStateManager.pushMatrix();