The IData interface is a generic Interface for handling Data like NBT. You can cast about all primitives (short, double, string, int, ...) as well as certain arrays to IData. Remember that while they offer similar features, IData and their counterparts are NOT the same, which is why they will be referred to as DataTypes (e.g. crafttweaker.api.data.ByteData).

This class was added by a mod with mod-id crafttweaker. So you need to have this mod installed if you want to use this feature.

Importing the class

Link to importing-the-class

It might be required for you to import the package if you encounter any issues (like casting an Array), so better be safe than sorry and add the import.

ZenScript
Copy
crafttweaker.api.data.IData

Gets a List representation of this IData, returns null on anything but crafttweaker.api.data.ListData.

Returns: null if this IData is not a list.

Returns List<crafttweaker.api.data.IData>

ZenScript
Copy
myIData.asList();

Gets a Map<String, IData> representation of this IData, returns null on anything but crafttweaker.api.data.MapData.

Returns: null if this IData is not a map.

Returns crafttweaker.api.data.IData[String]

ZenScript
Copy
myIData.asMap();

Gets the String representation of this IData

Returns: String that represents this IData (value and type).

Returns String

ZenScript
Copy
myIData.asString();

Checks if this IData contains another IData, mainly used in subclasses of crafttweaker.api.data.ICollectionData, is the same as an equals check on other IData types

Returns boolean

ZenScript
Copy
myIData.contains(data as crafttweaker.api.data.IData);
myIData.contains("Display");
ParameterTypeDescription
Parameter
data
Type
crafttweaker.api.data.IData
Description
data to check if it is contained

Makes a copy of this IData.

IData is immutable by default, use this to create a proper copy of the object.

Returns: a copy of this IData.

Returns crafttweaker.api.data.IData

ZenScript
Copy
myIData.copy();

Gets the ID of the internal NBT tag.

Used to determine what NBT type is stored (in a list for example)

Returns: ID of the NBT tag that this data represents.

Returns byte

ZenScript
Copy
myIData.getId();

Gets the String representation of the internal INBT tag

Returns: String that represents the internal INBT of this IData.

Returns String

ZenScript
Copy
myIData.getString();