Напиши код, который запретит Визеру ломать блок

Напиши код, который запретит Визеру ломать блок спавнера
Дополнительные параметры: codeFlowType: codeWrite codeFlowLang: Java
Создано: 11.07.2023 20:29

Напиши код, который запретит Визеру ломать блок спавнера

public class SpawnBlockProtector {
    private static final Material SPAWNER_MATERIAL = Material.SPAWNER;

    @EventHandler
    public void onBlockBreak(BlockBreakEvent event) {
        Block block = event.getBlock();
        if (isSpawner(block)) {
            Player player = event.getPlayer();
            if (!player.hasPermission("spawnblockprotector.bypass")) {
                event.setCancelled(true);
                player.sendMessage(ChatColor.RED + "You are not allowed to break spawners!");
            }
        }
    }

    private boolean isSpawner(Block block) {
        return block.getType() == SPAWNER_MATERIAL;
    }
}

В данном коде реализован простой способ запретить ломать блоки спавнеров (запрещено только игрокам без права "spawnblockprotector.bypass"). При попытке сломать спавнер, игрок получит сообщение о запрете и событие будет отменено (блок не будет сломан).