用于方块注册
无
.displayName(value: TextComponent)设置方块的显示名称。
.material(value: string)(1.20+ 中不再支持,请参见下面的 mapColor 和 soundType!)
将物品的材质设置为材质列表中可用的材质:
材质列表:
'air''amethyst''bamboo''bamboo_sapling''barrier''bubble_column''buildable_glass''cactus''cake''clay''cloth_decoration''decoration''dirt''egg''explosive''fire''froglight''frogspawn''glass''grass''heavy_metal''ice''ice_solid''lava''leaves''metal''moss''nether_wood''piston''plant''portal''powder_snow''replaceable_fireproof_plant''replaceable_plant''replaceable_water_plant''sand''sculk''shulker_shell''snow''sponge''stone''structural_air''top_snow''vegetable''water''water_plant''web''wood''wool'.mapColor(value: MapColor)(仅适用于 1.20.1+)
设置方块地图颜色。
.soundType(value: SoundType)(仅适用于 1.20.1+)
设置方块声音类型。您还可以使用以下快捷方法之一:
.noSoundType().woodSoundType().stoneSoundType().gravelSoundType().grassSoundType().sandSoundType().cropSoundType().glassSoundType().property(value: BlockProperty)向方块添加更多方块状态,例如可防水或面向特定方向。
.tagBlock(value: ID)向方块添加标签,例如 'namespace:tag_name'
.tagItem(value: ID)向方块的物品添加标签(如果有的话),例如 'forge:storage_blocks/iron'
.tagBoth(value: ID)尽可能添加方块和物品标签,例如 'minecraft:planks'
.hardness(value: float)设置方块的硬度值。用于计算方块被破坏所需的时间。
.resistance(value: float)设置方块抵抗爆炸等的能力
.unbreakable()将阻力设置为 MAX_VALUE 并将硬度设置为 -1 的快捷方式(如基岩)
.lightLevel(value: float)设置方块的光照等级(0 - 1)。
.opaque(value: boolean)设置方块是否不透明。完整的不透明方块不会让光线穿过。
.fullBlock(value: boolean)设置方块是否渲染为完整方块。完整方块会对其应用某些优化,例如不渲染其后面的地形。如果您使用 .box() 制作自定义碰撞箱,请将其设置为 false。
.requiresTool(value: boolean)如果为 true,方块将使用某些方块标签来确定挖掘时是否应掉落物品。例如,标记为 #minecraft:mineable/axe、#minecraft:mineable/pickaxe 和 #minecraft:needs_iron_tool 的方块除非用至少铁级的斧头或镐子挖掘,否则不会掉落任何东西。
.renderType(value: RenderType)设置渲染类型。
.color(tintIndex: int, color: Color)将方块重新着色为特定颜色
.textureAll(value: ID)将方块的所有 6 面纹理化到相同的纹理。
路径必须像 kubejs:block/texture_name(将包含在 kubejs/assets/kubejs/textures/block/texture_name.png 下)。
默认为 kubejs:block/<block_name>
.texture(side: Direction, texture: ID)单独为一面添加纹理。
.model(value: ID)指定自定义模型。
路径必须像 'kubejs:block/texture_name'(将包含在 kubejs/assets/kubejs/models/block/texture_name.png 下)。
默认为 'kubejs:block/<block_name>'。
.noItem()移除关联的物品。Minecraft 默认对一些方块这样做,例如下界传送门方块。如果玩家永远不能持有或放置该方块,请使用此方法。
.box(x0: float, y0: float, z0: float, x1: float, y1: float, z1: float, scale16?: boolean)scale16 布尔值默认为 true。
设置方块的自定义碰撞箱,影响碰撞。您可以多次使用它来定义由多个箱子组成的复杂形状。
每个箱子都是一个长方体,角落位于 (x0, y0, z0) 和 (x1, y1, z1)
您可能需要设置一个与您在这里定义的形状匹配的自定义方块模型。
最后一个布尔值确定箱子的坐标比例。传入 true 将使用 0-16 的数字,而传入 false 将使用 0 到 1 范围内的坐标
.noCollision()移除默认的完整方块碰撞箱,允许您穿过方块掉落。
.notSolid()告诉渲染器该方块不是实心的。
.waterlogged()允许方块可防水。
.noDrops()即使用精准采集挖掘,方块也不会掉落自身。
.slipperiness(value: float)设置方块的滑度。影响实体在其上移动时滑动的程度。原版中几乎每个方块的滑度值都是 0.6,除了史莱姆(0.8)和冰(0.98)。
.speedFactor(value: float)影响玩家在方块上行走速度的修改器。
.jumpFactor(value: float)影响玩家能从方块上跳多高的修改器。
.randomTick(callback: Consumer<RandomTickEvent>)方块收到随机tick时运行的函数。
.item(item: Consumer<ItemBuilder>)修改方块物品的某些属性。
有关更多信息,请参见物品注册。
.setLootTableJson(value: json)直接传入自定义战利品表 JSON
.setBlockstateJson(value: json)直接传入自定义方块状态 JSON
.setModelJson(value: json)直接传入自定义模型 JSON
.noValidSpawns(value: boolean)如果为 true,则该方块不计为实体的有效生成点
.suffocating(value: boolean)方块是否会让头部在其中的实体窒息
.viewBlocking(value: boolean)方块是否算阻碍玩家的视野。
.redstoneConductor(value: boolean)设置方块是否传导红石。默认情况下为 true。
.transparent(value: boolean)设置方块是否透明
.defaultCutout()将一堆方法组合在一起,制作像玻璃这样的方块
.defaultTranslucent()类似于 .defaultCutout(),但使用半透明层代替