Jump to content

jokekid

Members
  • Posts

    43
  • Joined

  • Last visited

Everything posted by jokekid

  1. player was null for a stupid mistake, instead of entity.getOwner(), i needed THIS.entity... so yeah, but now the ocelot won't spawn... EDIT: everything's working properly now,all i had to do was give the new entity it's coords, which is ez pz i also had to add a check to make sure a tameable entity actually had extended properties before trying to give it experience (ocelots dont have extended properties yet) so yes, i finally got this thing working fully, thanks a bunch diesieben07 you are my hero <3
  2. alright, the wolf is levelling up and all that stuff, now im finally using the WolfExtendedClass for something, for the sake of testing im making it evolve into an ocelot when it reaches it's max level, so more errors were bound to come. repo: https://github.com/jokekid/BattleCreatures/tree/GetPetsWithinRange im getting a null pointer exception right here: https://github.com/jokekid/BattleCreatures/blob/GetPetsWithinRange/src/main/java/com/jokekid/battlecreatures/extEntity/ExtendedTameable.java#L83 you guys are probably smacking your heads against the wall cuz i made some stupid mistake, but sorry, im not seeing it
  3. welp, fail on my side, thanks for pointing it out, obvious mistakes seem to be the hardest ones to find sometimes
  4. block of code: double distance = 128.0D; double x1 = event.entityPlayer.posX-distance; double x2 = event.entityPlayer.posX+distance; double y1 = event.entityPlayer.posY-distance; double y2 = event.entityPlayer.posY+distance; double z1 = event.entityPlayer.posZ-distance; z2 = event.entityPlayer.posZ+distance; AxisAlignedBB area = new AxisAlignedBB(x1, z1, y1, x2, z2, y2); System.out.println(area); List<Entity> entities = event.entityPlayer.getEntityWorld().getEntitiesWithinAABBExcludingEntity(event.entityPlayer, area); when i print the list, i get []. there are plenty of entities around when i'm executing this, am i doing something wrong? this is being called in the experience pickup event
  5. i dont know if there is a straight way of doing this, but you could try comparing the player's position with the block's position, instead of using the player's view... this might not be the optimal way of achieving your goal, but it may help you get a new vision on the subject
  6. omg, why didn't i think of this in the first place... this would render the extended player class completely useless... i could just check for nearby entities whose owner equals the player... >.<
  7. omg, i dont know how to thank you enough for all of this help. wolves are now properly levelling up on experience pickup, i did have to add some more checks to the two events involved with taming, because it would fire too when you made your pet sit or stand up. btw, i thought about the thing for when they are in unloaded chunks, would it work if i only gave the experience to any pets that are within a certain distance from the player?
  8. 1.- ok, added this to the constructor: this.pets = new HashSet<UUID>(); i assume that should solve my nullPointerExceptions? both wolf and tameable IEEPs are using the same identifier already, which is a constant in ExtendedTameable i see, changed it to this: https://github.com/jokekid/BattleCreatures/blob/master/src/main/java/com/jokekid/battlecreatures/extEntity/ExtendedTameable.java#L55
  9. here we go again 1.- i am asigning values to the set in the addPet() and removePet() methods, i am assuming i'm missing a check or something before the line that's giving me a nullPointerException? help please. what field is a IEEP's identifier? the property name? i just noticed i DONT need it on the client, silly me now i'm feeling stupid, i am assuming the "easy" answer is yes? suggestions? i thought that in a "if(blablabla && blebleble){}" check, if blablabla returns false, it won't even bother to check blebleble meaning that if canEvolve() gives false, it shouldn't make the new entity, and if it gives true, i'll be making the entity anyway. EDIT: if i make the Set<UUID> final, i am required to initialize it, and i have no idea how to, if i follow my IDE's instructions, it will override basically every single method of said Set...
  10. making items is simple, easy and there are tons of tutorials about it. so, once you've followed a tutorial that has you making a class for your item, make it extend the bow, this will practically make it a bow clone, so then you override the method said by another user to make it deal damage on left click as well. tbh this seems like a pretty simple task, just search for the right tutorials/guides, and use some imagination
  11. ok, first this error i dont understand why: https://github.com/jokekid/BattleCreatures/blob/master/src/main/java/com/jokekid/battlecreatures/extEntity/ExtendedPlayer.java#L38 null pointer exception now back to my previous errors: 6.- so, how do i do this the right way? 8.- so i gotta set up packets for this? 9.- is it OK to get the entity's world? 10.- cuz it's not necesary? any reason i should do this? i mean, these are always tameable entities, meaning they always have a player associated to them if they're tamed. 11.- yes there is: https://github.com/jokekid/BattleCreatures/blob/master/src/main/java/com/jokekid/battlecreatures/extEntity/ExtendedTameable.java#L64 12.- because im not done with this yet, the wolf's extendedProperties will eventually override the tameable one's to make it evolve, etc... and i do intend to add new mobs to this mod as well, which will also use the ExtendedTameable properties, for the sake of recycling. AGAIN thanks for your patience, this is being of great help
  12. this is getting way out of hands... [12:11:01] [server thread/ERROR] [FML]: Failed to save extended properties for ExtendedTameable. This is a mod issue. [12:11:01] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.lang.NullPointerException [12:11:01] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at com.jokekid.battlecreatures.extEntity.ExtendedPlayer.saveNBTData(ExtendedPlayer.java:36) [12:11:01] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.entity.Entity.writeToNBT(Entity.java:1611) [12:11:01] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedPlayerList.writePlayerData(IntegratedPlayerList.java:33) [12:11:01] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.management.ServerConfigurationManager.saveAllPlayerData(ServerConfigurationManager.java:890) [12:11:01] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:146) [12:11:01] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [12:11:01] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [12:11:01] [server thread/ERROR] [FML]: Failed to save extended properties for ExtendedTameable. This is a mod issue. [12:11:01] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.lang.NullPointerException [12:11:01] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at com.jokekid.battlecreatures.extEntity.ExtendedPlayer.saveNBTData(ExtendedPlayer.java:36) [12:11:01] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.entity.Entity.writeToNBT(Entity.java:1611) [12:11:01] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.storage.SaveHandler.writePlayerData(SaveHandler.java:271) [12:11:01] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.management.ServerConfigurationManager.writePlayerData(ServerConfigurationManager.java:333) [12:11:01] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedPlayerList.writePlayerData(IntegratedPlayerList.java:36) [12:11:01] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.management.ServerConfigurationManager.saveAllPlayerData(ServerConfigurationManager.java:890) [12:11:01] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:146) [12:11:01] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [12:11:01] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [12:11:01] [server thread/INFO]: Saving chunks for level 'flat'/Overworld [12:11:01] [server thread/INFO]: Saving chunks for level 'flat'/Nether [12:11:01] [server thread/INFO]: Saving chunks for level 'flat'/The End [12:11:01] [server thread/ERROR] [FML]: Exception caught during firing event net.minecraftforge.event.entity.player.PlayerPickupXpEvent@383dc8b9: java.lang.NullPointerException at com.jokekid.battlecreatures.events.ModEventHandler.onPlayerXpPickup(ModEventHandler.java:27) ~[ModEventHandler.class:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_7_ModEventHandler_onPlayerXpPickup_PlayerPickupXpEvent.invoke(.dynamic) ~[?:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:55) ~[ASMEventHandler.class:?] at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:138) [EventBus.class:?] at net.minecraft.entity.item.EntityXPOrb.onCollideWithPlayer(EntityXPOrb.java:233) [EntityXPOrb.class:?] at net.minecraft.entity.player.EntityPlayer.collideWithPlayer(EntityPlayer.java:691) [EntityPlayer.class:?] at net.minecraft.entity.player.EntityPlayer.onLivingUpdate(EntityPlayer.java:683) [EntityPlayer.class:?] at net.minecraft.entity.EntityLivingBase.onUpdate(EntityLivingBase.java:1828) [EntityLivingBase.class:?] at net.minecraft.entity.player.EntityPlayer.onUpdate(EntityPlayer.java:334) [EntityPlayer.class:?] at net.minecraft.entity.player.EntityPlayerMP.onUpdateEntity(EntityPlayerMP.java:374) [EntityPlayerMP.class:?] at net.minecraft.network.NetHandlerPlayServer.processPlayer(NetHandlerPlayServer.java:347) [NetHandlerPlayServer.class:?] at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:36) [C03PacketPlayer.class:?] at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:105) [C03PacketPlayer.class:?] at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:24) [PacketThreadUtil$1.class:?] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_60] at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_60] at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:714) [FMLCommonHandler.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:160) [integratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [MinecraftServer.class:?] at java.lang.Thread.run(Unknown Source) [?:1.8.0_60] [12:11:01] [server thread/ERROR] [FML]: Index: 1 Listeners: [12:11:01] [server thread/ERROR] [FML]: 0: NORMAL [12:11:01] [server thread/ERROR] [FML]: 1: ASM: com.jokekid.battlecreatures.events.ModEventHandler@27d6ff8c onPlayerXpPickup(Lnet/minecraftforge/event/entity/player/PlayerPickupXpEvent;)V [12:11:01] [server thread/FATAL] [FML]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: net.minecraft.util.ReportedException: Ticking player java.util.concurrent.ExecutionException: net.minecraft.util.ReportedException: Ticking player at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_60] at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_60] at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:715) [FMLCommonHandler.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:160) [integratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [MinecraftServer.class:?] at java.lang.Thread.run(Unknown Source) [?:1.8.0_60] Caused by: net.minecraft.util.ReportedException: Ticking player at net.minecraft.entity.player.EntityPlayerMP.onUpdateEntity(EntityPlayerMP.java:428) ~[EntityPlayerMP.class:?] at net.minecraft.network.NetHandlerPlayServer.processPlayer(NetHandlerPlayServer.java:347) ~[NetHandlerPlayServer.class:?] at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:36) ~[C03PacketPlayer.class:?] at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:105) ~[C03PacketPlayer.class:?] at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:24) ~[PacketThreadUtil$1.class:?] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_60] at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_60] at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:714) ~[FMLCommonHandler.class:?] ... 3 more Caused by: java.lang.NullPointerException at com.jokekid.battlecreatures.events.ModEventHandler.onPlayerXpPickup(ModEventHandler.java:27) ~[ModEventHandler.class:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_7_ModEventHandler_onPlayerXpPickup_PlayerPickupXpEvent.invoke(.dynamic) ~[?:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:55) ~[ASMEventHandler.class:?] at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:138) ~[EventBus.class:?] at net.minecraft.entity.item.EntityXPOrb.onCollideWithPlayer(EntityXPOrb.java:233) ~[EntityXPOrb.class:?] at net.minecraft.entity.player.EntityPlayer.collideWithPlayer(EntityPlayer.java:691) ~[EntityPlayer.class:?] at net.minecraft.entity.player.EntityPlayer.onLivingUpdate(EntityPlayer.java:683) ~[EntityPlayer.class:?] at net.minecraft.entity.EntityLivingBase.onUpdate(EntityLivingBase.java:1828) ~[EntityLivingBase.class:?] at net.minecraft.entity.player.EntityPlayer.onUpdate(EntityPlayer.java:334) ~[EntityPlayer.class:?] at net.minecraft.entity.player.EntityPlayerMP.onUpdateEntity(EntityPlayerMP.java:374) ~[EntityPlayerMP.class:?] at net.minecraft.network.NetHandlerPlayServer.processPlayer(NetHandlerPlayServer.java:347) ~[NetHandlerPlayServer.class:?] at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:36) ~[C03PacketPlayer.class:?] at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:105) ~[C03PacketPlayer.class:?] at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:24) ~[PacketThreadUtil$1.class:?] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_60] at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_60] at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:714) ~[FMLCommonHandler.class:?] ... 3 more [12:11:02] [server thread/ERROR] [FML]: Failed to save extended properties for ExtendedTameable. This is a mod issue. [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.lang.NullPointerException [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at com.jokekid.battlecreatures.extEntity.ExtendedPlayer.saveNBTData(ExtendedPlayer.java:36) [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.entity.Entity.writeToNBT(Entity.java:1611) [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedPlayerList.writePlayerData(IntegratedPlayerList.java:33) [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.management.ServerConfigurationManager.playerLoggedOut(ServerConfigurationManager.java:377) [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer$3.run(IntegratedServer.java:381) [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.concurrent.FutureTask.run(Unknown Source) [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:714) [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:160) [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [12:11:02] [server thread/ERROR] [FML]: Failed to save extended properties for ExtendedTameable. This is a mod issue. [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.lang.NullPointerException [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at com.jokekid.battlecreatures.extEntity.ExtendedPlayer.saveNBTData(ExtendedPlayer.java:36) [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.entity.Entity.writeToNBT(Entity.java:1611) [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.storage.SaveHandler.writePlayerData(SaveHandler.java:271) [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.management.ServerConfigurationManager.writePlayerData(ServerConfigurationManager.java:333) [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedPlayerList.writePlayerData(IntegratedPlayerList.java:36) [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.management.ServerConfigurationManager.playerLoggedOut(ServerConfigurationManager.java:377) [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer$3.run(IntegratedServer.java:381) [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.concurrent.FutureTask.run(Unknown Source) [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:714) [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:160) [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [12:11:02] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [12:11:02] [server thread/INFO]: Stopping server all i was doing here was trying to spawn a new wolf with the spawn egg (which didnt work) and something went terribly wrong in the experience pickup event, cuz i wouldn't pick it up anymore...
  13. because i dont understand how in the actual hell the game differentiates between server and client, there are no guides on this at all, the only thing i know for server/client side, is how to make sure renders only registe on client side, and i think my entities and other stuff registers at server side. another thing though, this line: return (ExtendedPlayer) entity.getExtendedProperties(PROP_NAME); gives an error, however i used the exact same line in another WIP mod and it worked perfectly fine, does this have anything to do with the forge version? i used to work in the "reccomended" build, and now im in the 1502 one (was the latest when i set the workspace up for this mod) now, if i could get some insight on how you determine if something is running on server or client...
  14. how am i supposed to know on what side im doing things? u know what? i'll publish a repo on github with my current code, cuz now im also getting errors when trying to retrieve the extended entity properties... here it is: https://github.com/jokekid/BattleCreatures/ this is all with forge-1.8-11.14.3.1502 most extended entity basics are learned from coolalias' tutorial. this "tiny" mod is turning out to be much more of a pain in the ass than i initially thought...
  15. ok, right now im at the part where i give my beloved wolves their exp. you said that i should use the method ServerWorld#getEntityByUuid(), which only exists for EntityPlayer. the method that does exist for any other entity is getEntityById(), but it takes an int for an argument ok i noticed im using the clientWorld, how the hell do i retrieve the ServerWorld?
  16. while(blabla){ int bla = whatever } that's gonna throw an exception.
  17. ok, didn't know you could overwrite a variable like that, i was thinking about how it's impossible to declare a variable inside a loop for obvious reasons. so just to be 100% sure, are the save and load methods done now?: @Override public void saveNBTData(NBTTagCompound compound) { NBTTagCompound properties = new NBTTagCompound(); NBTTagList list = new NBTTagList(); long low; long high; for(UUID uuid : pets){ properties = new NBTTagCompound(); low = uuid.getLeastSignificantBits(); high = uuid.getMostSignificantBits(); properties.setLong("uuidLow", low); properties.setLong("uuidHigh", high); list.appendTag(properties); } compound.setTag(LIST_NAME, list); } @Override public void loadNBTData(NBTTagCompound compound) { long low; long high; UUID uuid; NBTTagList list = compound.getTagList(LIST_NAME, Constants.NBT.TAG_COMPOUND); NBTTagCompound properties; this.pets.clear(); for(int i = 0; i < list.tagCount(); i++){ properties = list.getCompoundTagAt(i); low = properties.getLong("uuidLow"); high = properties.getLong("uuidHigh"); uuid = new UUID(high, low); this.pets.add(uuid); } }
  18. i may be misunderstanding your instructions here, but isn't it impossible to make a new anything in a loop? or should i make a list of tagCompounds and make a new one inside that list on every iteration?
  19. see my edit please. also, what exactly is a hard reference or a weak reference? and i thought i didnt need the map after all cuz you said this: here's my current load method too: public void loadNBTData(NBTTagCompound compound) { long low; long high; UUID uuid; NBTTagList list = compound.getTagList(LIST_NAME, compound.getId()); NBTTagCompound properties; this.pets.clear(); for(int i = 0; i < list.tagCount(); i++){ properties = list.getCompoundTagAt(i); low = properties.getLong("uuidLow"); high = properties.getLong("uuidHigh"); uuid = new UUID(high, low); this.pets.add(uuid); } }
  20. cant find the object to apply the getLeastSignificantBits() method to... i've tried it on thePets, but the only getter it has is getClass()... sorry for being lame, must be a bad day or something EDIT: think i finally got it: public void saveNBTData(NBTTagCompound compound) { NBTTagCompound properties = new NBTTagCompound(); NBTTagList list = new NBTTagList(); UUID[] IDs = (UUID[]) pets.toArray(); long low; long high; for(int i = 0; i < IDs.length; i++){ low = IDs[i].getLeastSignificantBits(); high = IDs[i].getMostSignificantBits(); properties.setLong("uuidLow", low); properties.setLong("uuidHigh", high); list.appendTag(properties); } }
  21. not getting what you're telling me here could you give me some more detailed explanations, or maybe some mockup code? im still having a tough time with this whole NBT stuff
  22. ok, i assumed i had to reset the enity field to null at some point for security reasons, thanks for telling me where to do so, however, event.phase doesnt have a POST, it does have a END, so i assumed it's that one. on another question, what do i do in the saveToNBT and loadFromNBT methods for the extended player properties class? am i doing this right: public void saveNBTData(NBTTagCompound compound) { Iterator thePets = pets.iterator(); String[] petIDs = new String[pets.size()]; int i = 0; while(thePets.hasNext()){ petIDs[i]=thePets.toString(); i++; } } and since to save a value and later load it you obviously need keys, i dont know what to do beyond storing the IDs in Strings...
×
×
  • Create New...

Important Information

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