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

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

ICollectionData.getFromMembers(members as IData[]) as ICollectionData
ParameterTypeDescription
membersIData[]No Description Provided

Casters

Result typeIs Implicit
ICollectionDatafalse
INumberDatafalse

Methods

add

Return Type: void

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

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
asCollection

Return Type: ICollectionData

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

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

Return Type: stdlib.List<IData>

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.

Return Type: IData[string]

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

Return Type: INumberData

ICollectionData.asNumber() as INumberData
new ListData(["Hello", "World"]).asNumber();
asString

Gets the String representation of this IData

Return Type: string

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

Removes every element in the list

Return Type: void

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

Return Type: boolean

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.

Return Type: IData

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

Retrieves the IData stored at the given index.

Return Type: IData

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)

Return Type: byte

ICollectionData.getId() as byte
new ListData(["Hello", "World"]).getId();
getString

Gets the String representation of the internal INBT tag

Return Type: string

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

Removes the IData stored at the given index.

Return Type: IData

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

Return Type: IData

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 Setter
sizeinttruefalse