Skip to content
On this page
通用

KattonNbtApi

common/src/main/kotlin/top/katton/api/dpcaller/KattonNbtApi.kt
根据 Number 值创建数值类型的 Tag。

numericTagOf

numericTagOf通用函数
kotlin
fun <T : Number> numericTagOf(value: T)

根据 Number 值创建数值类型的 Tag。

参数

参数说明
value要转换的数值。

返回值

返回对应的 NumericTag 子类型。

getValue

getValue通用函数
kotlin
fun <T : Tag> Tag?.getValue(tagType: TagType<T>): T?

将 Tag 安全转换为指定的 TagType。 在可能的情况下会自动进行类型转换:

  • 数值标签可在不同数值类型之间转换
  • 字符串标签可解析为其他类型
  • 集合标签可转换为数组类型

参数

参数说明
tagType目标 TagType。

返回值

转换成功则返回对应的 Tag,无法转换则返回 null。

invoke

invoke通用函数
kotlin
@Suppress("UNCHECKED_CAST")
@Suppress("UNCHECKED_CAST") operator fun <T : Tag> Tag?.invoke(tagType: TagType<T>): T?

将 Tag 安全转换为指定的 TagType。 在可能的情况下会自动进行类型转换:

  • 数值标签可在不同数值类型之间转换
  • 字符串标签可解析为其他类型
  • 集合标签可转换为数组类型

参数

参数说明
tagType目标 TagType。

返回值

转换成功则返回对应的 Tag,无法转换则返回 null。

getOrValue

getOrValue通用函数
kotlin
fun <V> Tag?.getOrValue(default: V): V

从 Tag 中安全读取值,并在读取失败时回退到默认值。 在可能的情况下会自动进行类型转换:

  • 数值标签返回数值
  • 字符串标签返回字符串
  • 集合标签返回列表

参数

参数说明
default转换失败时返回的默认值。

返回值

返回转换后的值,或默认值。

invoke

invoke通用函数
kotlin
@Suppress("UNCHECKED_CAST")
@Suppress("UNCHECKED_CAST") operator fun <V> Tag?.invoke(default: V): V

从 Tag 中安全读取值,并在读取失败时回退到默认值。 在可能的情况下会自动进行类型转换:

  • 数值标签返回数值
  • 字符串标签返回字符串
  • 集合标签返回列表

参数

参数说明
default转换失败时返回的默认值。

返回值

返回转换后的值,或默认值。

toBoolean

toBoolean通用函数
kotlin
fun ByteTag?.toBoolean(): Boolean

将 ByteTag 转换为布尔值。

parseNbt

parseNbt通用函数
kotlin
fun parseNbt(nbt: String): CompoundTag

将 NBT 字符串解析为 CompoundTag。

参数

参数说明
nbt要解析的 NBT 字符串。

返回值

返回 CompoundTag。

getEntityNbt

getEntityNbt通用函数
kotlin
fun getEntityNbt(entity: Entity): CompoundTag

获取实体的完整 NBT 数据。

参数

参数说明
entity目标实体。

返回值

返回表示该实体数据的 CompoundTag。

setEntityNbt

setEntityNbt通用函数
kotlin
fun setEntityNbt(entity: Entity, tag: CompoundTag)

替换实体的 NBT 数据。

参数

参数说明
entity目标实体。
tag要设置到实体上的 CompoundTag。

getBlockNbt

getBlockNbt通用函数
kotlin
fun getBlockNbt(block: BlockEntity): CompoundTag

获取方块实体的 NBT 数据。

参数

参数说明
block目标方块实体。

返回值

返回表示该方块实体数据的 CompoundTag。

setBlockNbt

setBlockNbt通用函数
kotlin
fun setBlockNbt(block: BlockEntity, tag: CompoundTag)

替换方块实体的 NBT 数据。

参数

参数说明
block目标方块实体。
tag要设置到方块实体上的 CompoundTag。

getBlockNbt

getBlockNbt通用函数
kotlin
fun getBlockNbt(level: Level, pos: BlockPos): CompoundTag?

获取指定位置方块实体的 NBT 数据,如果该方块没有方块实体则返回空。

参数

参数说明
level要查询的维度。
pos方块位置。

返回值

如果不存在方块实体,则返回 null。

setBlockNbt

setBlockNbt通用函数
kotlin
fun setBlockNbt(level: Level, pos: BlockPos, tag: CompoundTag): Boolean

设置指定位置方块实体的 NBT。

参数

参数说明
level要修改的维度。
pos方块位置。
tag要设置的 CompoundTag。

返回值

设置成功返回 true;如果没有方块实体则返回 false。

getStorageNbt

getStorageNbt通用函数
kotlin
fun getStorageNbt(id: Identifier): CompoundTag

通过标识符获取已存储的命令存储 NBT。

参数

参数说明
id存储标识符。

返回值

返回该标识符下存储的 NBT。

setStorageNbt

setStorageNbt通用函数
kotlin
fun setStorageNbt(id: Identifier, tag: CompoundTag)

通过标识符设置命令存储中的 NBT。

参数

参数说明
id存储标识符。
tag要存储的 CompoundTag。