Home Migration Guide Getting Started With Scripts Commands Examples
BracketHandlers

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.

script.zs
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

script.zs
ICollectionData.getFromMembers(members as IData[]) as ICollectionData
ParameterTypeDescription
Parameter
members
Type
IData[]
Description
No Description Provided

Casters

Result typeIs Implicit
Result type
boolean
Is Implicit
false
Result type
ICollectionData
Is Implicit
false
Result type
INumberData
Is Implicit
false

Methods

Return Type: void

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

Return Type: void

script.zs
// ICollectionData.add(index as int, value as IData) as void
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

Return Type: boolean

script.zs
// ICollectionData.asBoolean() as boolean
new ListData(["Hello", "World"]).asBoolean();

Return Type: ICollectionData

script.zs
// ICollectionData.asCollection() as ICollectionData
new ListData(["Hello", "World"]).asCollection();

Return Type: MCTextComponent

script.zs
ICollectionData.asFormattedText(indentation as string, indentDepth as int) as MCTextComponent
ParameterTypeDescription
Parameter
indentation
Type
string
Description
No Description Provided
Parameter
indentDepth
Type
int
Description
No Description Provided

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>

script.zs
// ICollectionData.asList() as stdlib.List<IData>
new ListData(["Hello", "World"]).asList();

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]

script.zs
// ICollectionData.asMap() as IData[string]
new ListData(["Hello", "World"]).asMap();

Return Type: INumberData

script.zs
// 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

script.zs
// ICollectionData.asString() as string
new ListData(["Hello", "World"]).asString();

Removes every element in the list

Return Type: void

script.zs
// ICollectionData.clear() as void
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

script.zs
// 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

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.
Return Type: IData

script.zs
// ICollectionData.copy() as IData
new ListData(["Hello", "World"]).copy();

Retrieves the IData stored at the given index.

Returns: The IData
Return Type: IData

script.zs
// ICollectionData.getAt(index as int) as IData
new ListData(["Hello", "World"]).getAt(0);
ParameterTypeDescription
Parameter
index
Type
int
Description
The index (0-based)

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

script.zs
// 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

script.zs
// ICollectionData.getString() as string
new ListData(["Hello", "World"]).getString();

Return Type: boolean

script.zs
// ICollectionData.isEmpty() as boolean
new ListData(["Hello", "World"]).isEmpty();

Removes the IData stored at the given index.

Returns: The IData that was removed
Return Type: IData

script.zs
// ICollectionData.remove(index as int) as IData
new ListData(["Hello", "World"]).remove(0);
ParameterTypeDescription
Parameter
index
Type
int
Description
The index (0-based)

Sets the item at the provided index to the given value

Returns: The replaced value
Return Type: IData

script.zs
// 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

Properties

NameTypeHas GetterHas SetterDescription
Name
empty
Type
boolean
Has Getter
true
Has Setter
false
Description
No Description Provided
Name
size
Type
int
Has Getter
true
Has Setter
false
Description
No Description Provided