Уровни доступа в командах.

Версия Minecraft
1.12.2
API
Forge
12
2
Приветствую мне нужна помощь с уровнями доступа в командах. Я в своем моде хочу чтобы все команды были доступны с уровнем 0.
На данный момент я смог добиться только то, что в одиночной игре спадает запрет, а сетевой нет, там по преждему пишет что прав не достаточно.


CityCommandHandler:
package com.example.examplemod;

import net.minecraft.command.CommandBase;
import net.minecraft.command.CommandException;
import net.minecraft.command.ICommandSender;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.math.ChunkPos;
import net.minecraft.util.text.TextComponentString;

public class CityCommandHandler extends CommandBase {

    @Override
    public String getName() {
        return "city";
    }

    @Override
    public String getUsage(ICommandSender sender) {
        return "/city <new|claim|unclaim|join|leave|info|list|delete|invite|kick|rank|closejoin|openjoin|toggle>";
    }

    // Указываем, что для всех команд, которые наследуют этот класс, требуемый уровень прав - 0
    @Override
    public int getRequiredPermissionLevel() {
        return 0; // Уровень доступа 0 для всех игроков
    }

    @Override
    public boolean checkPermission(MinecraftServer server, ICommandSender sender) {
        return true; // Игнорируем стандартную проверку прав
    }
    

    @Override
    public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException {
        if (!(sender instanceof EntityPlayer)) {
            throw new CommandException("Only players can use this command.");
        }

        EntityPlayer player = (EntityPlayer) sender;
        ChunkPos playerChunk = new ChunkPos(player.getPosition());

        if (args.length == 0) {
            throw new CommandException("You must specify a subcommand.");
        }

        switch (args[0].toLowerCase()) {
            case "new":
                CityManager.createCity(player, args, server);
                break;
            case "claim":
                CityManager.claimChunk(player, playerChunk);
                break;
            case "unclaim":
                CityManager.unclaimChunk(player, playerChunk);
                break;
            case "join":
                CityManager.joinCity(player, args);
                break;
            case "leave":
                CityManager.leaveCity(player, server);
                break;
            case "info":
                CityManager.cityInfo(sender, args);
                break;
            case "list":
                CityManager.cityList(sender);
                break;
            case "delete":
                CityManager.deleteCity(player, server);
                break;
            case "invite":
                CityManager.invitePlayer(player, args, server);
                break;
            case "kick":
                CityManager.kickPlayer(player, args, server);
                break;
            case "rank":
                if (args.length < 4) throw new CommandException("Usage: /city rank <add|remove> <player> <rank>");
                CityManager.manageRanks(player, args);
                break;
            case "closejoin":
                CityManager.closeJoin(player, server);
                break;
            case "openjoin":
                CityManager.openJoin(player, server);
                break;
            case "toggle":
                if (args.length < 3) throw new CommandException("Usage: /city toggle <mobspawn|explosions|pvp> <on|off>");
                toggleCityFeature(player, args[1], args[2]);
                break;
            default:
                throw new CommandException("Invalid subcommand.");
        }
    }

Помогите пожалуйста, как сделать так, чтобы сервер тоже давал выполнять команды игрокам с уровнем доступа 0.
 
Могу ошибаться, но у тебя же на сервере наверное стоит pex или подобие?
Ты должен дать доступ к команде через права игрока

Пример со старых версий в Pex examplemod.city.CityCommandHandler
 
Назад
Сверху