Posted July 17, 201312 yr My throwable item render is somewhat messed up. It spawns in correctly sometimes but other times just random colors help! package minecraftmod; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.Render; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.client.resources.ResourceLocation; import net.minecraft.entity.Entity; import net.minecraft.entity.projectile.EntityFireball; import net.minecraft.item.Item; import net.minecraft.util.Icon; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; @SideOnly(Side.CLIENT) public class RenderShuriken extends Render { public RenderShuriken(Item shuriken) { this(shuriken, 0); } public RenderShuriken(Item shuriken, int par2) { } public void doRenderFireball(EntityShuriken par1Entity, double par2, double par4, double par6, float par8, float par9) { GL11.glPushMatrix(); GL11.glTranslatef((float)par2, (float)par4, (float)par6); GL11.glEnable(GL12.GL_RESCALE_NORMAL); Icon icon = TitaniumMod.Shuriken.getIconFromDamage(0); Tessellator tessellator = Tessellator.instance; float f3 = icon.getMinU(); float f4 = icon.getMaxU(); float f5 = icon.getMinV(); float f6 = icon.getMaxV(); float f7 = 1.0F; float f8 = 0.5F; float f9 = 0.25F; GL11.glRotatef(180.0F - this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F); this.loadTexture("/gui/items.png"); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 1.0F, 0.0F); tessellator.addVertexWithUV((double)(0.0F - f8), (double)(0.0F - f9), 0.0D, (double)f3, (double)f6); tessellator.addVertexWithUV((double)(f7 - f8), (double)(0.0F - f9), 0.0D, (double)f4, (double)f6); tessellator.addVertexWithUV((double)(f7 - f8), (double)(1.0F - f9), 0.0D, (double)f4, (double)f5); tessellator.addVertexWithUV((double)(0.0F - f8), (double)(1.0F - f9), 0.0D, (double)f3, (double)f5); tessellator.draw(); GL11.glDisable(GL12.GL_RESCALE_NORMAL); GL11.glPopMatrix(); } private void loadTexture(String string) { // TODO Auto-generated method stub } protected net.minecraft.util.ResourceLocation func_110790_a(EntityFireball par1EntityFireball) { return TextureMap.field_110576_c; } protected net.minecraft.util.ResourceLocation func_110775_a(Entity par1Entity) { return this.func_110790_a((EntityFireball)par1Entity); } /** * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic * (Render<T extends Entity) and this method has signature public void doRender(T entity, double d, double d1, * double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that. */ public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9) { this.doRenderFireball((EntityShuriken)par1Entity, par2, par4, par6, par8, par9); } } render class entity class package minecraftmod; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.client.resources.ResourceLocation; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.monster.EntityBlaze; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityThrowable; import net.minecraft.item.EnumToolMaterial; import net.minecraft.util.DamageSource; import net.minecraft.util.EnumArt; import net.minecraft.util.Icon; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; public class EntityShuriken extends EntityThrowable { private Icon itemIcon; public EntityShuriken(World par1World) { super(par1World); } public void registerIcons(IconRegister ir) { this.itemIcon = ir.registerIcon( "titaniummod:shuriken"); } public EntityShuriken(World par1World, EntityPlayer par3EntityPlayer) { super(par1World, par3EntityPlayer); } public EntityShuriken(World par1World, double par2, double par4, double par6) { super(par1World, par2, par4, par6); } /** * Called when this EntityThrowable hits a block or entity. */ protected void onImpact(MovingObjectPosition par1MovingObjectPosition) { if (par1MovingObjectPosition.entityHit != null) { byte b0 = 7; if (par1MovingObjectPosition.entityHit instanceof EntityBlaze) { b0 = 7; } par1MovingObjectPosition.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.getThrower()), b0); } for (int i = 0; i < 8; ++i) { this.worldObj.spawnParticle("snowballpoof", this.posX, this.posY, this.posZ, 0.0D, 0.0D, 0.0D); } if (!this.worldObj.isRemote) { this.setDead();}} /** * Gets the amount of gravity to apply to the thrown * entity with each tick. */ @Override protected float getGravityVelocity() { return 0.01F; // 0 will make the item carry on forever until it hits something } } item class package minecraftmod; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.client.resources.ResourceLocation; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.monster.EntityBlaze; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityThrowable; import net.minecraft.item.EnumToolMaterial; import net.minecraft.util.DamageSource; import net.minecraft.util.EnumArt; import net.minecraft.util.Icon; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; public class EntityShuriken extends EntityThrowable { private Icon itemIcon; public EntityShuriken(World par1World) { super(par1World); } public void registerIcons(IconRegister ir) { this.itemIcon = ir.registerIcon( "titaniummod:shuriken"); } public EntityShuriken(World par1World, EntityPlayer par3EntityPlayer) { super(par1World, par3EntityPlayer); } public EntityShuriken(World par1World, double par2, double par4, double par6) { super(par1World, par2, par4, par6); } /** * Called when this EntityThrowable hits a block or entity. */ protected void onImpact(MovingObjectPosition par1MovingObjectPosition) { if (par1MovingObjectPosition.entityHit != null) { byte b0 = 7; if (par1MovingObjectPosition.entityHit instanceof EntityBlaze) { b0 = 7; } par1MovingObjectPosition.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.getThrower()), b0); } for (int i = 0; i < 8; ++i) { this.worldObj.spawnParticle("snowballpoof", this.posX, this.posY, this.posZ, 0.0D, 0.0D, 0.0D); } if (!this.worldObj.isRemote) { this.setDead();}} /** * Gets the amount of gravity to apply to the thrown * entity with each tick. */ @Override protected float getGravityVelocity() { return 0.01F; // 0 will make the item carry on forever until it hits something } } http://i1279.photobucket.com/albums/y523/textcraft/Jul%202013%20-%203/9fe024ebf03623c0265f2c0ac1dfaa87db905ff7c593e1616aec2474a92516f4db7b79aa8e4023f09fb0ecba4ae771f7606d800aacdf40b3b889e1274c94a41a97a0a04ec748_zps33f9ea75.png[/img]
July 18, 201312 yr Author help http://i1279.photobucket.com/albums/y523/textcraft/Jul%202013%20-%203/9fe024ebf03623c0265f2c0ac1dfaa87db905ff7c593e1616aec2474a92516f4db7b79aa8e4023f09fb0ecba4ae771f7606d800aacdf40b3b889e1274c94a41a97a0a04ec748_zps33f9ea75.png[/img]
July 18, 201312 yr You need to update the way you load textures. Take a look in the chest renderer or any mob renderer for how to do so. http://s13.postimg.org/z9mlly2av/siglogo.png[/img] My mods (Links coming soon) Cities | Roads | Remula | SilvaniaMod | MoreStats
July 18, 201312 yr Author Im guessing I replace this this.loadTexture("/gui/items.png"); with this ResourceLocation field_110631_g = new ResourceLocation("textures/entity/chest/normal.png"); ? If so how would the new format be for the textures would it be like ("textures/entity(or/items)/shuriken.png") or ('mod name here:textures/entity(or/item)/shuriken.png http://i1279.photobucket.com/albums/y523/textcraft/Jul%202013%20-%203/9fe024ebf03623c0265f2c0ac1dfaa87db905ff7c593e1616aec2474a92516f4db7b79aa8e4023f09fb0ecba4ae771f7606d800aacdf40b3b889e1274c94a41a97a0a04ec748_zps33f9ea75.png[/img]
July 20, 201312 yr Author help http://i1279.photobucket.com/albums/y523/textcraft/Jul%202013%20-%203/9fe024ebf03623c0265f2c0ac1dfaa87db905ff7c593e1616aec2474a92516f4db7b79aa8e4023f09fb0ecba4ae771f7606d800aacdf40b3b889e1274c94a41a97a0a04ec748_zps33f9ea75.png[/img]
July 22, 201312 yr Author help help http://i1279.photobucket.com/albums/y523/textcraft/Jul%202013%20-%203/9fe024ebf03623c0265f2c0ac1dfaa87db905ff7c593e1616aec2474a92516f4db7b79aa8e4023f09fb0ecba4ae771f7606d800aacdf40b3b889e1274c94a41a97a0a04ec748_zps33f9ea75.png[/img]
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.