1
私はBukkitでEventHandlerを構築していましたが、今はこだわっています。それはおそらく本当にばかな間違いなので、私のためにそれを許してください。Bukkit PlayerInteractEventが2回登録されました
私が欲しいのは次のとおりです:ブロックを右クリックすると、1秒ごとにチャットが行われます:test
しかし、それは実際に毎秒2回それを置く。私はコード全体をデバッグしてきましたが、うまく動作しません。私の考えでは2回登録しています。
メイン()クラス:
public class Main extends JavaPlugin {
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(new Events(), this);
}
@Override
public void onDisable() {
}
}
イベント()クラス:
public class Events implements Listener {
public Plugin plugin = Main.getPlugin(Main.class);
@EventHandler
public void onInteract(PlayerInteractEvent e) {
Player player = e.getPlayer();
Action action = e.getAction();
if(action.equals(Action.RIGHT_CLICK_BLOCK)) {
new BukkitRunnable() {
@Override
public void run() {
player.sendMessage("Test");
}
}.runTaskTimer(plugin, 1, 20);
}
}
}
事前に感謝します!
ありがとうございました!それが働いた。 – Scriptblade