diff --git a/src/main/java/com/zixiken/dimdoors/client/DDProxyClient.java b/src/main/java/com/zixiken/dimdoors/client/DDProxyClient.java index fd41d2b0..01256148 100644 --- a/src/main/java/com/zixiken/dimdoors/client/DDProxyClient.java +++ b/src/main/java/com/zixiken/dimdoors/client/DDProxyClient.java @@ -8,10 +8,13 @@ import com.zixiken.dimdoors.shared.tileentities.TileEntityDimDoor; import com.zixiken.dimdoors.shared.tileentities.TileEntityRift; import com.zixiken.dimdoors.shared.tileentities.TileEntityTransTrapdoor; import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; import net.minecraft.world.WorldServer; import net.minecraftforge.fml.client.registry.ClientRegistry; +import net.minecraftforge.fml.client.registry.IRenderFactory; import net.minecraftforge.fml.client.registry.RenderingRegistry; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; @@ -39,7 +42,13 @@ public class DDProxyClient extends DDProxyCommon { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDimDoor.class, new RenderDimDoor()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTransTrapdoor.class, new RenderTransTrapdoor()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRift.class, new RenderRift()); - RenderingRegistry.registerEntityRenderingHandler(MobMonolith.class, new RenderMobObelisk(.5F)); + RenderingRegistry.registerEntityRenderingHandler(MobMonolith.class, new IRenderFactory() + { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderMobObelisk(manager, 0.5f); + } + }); } @Override diff --git a/src/main/java/com/zixiken/dimdoors/shared/entities/RenderMobObelisk.java b/src/main/java/com/zixiken/dimdoors/shared/entities/RenderMobObelisk.java index 941ec2cd..b594f365 100644 --- a/src/main/java/com/zixiken/dimdoors/shared/entities/RenderMobObelisk.java +++ b/src/main/java/com/zixiken/dimdoors/shared/entities/RenderMobObelisk.java @@ -19,7 +19,7 @@ import java.util.Arrays; import java.util.List; @SideOnly(Side.CLIENT) -public class RenderMobObelisk extends RenderLiving { +public class RenderMobObelisk extends RenderLiving { protected ModelMobObelisk obeliskModel; protected static final List monolith_textures = Arrays.asList( @@ -43,16 +43,15 @@ public class RenderMobObelisk extends RenderLiving { new ResourceLocation(DimDoors.MODID + ":textures/mobs/monolith/Monolith17.png"), new ResourceLocation(DimDoors.MODID + ":textures/mobs/monolith/Monolith18.png")); - public RenderMobObelisk(float f) { - super(Minecraft.getMinecraft().getRenderManager(), new ModelMobObelisk(), f); + public RenderMobObelisk(RenderManager manager, float f) { + super(manager, new ModelMobObelisk(), f); this.obeliskModel = (ModelMobObelisk)this.mainModel; } @Override - public void doRender(EntityLiving entity, double x, double y, double z, float par8, float par9) { + public void doRender(MobMonolith monolith, double x, double y, double z, float par8, float par9) { final float minScaling = 0; final float maxScaling = 0.1f; - MobMonolith monolith = ((MobMonolith) entity); float aggroScaling = 0; if (monolith.isDangerous()) { @@ -69,11 +68,11 @@ public class RenderMobObelisk extends RenderLiving { double zJitter = aggroScaling * Math.sin(1.3f * time) * Math.sin(0.7f * time); // Render with jitter - this.render(entity, x + xJitter, y + yJitter, z + zJitter, par8, par9); + this.render(monolith, x + xJitter, y + yJitter, z + zJitter, par8, par9); //this.renderLeash(entity, x, y, z, par8, par9); } - public void render(EntityLiving par1EntityLivingBase, double x, double y, double z, float par8, float par9) + public void render(MobMonolith par1EntityLivingBase, double x, double y, double z, float par8, float par9) { if (MinecraftForge.EVENT_BUS.post(new RenderLivingEvent.Pre(par1EntityLivingBase, this, x, y, z))) return; GL11.glPushMatrix(); @@ -124,11 +123,7 @@ public class RenderMobObelisk extends RenderLiving { } @Override - protected ResourceLocation getEntityTexture(Entity entity) { - MobMonolith monolith = (MobMonolith) entity; - - System.out.println("Monolith isn't null. " + monolith.getTextureState()); - + protected ResourceLocation getEntityTexture(MobMonolith monolith) { return monolith_textures.get(monolith.getTextureState()); //return new ResourceLocation(DimDoors.MODID + ":textures/mobs/monolith/Monolith" + monolith.getTextureState() + ".png"); } } \ No newline at end of file