ICollectionData
The ICollection data is used to represent a collection of IData like a List
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 at the very top of the file.
import crafttweaker.api.data.ICollectionData;Implemented Interfaces
ICollectionData implements the following interfaces. That means all methods defined in these interfaces are also available in ICollectionData
Static Methods
Creates the most specific ICollectionData form possible for the provided members. 
  
  Tries to return (in order) ByteArrayData, IntArrayData, LongArrayData or if neither is applicable ListData
Return Type: ICollectionData
ICollectionData.getFromMembers(members as IData[]) as ICollectionData| Parameter | Type | 
|---|---|
| Parametermembers | TypeIData[] | 
Casters
| Result Type | Is Implicit | 
|---|---|
| Result Typeboolean | Is Implicitfalse | 
| Result TypeICollectionData | Is Implicitfalse | 
| Result TypeINumberData | Is Implicitfalse | 
Methods
// ICollectionData.add(value as IData)
new ListData(["Hello", "World"]).add("today");| Parameter | Type | Description | 
|---|---|---|
| Parametervalue | TypeIData | DescriptionThe value to add to the list | 
// ICollectionData.add(index as int, value as IData)
new ListData(["Hello", "World"]).add(1, "beautiful");| Parameter | Type | Description | 
|---|---|---|
| Parameterindex | Typeint | DescriptionThe index to add to. Subsequent items will be moved one index higher | 
| Parametervalue | TypeIData | DescriptionThe value to add to the list | 
Return Type: boolean
// ICollectionData.asBoolean() as boolean
new ListData(["Hello", "World"]).asBoolean();Return Type: ICollectionData
// ICollectionData.asCollection() as ICollectionData
new ListData(["Hello", "World"]).asCollection();Return Type: INumberData
// ICollectionData.asNumber() as INumberData
new ListData(["Hello", "World"]).asNumber();Gets the String representation of this IData
Returns: String that represents this IData (value and type).
Return Type: string
// ICollectionData.asString() as string
new ListData(["Hello", "World"]).asString();Removes every element in the list
// ICollectionData.clear()
new ListData(["Hello", "World"]).clear();Checks if this IData contains another IData, mainly used in subclasses of ICollectionData, is the same as an equals check on other IData types
Returns: true if the given IData is contained in this IData
Return Type: boolean
// ICollectionData.contains(data as IData) as boolean
new ListData(["Hello", "World"]).contains("Display");| Parameter | Type | Description | 
|---|---|---|
| Parameterdata | TypeIData | Descriptiondata to check if it is contained | 
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.
Return Type: byte
// ICollectionData.getId() as byte
new ListData(["Hello", "World"]).getId();Gets the String representation of the internal INBT tag
Returns: String that represents the internal INBT of this IData.
Return Type: string
// ICollectionData.getString() as string
new ListData(["Hello", "World"]).getString();Return Type: boolean
// ICollectionData.isEmpty() as boolean
new ListData(["Hello", "World"]).isEmpty();Sets the item at the provided index to the given value
Returns: The replaced value
Return Type: IData
// ICollectionData.setAt(index as int, value as IData) as IData
new ListData(["Hello", "World"]).setAt(0, "Bye");| Parameter | Type | Description | 
|---|---|---|
| Parameterindex | Typeint | DescriptionThe index to set (0-based) | 
| Parametervalue | TypeIData | DescriptionThe new Value | 
Properties
| Name | Type | Has Getter | Has Setter | 
|---|---|---|---|
| Nameempty | Typeboolean | Has Gettertrue | Has Setterfalse | 
| Namesize | Typeint | Has Gettertrue | Has Setterfalse |