package joshie.harvest.cooking.render; import joshie.harvest.cooking.tile.TileMixer; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.util.EnumFacing; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class SpecialRendererMixer extends SpecialRendererCookware<TileMixer> { @Override protected void renderCookware(TileMixer mixer) { //Render the blade as an item renderIngredient(TileMixer.BLADE_STACK, -0.38F, mixer.blade, 0F, 0F); super.renderCookware(mixer); } @Override public void renderFluid(int i, World world, ResourceLocation fluid) { renderFluidCube(fluid, 0.5F, 0.375F + (i * 0.001F), 0.5F, 0.3249F); } @Override public void translateIngredient(boolean isBlock, float position, float rotation, float offset1, float offset2) { if (!isBlock) { if (offset2 != 0F) { //Rendering the blade GlStateManager.enableLighting(); GlStateManager.translate(0.5F, 0.45F, 0.5F); GlStateManager.scale(0.175F, 0.175F, 0.175F); GlStateManager.rotate(rotation - 90F, 0F, 1F, 0F); } else { GlStateManager.translate(0.5F, 0.4F, 0.5F); GlStateManager.scale(0.25F, 0.2F, 0.25F); GlStateManager.rotate(-90, 1F, 0F, 0F); } GlStateManager.rotate(rotation, 0F, 0F, 1F); GlStateManager.translate(offset1, offset2, position); } else { GlStateManager.rotate(90, 1F, 0F, 0F); GlStateManager.translate(offset1 * 1.4F, 0.8F - offset2 * 2.5F, position - 1F); } } @Override public void translateResult(TileMixer mixer, boolean isBlock) { GlStateManager.scale(0.4F, 0.4F, 0.4F); GlStateManager.translate(1.25F, 1.1F, 1.25F); if (mixer.getFacing() == EnumFacing.EAST || mixer.getFacing() == EnumFacing.WEST) { GlStateManager.rotate(-90, 0F, 1F, 0F); } if (isBlock) { GlStateManager.rotate(90, 0F, 1F, 0F); } } }