public RenderVanillaCow(RenderManager manager) { super(manager, new ModelCow(), 0.7F); } }
@Override public void render(TileMilkJar tileEntity, double x, double y, double z, float partialTicks, int destroyStage, float alpha) { if (!tileEntity.hasWorld()) { return; } super.render(tileEntity, x, y, z, partialTicks, destroyStage, alpha); IBlockState state = tileEntity.getWorld().getBlockState(tileEntity.getPos()); if (state.getBlock() != ModBlocks.cowJar) { // I don't know. But it seems for some reason the renderer gets called for minecraft:air in certain cases. return; } if (entity == null && tileEntity.hasWorld()) { entity = new EntityCow(tileEntity.getWorld()); entity.setScaleForAge(false); } bindTexture(COW_TEXTURES); if (entity != null) { GlStateManager.pushMatrix(); GlStateManager.translate(x + 0.5, y + 0.5 + (BlockMilkJar.shouldBlockRenderLowered(tileEntity.getWorld(), tileEntity.getPos()) ? -0.05 : 0), z + 0.5); GlStateManager.rotate(RenderUtils.getFacingAngle(state), 0f, 1f, 0f); GlStateManager.rotate(180f, 0f, 0f, 1f); GlStateManager.scale(0.02, 0.02, 0.02); model.render(entity, 0f, 0f, 0f, 0f, 0f, 1f); GlStateManager.popMatrix(); } }
@SideOnly(Side.CLIENT) public static void preInitClient() { RegistryHelper.registerEntityRenderer(ANIMAL, AnimalItemRenderer.INSTANCE); if (!VANILLA_MODELS) { AnimalItemRenderer.INSTANCE.register(Spawner.COW, "cow_adult", new ModelHarvestCow.Adult()); AnimalItemRenderer.INSTANCE.register(Spawner.SHEEP, "sheep_adult", new ModelHarvestSheep.Wooly()); AnimalItemRenderer.INSTANCE.register(Spawner.CHICKEN, "chicken_adult", new ModelHarvestChicken.Adult()); RenderingRegistry.registerEntityRenderingHandler(EntityHarvestCow.class, RenderHarvestCow::new); RenderingRegistry.registerEntityRenderingHandler(EntityHarvestSheep.class, RenderHarvestSheep::new); RenderingRegistry.registerEntityRenderingHandler(EntityHarvestChicken.class, RenderHarvestChicken::new); } else { AnimalItemRenderer.INSTANCE.register(Spawner.COW, new ResourceLocation("textures/entity/cow/cow.png"), new ModelCow()); AnimalItemRenderer.INSTANCE.register(Spawner.SHEEP, new ResourceLocation("textures/entity/sheep/sheep.png"), new ModelSheep2()); AnimalItemRenderer.INSTANCE.register(Spawner.CHICKEN, new ResourceLocation("textures/entity/chicken.png"), new ModelChicken()); RenderingRegistry.registerEntityRenderingHandler(EntityHarvestCow.class, RenderVanillaCow::new); RenderingRegistry.registerEntityRenderingHandler(EntityHarvestSheep.class, RenderVanillaSheep::new); RenderingRegistry.registerEntityRenderingHandler(EntityHarvestChicken.class, RenderVanillaChicken::new); } }