我正在尝试创建一个自定义数据到一个被重置为可存活的漏斗。我知道有一个用于存储自定义元数据的PersistantDataContainer。我正在获取一个带有事件的块,然后将其强制转换为一个hopper实例(当然,在强制转换之前令人震惊)。当我试图将一些数据设置给实例时,一旦方法结束并删除hopper实例,数据就会丢失。有没有办法将数据保存到实际的料斗块中,并在重置后的事件中获取?
Hopper hopper = (Hopper) block.getState();
private final NamespacedKey KEY_SPEED = new NamespacedKey("me.exerosis", "speed");
if (!hopper.getPersistentDataContainer().has(KEY_SPEED, PersistentDataType.INTEGER))
{
Bukkit.broadcastMessage("new");
hopper.getPersistentDataContainer().set(KEY_SPEED, PersistentDataType.INTEGER, 1);
}
每次在相同的块上调用它,但是不同的事件"new“被广播,这意味着它没有保存数据。
发布于 2020-07-15 20:03:15
您需要调用BlockState#update
hopper.update();
https://stackoverflow.com/questions/62914196
复制相似问题