Jump to content

Recommended Posts

Posted (edited)

I'm trying to add a boolean to the world save file that indicates whether or not the player has done an action, in this case when they kill the ender dragon. I found the WorldInfo class and the ...AdditionalProperty methods, but I'm not quite sure how the system for custom data works. It seems that when you call get method it returns an entry from the overall map, but when you call the set method it replaces the entire map. How would I save my data without clearing other mods' preexisting data?

 

This is what I have right now:

			WorldInfo info = w.getWorldInfo();
			NBTTagCompound modNBT = (NBTTagCompound) info.getAdditionalProperty(SlippWorld.NAME);

			if(modNBT == null) {
				Map<String, NBTBase> map = new HashMap<String, NBTBase>();
				map.put(SlippWorld.NAME, new NBTTagCompound());
				info.setAdditionalProperties(map);
			}

			modNBT = (NBTTagCompound) info.getAdditionalProperty(SlippWorld.NAME);

 

Yet when I run it and try to access the modNBT variable it triggers an NPE.

Edited by TLHPoE
Fixed formatting of code excerpt

Kain

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

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