xcoopergangx Posted July 17, 2013 Posted July 17, 2013 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 } } Quote http://i1279.photobucket.com/albums/y523/textcraft/Jul%202013%20-%203/9fe024ebf03623c0265f2c0ac1dfaa87db905ff7c593e1616aec2474a92516f4db7b79aa8e4023f09fb0ecba4ae771f7606d800aacdf40b3b889e1274c94a41a97a0a04ec748_zps33f9ea75.png[/img]
xcoopergangx Posted July 18, 2013 Author Posted July 18, 2013 help Quote http://i1279.photobucket.com/albums/y523/textcraft/Jul%202013%20-%203/9fe024ebf03623c0265f2c0ac1dfaa87db905ff7c593e1616aec2474a92516f4db7b79aa8e4023f09fb0ecba4ae771f7606d800aacdf40b3b889e1274c94a41a97a0a04ec748_zps33f9ea75.png[/img]
Flenix Posted July 18, 2013 Posted July 18, 2013 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. Quote http://s13.postimg.org/z9mlly2av/siglogo.png[/img] My mods (Links coming soon) Cities | Roads | Remula | SilvaniaMod | MoreStats
xcoopergangx Posted July 18, 2013 Author Posted July 18, 2013 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 Quote http://i1279.photobucket.com/albums/y523/textcraft/Jul%202013%20-%203/9fe024ebf03623c0265f2c0ac1dfaa87db905ff7c593e1616aec2474a92516f4db7b79aa8e4023f09fb0ecba4ae771f7606d800aacdf40b3b889e1274c94a41a97a0a04ec748_zps33f9ea75.png[/img]
xcoopergangx Posted July 20, 2013 Author Posted July 20, 2013 help Quote http://i1279.photobucket.com/albums/y523/textcraft/Jul%202013%20-%203/9fe024ebf03623c0265f2c0ac1dfaa87db905ff7c593e1616aec2474a92516f4db7b79aa8e4023f09fb0ecba4ae771f7606d800aacdf40b3b889e1274c94a41a97a0a04ec748_zps33f9ea75.png[/img]
xcoopergangx Posted July 22, 2013 Author Posted July 22, 2013 help help Quote http://i1279.photobucket.com/albums/y523/textcraft/Jul%202013%20-%203/9fe024ebf03623c0265f2c0ac1dfaa87db905ff7c593e1616aec2474a92516f4db7b79aa8e4023f09fb0ecba4ae771f7606d800aacdf40b3b889e1274c94a41a97a0a04ec748_zps33f9ea75.png[/img]
Recommended Posts
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.