Jump to content

[1.11] TileEntity: adding an enum value to the NBTTagCompound?


Recommended Posts

Posted

Hi,

 

I'm making a barrel which can contain a lot of fluids. In the tileentity of the barrel I have an enum variable (from the enum FluidTypes), with the value of the current type of fluid inside the barrel.

I was wondering if there was a way to write to and read from the NBT for this value?

 

Thanks.

Creator of the Master Chef Mod and many more to come.

 

If I helped you, please click the 'thank you' button.

Posted

You can save the Enum as a string.

 

Call

enum#name()

, to get a String representation of the enum.

To convert back, use

Enum__.valueOf(String)

.

 

Example:

String estr = EnumHand.MainHand.name();

Reverse:

EnumHand hand = EnumHand.valueOf(estr);

Of course, if an enum is not found for that string, it will be null, so be sure to null-check.

 

All you really need to do then is save the string to NBT.

Also previously known as eAndPi.

"Pi, is there a station coming up where we can board your train of thought?" -Kronnn

Published Mods: Underworld

Handy links: Vic_'s Forge events Own WIP Tutorials.

Posted

Reverse:

EnumHand hand = EnumHand.valueOf(estr);

Of course, if an enum is not found for that string, it will be null, so be sure to null-check.

Actually, Enum#valueOf() will throw an IllegalArgumentException if the string isn't known. Checking for null won't help; you need to wrap the call in a try/catch block.

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.