Posted December 8, 201410 yr good days i have create a item testitem whit a nbt tag static NBTTagCompound ns = new NBTTagCompound(); public static NBTTagCompound getNBT(){return ns;} ns.setInteger("gearbox", 0); lets say there is two user in a server player1 and player2 and the two have the testitem if the player2 change the value of gearbox to 5 ¿ the testitem from the player will change to ? es que idont have two pcs to make the test here .
December 10, 201410 yr Author ibelive understand how it works make this test item and set the nbttag code inside a try catch, if the nbt is emtpy or null it created one whith a ramdom number value soo fireup minecraft and take 3 of this testitem and put them on mi hotbar diferents slot, rigth click to the one on the slot 0 get an error cath cachit and set a ramdom value for it "433" the value remain whithout change on right click rigth click on the testitem in the slot 5 get error cath cachit and set a ramdom value for it "839" the value "433" in testitem slot 3 is not afected the same goes for the one in the sloth 9 it gets "127" close minecraft and refireup the values still I change positions of the items close minecraft and refireup the values still not care the order no care if minecraft restart soo i guest this solve the problem in the multiplayer of an item values of one player afecting the item from other player here is the code _________________________________ //testitem.java package mercenarymod.items; import mercenarymod.materialesMercenarios; import mercenarymod.Mercenary; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; import net.minecraftforge.fml.common.registry.GameRegistry; import mercenarymod.items.MercenaryModItems; import mercenarymod.utilidades.registrarTextura; import mercenarymod.utilidades.gearbox; import mercenarymod.items.sierras.tiempo0; import mercenarymod.utilidades.util; import java.lang.Math; import java.util.List; public class testitem extends Items{ public static String name = "testitem"; static NBTTagCompound ns = new NBTTagCompound(); public static boolean test=true; public testitem(){ setUnlocalizedName(Mercenary.MODID + "_" + name); GameRegistry.registerItem(this, name); setCreativeTab(Mercenary.herramientas); this.maxStackSize = 1; } public ItemStack onItemRightClick(ItemStack testitem, World worldIn, EntityPlayer playerIn){ worldIn.playSoundAtEntity(playerIn, "modmercenario:run", 1.0F, 1.0F); try { NBTTagCompound exi= testitem.getTagCompound(); int ex=exi.getInteger("gearbox"); System.out.println("contenido de nbttag gearbox ="+exi.getInteger("gearbox") ); } catch (Throwable any) { int ran=(int)((Math.random())*1000); ns.setInteger("gearbox", ran); testitem.setTagCompound(ns); System.out.println("Java ERROR: "+any); any.printStackTrace(); } return testitem; } }//fin de la classe
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.