Jump to content

Fruitsalid

Members
  • Posts

    99
  • Joined

  • Last visited

Everything posted by Fruitsalid

  1. I found par1ItemStack.damageItem(1, par2EntityPlayer); in the flint and steel class but that would damage the item itself.
  2. instead of .consumeInventoryItem how would I reduce the durability of the item?
  3. I wanted to make a magic wand type item that when right clicked will fire some sort of projectile. But I would like it to decrease the durability of another item in my inventory. Like in gun mods when you shoot the gun, the clip durability decreases. How would I accomplish this? Also how do you put descriptions under items?
  4. The itemicon line does work except the blalal is the modid i changed it in this for some reason. The class is ItemCustomBow extends ItemBow. And I have no idea what you're saying in the last part.
  5. My custom bow renders oddly in 3rd person http://imagebin.org/266375 I just have an item class public class ItemBow extends ItemBow { public static final String[] bowPullIconNameArray = new String[] {"mybow_pull_0", "mybow_pull_1", "mybow_pull_2"}; @SideOnly(Side.CLIENT) private Icon[] iconArray; public ItemBow (int par1) { super(par1); this.maxStackSize = 1; this.setMaxDamage(384); this.setCreativeTab(MainClass.Tab); } /** * called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount */ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { int j = this.getMaxItemUseDuration(par1ItemStack) - par4; ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); MinecraftForge.EVENT_BUS.post(event); if (event.isCanceled()) { return; } j = event.charge; boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; if (flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { float f = (float)j / 10.0F; f = (f * f + f * 2.0F) / 3.0F; if ((double)f < 0.1D) { return; } if (f > 1.0F) { f = 1.0F; } EntityArrow entityarrow = new EntityArrow(par2World, par3EntityPlayer, f * 2.0F); if (f == 1.0F) { entityarrow.setIsCritical(true); } int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); if (k > 0) { entityarrow.setDamage(entityarrow.getDamage() + (double)k * 0.5D + 0.5D); } int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); if (l > 0) { entityarrow.setKnockbackStrength(l); } if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { entityarrow.setFire(100); } par1ItemStack.damageItem(1, par3EntityPlayer); par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); if (flag) { entityarrow.canBePickedUp = 2; } else { par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); } if (!par2World.isRemote) { par2World.spawnEntityInWorld(entityarrow); } } } public ItemStack onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { return par1ItemStack; } /** * How long it takes to use or consume an item */ public int getMaxItemUseDuration(ItemStack par1ItemStack) { return 72000; } /** * returns the action that specifies what animation to play when the items is being used */ public EnumAction getItemUseAction(ItemStack par1ItemStack) { return EnumAction.bow; } /** * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer */ public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { ArrowNockEvent event = new ArrowNockEvent(par3EntityPlayer, par1ItemStack); MinecraftForge.EVENT_BUS.post(event); if (event.isCanceled()) { return event.result; } if (par3EntityPlayer.capabilities.isCreativeMode || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { par3EntityPlayer.setItemInUse(par1ItemStack, this.getMaxItemUseDuration(par1ItemStack)); } return par1ItemStack; } /** * Return the enchantability factor of the item, most of the time is based on material. */ public int getItemEnchantability() { return 1; } @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { this.itemIcon = par1IconRegister.registerIcon("blalalal" + ":" + getUnlocalizedName()); this.iconArray = new Icon[bowPullIconNameArray.length]; for (int i = 0; i < this.iconArray.length; ++i) { this.iconArray[i] = par1IconRegister.registerIcon(MagicElementsMod.modid + ":" + bowPullIconNameArray[i]); } } @SideOnly(Side.CLIENT) /** * used to cycle through icons based on their used duration, i.e. for the bow */ public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { if(player.getItemInUse() == null) return this.itemIcon; int Pulling = stack.getMaxItemUseDuration() - useRemaining; if (Pulling >= 18) { return iconArray[2]; } else if (Pulling > 13) { return iconArray[1]; } else if (Pulling > 0) { return iconArray[0]; } return itemIcon; } } Anyone know whats wrong
  6. I made a custom arrow for my bow. The bow and arrow work perfectly fine in creative. But when im in survival the arrow looks like it go's backwards but then teleports to the spot in the ground where it should have been. The entity class for my arrow is just the normal entity class from vanilla arrow.
  7. Well I guess I've solved it, I just had to use glTranslatef to put it into my hand and then rotate.
  8. But this is why I'm asking, i played around with them A LOT and none of them rotate on that axis but i'll keep trying I guess. sorry
  9. well ya if you look at the picture i linked the handle is in my shoulder, how would i rotate it into my hand
  10. it doesn't have to be a specific angle but how would a rotate it downwards, all the other ones just seem to turn it left or right
  11. Anyone know how to rotate it correctly?
  12. I made a custom model for an item just as a test and I can't figure out what rotation would make this correct.(http://imagebin.org/265693) here's my render code: public class RenderHammer implements IItemRenderer { protected ModelHammer hammerModel; public RenderHammer() { hammerModel = new ModelHammer(); } @Override public boolean handleRenderType(ItemStack item, ItemRenderType type) { switch(type) { case EQUIPPED: return true; case EQUIPPED_FIRST_PERSON: return true; default: return false; } } @Override public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { return false; } @Override public void renderItem(ItemRenderType type, ItemStack item, Object... data) { switch(type) { case EQUIPPED: case EQUIPPED_FIRST_PERSON: { GL11.glPushMatrix(); Minecraft.getMinecraft().renderEngine.func_110577_a(new ResourceLocation("modclass","/textures/models/Hammer.png")); GL11.glRotatef(192F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(95F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-10F, 0.0F, 0.0F, 1.0F); float scale = 1.6F; GL11.glScalef(scale, scale, scale); this.hammerModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); GL11.glPopMatrix(); } default: } } }
  13. It was public void onArmorTickUpdate(World world, EntityPlayer player, ItemStack itemstack) { ItemStack boots = player.getCurrentItemOrArmor(1); ItemStack legs = player.getCurrentItemOrArmor(2); ItemStack chest = player.getCurrentItemOrArmor(3); ItemStack helmet = player.getCurrentItemOrArmor(4); if(boots != null && legs != null && chest != null && helmet != null) { if(boots.getItem() == ModClass.boots.itemID && legs.getItem() == ModClass.legs.itemID && chest.getItem() == ModClass.chest.itemID && helmet.getItem() == ModClass.helmet.itemID) { //put the effect and stuff here } } } Now it gives an error that I can't have an int and item
  14. What is the new code to add an effect to the player if a full set of armor is equipped . Also how could I make a double jump effect(while im in the air I can hump one more time)?
  15. The thing is that I've changed each axis in the code that I posted and none of those three coralates to that axis. But I'll try it again just to make sure.
  16. Also (sorry if i'm being a nuisance) the texture isn't loading and the model in 3rd person is horizontal instead of at a 45 degree angle into my hand. I don't know which rotation does that angling?
  17. Sorry, I feel really dumb for not seeing that. I've figured it out and it works. Thanks
  18. I've switched it to: @Override public boolean handleRenderType(ItemStack item, ItemRenderType type) { switch(type) { case EQUIPPED_FIRST_PERSON: return true; default: return true; } } and now the items invisible?
  19. I made a custom item model for a hammer just to test it out and it is only visible in 3rd person. In 1st person it just looks like the item icon I gave it. Here's the render code: public class RenderHammer implements IItemRenderer { protected ModelHammer hammerModel; public RenderHammer() { hammerModel = new ModelHammer(); } @Override public boolean handleRenderType(ItemStack item, ItemRenderType type) { switch(type) { case EQUIPPED: return true; default: return false; } } @Override public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { return false; } @Override public void renderItem(ItemRenderType type, ItemStack item, Object... data) { switch(type) { case EQUIPPED: { GL11.glPushMatrix(); Minecraft.getMinecraft().renderEngine.func_110577_a(new ResourceLocation("/assets/magicelements/textures/models/Hammer.png")); GL11.glRotatef(192F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(95F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-10F, 0.0F, 0.0F, 1.0F); float scale = 1.6F; GL11.glScalef(scale, scale, scale); this.hammerModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); GL11.glPopMatrix(); } default: } } } Anyone know whats wrong?
  20. alright everything works fine now thanks.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.