
水晶尖刺
一个NeoForge 1.21.1模组,添加了高度可配置、由数据包驱动的晶体尖刺世界生成特性,包含晶洞风格的方块提供器和用于寻找地形底部的自定义放置修饰器。
查看大图水晶尖刺
一个 NeoForge 1.21.1 模组,添加了一个高度可配置、由数据包驱动的水晶尖刺世界生成特性,具有晶洞风格的方块提供器以及用于寻找地形底部的自定义放置修饰符。

特性:crystalspikes:crystal_spike
已配置特性 JSON(data/<namespace>/worldgen/configured_feature/<name>.json):
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
core |
BlockStateProvider | 必填 | 尖刺内部方块(可以是空气/水以形成空心尖刺) |
outer_layer |
BlockStateProvider | 必填 | 尖刺外壳方块——应用于暴露于尖刺外部空间的尖刺方块 |
surface_decorator |
BlockStateProvider | (无) | 附着在外壳顶部/底部面的方块(例如晶簇、晶芽、珊瑚)。facing/waterlogged 会自动设置 |
wall_decorator |
BlockStateProvider | surface_decorator |
附着在外壳水平面的方块(例如珊瑚扇)。缺失时回退到 surface_decorator |
base |
BlockStateProvider | 方解石 | 替换尖刺底部和根部周围暴露锚定方块的方块 |
base_radius |
IntProvider (1–32) | 必填 | 尖刺底部半径 |
direction |
方向列表 | 必填 | 主要生长方向;每个尖刺随机选择一个(up、down、north、south、east、west) |
min_angle / max_angle |
float (0–180) | 0 |
偏离主要方向的随机倾斜范围,以度为单位。0 = 沿 direction 笔直生长 |
slope_angle |
FloatProvider (0–85) | 26.565 |
锥体半角,以度为单位;控制尖刺收窄的速度(26.565° = 1:2 收窄)。0 = 圆柱体 |
height |
IntProvider (1–256) | 派生 | 尖刺沿轴线的长度;默认为自然锥体长度 radius / tan(slope_angle) |
root_depth |
int (0–64) | 4 |
根部从底部朝附着面延伸的距离,使斜坡/岩架上的尖刺不会悬空。0 禁用 |
decorator_chance |
float (0–1) | 0.1667 |
每个外壳方块触发装饰的概率 |
decorator_face_chance |
float (0–1) | 0.5 |
已触发的外壳方块每个开放面的概率 |
anchor_tag |
方块标签 | minecraft:base_stone_overworld |
尖刺可以锚定的方块(也是 base 可替换的方块) |
注意事项:
- 所有 BlockStateProvider 字段接受任意原版提供器,例如
simple_state_provider,或用于同一尖刺内混合方块的weighted_state_provider。 - 装饰物只会放置在能够存活(
canSurvive)的位置,因此例如海泡菜只会落在珊瑚方块上,地面扇永远不会侧向悬空。
示例
{
"type": "crystalspikes:crystal_spike",
"config": {
"core": {
"type": "minecraft:simple_state_provider",
"state": { "Name": "minecraft:calcite" }
},
"outer_layer": {
"type": "minecraft:weighted_state_provider",
"entries": [
{ "weight": 4, "data": { "Name": "minecraft:amethyst_block" } },
{ "weight": 1, "data": { "Name": "minecraft:budding_amethyst" } }
]
},
"surface_decorator": {
"type": "minecraft:weighted_state_provider",
"entries": [
{ "weight": 3, "data": { "Name": "minecraft:amethyst_cluster" } },
{ "weight": 1, "data": { "Name": "minecraft:large_amethyst_bud" } }
]
},
"base": {
"type": "minecraft:simple_state_provider",
"state": { "Name": "minecraft:basalt" }
},
"base_radius": { "type": "minecraft:uniform", "min_inclusive": 2, "max_inclusive": 4 },
"direction": ["up"],
"min_angle": 0.0,
"max_angle": 20.0,
"slope_angle": { "type": "minecraft:uniform", "min_inclusive": 22.0, "max_exclusive": 30.0 },
"root_depth": 4,
"decorator_chance": 0.1667,
"decorator_face_chance": 0.5
}
}
示例
完整可用的数据包(已配置特性、放置特性、生物群系修饰符、锚定标签)位于 example/datapack/
![]() |
![]() |
![]() |
放置修饰符:crystalspikes:under_island
寻找地形底部的锚定方块(anchor_tag 中下方为空气/水/熔岩的方块)——专为浮岛下方的悬挂尖刺而设计,不受原版 32 步 environment_scan 限制。
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
anchor_tag |
方块标签 | minecraft:base_stone_overworld |
算作锚定的方块 |
min_y / max_y |
int | 维度边界 | 扫描的 Y 范围 |
selection |
"random" / "lowest" / "highest" |
"random" |
使用列中的哪个候选者 |
示例
{
"feature": "example:my_spike",
"placement": [
{ "type": "minecraft:rarity_filter", "chance": 8 },
{ "type": "minecraft:count", "count": { "type": "minecraft:uniform", "min_inclusive": 4, "max_inclusive": 8 } },
{ "type": "minecraft:in_square" },
{ "type": "crystalspikes:under_island", "anchor_tag": "example:end_stones", "min_y": 0, "max_y": 128 },
{ "type": "minecraft:biome" }
]
}
对于地表放置,原版的 heightmap + environment_scan(向下)即可正常工作。参见示例数据包中的珊瑚尖刺。
正在加载版本记录…






正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。