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;
结果类型是否隐藏
结果类型
布尔值
是否隐藏
false
结果类型
ICollectionData #所收集数据
是否隐藏
false
结果类型
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: asFormattedText

Return Type: MCTextComponent

ZenScript
Copy
IData.asFormattedText(indentation as string, indentDepth as int) as MCTextComponent
参数类型描述
参数
indentation
类型
string
描述
No Description Provided
参数
indentDepth
类型
int
描述
No Description Provided

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();