Запрос на разработку Ограничение строительства

Статус
В этой теме нельзя размещать новые ответы.
Версия Minecraft
1.8.X
Ядро
Spigot

GKONG

Пользователь
Заблокирован
Сообщения
21
Другие ядра
  1. CraftBukkit
  2. PaperSpigot
  3. Другое
Подскажите плагин на лимит блоков по высоте
Нужно написать или найти плагин с возможностями делать такое:
Отправить "Вы не можете строить так высоко"
И давать игрокам на время /gamemode 2 если они строят выше указанной высоты
 
offtop Так в игре уже есть ограничение в 256 блоков (до 1.17), зачем ограничивать ещё больше?
 
Судя по вашему запросу нужно отслеживать высоту установки блока и отменять евент. Код был создан с использованием автоматической генерацией текста.

Java:
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.configuration.file.FileConfiguration;

public class MyPlugin extends JavaPlugin implements Listener {
    private int limit;

    @Override
    public void onEnable() {
        // Load the configuration
        saveDefaultConfig();
        FileConfiguration config = getConfig();
        limit = config.getInt("limit", 100); // Default to 100 if not set

        // Register the event listener
        getServer().getPluginManager().registerEvents(this, this);
    }

    @EventHandler
    public void onBlockPlace(BlockPlaceEvent event) {
        Player player = event.getPlayer();
        Location location = event.getBlock().getLocation();
        
        // Check if the Y-coordinate is higher than the limit
        if (location.getY() > limit) {
            // Cancel the block placement
            event.setCancelled(true);
            // Send a message to the player
            player.sendMessage(ChatColor.RED + "No");
            // Change the player's gamemode to survival (2) for 5 seconds
            player.setGameMode(GameMode.SURVIVAL);
            Bukkit.getScheduler().runTaskLater(this, () -> {
                player.setGameMode(GameMode.ADVENTURE); // Change back to adventure mode
            }, 100); // 100 ticks = 5 seconds
        }
    }
}
 
Судя по вашему запросу нужно отслеживать высоту установки блока и отменять евент. Код был создан с использованием автоматической генерацией текста.
Код не работает. Как его собрать?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу