Skip to content
On this page
通用

ClientItemRenderMarkerApi

top.katton.apicommon/src/main/kotlin/top/katton/api/ClientItemRenderMarkerApi.kt
直接在世界中渲染的轻量级客户端物品模型。

ClientItemRenderMarker

ClientItemRenderMarker通用数据类
kotlin
data class ClientItemRenderMarker( val id: UUID, val level: ResourceKey<Level>, val pos: Vec3, val stack: ItemStack, val displayContext: ItemDisplayContext

直接在世界中渲染的轻量级客户端物品模型。

它没有服务端实体、碰撞、选择器目标、持久化或原版实体同步。 服务端只会把这个标记发送给需要看到它的客户端。

itemRenderMarker

itemRenderMarker通用函数
kotlin
fun itemRenderMarker(level: ResourceKey<Level>, pos: Vec3, stack: ItemStack, displayContext: ItemDisplayContext = ItemDisplayContext.GROUND, scale: Float = 1.0f, yaw: Float = 0.0f, pitch: Float = 0.0f, roll: Float = 0.0f, fullBright: Boolean = false, maxDistance: Double = 64.0, lifetimeTicks: Int = -1, animations: Map<String, ClientItemRenderAnimationSetBuilder.() -> Unit> = emptyMap(), playingAnimationID: List<String> = emptyList(), id: UUID = UUID.randomUUID()): ClientItemRenderMarker

使用生成的 id 构建一个 [ClientItemRenderMarker]。

showItemRenderMarker

showItemRenderMarker通用函数
kotlin
fun showItemRenderMarker(marker: ClientItemRenderMarker): UUID

为所有已连接玩家添加或更新一个客户端物品标记。

返回标记 id,方便脚本后续移除或更新它。

showItemRenderMarker

showItemRenderMarker通用函数
kotlin
fun showItemRenderMarker(player: ServerPlayer, marker: ClientItemRenderMarker): UUID

为单个玩家添加或更新一个客户端物品标记。

showItemRenderMarker

showItemRenderMarker通用函数
kotlin
fun showItemRenderMarker(player: ServerPlayer, stack: ItemStack, x: Double, y: Double, z: Double, level: ResourceKey<Level> = player.level().dimension(), displayContext: ItemDisplayContext = ItemDisplayContext.GROUND, scale: Float = 1.0f, yaw: Float = 0.0f, pitch: Float = 0.0f, roll: Float = 0.0f, fullBright: Boolean = false, maxDistance: Double = 64.0, lifetimeTicks: Int = -1, animations: Map<String, ClientItemRenderAnimationSetBuilder.() -> Unit> = emptyMap(), playingAnimationID: List<String> = emptyList(), id: UUID = UUID.randomUUID()): UUID

使用原始坐标为单个玩家创建标记的便捷重载。

removeItemRenderMarker

removeItemRenderMarker通用函数
kotlin
fun removeItemRenderMarker(id: UUID)

从所有已连接玩家的客户端移除一个物品标记。

removeItemRenderMarker

removeItemRenderMarker通用函数
kotlin
fun removeItemRenderMarker(player: ServerPlayer, id: UUID)

从单个玩家的客户端移除一个物品标记。

clearItemRenderMarkers

clearItemRenderMarkers通用函数
kotlin
fun clearItemRenderMarkers()

从所有已连接玩家的客户端清除全部物品标记。

clearItemRenderMarkers

clearItemRenderMarkers通用函数
kotlin
fun clearItemRenderMarkers(player: ServerPlayer)

从单个玩家的客户端清除全部物品标记。

playItemRenderAnimationSet

playItemRenderAnimationSet通用函数
kotlin
fun playItemRenderAnimationSet(id: UUID, animationSetId: String)

在最初收到该标记的所有查看者客户端上播放一个动画集。 播放会从客户端的起点重新开始。

stopItemRenderAnimationSet

stopItemRenderAnimationSet通用函数
kotlin
fun stopItemRenderAnimationSet(id: UUID, animationSetId: String)

在最初收到该标记的所有查看者客户端上停止播放一个动画集。

playItemRenderAnimationSet

playItemRenderAnimationSet通用函数
kotlin
fun playItemRenderAnimationSet(player: ServerPlayer, id: UUID, animationSetId: String)

只为单个玩家播放一个动画集。此操作按查看者单独生效, 不会修改服务端记录的标记状态。

stopItemRenderAnimationSet

stopItemRenderAnimationSet通用函数
kotlin
fun stopItemRenderAnimationSet(player: ServerPlayer, id: UUID, animationSetId: String)

只为单个玩家停止播放一个动画集。此操作按查看者单独生效, 不会修改服务端记录的标记状态。

clearItemRenderMarkersInRange

clearItemRenderMarkersInRange通用函数
kotlin
fun clearItemRenderMarkersInRange(level: ResourceKey<Level>, center: Vec3, radius: Double): Int

清除 [center] 周围 [radius] 个方块内记录的物品标记, 并通知最初收到这些标记的客户端。