EDIT - I decided to use ModLoader for this instead, and i'm having a better time with it! I have made all the files needed for the mod, but whenever I try to spawn the mob, it's invisible. I have made the skin for it and I have the skin location set correctly, I also copied the files to the required folders. Anyone know what the problem is?
mod_silvvy.java
package net.minecraft.src;
import java.awt.Color;
import java.util.Map;
public class mod_Silvvy extends BaseMod
{
public String getVersion()
{
return "1.4.7";
}
public void load()
{
ModLoader.registerEntityID(EntitySilvvy.class, "Silvvy", 23);//registers the mobs name and id
ModLoader.addSpawn("Silvvy", 0, 0, 0, EnumCreatureType.creature);//makes the mob spawn in game
ModLoader.addLocalization("entity.Silvvy.name", "Silvvy");//adds Mob name on the spawn egg
EntityList.entityEggs.put(Integer.valueOf(23), new EntityEggInfo(23, 894731, (new Color(21, 15, 6)).getRGB()));//creates the spawn egg, and chnages color of egg
}
public void addRenderer(Map var1)
{
var1.put(EntitySilvvy.class, new RenderLiving(new ModelSilvvy(),.5f));
}
}
EntitySilvvy.java
package net.minecraft.src;
public class EntitySilvvy extends EntityCreature//extend this to make mob hostile
{
public EntitySilvvy(World par1World)
{
super(par1World);
this.texture = "/mob/Silvvy.png";//Set Mob texture
this.moveSpeed = 0.4f;//sets how fast this mob moves
isImmuneToFire = false;
//below this is all the ai tasks that specify how the mob will behave mess around with it to see what happens
this.tasks.addTask(0, new EntityAISwimming(this));
this.tasks.addTask(1, new EntityAIAttackOnCollide(this, EntityPlayer.class, this.moveSpeed, false));
this.tasks.addTask(2, new EntityAIMoveTwardsRestriction(this, this.moveSpeed));
this.tasks.addTask(3, new EntityAIWander(this, this.moveSpeed));
this.tasks.addTask(4, new EntityAILookIdle(this));
this.targetTasks.addTask(0, new EntityAIHurtByTarget(this, false));
this.targetTasks.addTask(1, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 25.0F, 0, true));
}
public int func_82193_c(Entity par1Entity) //the amount of damage
{
return 3;
}
protected void fall(float par1) {}
public int getMaxHealth() // Mob health
{
return 8;
}
protected String getLivingSound()
{
return "mob.aerBunnyLift";
}
protected String getHurtSound()
{
return "mob.aerBunnyHurt1";
}
protected String getDeathSound()
{
return "mob.aerBunnyDeath";
}
protected int getDropItemId()
{
return Item.sugar.itemID;
}
protected boolean canDespawn()
{
return false;
}
protected boolean isAIEnabled()//Allow your AI task to work?
{
return true;
}
}
src\minecraft\cpw\mods\fml\common\modloader\ModLoaderDispenseHelper.java:8: warning: [deprecation] IDispenseHandler in cpw.mods.fml.common has been deprecated
import cpw.mods.fml.common.IDispenseHandler;
^
src\minecraft\cpw\mods\fml\common\modloader\ModLoaderDispenseHelper.java:9: warning: [deprecation] IDispenserHandler in cpw.mods.fml.common has been deprecated
import cpw.mods.fml.common.IDispenserHandler;
^
src\minecraft\cpw\mods\fml\common\modloader\ModLoaderDispenseHelper.java:11: warning: [deprecation] IDispenserHandler in cpw.mods.fml.common has been deprecated
public class ModLoaderDispenseHelper implements IDispenserHandler
^
src\minecraft\cpw\mods\fml\common\modloader\ModLoaderHelper.java:37: warning: [deprecation] IDispenseHandler in cpw.mods.fml.common has been deprecated
import cpw.mods.fml.common.IDispenseHandler;
^
src\minecraft\cpw\mods\fml\common\modloader\ModLoaderHelper.java:38: warning: [deprecation] IDispenserHandler in cpw.mods.fml.common has been deprecated
import cpw.mods.fml.common.IDispenserHandler;
^
src\minecraft\cpw\mods\fml\common\registry\GameRegistry.java:39: warning: [deprecation] IDispenseHandler in cpw.mods.fml.common has been deprecated
import cpw.mods.fml.common.IDispenseHandler;
^
src\minecraft\cpw\mods\fml\common\registry\GameRegistry.java:40: warning: [deprecation] IDispenserHandler in cpw.mods.fml.common has been deprecated
import cpw.mods.fml.common.IDispenserHandler;
^
src\minecraft\net\minecraft\src\mod_silverDragon.java:254: error: variable BackLegLeft is already defined in class ModelSilverDragon
ModelRenderer BackLegLeft;
^
src\minecraft\cpw\mods\fml\common\modloader\ModLoaderModContainer.java:528: warning: [deprecation] registerDispenserHandler(IDispenserHandler) in GameRegistry has been deprecated
GameRegistry.registerDispenserHandler(ModLoaderHelper.buildDispenseHelper(mod));
^
src\minecraft\net\minecraft\src\mod_silverDragon.java:458: error: cannot find symbol
PawFrontLeft.rotateAngleX = LegFrontLeft.rotateAngleX;
^
symbol: variable LegFrontLeft
location: class ModelSilverDragon
src\minecraft\net\minecraft\src\mod_silverDragon.java:460: error: cannot find symbol
PawFrontRight.rotateAngleX = LegFrontRight.rotateAngleX;
^
symbol: variable LegFrontRight
location: class ModelSilverDragon
src\minecraft\net\minecraft\src\mod_silverDragon.java:462: error: cannot find symbol
PawBackLeft.rotateAngleX = LegBackLeft.rotateAngleX;
^
symbol: variable BackLegRight
location: class ModelSilverDragon
src\minecraft\net\minecraft\src\mod_silverDragon.java:464: error: cannot find symbol
PawBackRight.rotateAngleX = LegBackRight.rotateAngleX;
^
symbol: variable LegBackRight
location: class ModelSilverDragon
src\minecraft\net\minecraft\src\ModLoader.java:638: warning: [deprecation] registerBlock(Block) in GameRegistry has been deprecated
GameRegistry.registerBlock(block);
^
src\minecraft\net\minecraft\src\ModLoader.java:649: warning: [deprecation] registerBlock(Block,Class<? extends ItemBlock>) in GameRegistry has been deprecated
GameRegistry.registerBlock(block, itemclass);
^
6 errors
10 warnings
==================
!! Can not find server sources, try decompiling !!
Rollback Post to RevisionRollBack
Silvvy and Ebby belong to J-C, and my avatar was drawn by J-C! <3
public void addRenderer(Map var1)
{
var1.put(mod_silvvy.Entitysilvvy.class, new RenderLiving(new mod_silvvy.ModelSilverDragon(), 0));
}
public Entity spawnEntity(int var1, World var2, double var3, double var5, double var7)
{
switch (var1)
{
case 125:
return new mod_silvvy.Entitysilvvy(var2);
default:
return null;
}
}
public String getVersion()
{
return "1.0";
}
public static class Entitysilvvy extends EntityMob
{
World world = null;
public Entitysilvvy(World var1)
{
super(var1);
world = var1;
this.texture = "/Silvvy.png";
this.moveSpeed = 4.0F;
this.isImmuneToFire = false;
this.tasks.addTask(0, new EntityAILookIdle(this));
this.tasks.addTask(1, new EntityAIWander(this, this.moveSpeed));
this.tasks.addTask(2, new EntityAITempt(this, 0.25F, Item.cookie.shiftedIndex, false));
this.tasks.addTask(3, new EntityAIPanic(this, this.moveSpeed*1.6F));
}
public int getAttackStrength(Entity par1Entity)
{
return 3;
}
public boolean isAIEnabled()
{
return true;
}
public int getMaxHealth()
{
return 10;
}
/**
* Drop 0-2 items of this living's type
*/
protected void dropFewItems(boolean var1, int var2)
{
this.entityDropItem(new ItemStack(Item.sugar), 0.0F);
}
/**
* Returns the sound this mob makes while it's alive.
*/
public String getLivingSound()
{
return "mob.aerbunnyLift";
}
/**
* Returns the sound this mob makes when it is hurt.
*/
public String getHurtSound()
{
return "mob.aerbunnyHurt1";
}
/**
* Returns the sound this mob makes on death.
*/
public String getDeathSound()
{
return "mob.aerbunnyDeath";
}
public void onStruckByLightning(EntityLightningBolt entityLightningBolt){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
}
protected void fall(float l){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
super.fall(l);
}
public void onCriticalHit(Entity entity) {
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
}
public void onKillEntity(EntityLiving entityLiving){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
Well, I got it fixed... but whenever I spawn the mob, it displays a biped model instead of my dragon model.
I know I have to modify some parts where it says "addRenderer" but I don't know how to fix it or where to put the extra bit of code. Also, yes, the model file is built-in with the code I got in the spoiler.
public void addRenderer(Map var1)
{
var1.put(mod_silvvy.Entitysilvvy.class, new RenderLiving(new mod_silvvy.ModelSilverDragon(), 0));
}
public Entity spawnEntity(int var1, World var2, double var3, double var5, double var7)
{
switch (var1)
{
case 127:
return new mod_silvvy.Entitysilvvy(var2);
default:
return null;
}
}
public String getVersion()
{
return "1.0";
}
public static class Entitysilvvy extends EntityMob
{
World world = null;
public Entitysilvvy(World var1)
{
super(var1);
world = var1;
this.texture = "/Silvvy.png";
this.moveSpeed = 3.0F;
this.isImmuneToFire = false;
this.tasks.addTask(0, new EntityAILookIdle(this));
this.tasks.addTask(1, new EntityAIWander(this, this.moveSpeed));
this.tasks.addTask(2, new EntityAITempt(this, 0.25F, Item.cookie.shiftedIndex, false));
this.tasks.addTask(3, new EntityAIPanic(this, this.moveSpeed*1.6F));
}
public int getAttackStrength(Entity par1Entity)
{
return 0;
}
public boolean isAIEnabled()
{
return true;
}
public int getMaxHealth()
{
return 810;
}
/**
* Drop 0-2 items of this living's type
*/
protected void dropFewItems(boolean var1, int var2)
{
this.entityDropItem(new ItemStack(Item.sugar), 0.0F);
}
/**
* Returns the sound this mob makes while it's alive.
*/
public String getLivingSound()
{
return "mob.aerbunnyLift";
}
/**
* Returns the sound this mob makes when it is hurt.
*/
public String getHurtSound()
{
return "mob.aerbunnyHurt1";
}
/**
* Returns the sound this mob makes on death.
*/
public String getDeathSound()
{
return "mob.aerbunnyDeath";
}
public void onStruckByLightning(EntityLightningBolt entityLightningBolt){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
}
protected void fall(float l){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
super.fall(l);
}
public void onCriticalHit(Entity entity) {
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
}
public void onKillEntity(EntityLiving entityLiving){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
I had the same problem some time ago. What you do is add something like
public void addRenderer(Map map) {
map.put(EntityMob55.class, new RenderMob55(new ModelMob55(), 0.2F));
map.put(EntityMob56.class, new RenderMob56(new ModelMob56(), 0.2F));
}
To your mod_ file (assuming you are using ModLoader/Forge). The arguments to the function are Mob Entity class, and a new Render, whose arguments are the mob's model (without .class) and a shadowsize (as a fraction of 1).
Rollback Post to RevisionRollBack
I am the developer of many mods, most famously RotaryCraft and ChromatiCraft.
Feel free to support me and my mods via PayPal or Patreon
I had the same problem some time ago. What you do is add something like
public void addRenderer(Map map) {
map.put(EntityMob55.class, new RenderMob55(new ModelMob55(), 0.2F));
map.put(EntityMob56.class, new RenderMob56(new ModelMob56(), 0.2F));
}
To your mod_ file (assuming you are using ModLoader/Forge). The arguments to the function are Mob Entity class, and a new Render, whose arguments are the mob's model (without .class) and a shadowsize (as a fraction of 1).
Thanks! That did help a little, and yes, I am using Forge. I did have about 6 errors whenever I inserted the code, but I was able to fix most of it. There are 2 errors I couldn't fix though, mostly because it would just create more errors.
src\minecraft\net\minecraft\src\mod_silvvy.java:121: error: cannot find symbol map.put(Entitysilvvy.class, new RenderSilverDragon(new ModelSilverDragon(), 0.2F)); ^
symbol: class RenderSilverDragon location: class mod_silvvy src\minecraft\net\minecraft\src\mod_silvvy.java:122: error: cannot find symbol map.put(Entitysilvvy.class, new RenderSilverDragon(new ModelSilverDragon(), 0.2F)); ^
Rollback Post to RevisionRollBack
Silvvy and Ebby belong to J-C, and my avatar was drawn by J-C! <3
Thanks! That did help a little, and yes, I am using Forge. I did have about 6 errors whenever I inserted the code, but I was able to fix most of it. There are 2 errors I couldn't fix though, mostly because it would just create more errors.
src\minecraft\net\minecraft\src\mod_silvvy.java:121: error: cannot find symbol map.put(Entitysilvvy.class, new RenderSilverDragon(new ModelSilverDragon(), 0.2F)); ^
symbol: class RenderSilverDragon location: class mod_silvvy src\minecraft\net\minecraft\src\mod_silvvy.java:122: error: cannot find symbol map.put(Entitysilvvy.class, new RenderSilverDragon(new ModelSilverDragon(), 0.2F)); ^
1. Use code tags please
2. Post your mod_silvvy code how it looks now please
1. Use code tags please
2. Post your mod_silvvy code how it looks now please
Maybe you forgot to import map?
Here. The spacing in this code got a little messed up whenever I pasted it into here.
public class mod_silvvy extends BaseMod
{
public void load()
{
ModLoader.registerEntityID(mod_silvvy.Entitysilvvy.class, "silvvy", 129,
(255 << 16) + (255 << 8) + 255,
(177 << 16) + (205 << 8) + 233);
ModLoader.addSpawn(mod_silvvy.Entitysilvvy.class, 0, 0, 0, EnumCreatureType.creature );
ModLoader.addEntityTracker(this, mod_silvvy.Entitysilvvy.class, 129, 20, 5, true);
cpw.mods.fml.common.registry.LanguageRegistry.instance().addStringLocalization("entity.silvvy.name", "en_US", "Silvvy");
}
public void addRenderer(Map map) {
map.put(Entitysilvvy.class, new RenderSilverDragon(new ModelSilverDragon(), 0.2F));
map.put(Entitysilvvy.class, new RenderSilverDragon(new ModelSilverDragon(), 0.2F));
}
public Entity spawnEntity(int var1, World var2, double var3, double var5, double var7)
{
switch (var1)
{
case 129:
return new mod_silvvy.Entitysilvvy(var2);
default:
return null;
}
}
public String getVersion()
{
return "1.0";
}
public static class Entitysilvvy extends EntityMob
{
World world = null;
public Entitysilvvy(World var1)
{
super(var1);
world = var1;
this.texture = "/Silvvy.png";
this.moveSpeed = 3.0F;
this.isImmuneToFire = false;
this.tasks.addTask(0, new EntityAILookIdle(this));
this.tasks.addTask(1, new EntityAIWander(this, this.moveSpeed));
this.tasks.addTask(2, new EntityAITempt(this, 0.25F, Item.cookie.shiftedIndex, false));
this.tasks.addTask(3, new EntityAIPanic(this, this.moveSpeed*1.6F));
}
public int getAttackStrength(Entity par1Entity)
{
return 0;
}
public boolean isAIEnabled()
{
return true;
}
public int getMaxHealth()
{
return 8;
}
/**
* Drop 0-2 items of this living's type
*/
protected void dropFewItems(boolean var1, int var2)
{
this.entityDropItem(new ItemStack(Item.sugar), 0.0F);
}
/**
* Returns the sound this mob makes while it's alive.
*/
public String getLivingSound()
{
return "mob.aerbunnyLift";
}
/**
* Returns the sound this mob makes when it is hurt.
*/
public String getHurtSound()
{
return "mob.aerbunnyHurt1";
}
/**
* Returns the sound this mob makes on death.
*/
public String getDeathSound()
{
return "mob.aerbunnyDeath";
}
public void onStruckByLightning(EntityLightningBolt entityLightningBolt){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
}
protected void fall(float l){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
super.fall(l);
}
public void onCriticalHit(Entity entity) {
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
}
public void onKillEntity(EntityLiving entityLiving){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
}
}
This program i'm using combines all of the files needed for mods (such as the mob i'm trying to create) into one file, and that's the mod_silvvy.java file. I thought it was convenient because then I wouldn't have to mess with four files, just one.
Rollback Post to RevisionRollBack
Silvvy and Ebby belong to J-C, and my avatar was drawn by J-C! <3
This program i'm using combines all of the files needed for mods (such as the mob i'm trying to create) into one file, and that's the mod_silvvy.java file. I thought it was convenient because then I wouldn't have to mess with four files, just one.
There are reasons why this is not good idea. Do you have import java.util.Map; somewhere at the top of your file?
There are reasons why this is not good idea. Do you have import java.util.Map; somewhere at the top of your file?
Yeah, it's near the top, 105th line of code if i'm correct (the other 104 lines of code is for loading Forge stuff I think.)
Also, why isn't it a good idea? Is it more buggy that way, or is it harder if you to have to find a bit of code just to fix it?
Rollback Post to RevisionRollBack
Silvvy and Ebby belong to J-C, and my avatar was drawn by J-C! <3
Alright, I have switched to ModLoader and i'm having a better time with it. But, however, my mob is invisible now and won't show up. The code for the three files are found in the first post.
Also, bump.
Rollback Post to RevisionRollBack
Silvvy and Ebby belong to J-C, and my avatar was drawn by J-C! <3
No, I don't. I don't even know how to make one (I used SCMown's tutorial on how to make a mob using ModLoader, and he never mentioned anything about a RenderMob.class file.)
Rollback Post to RevisionRollBack
Silvvy and Ebby belong to J-C, and my avatar was drawn by J-C! <3
I have made all the files needed for the mod, but whenever I try to spawn the mob, it's invisible. I have made the skin for it and I have the skin location set correctly, I also copied the files to the required folders. Anyone know what the problem is?
mod_silvvy.java
EntitySilvvy.java
ModelSilvvy.java
Silvvy and Ebby belong to J-C, and my avatar was drawn by J-C! <3
Also, the error I get whenever I try to test the mob.
== MCP 7.25 (data: 7.25, client: 1.4.6, server: 1.4.6) ==
# found ff, ff patches, srgs, name csvs, doc csvs, param csvs, renumber csv, astyle, astyle config
== Recompiling client ==
> Cleaning bin
> Recompiling
'"C:\Program Files\Java\jdk1.7.0_06\bin\javac" -encoding UTF-8 -Xlint:-options -deprecation -g -sourc...' failed : 1
== ERRORS FOUND ==
src\minecraft\cpw\mods\fml\common\modloader\ModLoaderDispenseHelper.java:8: warning: [deprecation] IDispenseHandler in cpw.mods.fml.common has been deprecated
import cpw.mods.fml.common.IDispenseHandler;
^
src\minecraft\cpw\mods\fml\common\modloader\ModLoaderDispenseHelper.java:9: warning: [deprecation] IDispenserHandler in cpw.mods.fml.common has been deprecated
import cpw.mods.fml.common.IDispenserHandler;
^
src\minecraft\cpw\mods\fml\common\modloader\ModLoaderDispenseHelper.java:11: warning: [deprecation] IDispenserHandler in cpw.mods.fml.common has been deprecated
public class ModLoaderDispenseHelper implements IDispenserHandler
^
src\minecraft\cpw\mods\fml\common\modloader\ModLoaderHelper.java:37: warning: [deprecation] IDispenseHandler in cpw.mods.fml.common has been deprecated
import cpw.mods.fml.common.IDispenseHandler;
^
src\minecraft\cpw\mods\fml\common\modloader\ModLoaderHelper.java:38: warning: [deprecation] IDispenserHandler in cpw.mods.fml.common has been deprecated
import cpw.mods.fml.common.IDispenserHandler;
^
src\minecraft\cpw\mods\fml\common\registry\GameRegistry.java:39: warning: [deprecation] IDispenseHandler in cpw.mods.fml.common has been deprecated
import cpw.mods.fml.common.IDispenseHandler;
^
src\minecraft\cpw\mods\fml\common\registry\GameRegistry.java:40: warning: [deprecation] IDispenserHandler in cpw.mods.fml.common has been deprecated
import cpw.mods.fml.common.IDispenserHandler;
^
src\minecraft\net\minecraft\src\mod_silverDragon.java:254: error: variable BackLegLeft is already defined in class ModelSilverDragon
ModelRenderer BackLegLeft;
^
src\minecraft\cpw\mods\fml\common\modloader\ModLoaderModContainer.java:528: warning: [deprecation] registerDispenserHandler(IDispenserHandler) in GameRegistry has been deprecated
GameRegistry.registerDispenserHandler(ModLoaderHelper.buildDispenseHelper(mod));
^
src\minecraft\net\minecraft\src\mod_silverDragon.java:458: error: cannot find symbol
PawFrontLeft.rotateAngleX = LegFrontLeft.rotateAngleX;
^
symbol: variable LegFrontLeft
location: class ModelSilverDragon
src\minecraft\net\minecraft\src\mod_silverDragon.java:460: error: cannot find symbol
PawFrontRight.rotateAngleX = LegFrontRight.rotateAngleX;
^
symbol: variable LegFrontRight
location: class ModelSilverDragon
src\minecraft\net\minecraft\src\mod_silverDragon.java:462: error: cannot find symbol
PawBackLeft.rotateAngleX = LegBackLeft.rotateAngleX;
^
symbol: variable LegBackLeft
location: class ModelSilverDragon
src\minecraft\net\minecraft\src\mod_silverDragon.java:463: error: cannot find symbol
BackLegRight.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1;
^
symbol: variable BackLegRight
location: class ModelSilverDragon
src\minecraft\net\minecraft\src\mod_silverDragon.java:464: error: cannot find symbol
PawBackRight.rotateAngleX = LegBackRight.rotateAngleX;
^
symbol: variable LegBackRight
location: class ModelSilverDragon
src\minecraft\net\minecraft\src\ModLoader.java:638: warning: [deprecation] registerBlock(Block) in GameRegistry has been deprecated
GameRegistry.registerBlock(block);
^
src\minecraft\net\minecraft\src\ModLoader.java:649: warning: [deprecation] registerBlock(Block,Class<? extends ItemBlock>) in GameRegistry has been deprecated
GameRegistry.registerBlock(block, itemclass);
^
6 errors
10 warnings
==================
!! Can not find server sources, try decompiling !!
Silvvy and Ebby belong to J-C, and my avatar was drawn by J-C! <3
Also, here is all of the coding I get whenever I create the mod.
package net.minecraft.src;
import cpw.*;
import cpw.mods.*;
import cpw.mods.fml.*;
import cpw.mods.fml.client.*;
import cpw.mods.fml.client.modloader.*;
import cpw.mods.fml.client.registry.*;
import cpw.mods.fml.common.*;
import cpw.mods.fml.common.asm.*;
import cpw.mods.fml.common.asm.transformers.*;
import cpw.mods.fml.common.discovery.*;
import cpw.mods.fml.common.discovery.asm.*;
import cpw.mods.fml.common.event.*;
import cpw.mods.fml.common.functions.*;
import cpw.mods.fml.common.modloader.*;
import cpw.mods.fml.common.network.*;
import cpw.mods.fml.common.registry.*;
import cpw.mods.fml.common.toposort.*;
import cpw.mods.fml.common.versioning.*;
import cpw.mods.fml.relauncher.*;
import cpw.mods.fml.server.*;
import ibxm.*;
import net.*;
import net.minecraft.*;
import net.minecraft.block.*;
import net.minecraft.block.material.*;
import net.minecraft.client.*;
import net.minecraft.client.audio.*;
import net.minecraft.client.entity.*;
import net.minecraft.client.gui.*;
import net.minecraft.client.gui.achievement.*;
import net.minecraft.client.gui.inventory.*;
import net.minecraft.client.model.*;
import net.minecraft.client.multiplayer.*;
import net.minecraft.client.particle.*;
import net.minecraft.client.renderer.*;
import net.minecraft.client.renderer.culling.*;
import net.minecraft.client.renderer.entity.*;
import net.minecraft.client.renderer.texturefx.*;
import net.minecraft.client.renderer.tileentity.*;
import net.minecraft.client.settings.*;
import net.minecraft.client.texturepacks.*;
import net.minecraft.command.*;
import net.minecraft.crash.*;
import net.minecraft.creativetab.*;
import net.minecraft.dispenser.*;
import net.minecraft.enchantment.*;
import net.minecraft.entity.*;
import net.minecraft.entity.ai.*;
import net.minecraft.entity.boss.*;
import net.minecraft.entity.effect.*;
import net.minecraft.entity.item.*;
import net.minecraft.entity.monster.*;
import net.minecraft.entity.passive.*;
import net.minecraft.entity.player.*;
import net.minecraft.entity.projectile.*;
import net.minecraft.inventory.*;
import net.minecraft.item.*;
import net.minecraft.item.crafting.*;
import net.minecraft.nbt.*;
import net.minecraft.network.*;
import net.minecraft.network.packet.*;
import net.minecraft.network.rcon.*;
import net.minecraft.pathfinding.*;
import net.minecraft.potion.*;
import net.minecraft.profiler.*;
import net.minecraft.server.*;
import net.minecraft.server.dedicated.*;
import net.minecraft.server.gui.*;
import net.minecraft.server.integrated.*;
import net.minecraft.server.management.*;
import net.minecraft.src.*;
import net.minecraft.stats.*;
import net.minecraft.tileentity.*;
import net.minecraft.util.*;
import net.minecraft.village.*;
import net.minecraft.world.*;
import net.minecraft.world.biome.*;
import net.minecraft.world.chunk.*;
import net.minecraft.world.chunk.storage.*;
import net.minecraft.world.demo.*;
import net.minecraft.world.gen.*;
import net.minecraft.world.gen.feature.*;
import net.minecraft.world.gen.layer.*;
import net.minecraft.world.gen.structure.*;
import net.minecraft.world.storage.*;
import net.minecraftforge.*;
import net.minecraftforge.classloading.*;
import net.minecraftforge.client.*;
import net.minecraftforge.client.event.*;
import net.minecraftforge.client.event.sound.*;
import net.minecraftforge.common.*;
import net.minecraftforge.event.*;
import net.minecraftforge.event.entity.*;
import net.minecraftforge.event.entity.item.*;
import net.minecraftforge.event.entity.living.*;
import net.minecraftforge.event.entity.minecart.*;
import net.minecraftforge.event.entity.player.*;
import net.minecraftforge.event.terraingen.*;
import net.minecraftforge.event.world.*;
import net.minecraftforge.liquids.*;
import net.minecraftforge.oredict.*;
import net.minecraftforge.transformers.*;
import java.util.Map;
import java.util.Random;
public class mod_silvvy extends BaseMod
{
public void load()
{
ModLoader.registerEntityID(mod_silvvy.Entitysilvvy.class, "silvvy", 125,
(255 << 16) + (255 << 8) + 255,
(174 << 16) + (204 << 8) + 235);
ModLoader.addSpawn(mod_silvvy.Entitysilvvy.class, 0, 0, 0, EnumCreatureType.creature );
ModLoader.addEntityTracker(this, mod_silvvy.Entitysilvvy.class, 125, 20, 5, true);
cpw.mods.fml.common.registry.LanguageRegistry.instance().addStringLocalization("entity.silvvy.name", "en_US", "Silvvy");
}
public void addRenderer(Map var1)
{
var1.put(mod_silvvy.Entitysilvvy.class, new RenderLiving(new mod_silvvy.ModelSilverDragon(), 0));
}
public Entity spawnEntity(int var1, World var2, double var3, double var5, double var7)
{
switch (var1)
{
case 125:
return new mod_silvvy.Entitysilvvy(var2);
default:
return null;
}
}
public String getVersion()
{
return "1.0";
}
public static class Entitysilvvy extends EntityMob
{
World world = null;
public Entitysilvvy(World var1)
{
super(var1);
world = var1;
this.texture = "/Silvvy.png";
this.moveSpeed = 4.0F;
this.isImmuneToFire = false;
this.tasks.addTask(0, new EntityAILookIdle(this));
this.tasks.addTask(1, new EntityAIWander(this, this.moveSpeed));
this.tasks.addTask(2, new EntityAITempt(this, 0.25F, Item.cookie.shiftedIndex, false));
this.tasks.addTask(3, new EntityAIPanic(this, this.moveSpeed*1.6F));
}
public int getAttackStrength(Entity par1Entity)
{
return 3;
}
public boolean isAIEnabled()
{
return true;
}
public int getMaxHealth()
{
return 10;
}
/**
* Drop 0-2 items of this living's type
*/
protected void dropFewItems(boolean var1, int var2)
{
this.entityDropItem(new ItemStack(Item.sugar), 0.0F);
}
/**
* Returns the sound this mob makes while it's alive.
*/
public String getLivingSound()
{
return "mob.aerbunnyLift";
}
/**
* Returns the sound this mob makes when it is hurt.
*/
public String getHurtSound()
{
return "mob.aerbunnyHurt1";
}
/**
* Returns the sound this mob makes on death.
*/
public String getDeathSound()
{
return "mob.aerbunnyDeath";
}
public void onStruckByLightning(EntityLightningBolt entityLightningBolt){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
}
protected void fall(float l){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
super.fall(l);
}
public void onCriticalHit(Entity entity) {
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
}
public void onKillEntity(EntityLiving entityLiving){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
}
}
public static class ModelSilverDragon extends ModelBase
{
ModelRenderer Snout;
ModelRenderer LargeHornRight;
ModelRenderer TuftEdgeRight;
ModelRenderer BackLegLeft;
ModelRenderer SmallHornRight;
ModelRenderer LargeHornLeft;
ModelRenderer SmallHornLeft;
ModelRenderer Head;
ModelRenderer TuftRight;
ModelRenderer TuftLeft;
ModelRenderer TuftEdgeLeft;
ModelRenderer TailBack;
ModelRenderer BackLegLeft;
ModelRenderer FrontLegRight;
ModelRenderer PawBackLeft;
ModelRenderer TailFurEdge;
ModelRenderer Neck;
ModelRenderer TailMiddle;
ModelRenderer FrontLegLeft;
ModelRenderer PawFrontLeft;
ModelRenderer PawFrontRight;
ModelRenderer PawBackRight;
ModelRenderer Body;
ModelRenderer BackFur;
ModelRenderer TailMiddleFur;
ModelRenderer TailBackFur;
public ModelSilverDragon()
{
textureWidth = 64;
textureHeight = 64;
Snout = new ModelRenderer(this, 0, 0);
Snout.addBox(0F, 0F, 0F, 3, 2, 3);
Snout.setRotationPoint(-2F, 17F, -12F);
LargeHornRight = new ModelRenderer(this, 49, 0);
LargeHornRight.addBox(0F, 0F, 0F, 1, 5, 1);
LargeHornRight.setRotationPoint(2F, 10F, -6F);
setRotation(LargeHornRight, 0F, 0F, 0.2230717F);
Head.addChild(LargeHornRight);
TuftEdgeRight = new ModelRenderer(this, 9, 8);
TuftEdgeRight.addBox(0F, 0F, 0F, 1, 2, 1);
TuftEdgeRight.setRotationPoint(4F, 15F, -6F);
BackLegLeft = new ModelRenderer(this, 9, 31);
BackLegLeft.addBox(0F, 0F, 0F, 2, 5, 2);
BackLegLeft.setRotationPoint(0F, 19F, 5F);
SmallHornRight = new ModelRenderer(this, 49, 7);
SmallHornRight.addBox(0F, 0F, 0F, 1, 3, 1);
SmallHornRight.setRotationPoint(1F, 12F, -7F);
setRotation(SmallHornRight, 0F, 0F, 0.2230705F);
Head.addChild(SmallHornRight);
LargeHornLeft = new ModelRenderer(this, 44, 0);
LargeHornLeft.addBox(0F, 0F, 0F, 1, 5, 1);
LargeHornLeft.setRotationPoint(-4F, 10F, -6F);
setRotation(LargeHornLeft, 0F, 0F, -0.2230705F);
Head.addChild(LargeHornLeft);
SmallHornLeft = new ModelRenderer(this, 44, 7);
SmallHornLeft.addBox(0F, 0F, 0F, 1, 3, 1);
SmallHornLeft.setRotationPoint(-3F, 12F, -7F);
setRotation(SmallHornLeft, 0F, 0F, -0.2230705F);
Head.addChild(SmallHornLeft);
Head = new ModelRenderer(this, 36, 28);
Head.addBox(0F, 0F, 0F, 5, 5, 5);
Head.setRotationPoint(-3F, 14F, -10F);
TuftRight = new ModelRenderer(this, 31, 0);
TuftRight.addBox(0F, 0F, 0F, 2, 4, 2);
TuftRight.setRotationPoint(2F, 14F, -7F);
TuftLeft = new ModelRenderer(this, 22, 0);
TuftLeft.addBox(0F, 0F, 0F, 2, 4, 2);
TuftLeft.setRotationPoint(-5F, 14F, -7F);
TuftEdgeLeft = new ModelRenderer(this, 0, 8);
TuftEdgeLeft.addBox(0F, 0F, 0F, 1, 2, 1);
TuftEdgeLeft.setRotationPoint(-6F, 15F, -6F);
TailBack = new ModelRenderer(this, 35, 9);
TailBack.addBox(0F, 0F, 0F, 1, 1, 4);
TailBack.setRotationPoint(-1F, 18.5F, 10.6F);
setRotation(TailBack, -0.6145831F, 0F, 0F);
BackLegLeft = new ModelRenderer(this, 0, 31);
BackLegLeft.addBox(0F, 0F, 0F, 2, 5, 2);
BackLegLeft.setRotationPoint(-3F, 19F, 5F);
FrontLegRight = new ModelRenderer(this, 27, 31);
FrontLegRight.addBox(0F, 0F, 0F, 2, 5, 2);
FrontLegRight.setRotationPoint(0F, 19F, -4F);
PawBackLeft = new ModelRenderer(this, 21, 39);
PawBackLeft.addBox(0F, 0F, 0F, 2, 1, 1);
PawBackLeft.setRotationPoint(-3F, 23F, 4F);
TailFurEdge = new ModelRenderer(this, 9, 6);
TailFurEdge.addBox(0F, 0F, 0F, 1, 3, 4);
TailFurEdge.setRotationPoint(-1F, 18.63333F, 13F);
setRotation(TailFurEdge, -0.6472177F, 0F, 0F);
Neck = new ModelRenderer(this, 13, 0);
Neck.addBox(0F, 0F, 0F, 3, 3, 1);
Neck.setRotationPoint(-2F, 16F, -5F);
TailMiddle = new ModelRenderer(this, 35, 14);
TailMiddle.addBox(0F, 0F, 0F, 2, 2, 5);
TailMiddle.setRotationPoint(-1.5F, 16.5F, 6F);
setRotation(TailMiddle, -0.2974289F, 0F, 0F);
FrontLegLeft = new ModelRenderer(this, 18, 31);
FrontLegLeft.addBox(0F, 0F, 0F, 2, 5, 2);
FrontLegLeft.setRotationPoint(-3F, 19F, -4F);
PawFrontLeft = new ModelRenderer(this, 0, 39);
PawFrontLeft.addBox(0F, 0F, 0F, 2, 1, 1);
PawFrontLeft.setRotationPoint(-3F, 23F, -5F);
PawFrontRight = new ModelRenderer(this, 7, 39);
PawFrontRight.addBox(0F, 0F, 0F, 2, 1, 1);
PawFrontRight.setRotationPoint(0F, 23F, -5F);;
PawBackRight = new ModelRenderer(this, 14, 39);
PawBackRight.addBox(0F, 0F, 0F, 2, 1, 1);
PawBackRight.setRotationPoint(0F, 23F, 4F);
Body = new ModelRenderer(this, 0, 14);
Body.addBox(0F, 0F, 0F, 5, 4, 11);
Body.setRotationPoint(-3F, 15.5F, -4F);
setRotation(Body, -0.0523599F, 0F, 0F);
BackFur = new ModelRenderer(this, 0, 42);
BackFur.addBox(0F, 0F, 0F, 1, 2, 11);
BackFur.setRotationPoint(-1F, 14.5F, -4F);
setRotation(BackFur, -0.0523599F, 0F, 0F);
TailMiddleFur = new ModelRenderer(this, 25, 42);
TailMiddleFur.addBox(0F, 0F, 0F, 1, 2, 4);
TailMiddleFur.setRotationPoint(-1F, 15.5F, 7F);
setRotation(TailMiddleFur, -0.3126102F, 0F, 0F);
TailBackFur = new ModelRenderer(this, 25, 49);
TailBackFur.addBox(0F, 0F, 0F, 1, 1, 3);
TailBackFur.setRotationPoint(-1F, 17.45555F, 11F);
setRotation(TailBackFur, -0.6485534F, 0F, 0F);
}
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);
Snout.render(f5);
LargeHornRight.render(f5);
TuftEdgeRight.render(f5);
BackLegLeft.render(f5);
SmallHornRight.render(f5);
LargeHornLeft.render(f5);
SmallHornLeft.render(f5);
Head.render(f5);
TuftRight.render(f5);
TuftLeft.render(f5);
TuftEdgeLeft.render(f5);
TailBack.render(f5);
BackLegLeft.render(f5);
FrontLegRight.render(f5);
PawBackLeft.render(f5);
TailFurEdge.render(f5);
Neck.render(f5);
TailMiddle.render(f5);
FrontLegLeft.render(f5);
PawFrontLeft.render(f5);
PawFrontRight.render(f5);
PawBackRight.render(f5);
Body.render(f5);
BackFur.render(f5);
TailBackFur.render(f5);
TailMiddleFur.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 e)
{
super.setRotationAngles(f, f1, f2, f3, f4, f5, e);
Head.rotateAngleX = f4 / (180F / (float)Math.PI);
Head.rotateAngleY = f3 / (180F / (float)Math.PI);
Snout.rotateAngleX = Head.rotateAngleX;
Snout.rotateAngleY = Head.rotateAngleY;
Snout.rotateAngleX = Head.rotateAngleX;
Snout.rotateAngleY = Head.rotateAngleY;
// Credit to J-C for creating Silvvy & Ebby!
TuftLeft.rotateAngleX = Head.rotateAngleX;
TuftLeft.rotateAngleY = Head.rotateAngleY;
TuftRight.rotateAngleX = Head.rotateAngleX;
TuftRight.rotateAngleY = Head.rotateAngleY;
TuftEdgeLeft.rotateAngleX = Head.rotateAngleX;
TuftEdgeLeft.rotateAngleY = Head.rotateAngleY;
TuftEdgeRight.rotateAngleX = Head.rotateAngleX;
TuftEdgeRight.rotateAngleY = Head.rotateAngleY;
FrontLegLeft.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1;
PawFrontLeft.rotateAngleX = FrontLegLeft.rotateAngleX;
FrontLegRight.rotateAngleX = MathHelper.cos(f * 0.6662F + (float)Math.PI) * 1.4F * f1;
PawFrontRight.rotateAngleX = FrontLegRight.rotateAngleX;
BackLegLeft.rotateAngleX = MathHelper.cos(f * 0.6662F + (float)Math.PI) * 1.4F * f1;
PawBackLeft.rotateAngleX = BackLegLeft.rotateAngleX;
BackLegRight.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1;
PawBackRight.rotateAngleX = BackLegRight.rotateAngleX;
}
}
}
Silvvy and Ebby belong to J-C, and my avatar was drawn by J-C! <3
I know I have to modify some parts where it says "addRenderer" but I don't know how to fix it or where to put the extra bit of code. Also, yes, the model file is built-in with the code I got in the spoiler.
package net.minecraft.src;
import cpw.*;
import cpw.mods.*;
import cpw.mods.fml.*;
import cpw.mods.fml.client.*;
import cpw.mods.fml.client.modloader.*;
import cpw.mods.fml.client.registry.*;
import cpw.mods.fml.common.*;
import cpw.mods.fml.common.asm.*;
import cpw.mods.fml.common.asm.transformers.*;
import cpw.mods.fml.common.discovery.*;
import cpw.mods.fml.common.discovery.asm.*;
import cpw.mods.fml.common.event.*;
import cpw.mods.fml.common.functions.*;
import cpw.mods.fml.common.modloader.*;
import cpw.mods.fml.common.network.*;
import cpw.mods.fml.common.registry.*;
import cpw.mods.fml.common.toposort.*;
import cpw.mods.fml.common.versioning.*;
import cpw.mods.fml.relauncher.*;
import cpw.mods.fml.server.*;
import ibxm.*;
import net.*;
import net.minecraft.*;
import net.minecraft.block.*;
import net.minecraft.block.material.*;
import net.minecraft.client.*;
import net.minecraft.client.audio.*;
import net.minecraft.client.entity.*;
import net.minecraft.client.gui.*;
import net.minecraft.client.gui.achievement.*;
import net.minecraft.client.gui.inventory.*;
import net.minecraft.client.model.*;
import net.minecraft.client.multiplayer.*;
import net.minecraft.client.particle.*;
import net.minecraft.client.renderer.*;
import net.minecraft.client.renderer.culling.*;
import net.minecraft.client.renderer.entity.*;
import net.minecraft.client.renderer.texturefx.*;
import net.minecraft.client.renderer.tileentity.*;
import net.minecraft.client.settings.*;
import net.minecraft.client.texturepacks.*;
import net.minecraft.command.*;
import net.minecraft.crash.*;
import net.minecraft.creativetab.*;
import net.minecraft.dispenser.*;
import net.minecraft.enchantment.*;
import net.minecraft.entity.*;
import net.minecraft.entity.ai.*;
import net.minecraft.entity.boss.*;
import net.minecraft.entity.effect.*;
import net.minecraft.entity.item.*;
import net.minecraft.entity.monster.*;
import net.minecraft.entity.passive.*;
import net.minecraft.entity.player.*;
import net.minecraft.entity.projectile.*;
import net.minecraft.inventory.*;
import net.minecraft.item.*;
import net.minecraft.item.crafting.*;
import net.minecraft.nbt.*;
import net.minecraft.network.*;
import net.minecraft.network.packet.*;
import net.minecraft.network.rcon.*;
import net.minecraft.pathfinding.*;
import net.minecraft.potion.*;
import net.minecraft.profiler.*;
import net.minecraft.server.*;
import net.minecraft.server.dedicated.*;
import net.minecraft.server.gui.*;
import net.minecraft.server.integrated.*;
import net.minecraft.server.management.*;
import net.minecraft.src.*;
import net.minecraft.stats.*;
import net.minecraft.tileentity.*;
import net.minecraft.util.*;
import net.minecraft.village.*;
import net.minecraft.world.*;
import net.minecraft.world.biome.*;
import net.minecraft.world.chunk.*;
import net.minecraft.world.chunk.storage.*;
import net.minecraft.world.demo.*;
import net.minecraft.world.gen.*;
import net.minecraft.world.gen.feature.*;
import net.minecraft.world.gen.layer.*;
import net.minecraft.world.gen.structure.*;
import net.minecraft.world.storage.*;
import net.minecraftforge.*;
import net.minecraftforge.classloading.*;
import net.minecraftforge.client.*;
import net.minecraftforge.client.event.*;
import net.minecraftforge.client.event.sound.*;
import net.minecraftforge.common.*;
import net.minecraftforge.event.*;
import net.minecraftforge.event.entity.*;
import net.minecraftforge.event.entity.item.*;
import net.minecraftforge.event.entity.living.*;
import net.minecraftforge.event.entity.minecart.*;
import net.minecraftforge.event.entity.player.*;
import net.minecraftforge.event.terraingen.*;
import net.minecraftforge.event.world.*;
import net.minecraftforge.liquids.*;
import net.minecraftforge.oredict.*;
import net.minecraftforge.transformers.*;
import java.util.Map;
import java.util.Random;
public class mod_silvvy extends BaseMod
{
public void load()
{
ModLoader.registerEntityID(mod_silvvy.Entitysilvvy.class, "silvvy", 127,
(255 << 16) + (255 << 8) + 255,
(195 << 16) + (215 << 8) + 236);
ModLoader.addSpawn(mod_silvvy.Entitysilvvy.class, 0, 0, 0, EnumCreatureType.monster );
ModLoader.addEntityTracker(this, mod_silvvy.Entitysilvvy.class, 127, 20, 5, true);
cpw.mods.fml.common.registry.LanguageRegistry.instance().addStringLocalization("entity.silvvy.name", "en_US", "Silvvy");
}
public void addRenderer(Map var1)
{
var1.put(mod_silvvy.Entitysilvvy.class, new RenderLiving(new mod_silvvy.ModelSilverDragon(), 0));
}
public Entity spawnEntity(int var1, World var2, double var3, double var5, double var7)
{
switch (var1)
{
case 127:
return new mod_silvvy.Entitysilvvy(var2);
default:
return null;
}
}
public String getVersion()
{
return "1.0";
}
public static class Entitysilvvy extends EntityMob
{
World world = null;
public Entitysilvvy(World var1)
{
super(var1);
world = var1;
this.texture = "/Silvvy.png";
this.moveSpeed = 3.0F;
this.isImmuneToFire = false;
this.tasks.addTask(0, new EntityAILookIdle(this));
this.tasks.addTask(1, new EntityAIWander(this, this.moveSpeed));
this.tasks.addTask(2, new EntityAITempt(this, 0.25F, Item.cookie.shiftedIndex, false));
this.tasks.addTask(3, new EntityAIPanic(this, this.moveSpeed*1.6F));
}
public int getAttackStrength(Entity par1Entity)
{
return 0;
}
public boolean isAIEnabled()
{
return true;
}
public int getMaxHealth()
{
return 810;
}
/**
* Drop 0-2 items of this living's type
*/
protected void dropFewItems(boolean var1, int var2)
{
this.entityDropItem(new ItemStack(Item.sugar), 0.0F);
}
/**
* Returns the sound this mob makes while it's alive.
*/
public String getLivingSound()
{
return "mob.aerbunnyLift";
}
/**
* Returns the sound this mob makes when it is hurt.
*/
public String getHurtSound()
{
return "mob.aerbunnyHurt1";
}
/**
* Returns the sound this mob makes on death.
*/
public String getDeathSound()
{
return "mob.aerbunnyDeath";
}
public void onStruckByLightning(EntityLightningBolt entityLightningBolt){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
}
protected void fall(float l){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
super.fall(l);
}
public void onCriticalHit(Entity entity) {
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
}
public void onKillEntity(EntityLiving entityLiving){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
}
}
public static class ModelSilverDragon extends ModelBase
{
ModelRenderer Snout;
ModelRenderer LargeHornRight;
ModelRenderer TuftEdgeRight;
ModelRenderer BackLegRight;
ModelRenderer BackLegLeft;
ModelRenderer SmallHornRight;
ModelRenderer LargeHornLeft;
ModelRenderer SmallHornLeft;
ModelRenderer Head;
ModelRenderer TuftRight;
ModelRenderer TuftLeft;
ModelRenderer TuftEdgeLeft;
ModelRenderer TailBack;
ModelRenderer FrontLegRight;
ModelRenderer PawBackLeft;
ModelRenderer TailFurEdge;
ModelRenderer Neck;
ModelRenderer TailMiddle;
ModelRenderer FrontLegLeft;
ModelRenderer PawFrontLeft;
ModelRenderer PawFrontRight;
ModelRenderer PawBackRight;
ModelRenderer Body;
ModelRenderer BackFur;
ModelRenderer TailMiddleFur;
ModelRenderer TailBackFur;
public ModelSilverDragon()
{
textureWidth = 64;
textureHeight = 64;
Snout = new ModelRenderer(this, 0, 0);
Snout.addBox(0F, 0F, 0F, 3, 2, 3);
Snout.setRotationPoint(-2F, 17F, -12F);
LargeHornRight = new ModelRenderer(this, 49, 0);
LargeHornRight.addBox(0F, 0F, 0F, 1, 5, 1);
LargeHornRight.setRotationPoint(2F, 10F, -6F);
setRotation(LargeHornRight, 0F, 0F, 0.2230717F);
Head.addChild(LargeHornRight);
TuftEdgeRight = new ModelRenderer(this, 9, 8);
TuftEdgeRight.addBox(0F, 0F, 0F, 1, 2, 1);
TuftEdgeRight.setRotationPoint(4F, 15F, -6F);
BackLegRight = new ModelRenderer(this, 9, 31);
BackLegRight.addBox(0F, 0F, 0F, 2, 5, 2);
BackLegRight.setRotationPoint(0F, 19F, 5F);
BackLegLeft = new ModelRenderer(this, 9, 31);
BackLegLeft.addBox(0F, 0F, 0F, 2, 5, 2);
BackLegLeft.setRotationPoint(0F, 19F, 5F);
SmallHornRight = new ModelRenderer(this, 49, 7);
SmallHornRight.addBox(0F, 0F, 0F, 1, 3, 1);
SmallHornRight.setRotationPoint(1F, 12F, -7F);
setRotation(SmallHornRight, 0F, 0F, 0.2230705F);
Head.addChild(SmallHornRight);
LargeHornLeft = new ModelRenderer(this, 44, 0);
LargeHornLeft.addBox(0F, 0F, 0F, 1, 5, 1);
LargeHornLeft.setRotationPoint(-4F, 10F, -6F);
setRotation(LargeHornLeft, 0F, 0F, -0.2230705F);
Head.addChild(LargeHornLeft);
SmallHornLeft = new ModelRenderer(this, 44, 7);
SmallHornLeft.addBox(0F, 0F, 0F, 1, 3, 1);
SmallHornLeft.setRotationPoint(-3F, 12F, -7F);
setRotation(SmallHornLeft, 0F, 0F, -0.2230705F);
Head.addChild(SmallHornLeft);
Head = new ModelRenderer(this, 36, 28);
Head.addBox(0F, 0F, 0F, 5, 5, 5);
Head.setRotationPoint(-3F, 14F, -10F);
TuftRight = new ModelRenderer(this, 31, 0);
TuftRight.addBox(0F, 0F, 0F, 2, 4, 2);
TuftRight.setRotationPoint(2F, 14F, -7F);
TuftLeft = new ModelRenderer(this, 22, 0);
TuftLeft.addBox(0F, 0F, 0F, 2, 4, 2);
TuftLeft.setRotationPoint(-5F, 14F, -7F);
TuftEdgeLeft = new ModelRenderer(this, 0, 8);
TuftEdgeLeft.addBox(0F, 0F, 0F, 1, 2, 1);
TuftEdgeLeft.setRotationPoint(-6F, 15F, -6F);
TailBack = new ModelRenderer(this, 35, 9);
TailBack.addBox(0F, 0F, 0F, 1, 1, 4);
TailBack.setRotationPoint(-1F, 18.5F, 10.6F);
setRotation(TailBack, -0.6145831F, 0F, 0F);
BackLegLeft = new ModelRenderer(this, 0, 31);
BackLegLeft.addBox(0F, 0F, 0F, 2, 5, 2);
BackLegLeft.setRotationPoint(-3F, 19F, 5F);
FrontLegRight = new ModelRenderer(this, 27, 31);
FrontLegRight.addBox(0F, 0F, 0F, 2, 5, 2);
FrontLegRight.setRotationPoint(0F, 19F, -4F);
PawBackLeft = new ModelRenderer(this, 21, 39);
PawBackLeft.addBox(0F, 0F, 0F, 2, 1, 1);
PawBackLeft.setRotationPoint(-3F, 23F, 4F);
TailFurEdge = new ModelRenderer(this, 9, 6);
TailFurEdge.addBox(0F, 0F, 0F, 1, 3, 4);
TailFurEdge.setRotationPoint(-1F, 18.63333F, 13F);
setRotation(TailFurEdge, -0.6472177F, 0F, 0F);
Neck = new ModelRenderer(this, 13, 0);
Neck.addBox(0F, 0F, 0F, 3, 3, 1);
Neck.setRotationPoint(-2F, 16F, -5F);
TailMiddle = new ModelRenderer(this, 35, 14);
TailMiddle.addBox(0F, 0F, 0F, 2, 2, 5);
TailMiddle.setRotationPoint(-1.5F, 16.5F, 6F);
setRotation(TailMiddle, -0.2974289F, 0F, 0F);
FrontLegLeft = new ModelRenderer(this, 18, 31);
FrontLegLeft.addBox(0F, 0F, 0F, 2, 5, 2);
FrontLegLeft.setRotationPoint(-3F, 19F, -4F);
PawFrontLeft = new ModelRenderer(this, 0, 39);
PawFrontLeft.addBox(0F, 0F, 0F, 2, 1, 1);
PawFrontLeft.setRotationPoint(-3F, 23F, -5F);
PawFrontRight = new ModelRenderer(this, 7, 39);
PawFrontRight.addBox(0F, 0F, 0F, 2, 1, 1);
PawFrontRight.setRotationPoint(0F, 23F, -5F);;
PawBackRight = new ModelRenderer(this, 14, 39);
PawBackRight.addBox(0F, 0F, 0F, 2, 1, 1);
PawBackRight.setRotationPoint(0F, 23F, 4F);
Body = new ModelRenderer(this, 0, 14);
Body.addBox(0F, 0F, 0F, 5, 4, 11);
Body.setRotationPoint(-3F, 15.5F, -4F);
setRotation(Body, -0.0523599F, 0F, 0F);
BackFur = new ModelRenderer(this, 0, 42);
BackFur.addBox(0F, 0F, 0F, 1, 2, 11);
BackFur.setRotationPoint(-1F, 14.5F, -4F);
setRotation(BackFur, -0.0523599F, 0F, 0F);
TailMiddleFur = new ModelRenderer(this, 25, 42);
TailMiddleFur.addBox(0F, 0F, 0F, 1, 2, 4);
TailMiddleFur.setRotationPoint(-1F, 15.5F, 7F);
setRotation(TailMiddleFur, -0.3126102F, 0F, 0F);
TailBackFur = new ModelRenderer(this, 25, 49);
TailBackFur.addBox(0F, 0F, 0F, 1, 1, 3);
TailBackFur.setRotationPoint(-1F, 17.45555F, 11F);
setRotation(TailBackFur, -0.6485534F, 0F, 0F);
}
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);
Snout.render(f5);
LargeHornRight.render(f5);
TuftEdgeRight.render(f5);
BackLegLeft.render(f5);
SmallHornRight.render(f5);
LargeHornLeft.render(f5);
SmallHornLeft.render(f5);
Head.render(f5);
TuftRight.render(f5);
TuftLeft.render(f5);
TuftEdgeLeft.render(f5);
TailBack.render(f5);
BackLegLeft.render(f5);
FrontLegRight.render(f5);
PawBackLeft.render(f5);
TailFurEdge.render(f5);
Neck.render(f5);
TailMiddle.render(f5);
FrontLegLeft.render(f5);
PawFrontLeft.render(f5);
PawFrontRight.render(f5);
PawBackRight.render(f5);
Body.render(f5);
BackFur.render(f5);
TailBackFur.render(f5);
TailMiddleFur.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 e)
{
super.setRotationAngles(f, f1, f2, f3, f4, f5, e);
Head.rotateAngleX = f4 / (180F / (float)Math.PI);
Head.rotateAngleY = f3 / (180F / (float)Math.PI);
Snout.rotateAngleX = Head.rotateAngleX;
Snout.rotateAngleY = Head.rotateAngleY;
Snout.rotateAngleX = Head.rotateAngleX;
Snout.rotateAngleY = Head.rotateAngleY;
// Credit to J-C for creating Silvvy & Ebby!
TuftLeft.rotateAngleX = Head.rotateAngleX;
TuftLeft.rotateAngleY = Head.rotateAngleY;
TuftRight.rotateAngleX = Head.rotateAngleX;
TuftRight.rotateAngleY = Head.rotateAngleY;
TuftEdgeLeft.rotateAngleX = Head.rotateAngleX;
TuftEdgeLeft.rotateAngleY = Head.rotateAngleY;
TuftEdgeRight.rotateAngleX = Head.rotateAngleX;
TuftEdgeRight.rotateAngleY = Head.rotateAngleY;
FrontLegLeft.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1;
PawFrontLeft.rotateAngleX = FrontLegLeft.rotateAngleX;
FrontLegRight.rotateAngleX = MathHelper.cos(f * 0.6662F + (float)Math.PI) * 1.4F * f1;
PawFrontRight.rotateAngleX = FrontLegRight.rotateAngleX;
BackLegLeft.rotateAngleX = MathHelper.cos(f * 0.6662F + (float)Math.PI) * 1.4F * f1;
PawBackLeft.rotateAngleX = BackLegLeft.rotateAngleX;
BackLegRight.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1;
PawBackRight.rotateAngleX = BackLegRight.rotateAngleX;
}
}
}
Silvvy and Ebby belong to J-C, and my avatar was drawn by J-C! <3
To your mod_ file (assuming you are using ModLoader/Forge). The arguments to the function are Mob Entity class, and a new Render, whose arguments are the mob's model (without .class) and a shadowsize (as a fraction of 1).
Thanks! That did help a little, and yes, I am using Forge. I did have about 6 errors whenever I inserted the code, but I was able to fix most of it. There are 2 errors I couldn't fix though, mostly because it would just create more errors.
src\minecraft\net\minecraft\src\mod_silvvy.java:121: error: cannot find symbol
map.put(Entitysilvvy.class, new RenderSilverDragon(new ModelSilverDragon(), 0.2F));
^
symbol: class RenderSilverDragon
location: class mod_silvvy
src\minecraft\net\minecraft\src\mod_silvvy.java:122: error: cannot find symbol
map.put(Entitysilvvy.class, new RenderSilverDragon(new ModelSilverDragon(), 0.2F));
^
Silvvy and Ebby belong to J-C, and my avatar was drawn by J-C! <3
1. Use code tags please
2. Post your mod_silvvy code how it looks now please
Maybe you forgot to import map?
Divine smoker mod - Hookah in Minecraft: http://www.minecraftforum.net/topic/1689980-172splanspdivine-smoker-water-pipe-modhookahshisha-11/
Here. The spacing in this code got a little messed up whenever I pasted it into here.
This program i'm using combines all of the files needed for mods (such as the mob i'm trying to create) into one file, and that's the mod_silvvy.java file. I thought it was convenient because then I wouldn't have to mess with four files, just one.
Silvvy and Ebby belong to J-C, and my avatar was drawn by J-C! <3
There are reasons why this is not good idea. Do you have import java.util.Map; somewhere at the top of your file?
Divine smoker mod - Hookah in Minecraft: http://www.minecraftforum.net/topic/1689980-172splanspdivine-smoker-water-pipe-modhookahshisha-11/
Silvvy and Ebby belong to J-C, and my avatar was drawn by J-C! <3
Yeah, it's near the top, 105th line of code if i'm correct (the other 104 lines of code is for loading Forge stuff I think.)
Also, why isn't it a good idea? Is it more buggy that way, or is it harder if you to have to find a bit of code just to fix it?
Silvvy and Ebby belong to J-C, and my avatar was drawn by J-C! <3
Also, bump.
Silvvy and Ebby belong to J-C, and my avatar was drawn by J-C! <3
No, I don't. I don't even know how to make one (I used SCMown's tutorial on how to make a mob using ModLoader, and he never mentioned anything about a RenderMob.class file.)
Silvvy and Ebby belong to J-C, and my avatar was drawn by J-C! <3