IData接口是处理NBT等数据的通用接口。 您可以将所有原始数据 (短数据, 双精度数据, 字符串数据, 整型数据, ...) 以及某些数组转换为IData。 Remember that while they offer similar features, IData and their counterparts are NOT the same, which is why they will be referred to as DataTypes (e.g. ByteData).

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.IData;
Result Type是否隐藏
Result Type
布尔值
是否隐藏
false
Result Type
ICollectionData #所收集数据
是否隐藏
false
Result Type
INumberData #编号数据
是否隐藏
false

Name: asBoolean

Return Type: boolean

ZenScript
Copy
// IData.asBoolean() as boolean

{Display: {lore: ["Hello", "World"]}}.asBoolean();

Name: asCollection

Return Type: ICollectionData

ZenScript
Copy
// IData.asCollection() as ICollectionData

{Display: {lore: ["Hello", "World"]}}.asCollection();

Name: asList

获取列表 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
// IData.asList() as stdlib.List<IData>

{Display: {lore: ["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
// IData.asMap() as IData[string]

{Display: {lore: ["Hello", "World"]}}.asMap();

Name: asNumber

Return Type: INumberData

ZenScript
Copy
// IData.asNumber() as INumberData

{Display: {lore: ["Hello", "World"]}}.asNumber();

Name: asString

获取此IData的字符串表示形式

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

ZenScript
Copy
// IData.asString() as string

{Display: {lore: ["Hello", "World"]}}.asString();

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
// IData.contains(data as IData) as boolean

{Display: {lore: ["Hello", "World"]}}.contains("Display");
参数类型描述
参数
data
类型
IData #数据
描述
要检查是否有包含的数据

Name: copy

制作此IData的副本。

IData默认情况下是不可变的,使用它可以创建对象的正确副本。

Returns: a copy of this IData.
Return Type: IData

ZenScript
Copy
// IData.copy() as IData

{Display: {lore: ["Hello", "World"]}}.copy();

Name: getId

获取内部NBT标签的 ID。

用来确定哪些NBT类型被存储(例如在列表中)

Returns: ID of the NBT tag that this data represents.
Return Type: byte

ZenScript
Copy
// IData.getId() as byte

{Display: {lore: ["Hello", "World"]}}.getId();

Name: getString

获取内部INBT标记的字符串表示形式

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

ZenScript
Copy
// IData.getString() as string

{Display: {lore: ["Hello", "World"]}}.getString();