kubejs_structure_preview

kubejs_structure_preview

KubeJS 6 是一个附属模组,在 MC 1.20.1 Forge 中,通过半透明纹理方框实时预览 .nbt 结构文件。

装饰

这是一个 KubeJS 6 的附属模组

功能:以半透明纹理方块实时预览 .nbt 结构

  1. 可以方便你展示预览你用 KubeJS 自定义的预制结构。
  2. 能方便你向玩家展示结构,了解结构样子。
  3. 展示你设计的多方块结构,方便玩家搭建,类似蓝图。

提供的方法

// 显示预览
StructurePreview.show("minecraft:igloo/top", x, y, z)

// 完整参数
StructurePreview.show("minecraft:end_city/ship", x, y, z, "clockwise_90", 0.7)

// rotation: "none" | "clockwise_90" | "clockwise_180" | "counterclockwise_90"
// alpha: 0.05 ~ 1.0

StructurePreview.hide()

StructurePreview.rotate(90)

StructurePreview.setAlpha(0.5)

StructurePreview.isActive()

兼容性

Embeddium / Oculus / Rubidium — 等兼容

代码案例

// server_scripts

// 手持木棍右键方块 → 渲染原版冰屋结构幽灵预览
// Ctrl+滚轮旋转 | 再右键切换隐藏

let STRUCTURE = "minecraft:igloo/top"

BlockEvents.rightClicked(event => {
    let player = event.player
    let item = event.item
    if (event.hand !== "MAIN_HAND" || !item || item.id !== "minecraft:stick") return
    let pos = event.block.pos.above()
    if (StructurePreview.isActive()) {
        StructurePreview.hide()
        player.displayClientMessage("预览已隐藏", true)
        return
    }
    if (StructurePreview.show(STRUCTURE, pos.getX(), pos.getY(), pos.getZ())) {
        player.displayClientMessage(`${STRUCTURE} 预览 | Ctrl+滚轮旋转`, true)
    }
})

Structure Preview —— KubeJS 6 幽灵结构预览附属模组

这是一个 KubeJS 6 的附属模组。 功能:以半透明幽灵方块实时预览 .nbt 结构。

  1. 在开发过程中预览你自定义的 KubeJS 结构。
  2. 向玩家展示结构,使他们了解结构的样子。
  3. 将多方块设计作为蓝图展示给玩家以便搭建。

提供的方法:

// 显示预览
StructurePreview.show("minecraft:igloo/top", x, y, z)
// 完整参数
StructurePreview.show("minecraft:end_city/ship", x, y, z, "clockwise_90", 0.7)
// rotation: "none" | "clockwise_90" | "clockwise_180" | "counterclockwise_90"
// alpha: 0.05 ~ 1.0
StructurePreview.hide()
StructurePreview.rotate(90)
StructurePreview.setAlpha(0.5)
StructurePreview.isActive()

兼容性: Embeddium / Oculus / Rubidium 兼容。

代码示例:

// server_scripts
// 手持木棍右键方块 → 渲染冰屋幽灵预览
// Ctrl+滚轮旋转 | 再右键切换隐藏

let STRUCTURE = "minecraft:igloo/top"

BlockEvents.rightClicked(event => {
    let player = event.player
    let item = event.item
    if (event.hand !== "MAIN_HAND" || !item || item.id !== "minecraft:stick") return
    let pos = event.block.pos.above()
    if (StructurePreview.isActive()) {
        StructurePreview.hide()
        player.displayClientMessage("Preview hidden", true)
        return
    }
    if (StructurePreview.show(STRUCTURE, pos.getX(), pos.getY(), pos.getZ())) {
        player.displayClientMessage(`${STRUCTURE} preview | Ctrl+Scroll to rotate`, true)
    }
})