我不知道如何读取 Minecraft Forge 1.16 版本中的区块破解进度。我知道 DestroyBlockProgress 函数和哈希图的变体,但我不知道它是如何工作的。
一个小技巧或一个例子会对我有很大帮助
您可以使用 MinecraftForge.EVENT_BUS 并订阅适当的事件(例如 BlockBreakEvent)来访问这些地图。迭代 HashMap
public class BlockBreakProgressListener {
@SubscribeEvent
public void onBlockBreak(BlockBreakEvent event) {
BlockPos pos = event.getPos();
PlayerEntity player = event.getPlayer();
if (MinecraftForge.EVENT_BUS.post(new DestroyBlockProgressEvent.Start(player, pos, event.getState()))) {
int progress = MinecraftForge.EVENT_BUS.post(new DestroyBlockProgressEvent.Update(player, pos, event.getState(), 5));
System.out.println(progress);
}
}
}