一.什么是Tag
Tag就是用于设置你注册的方块挖掘速度和挖掘等级之类的
二.项目结构
这里以挖掘等级最低为石镐为例,先手动创建目录
└─data
├─testmod
└─minecraft
└─tags
└─blocks
├─mineable
│ └─pickaxe.json
└─needs_stone_tool.json
三.编辑Tag的json文件
needs_stone_tool.json
{
"replace": false,
"values": [
"testmod:example_block_01",
]
}
- replace : 就是是否取代原版文件,这里false就是在原版基础上添加
- valuse : 就是个列表,放你想要设置的方块。放在里面的方块就至少需要石质等级才能挖掘
- 以此类推还有needs_iron_tool.json,needs_diamond_tool.json
pickaxe.json
其实内容和上面一样
{
"replace": false,
"values": [
"testmod:example_block_01",
]
}
这个文件就表示镐类,以此类推还有斧类axe.json等等
四.在Properties添加对应设置
将原来的注册代码改成如下
public static final Supplier<Block> EXAMPLE_BLOCK_01 = BLOCKS.register("example_block_01",
() -> new Block(BlockBehaviour.Properties.of()
.strength(3.0f, 6.0f)
.requiresCorrectToolForDrops()));
- strength(3.0f, 6.0f)
- 第一个参数表示硬度(挖掘时间)
- 原版参考值:
- 硬度 ≤ 1.5 → 木镐
- 硬度 ≤ 3 → 石镐
- 硬度 ≤ 4 → 铁镐
- 原版参考值:
- 第二个参数表示爆炸抗性
- 原版参考值:
- 泥土:0.5f
- 石头:6.0f
- 黑曜石:1200.0f(免疫常规爆炸)
- 原版参考值:
- 第一个参数表示硬度(挖掘时间)
- requiresCorrectToolForDrops() : 表示是否必须用正确工具才能破坏方块 (破坏速度) 和获得掉落物