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.

ZenScript
Copy
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

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
ParameterTypeDescription
membersIData[]No Description Provided

Casters

Result typeIs Implicit
booleanfalse
ICollectionDatafalse
INumberDatafalse

Methods

add

Return Type: void

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

new ListData(["Hello", "World"]).add("today");
ParameterTypeDescription
valueIDataThe value to add to the list
add

Return Type: void

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

new ListData(["Hello", "World"]).add(1, "beautiful");
ParameterTypeDescription
indexintThe index to add to. Subsequent items will be moved one index higher
valueIDataThe value to add to the list
asBoolean

Return Type: boolean

ZenScript
Copy
// ICollectionData.asBoolean() as boolean

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

Return Type: ICollectionData

ZenScript
Copy
// ICollectionData.asCollection() as ICollectionData

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

Return Type: MCTextComponent

ZenScript
Copy
ICollectionData.asFormattedText(indentation as string, indentDepth as int) as MCTextComponent
ParameterTypeDescription
indentationstringNo Description Provided
indentDepthintNo Description Provided
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();
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();
asNumber

Return Type: INumberData

ZenScript
Copy
// ICollectionData.asNumber() as INumberData

new ListData(["Hello", "World"]).asNumber();
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();
clear

Removes every element in the list

Return Type: void

ZenScript
Copy
// ICollectionData.clear() as void

new ListData(["Hello", "World"]).clear();
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
dataIDatadata to check if it is contained
copy

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

ZenScript
Copy
// ICollectionData.copy() as IData

new ListData(["Hello", "World"]).copy();
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
indexintThe index (0-based)
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();
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();
isEmpty

Return Type: boolean

ZenScript
Copy
// ICollectionData.isEmpty() as boolean

new ListData(["Hello", "World"]).isEmpty();
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
indexintThe index (0-based)
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
indexintThe index to set (0-based)
valueIDataThe new Value

Properties

NameTypeHas GetterHas SetterDescription
emptybooleantruefalseNo Description Provided
sizeinttruefalseNo Description Provided