【マイクラ】奈落死を防ぐプラグインのコード

gamerule で、 KeepInventory の設定を true にしても、奈落死すると、アイテムが全部なくなってしまった。

プラグイン側でなんとかできないか考えた。

ダメージイベント発生時、その理由が「void」の時、とりあえず高い所へ飛ばすようにした。

    @EventHandler
    public void onDamage(EntityDamageEvent e) {
        if (e.getEntity().getType() != EntityType.PLAYER) {
            return;
        }

        if (e.getCause() != EntityDamageEvent.DamageCause.VOID) {
            return;
        }

        Player p = (Player)e.getEntity();
        System.out.println("ダメージを受けた!");
        Bukkit.dispatchCommand(p, "teleport ~ 200 ~");
    }

奈落以外でも、このVOIDが発生する場合は、また考えよう。