package joshie.harvest.fishing.render; import joshie.harvest.core.base.render.TileSpecialRendererItem; import joshie.harvest.fishing.tile.TileHatchery; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.item.ItemStack; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import javax.annotation.Nonnull; import java.util.List; @SideOnly(Side.CLIENT) public class SpecialRendererHatchery extends TileSpecialRendererItem<TileHatchery> { @Override public void renderTileEntityAt(@Nonnull TileHatchery tile, double x, double y, double z, float tick, int destroyStage) { GlStateManager.pushMatrix(); GlStateManager.translate(x, y, z); List<ItemStack> fish = tile.getFish(); if (fish.size() > 0) { for (int i = 0; i < fish.size(); i++) { renderItem(fish.get(i), tile.render, i); } } GlStateManager.popMatrix(); } @Override protected void translateItem(boolean isBlock, float position, float rotation, float offset1, float offset2) { GlStateManager.translate(0.5F, -1.05F, 0.5F); GlStateManager.rotate(-15, 0F, 1F, 0F); GlStateManager.scale(0.25F, 0.25F, 0.25F); if (!isBlock) { GlStateManager.rotate(rotation, 0F, 1F, 0F); GlStateManager.rotate(-190, 0F, 1F, 0F); GlStateManager.translate(offset1 * 3F, offset2 * 3.5F, position * 0.75F); } else { GlStateManager.rotate(90, 1F, 0F, 0F); GlStateManager.translate(offset1 * 1.4F, 0.8F - offset2 * 2.5F, position - 1F); } } }