The ICollection data is used to represent a collection of IData like a List

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 at the very top of the file.

ZenScript
Copy
import crafttweaker.api.data.ICollectionData;

Implemented Interfaces

Link to implemented-interfaces

ICollectionData implements the following interfaces. That means all methods defined in these interfaces are also available in ICollectionData

Name: getFromMembers

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

ZenScript
Copy
ICollectionData.getFromMembers(members as IData[]) as ICollectionData
ParameterType
Parameter
members
Type
IData[]
Result TypeIs Implicit
Result Type
boolean
Is Implicit
false
Result Type
ICollectionData
Is Implicit
false
Result Type
INumberData
Is Implicit
false

Name: add

ZenScript
Copy
// ICollectionData.add(value as IData)

new ListData(["Hello", "World"]).add("today");
ParameterTypeDescription
Parameter
value
Type
IData
Description
The value to add to the list

Name: add

ZenScript
Copy
// ICollectionData.add(index as int, value as IData)

new ListData(["Hello", "World"]).add(1, "beautiful");
ParameterTypeDescription
Parameter
index
Type
int
Description
The index to add to. Subsequent items will be moved one index higher
Parameter
value
Type
IData
Description
The value to add to the list

Name: asBoolean

Return Type: boolean

ZenScript
Copy
// ICollectionData.asBoolean() as boolean

new ListData(["Hello", "World"]).asBoolean();

Name: asCollection

Return Type: ICollectionData

ZenScript
Copy
// ICollectionData.asCollection() as ICollectionData

new ListData(["Hello", "World"]).asCollection();

Name: asList

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

Returns: null if this IData is not a list.
Return Type: stdlib.List<IData>

ZenScript
Copy
// ICollectionData.asList() as stdlib.List<IData>

new ListData(["Hello", "World"]).asList();

Name: asMap

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

Returns: null if this IData is not a map.
Return Type: IData[string]

ZenScript
Copy
// ICollectionData.asMap() as IData[string]

new ListData(["Hello", "World"]).asMap();

Name: asNumber

Return Type: INumberData

ZenScript
Copy
// ICollectionData.asNumber() as INumberData

new ListData(["Hello", "World"]).asNumber();

Name: asString

Gets the String representation of this IData

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

ZenScript
Copy
// ICollectionData.asString() as string

new ListData(["Hello", "World"]).asString();

Name: clear

Removes every element in the list

ZenScript
Copy
// ICollectionData.clear()

new ListData(["Hello", "World"]).clear();

Name: contains

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

ZenScript
Copy
// ICollectionData.contains(data as IData) as boolean

new ListData(["Hello", "World"]).contains("Display");
ParameterTypeDescription
Parameter
data
Type
IData
Description
data to check if it is contained

Name: getAt

Retrieves the IData stored at the given index.

Returns: The IData
Return Type: IData

ZenScript
Copy
// ICollectionData.getAt(index as int) as IData

new ListData(["Hello", "World"]).getAt(0);
ParameterTypeDescription
Parameter
index
Type
int
Description
The index (0-based)

Name: getId

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

ZenScript
Copy
// ICollectionData.getId() as byte

new ListData(["Hello", "World"]).getId();

Name: getString

Gets the String representation of the internal INBT tag

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

ZenScript
Copy
// ICollectionData.getString() as string

new ListData(["Hello", "World"]).getString();

Name: isEmpty

Return Type: boolean

ZenScript
Copy
// ICollectionData.isEmpty() as boolean

new ListData(["Hello", "World"]).isEmpty();

Name: remove

Removes the IData stored at the given index.

Returns: The IData that was removed
Return Type: IData

ZenScript
Copy
// ICollectionData.remove(index as int) as IData

new ListData(["Hello", "World"]).remove(0);
ParameterTypeDescription
Parameter
index
Type
int
Description
The index (0-based)

Name: setAt

Sets the item at the provided index to the given value

Returns: The replaced value
Return Type: IData

ZenScript
Copy
// ICollectionData.setAt(index as int, value as IData) as IData

new ListData(["Hello", "World"]).setAt(0, "Bye");
ParameterTypeDescription
Parameter
index
Type
int
Description
The index to set (0-based)
Parameter
value
Type
IData
Description
The new Value
NameTypeHas GetterHas Setter
Name
empty
Type
boolean
Has Getter
true
Has Setter
false
Name
size
Type
int
Has Getter
true
Has Setter
false