private void renderItem(TileAltar tile, double x, double y, double z, ItemStack stack) { if (stack != null && stack.getItem() != null) { GlStateManager.pushMatrix(); GlStateManager.disableLighting(); GlStateManager.disableCull(); float scale = 1f; float yTranslate = getItemTranslateFactor(stack); float angle = TickHandlerClient.ticksInGame % 720f; EntityItem ghostEntityItem = new EntityItem(tile.getWorld()); ghostEntityItem.hoverStart = 0.0f; ghostEntityItem.setEntityItemStack(stack); GlStateManager.translate(x + 0.5f, y + 0.65f + yTranslate, z + 0.5f); GlStateManager.rotate(angle, 0, 1f, 0); GlStateManager.scale(scale, scale, scale); GlStateManager.translate(0f, 0.2f, 0f); renderEntityItem.doRender(ghostEntityItem, 0, 0, 0, 0, 0); GlStateManager.enableLighting(); GlStateManager.enableCull(); GlStateManager.popMatrix(); } }
@Override public void renderTileEntityAt( TileAltar tile, double x, double y, double z, float partialTicks, int destroyStage) { if (tile == null) return; GlStateManager.pushMatrix(); GlStateManager.enableBlend(); GlStateManager.blendFunc(0x302, 0x303); GlStateManager.translate(x + 0.5f, y + 1.65f, z + 0.5f); GlStateManager.rotate(180f, 1f, 0f, 0f); GlStateManager.scale(1.1, 1.1, 1.1); GL11.glColor4f(1f, 1f, 1f, 1f); RenderUtils.bindTexture(tile.isMaster() ? ALTAR_MASTER : ALTAR_BASE); model.renderBasic(RenderUtils.magicNum); GL11.glColor4f(1f, 1f, 1f, 1f); GlStateManager.disableBlend(); GlStateManager.popMatrix(); renderItem(tile, x, y, z, tile.getStackInSlot(0)); }