Posted January 10, 201411 yr Hey guys I finally got my mob to load in-game but it only loads as a white half slab, I believe my RenderMob.class isn't right but I can't really tell. If anyone could help me, that would be amazing! ModClass: @NetworkMod(clientSideRequired=true,serverSideRequired=false, clientPacketHandlerSpec = @SidedPacketHandler(channels = {"Skeith"}, packetHandler = SkeithClientPacketHandler.class), serverPacketHandlerSpec = @SidedPacketHandler(channels = {"Skeith"}, packetHandler = SkeithServerPacketHandler.class)) @Mod(modid="Skeith",name="Skeith Mod",version="Release") public class skeith { @Instance("Skeith") public static skeith instance = new skeith(); @SidedProxy(clientSide = "jerry99666.skeith.client.SkeithClientProxy", serverSide = "jerry99666.skeith.common.SkeithCommonProxy") public static SkeithCommonProxy proxy; @PreInit public void PreInit(FMLPreInitializationEvent e) { } @Init public void InitSkeith(FMLInitializationEvent event) { LanguageRegistry.instance().addStringLocalization("entity.Skeith.name", "Skeith"); EntityRegistry.registerModEntity(EntitySkeith.class, "Skeith", 0, this, 350, 5, false); EntityList.addMapping(EntitySkeith.class, "Skeith", 3, 0xeaeae9, 0xc99a03); NetworkRegistry.instance().registerGuiHandler(this, proxy); } public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l) { return false; } //And this tell it that you can see through this block, and neighbor blocks should be rendered. public boolean isOpaqueCube() { return false; } private void registerEntity(Class<EntitySkeith> class1, String string, int i, int j) { } } ClientProxy: public class SkeithClientProxy extends SkeithCommonProxy { public void registerRenderInformation(){ RenderingRegistry.registerEntityRenderingHandler(EntitySkeith.class, new RenderSkeith(new ModelSkeith(), 0.5F)); EntityRegistry.registerGlobalEntityID(EntitySkeith.class, "Skeith", EntityRegistry.findGlobalUniqueEntityId(), 0xabcde9, 0xe98a03); } } CommonProxy: public class SkeithCommonProxy implements IGuiHandler{ //THIS IS IMPORTANT, CANNOT BE A PROXY/GUI HANDLER WITHOUT THIS!! public void registerRenderInformation() //Client side texture registering { } @Override public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { //For GUI's return null; } @Override public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { //For GUI's return null; } public void registerTiles(){ //For registering TileEntities } public void registerBlocks(){ //For registering Blocks } public void registerItems(){ //For registering Items } } EntityMob: public class EntitySkeith extends EntityMob { private String texture; public EntitySkeith(World par1World) { super(par1World); this.texture = "textures/mobs/skeith.png"; this.getNavigator().setAvoidsWater(true); this.setSize(1.5F, 0.9F); this.isImmuneToFire = false; float var2 = 0.25F; this.tasks.addTask(0, new EntityAISwimming(this)); this.tasks.addTask(6, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F)); this.tasks.addTask(7, new EntityAILookIdle(this)); } public boolean isAIEnabled() { return true; } protected void updateAITasks() { super.updateAITasks(); } public void setAIMoveSpeed(float par1) { super.setAIMoveSpeed(7F); this.setMoveForward(5F); } protected void entityInit() { super.entityInit(); this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); } public boolean interact(EntityPlayer par1EntityPlayer) { return false; } protected void fall(float par1) { super.fall(par1); } public EntitySkeith spawnBabyAnimal(EntityAgeable par1EntityAgeable) { return null; } public EntityAgeable createChild(EntityAgeable var1) { return null; } } ModelMob: public class ModelSkeith extends ModelBase { //fields ModelRenderer LLegB; ModelRenderer LLegMB; ModelRenderer LLegM; ModelRenderer LLegMT; ModelRenderer LLegT; ModelRenderer RLegB; ModelRenderer RLegMB; ModelRenderer RLegM; ModelRenderer RLegMT; ModelRenderer RLegT; ModelRenderer WaistB; ModelRenderer WaistM; ModelRenderer WaistT; ModelRenderer TorsoB; ModelRenderer TorsoM; ModelRenderer TorsoT; ModelRenderer Neck; ModelRenderer Head; ModelRenderer RShoulder; ModelRenderer RArmT; ModelRenderer RArmB; ModelRenderer RWrist; ModelRenderer RThumb; ModelRenderer RIndex; ModelRenderer RMiddle; ModelRenderer RRing; ModelRenderer RPinkie; ModelRenderer LShoulder; ModelRenderer LArmT; ModelRenderer LArmB; ModelRenderer LWrist; ModelRenderer LThumb; ModelRenderer LIndex; ModelRenderer LMiddle; ModelRenderer LRing; ModelRenderer LPinkie; ModelRenderer LHorn1; ModelRenderer LHorn2; ModelRenderer LHorn3; ModelRenderer LHorn4; ModelRenderer LHorn5; ModelRenderer LHorn6; ModelRenderer LHorn7; ModelRenderer RHorn1; ModelRenderer RHorn2; ModelRenderer RHorn3; ModelRenderer RHorn4; ModelRenderer RHorn5; ModelRenderer LHorn8; public ModelSkeith() { textureWidth = 128; textureHeight = 128; LLegB = new ModelRenderer(this, 56, 76); LLegB.addBox(0F, 0F, 0F, 2, 5, 2); LLegB.setRotationPoint(4F, 16F, 0F); LLegB.setTextureSize(128, 128); LLegB.mirror = true; setRotation(LLegB, 0F, 0F, 0F); LLegMB = new ModelRenderer(this, 44, 76); LLegMB.addBox(0F, 0F, 0F, 3, 5, 3); LLegMB.setRotationPoint(3.5F, 11F, -0.5F); LLegMB.setTextureSize(128, 128); LLegMB.mirror = true; setRotation(LLegMB, 0F, 0F, 0F); LLegM = new ModelRenderer(this, 28, 76); LLegM.addBox(0F, 0F, 0F, 4, 5, 4); LLegM.setRotationPoint(3F, 6F, -1F); LLegM.setTextureSize(128, 128); LLegM.mirror = true; setRotation(LLegM, 0F, 0F, 0F); LLegMT = new ModelRenderer(this, 16, 76); LLegMT.addBox(0F, 0F, 0F, 3, 2, 3); LLegMT.setRotationPoint(3.5F, 4F, -0.5F); LLegMT.setTextureSize(128, 128); LLegMT.mirror = true; setRotation(LLegMT, 0F, 0F, 0F); LLegT = new ModelRenderer(this, 0, 76); LLegT.addBox(0F, 0F, 0F, 4, 4, 4); LLegT.setRotationPoint(3F, 0F, -1F); LLegT.setTextureSize(128, 128); LLegT.mirror = true; setRotation(LLegT, 0F, 0F, 0F); RLegB = new ModelRenderer(this, 56, 67); RLegB.addBox(0F, 0F, 0F, 2, 5, 2); RLegB.setRotationPoint(-6F, 16F, 0F); RLegB.setTextureSize(128, 128); RLegB.mirror = true; setRotation(RLegB, 0F, 0F, 0F); RLegMB = new ModelRenderer(this, 44, 67); RLegMB.addBox(0F, 0F, 0F, 3, 5, 3); RLegMB.setRotationPoint(-6.5F, 11F, -0.5F); RLegMB.setTextureSize(128, 128); RLegMB.mirror = true; setRotation(RLegMB, 0F, 0F, 0F); RLegM = new ModelRenderer(this, 28, 67); RLegM.addBox(0F, 0F, 0F, 4, 5, 4); RLegM.setRotationPoint(-7F, 6F, -1F); RLegM.setTextureSize(128, 128); RLegM.mirror = true; setRotation(RLegM, 0F, 0F, 0F); RLegMT = new ModelRenderer(this, 16, 67); RLegMT.addBox(0F, 0F, 0F, 3, 2, 3); RLegMT.setRotationPoint(-6.5F, 4F, -0.5F); RLegMT.setTextureSize(128, 128); RLegMT.mirror = true; setRotation(RLegMT, 0F, 0F, 0F); RLegT = new ModelRenderer(this, 0, 67); RLegT.addBox(0F, 0F, 0F, 4, 4, 4); RLegT.setRotationPoint(-7F, 0F, -1F); RLegT.setTextureSize(128, 128); RLegT.mirror = true; setRotation(RLegT, 0F, 0F, 0F); WaistB = new ModelRenderer(this, 0, 58); WaistB.addBox(0F, 0F, 0F, 5, 4, 5); WaistB.setRotationPoint(-2.5F, -5F, -2F); WaistB.setTextureSize(128, 128); WaistB.mirror = true; setRotation(WaistB, 0F, 0F, 0F); WaistM = new ModelRenderer(this, 20, 51); WaistM.addBox(0F, 0F, 0F, 3, 4, 3); WaistM.setRotationPoint(-1.5F, -9F, -1F); WaistM.setTextureSize(128, 128); WaistM.mirror = true; setRotation(WaistM, 0F, 0F, 0F); WaistT = new ModelRenderer(this, 0, 50); WaistT.addBox(0F, 0F, 0F, 5, 3, 5); WaistT.setRotationPoint(-2.5F, -12F, -2F); WaistT.setTextureSize(128, 128); WaistT.mirror = true; setRotation(WaistT, 0F, 0F, 0F); TorsoB = new ModelRenderer(this, 0, 40); TorsoB.addBox(0F, 0F, 0F, 9, 3, 7); TorsoB.setRotationPoint(-4.5F, -15F, -3F); TorsoB.setTextureSize(128, 128); TorsoB.mirror = true; setRotation(TorsoB, 0F, 0F, 0F); TorsoM = new ModelRenderer(this, 0, 27); TorsoM.addBox(0F, 0F, 0F, 13, 5, ; TorsoM.setRotationPoint(-6.5F, -20F, -4F); TorsoM.setTextureSize(128, 128); TorsoM.mirror = true; setRotation(TorsoM, 0F, 0F, 0F); TorsoT = new ModelRenderer(this, 0, 18); TorsoT.addBox(0F, 0F, 0F, 9, 2, 7); TorsoT.setRotationPoint(-4.5F, -22F, -3F); TorsoT.setTextureSize(128, 128); TorsoT.mirror = true; setRotation(TorsoT, 0F, 0F, 0F); Neck = new ModelRenderer(this, 0, 10); Neck.addBox(0F, 0F, 0F, 7, 2, 6); Neck.setRotationPoint(-3.5F, -24F, -2F); Neck.setTextureSize(128, 128); Neck.mirror = true; setRotation(Neck, 0F, 0F, 0F); Head = new ModelRenderer(this, 0, 0); Head.addBox(0F, 0F, 0F, 5, 5, 5); Head.setRotationPoint(-2.5F, -28F, -3F); Head.setTextureSize(128, 128); Head.mirror = true; setRotation(Head, 0F, 0F, 0F); RShoulder = new ModelRenderer(this, 44, 0); RShoulder.addBox(0F, 0F, 0F, 7, 5, 5); RShoulder.setRotationPoint(-14.5F, -21F, -2F); RShoulder.setTextureSize(128, 128); RShoulder.mirror = true; setRotation(RShoulder, 0F, 0F, 0F); RArmT = new ModelRenderer(this, 44, 10); RArmT.addBox(0F, 0F, 0F, 4, 4, 4); RArmT.setRotationPoint(-13F, -15F, -1F); RArmT.setTextureSize(128, 128); RArmT.mirror = true; setRotation(RArmT, 0F, 0F, 0F); RArmB = new ModelRenderer(this, 43, 18); RArmB.addBox(0F, 0F, 0F, 4, 6, 5); RArmB.setRotationPoint(-13.5F, -10F, -2F); RArmB.setTextureSize(128, 128); RArmB.mirror = true; setRotation(RArmB, 0F, 0F, 0F); RWrist = new ModelRenderer(this, 44, 29); RWrist.addBox(0F, 0F, 0F, 3, 2, 5); RWrist.setRotationPoint(-13F, -4F, -2F); RWrist.setTextureSize(128, 128); RWrist.mirror = true; setRotation(RWrist, 0F, 0F, 0F); RThumb = new ModelRenderer(this, 42, 36); RThumb.addBox(-11F, -3F, -3F, 1, 5, 1); RThumb.setRotationPoint(0F, 0F, 0F); RThumb.setTextureSize(128, 128); RThumb.mirror = true; setRotation(RThumb, 0F, 0F, 0F); RIndex = new ModelRenderer(this, 46, 36); RIndex.addBox(0F, 0F, 0F, 1, 5, 1); RIndex.setRotationPoint(-13F, -2F, -2F); RIndex.setTextureSize(128, 128); RIndex.mirror = true; setRotation(RIndex, 0F, 0F, 0F); RMiddle = new ModelRenderer(this, 50, 36); RMiddle.addBox(0F, 0F, 0F, 1, 6, 1); RMiddle.setRotationPoint(-13F, -2F, -1F); RMiddle.setTextureSize(128, 128); RMiddle.mirror = true; setRotation(RMiddle, 0F, 0F, 0F); RRing = new ModelRenderer(this, 54, 36); RRing.addBox(0F, 0F, 0F, 1, 6, 1); RRing.setRotationPoint(-13F, -2F, 0F); RRing.setTextureSize(128, 128); RRing.mirror = true; setRotation(RRing, 0F, 0F, 0F); RPinkie = new ModelRenderer(this, 58, 36); RPinkie.addBox(-13F, -2F, 1F, 1, 5, 1); RPinkie.setRotationPoint(0F, 0F, 0F); RPinkie.setTextureSize(128, 128); RPinkie.mirror = true; setRotation(RPinkie, 0F, 0F, 0F); LShoulder = new ModelRenderer(this, 68, 0); LShoulder.addBox(0F, 0F, 0F, 7, 5, 5); LShoulder.setRotationPoint(7.5F, -21F, -2F); LShoulder.setTextureSize(128, 128); LShoulder.mirror = true; setRotation(LShoulder, 0F, 0F, 0F); LArmT = new ModelRenderer(this, 68, 10); LArmT.addBox(0F, 0F, 0F, 4, 4, 4); LArmT.setRotationPoint(9F, -15F, -1F); LArmT.setTextureSize(128, 128); LArmT.mirror = true; setRotation(LArmT, 0F, 0F, 0F); LArmB = new ModelRenderer(this, 67, 18); LArmB.addBox(0F, 0F, 0F, 4, 6, 5); LArmB.setRotationPoint(9.5F, -10F, -2F); LArmB.setTextureSize(128, 128); LArmB.mirror = true; setRotation(LArmB, 0F, 0F, 0F); LWrist = new ModelRenderer(this, 68, 29); LWrist.addBox(0F, 0F, 0F, 3, 2, 5); LWrist.setRotationPoint(10F, -4F, -2F); LWrist.setTextureSize(128, 128); LWrist.mirror = true; setRotation(LWrist, 0F, 0F, 0F); LThumb = new ModelRenderer(this, 66, 36); LThumb.addBox(10F, -3F, -3F, 1, 5, 1); LThumb.setRotationPoint(0F, 0F, 0F); LThumb.setTextureSize(128, 128); LThumb.mirror = true; setRotation(LThumb, 0F, 0F, 0F); LIndex = new ModelRenderer(this, 70, 36); LIndex.addBox(0F, 0F, 0F, 1, 5, 1); LIndex.setRotationPoint(12F, -2F, -2F); LIndex.setTextureSize(128, 128); LIndex.mirror = true; setRotation(LIndex, 0F, 0F, 0F); LMiddle = new ModelRenderer(this, 74, 36); LMiddle.addBox(0F, 0F, -1F, 1, 6, 1); LMiddle.setRotationPoint(12F, -2F, 0F); LMiddle.setTextureSize(128, 128); LMiddle.mirror = true; setRotation(LMiddle, 0F, 0F, 0F); LRing = new ModelRenderer(this, 78, 36); LRing.addBox(0F, 0F, 0F, 1, 6, 1); LRing.setRotationPoint(12F, -2F, 0F); LRing.setTextureSize(128, 128); LRing.mirror = true; setRotation(LRing, 0F, 0F, 0F); LPinkie = new ModelRenderer(this, 82, 36); LPinkie.addBox(12F, -2F, 1F, 1, 5, 1); LPinkie.setRotationPoint(0F, 0F, 0F); LPinkie.setTextureSize(128, 128); LPinkie.mirror = true; setRotation(LPinkie, 0F, 0F, 0F); LHorn1.mirror = true; LHorn1 = new ModelRenderer(this, 20, 4); LHorn1.addBox(0F, 0F, 0F, 3, 1, 1); LHorn1.setRotationPoint(2F, -28F, -1F); LHorn1.setTextureSize(128, 128); LHorn1.mirror = true; setRotation(LHorn1, 0F, -0.3926991F, -0.1963495F); LHorn1.mirror = false; LHorn2 = new ModelRenderer(this, 28, 4); LHorn2.addBox(0F, 0F, 0.2F, 3, 1, 1); LHorn2.setRotationPoint(5F, -28.5F, 0F); LHorn2.setTextureSize(128, 128); LHorn2.mirror = true; setRotation(LHorn2, 0F, -0.7853982F, -0.3926991F); LHorn3 = new ModelRenderer(this, 36, 4); LHorn3.addBox(0F, 0F, 0.1F, 3, 1, 1); LHorn3.setRotationPoint(7F, -29.6F, 2F); LHorn3.setTextureSize(128, 128); LHorn3.mirror = true; setRotation(LHorn3, 0F, -1.003564F, -0.5890486F); LHorn4 = new ModelRenderer(this, 20, 6); LHorn4.addBox(-1F, 0F, 0F, 3, 1, 1); LHorn4.setRotationPoint(8.5F, -32F, 5F); LHorn4.setTextureSize(128, 128); LHorn4.mirror = true; setRotation(LHorn4, 0F, -1.570796F, -0.7853982F); LHorn5 = new ModelRenderer(this, 28, 6); LHorn5.addBox(0F, -0.3333333F, 0F, 3, 1, 1); LHorn5.setRotationPoint(8.5F, -33.2F, 7F); LHorn5.setTextureSize(128, 128); LHorn5.mirror = true; setRotation(LHorn5, 0F, -1.963495F, -0.7853982F); LHorn6 = new ModelRenderer(this, 36, 6); LHorn6.addBox(0F, 0.5F, 0.1F, 3, 1, 1); LHorn6.setRotationPoint(8F, -36F, 9F); LHorn6.setTextureSize(128, 128); LHorn6.mirror = true; setRotation(LHorn6, 0F, -2.356194F, -0.5890486F); LHorn7 = new ModelRenderer(this, 20, ; LHorn7.addBox(0.2F, 0F, 0F, 3, 1, 1); LHorn7.setRotationPoint(6F, -37F, 11F); LHorn7.setTextureSize(128, 128); LHorn7.mirror = true; setRotation(LHorn7, 0F, -2.748893F, -0.3926991F); LHorn8 = new ModelRenderer(this, 28, ; LHorn8.addBox(0F, 0F, 0F, 3, 1, 1); LHorn8.setRotationPoint(3F, -38.2F, 12.2F); LHorn8.setTextureSize(128, 128); LHorn8.mirror = true; setRotation(LHorn8, 0F, -3.141593F, -0.1963495F); RHorn1 = new ModelRenderer(this, 20, 0); RHorn1.addBox(0F, 0F, 0F, 3, 1, 1); RHorn1.setRotationPoint(-5F, -28.5F, 0F); RHorn1.setTextureSize(128, 128); RHorn1.mirror = true; setRotation(RHorn1, 0F, 0.3926991F, 0.1963495F); RHorn2 = new ModelRenderer(this, 28, 0); RHorn2.addBox(0F, 0F, 0F, 3, 1, 1); RHorn2.setRotationPoint(-7F, -29.7F, 2F); RHorn2.setTextureSize(128, 128); RHorn2.mirror = true; setRotation(RHorn2, 0F, 0.7853982F, 0.3926991F); RHorn3 = new ModelRenderer(this, 36, 0); RHorn3.addBox(0F, 0F, 0F, 3, 1, 1); RHorn3.setRotationPoint(-8.3F, -31.2F, 4F); RHorn3.setTextureSize(128, 128); RHorn3.mirror = true; setRotation(RHorn3, 0F, 1.003564F, 0.5890486F); RHorn4 = new ModelRenderer(this, 20, 2); RHorn4.addBox(-0.4F, 0F, 0F, 3, 1, 1); RHorn4.setRotationPoint(-8.5F, -33F, 6F); RHorn4.setTextureSize(128, 128); RHorn4.mirror = true; setRotation(RHorn4, 0F, 1.570796F, 0.7853982F); RHorn5 = new ModelRenderer(this, 28, 2); RHorn5.addBox(-0.7F, 0.2F, 0F, 3, 1, 1); RHorn5.setRotationPoint(-8F, -35F, 8F); RHorn5.setTextureSize(128, 128); RHorn5.mirror = true; setRotation(RHorn5, 0F, 1.963495F, 0.7853982F); LHorn8 = new ModelRenderer(this, 36, ; LHorn8.addBox(0F, 0F, 0F, 3, 1, 1); LHorn8.setRotationPoint(-3F, -38.2F, 11.2F); LHorn8.setTextureSize(128, 128); LHorn8.mirror = true; setRotation(LHorn8, 0F, 0F, -0.1963495F); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5, entity); LLegB.render(f5); LLegMB.render(f5); LLegM.render(f5); LLegMT.render(f5); LLegT.render(f5); RLegB.render(f5); RLegMB.render(f5); RLegM.render(f5); RLegMT.render(f5); RLegT.render(f5); WaistB.render(f5); WaistM.render(f5); WaistT.render(f5); TorsoB.render(f5); TorsoM.render(f5); TorsoT.render(f5); Neck.render(f5); Head.render(f5); RShoulder.render(f5); RArmT.render(f5); RArmB.render(f5); RWrist.render(f5); RThumb.render(f5); RIndex.render(f5); RMiddle.render(f5); RRing.render(f5); RPinkie.render(f5); LShoulder.render(f5); LArmT.render(f5); LArmB.render(f5); LWrist.render(f5); LThumb.render(f5); LIndex.render(f5); LMiddle.render(f5); LRing.render(f5); LPinkie.render(f5); LHorn1.render(f5); LHorn2.render(f5); LHorn3.render(f5); LHorn4.render(f5); LHorn5.render(f5); LHorn6.render(f5); LHorn7.render(f5); LHorn8.render(f5); RHorn1.render(f5); RHorn2.render(f5); RHorn3.render(f5); RHorn4.render(f5); RHorn5.render(f5); LHorn8.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); } } RenderMob: @SideOnly(Side.CLIENT) public class RenderSkeith extends RenderLiving { private static final ResourceLocation Your_Texture = new ResourceLocation("skeith:textures/entity/Skeith.png"); //refers to:assets/yourmod/textures/entity/yourtexture.png public RenderSkeith(ModelBase par1ModelBase, float par2) { super(par1ModelBase, par2); } @Override protected ResourceLocation getEntityTexture(Entity par1Entity) { return Your_Texture; } }
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.