Posted April 17, 201411 yr Hello everyone! I have an item that requires fuel saving its data to NBTs and its working. I want to use the damage bar as a fuel bar. I have already wrote a quick calculation thats updates the fuel bar. The only proble is the item is unequipping and equipping because of the update. Its updateing every 1 second and not every tick. How can i slove this problem? super.onUpdate and !par1World.isremote not help. Can i save damage value into NBT datas and display that somehow? Thanks!
April 17, 201411 yr Hello everyone! I have an item that requires fuel saving its data to NBTs and its working. I want to use the damage bar as a fuel bar. I have already wrote a quick calculation thats updates the fuel bar. The only proble is the item is unequipping and equipping because of the update. Its updateing every 1 second and not every tick. How can i slove this problem? super.onUpdate and !par1World.isremote not help. Can i save damage value into NBT datas and display that somehow? Thanks! Thats an awesome idea but most likely its going to be a bit hard to stop that equipping thing.(At least i never saw something that could be usefull in the item class) I would get rid of the damage and add the energy bar to the texture. And yes, you can save nearly everything to nbt. Maybe i can find some code thats helpful for you in my old 1.6 version(I am currently rewriting everything to update to 1.7...). Here could be your advertisement!
April 17, 201411 yr Try the deobf version of industrial craft, I know that is 1.6.4, but you may be able to figure out how the did their tools. Don't be afraid to ask question when modding, there are no stupid question! Unless you don't know java then all your questions are stupid!
April 18, 201411 yr Author Thank you diesieben! But how am i supposed to use this? I get the current fuel level divided by the max fuel level. In the onUpdate method i put "getDurabilityForDisplay(par1ItemStack)" to update the damage bar. But no damage bar shown. I saw 1.0 means 100% so i just simply return 1.0 but still not showing the bar. Thanks anyway!
April 19, 201411 yr Author Seriously, what the hell? So the method looks like this: @Override public double getDurabilityForDisplay(ItemStack stack) { return (double)stack.getItemDamageForDisplay() / (stack)stack.getMaxDamage(); } But if i get the fuel stored in NBT data and run trough a calculation that uses itemstack.setDamage(calculation(oil)) in onUpdate it still bounces when the damage bar is mooving. So please can you show me a little piace of code for me? I would apprechiate it!
April 19, 201411 yr As far as I am aware, you get that "bouncing" animation every time the damage value changes. I personally don't know any way around that, which is why I always use NBT to track these kinds of values, as NBT can update without triggering the animation. http://i.imgur.com/NdrFdld.png[/img]
April 19, 201411 yr Author You guys don't understand me. Sorry if i wrote it down wrong. I have a fuel system saved and loaded from NBTs. I don't useing damage value as fuel storing. I only want to use it for visual not for functional reasons. I use the method what diesieben sent me. I got the fuel from the NBT and devide it by the max fuel value that the item can store. There is no metatdata used! So the resoult is a number between 0,0 and 1,0. I read 1.0 mean damage bar 100% and 0.0 means 0%; But that display method not working and there is no "visual damage bar" shown. Again there is no item damageing happening in the background. Forget my previous code.
April 19, 201411 yr Author @Override public double getDurabilityForDisplay(ItemStack stack) { return (double)getOilLevel(stack) / (double)Lantern.lanternFuelCapacity * 60; }
April 19, 201411 yr Author Thank you for that, but even if i try with a simple: return 0.8; Its still not showing up the 80% damage bar.
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.