当前位置: 首页>>代码示例>>Java>>正文


Java CommandContext类代码示例

本文整理汇总了Java中com.sk89q.minecraft.util.commands.CommandContext的典型用法代码示例。如果您正苦于以下问题:Java CommandContext类的具体用法?Java CommandContext怎么用?Java CommandContext使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


CommandContext类属于com.sk89q.minecraft.util.commands包,在下文中一共展示了CommandContext类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: min

import com.sk89q.minecraft.util.commands.CommandContext; //导入依赖的package包/类
@Command(
    aliases = {"min"},
    desc = "Change the minimum number of players required to start the match.",
    min = 1,
    max = 1
)
@CommandPermissions("pgm.team.size")
public static void min(CommandContext args, CommandSender sender) throws CommandException {
    FreeForAllMatchModule ffa = CommandUtils.getMatchModule(FreeForAllMatchModule.class, sender);
    if("default".equals(args.getString(0))) {
        ffa.setMinPlayers(null);
    } else {
        int minPlayers = args.getInteger(0);
        if(minPlayers < 0) throw new CommandException("min-players cannot be less than 0");
        if(minPlayers > ffa.getMaxPlayers()) throw new CommandException("min-players cannot be greater than max-players");
        ffa.setMinPlayers(minPlayers);
    }

    sender.sendMessage(ChatColor.WHITE + "Minimum players is now " + ChatColor.AQUA + ffa.getMinPlayers());
}
 
开发者ID:OvercastNetwork,项目名称:ProjectAres,代码行数:21,代码来源:FreeForAllCommands.java

示例2: max

import com.sk89q.minecraft.util.commands.CommandContext; //导入依赖的package包/类
@Command(
    aliases = {"max", "size"},
    desc = "Change the maximum number of players allowed to participate in the match.",
    min = 1,
    max = 2
)
@CommandPermissions("pgm.team.size")
public static void max(CommandContext args, CommandSender sender) throws CommandException {
    FreeForAllMatchModule ffa = CommandUtils.getMatchModule(FreeForAllMatchModule.class, sender);
    if("default".equals(args.getString(0))) {
        ffa.setMaxPlayers(null, null);
    } else {
        int maxPlayers = args.getInteger(0);
        if(maxPlayers < 0) throw new CommandException("max-players cannot be less than 0");

        int maxOverfill = args.argsLength() >= 2 ? args.getInteger(1) : maxPlayers;
        if(maxOverfill < maxPlayers) throw new CommandException("max-overfill cannot be less than max-players");

        if(maxPlayers < ffa.getMinPlayers()) throw new CommandException("max-players cannot be less than min-players");

        ffa.setMaxPlayers(maxPlayers, maxOverfill);
    }

    sender.sendMessage(ChatColor.WHITE + "Maximum players is now " + ChatColor.AQUA + ffa.getMaxPlayers() +
                       ChatColor.WHITE + " and overfill is " + ChatColor.AQUA + ffa.getMaxOverfill());
}
 
开发者ID:OvercastNetwork,项目名称:ProjectAres,代码行数:27,代码来源:FreeForAllCommands.java

示例3: restart

import com.sk89q.minecraft.util.commands.CommandContext; //导入依赖的package包/类
@Command(
    aliases = {"restart"},
    desc = "Queues a server restart after a certain amount of time",
    usage = "[seconds] - defaults to 30 seconds",
    flags = "f",
    min = 0,
    max = 1
)
@CommandPermissions("server.restart")
public void restart(CommandContext args, CommandSender sender) throws CommandException {
    // Countdown defers automatic restart, so don't allow excessively long times
    Duration countdown = TimeUtils.min(
        tc.oc.commons.bukkit.commands.CommandUtils.getDuration(args, 0, Duration.ofSeconds(30)),
        Duration.ofMinutes(5)
    );

    final Match match = CommandUtils.getMatch(sender);
    if(!match.canAbort() && !args.hasFlag('f')) {
        throw new CommandException(PGMTranslations.get().t("command.admin.restart.matchRunning", sender));
    }

    restartListener.queueRestart(match, countdown, "/restart command");
}
 
开发者ID:OvercastNetwork,项目名称:ProjectAres,代码行数:24,代码来源:AdminCommands.java

示例4: create

import com.sk89q.minecraft.util.commands.CommandContext; //导入依赖的package包/类
public void create(CommandContext args, CommandSender sender, @Nullable Type type, @Nullable Duration duration) throws CommandException {
    final User punisher = userFinder.getLocalUser(sender);
    final String reason = args.getRemainingString(duration == null ? 1 : 2);
    final boolean auto = flag('a', args, sender);
    final boolean silent = flag('s', args, sender);
    final boolean offrecord = flag('o', args, sender);
    if(permission(sender, type)) {
        syncExecutor.callback(
            userFinder.findUser(sender, args, 0),
            response -> {
                punishmentCreator.create(
                    punisher,
                    response.user,
                    reason,
                    type,
                    duration,
                    silent,
                    auto,
                    offrecord
                );
            }
        );
    }
}
 
开发者ID:OvercastNetwork,项目名称:ProjectAres,代码行数:25,代码来源:PunishmentCommands.java

示例5: skipto

import com.sk89q.minecraft.util.commands.CommandContext; //导入依赖的package包/类
@Command(
    aliases = {"skipto"},
    desc = "Skip to a certain point in the rotation",
    usage = "[n]",
    min = 1,
    max = 1
)
@CommandPermissions("pgm.skip")
public void skipto(CommandContext args, CommandSender sender) throws CommandException {
    RotationManager manager = PGM.getMatchManager().getRotationManager();
    RotationState rotation = manager.getRotation();

    int newNextId = args.getInteger(0) - 1;
    if(RotationState.isNextIdValid(rotation.getMaps(), newNextId)) {
        rotation = rotation.skipTo(newNextId);
        manager.setRotation(rotation);
        sender.sendMessage(ChatColor.GREEN + PGMTranslations.get().t("command.admin.skipto.success", sender, rotation.getNext().getInfo().getShortDescription(sender) + ChatColor.GREEN));
    } else {
        throw new CommandException(PGMTranslations.get().t("command.admin.skipto.invalidPoint", sender));
    }
}
 
开发者ID:OvercastNetwork,项目名称:ProjectAres,代码行数:22,代码来源:AdminCommands.java

示例6: maplist

import com.sk89q.minecraft.util.commands.CommandContext; //导入依赖的package包/类
@Command(
    aliases = {"maplist", "maps", "ml"},
    desc = "Shows the maps that are currently loaded",
    usage = "[page]",
    min = 0,
    max = 1,
    help = "Shows all the maps that are currently loaded including ones that are not in the rotation."
)
@CommandPermissions("pgm.maplist")
public static void maplist(CommandContext args, final CommandSender sender) throws CommandException {
    final Set<PGMMap> maps = ImmutableSortedSet.copyOf(new PGMMap.DisplayOrder(), PGM.getMatchManager().getMaps());

    new PrettyPaginatedResult<PGMMap>(PGMTranslations.get().t("command.map.mapList.title", sender)) {
        @Override public String format(PGMMap map, int index) {
            return (index + 1) + ". " + map.getInfo().getShortDescription(sender);
        }
    }.display(new BukkitWrappedCommandSender(sender), maps, args.getInteger(0, 1) /* page */);
}
 
开发者ID:OvercastNetwork,项目名称:ProjectAres,代码行数:19,代码来源:MapCommands.java

示例7: force

import com.sk89q.minecraft.util.commands.CommandContext; //导入依赖的package包/类
@Command(
    aliases = {"force"},
    desc = "Force a player onto a team",
    usage = "<player> [team]",
    min = 1,
    max = 2
)
@CommandPermissions("pgm.team.force")
public void force(CommandContext args, CommandSender sender) throws CommandException, SuggestException {
    MatchPlayer player = CommandUtils.findSingleMatchPlayer(args, sender, 0);

    if(args.argsLength() >= 2) {
        String name = args.getString(1);
        if(name.trim().toLowerCase().startsWith("obs")) {
            player.getMatch().setPlayerParty(player, player.getMatch().getDefaultParty());
        } else {
            Team team = utils.teamArgument(args, 1);
            utils.module().forceJoin(player, team);
        }
    } else {
        utils.module().forceJoin(player, null);
    }
}
 
开发者ID:OvercastNetwork,项目名称:ProjectAres,代码行数:24,代码来源:TeamCommands.java

示例8: shuffle

import com.sk89q.minecraft.util.commands.CommandContext; //导入依赖的package包/类
@Command(
    aliases = {"shuffle"},
    desc = "Shuffle the teams",
    min = 0,
    max = 0
)
@CommandPermissions("pgm.team.shuffle")
public void shuffle(CommandContext args, CommandSender sender) throws CommandException {
    TeamMatchModule tmm = utils.module();
    Match match = tmm.getMatch();

    if(match.isRunning()) {
        throw new CommandException(Translations.get().t("command.team.shuffle.matchRunning", sender));
    } else {
        List<Team> teams = new ArrayList<>(this.teams);
        List<MatchPlayer> participating = new ArrayList<>(match.getParticipatingPlayers());
        Collections.shuffle(participating);
        for(int i = 0; i < participating.size(); i++) {
            tmm.forceJoin(participating.get(i), teams.get((i * teams.size()) / participating.size()));
        }
        match.sendMessage(new TranslatableComponent("command.team.shuffle.success"));
    }
}
 
开发者ID:OvercastNetwork,项目名称:ProjectAres,代码行数:24,代码来源:TeamCommands.java

示例9: throwError

import com.sk89q.minecraft.util.commands.CommandContext; //导入依赖的package包/类
@Command(
    aliases = "throw",
    desc = "Throw a test RuntimeException",
    usage = "[message]",
    flags = "tr",
    min = 0,
    max = 1
)
@CommandPermissions(Permissions.DEVELOPER)
public void throwError(CommandContext args, CommandSender sender) throws CommandException {
    if(args.hasFlag('r')) {
        Logger.getLogger("").severe("Test root logger error from " + sender.getName());
    } else if(args.hasFlag('t')) {
        scheduler.createTask(() -> {
            throwError(args, sender, "task");
        });
    } else {
        throwError(args, sender, "command");
    }
}
 
开发者ID:OvercastNetwork,项目名称:ProjectAres,代码行数:21,代码来源:DebugCommands.java

示例10: inventory

import com.sk89q.minecraft.util.commands.CommandContext; //导入依赖的package包/类
@Command(
    aliases = {"inventory", "inv", "vi"},
    desc = "View a player's inventory",
    usage = "<player>",
    min = 1,
    max = 1
)
public void inventory(CommandContext args, CommandSender sender) throws CommandException {
    final Player viewer = senderToPlayer(sender);
    Player holder = findOnlinePlayer(args, viewer, 0);

    if(vimm.canPreviewInventory(viewer, holder)) {
        vimm.previewInventory((Player) sender, holder.getInventory());
    } else {
        throw new TranslatableCommandException("player.inventoryPreview.notViewable");
    }
}
 
开发者ID:OvercastNetwork,项目名称:ProjectAres,代码行数:18,代码来源:InventoryCommands.java

示例11: loadNewMaps

import com.sk89q.minecraft.util.commands.CommandContext; //导入依赖的package包/类
@Command(
    aliases = {"loadnewmaps", "findnewmaps", "newmaps"},
    desc = "Scan for new maps and load them",
    min = 0,
    max = 0
)
@CommandPermissions("pgm.loadnewmaps")
public void loadNewMaps(CommandContext args, CommandSender sender) throws CommandException {
    final Audience audience = audiences.get(sender);
    audience.sendMessage(new Component(new TranslatableComponent("command.loadNewMaps.loading"), ChatColor.WHITE));
    // Clear errors for maps that failed to load, because we want to see those errors again
    mapErrorTracker.clearErrorsExcept(mapLibrary.getMaps());
    try {
        final Set<PGMMap> newMaps = matchManager.loadMapsAndRotations();

        if(newMaps.isEmpty()) {
            audience.sendMessage(new Component(new TranslatableComponent("command.loadNewMaps.noNewMaps"), ChatColor.WHITE));
        } else if(newMaps.size() == 1) {
            audience.sendMessage(new Component(new TranslatableComponent("command.loadNewMaps.foundSingleMap", new Component(newMaps.iterator().next().getInfo().name, ChatColor.YELLOW)), ChatColor.WHITE));
        } else {
            audience.sendMessage(new Component(new TranslatableComponent("command.loadNewMaps.foundMultipleMaps", new Component(Integer.toString(newMaps.size()), ChatColor.AQUA)), ChatColor.WHITE));
        }
    } catch(MapNotFoundException e) {
        audience.sendWarning(new TranslatableComponent("command.loadNewMaps.noMaps"), false);
    }
}
 
开发者ID:OvercastNetwork,项目名称:ProjectAres,代码行数:27,代码来源:MapDevelopmentCommands.java

示例12: featureCommand

import com.sk89q.minecraft.util.commands.CommandContext; //导入依赖的package包/类
@Command(
    aliases = {"feature", "fl"},
    desc = "Prints information regarding a specific feature",
    min = 1,
    max = -1
)
@CommandPermissions(Permissions.MAPDEV)
public void featureCommand(CommandContext args, CommandSender sender) throws CommandException {
    final String slug = args.getJoinedStrings(0);
    final Optional<Feature<?>> feature = matchManager.getCurrentMatch(sender).features().bySlug(slug);
    if(feature.isPresent()) {
        sender.sendMessage(ChatColor.GOLD + slug + ChatColor.GRAY + " corresponds to: " + ChatColor.WHITE + feature.get().toString());
    } else {
        sender.sendMessage(ChatColor.RED + "No feature by the name of " + ChatColor.GOLD + slug + ChatColor.RED + " was found.");
    }
}
 
开发者ID:OvercastNetwork,项目名称:ProjectAres,代码行数:17,代码来源:MapDevelopmentCommands.java

示例13: pushMaps

import com.sk89q.minecraft.util.commands.CommandContext; //导入依赖的package包/类
@Command(
    aliases = {"pushmaps"},
    desc = "Synchronizes ALL loaded maps with the database",
    min = 0,
    max = 0
)
@CommandPermissions(Permissions.DEVELOPER)
public void pushMaps(CommandContext args, final CommandSender sender) throws CommandException {
    Audience audience = audiences.get(sender);
    audience.sendMessage(new Component("Pushing " + mapLibrary.getMaps().size() + " maps..."));

    syncExecutor.callback(
        mapLibrary.pushAllMaps(),
        CommandFutureCallback.onSuccess(sender, args, response ->
            audience.sendMessage(new Component(response.toString()))
        )
    );
}
 
开发者ID:OvercastNetwork,项目名称:ProjectAres,代码行数:19,代码来源:MapDevelopmentCommands.java

示例14: setCompletion

import com.sk89q.minecraft.util.commands.CommandContext; //导入依赖的package包/类
public void setCompletion(CommandContext args, CommandSender sender, Destroyable destroyable, String value) throws CommandException {
    assertEditPerms(sender);

    Double completion;
    Integer breaks;

    if(value.endsWith("%")) {
        completion = Double.parseDouble(value.substring(0, value.length() - 1)) / 100d;
        breaks = null;
    } else {
        completion = null;
        breaks = Integer.parseInt(value);
    }

    try {
        if(completion != null) {
            destroyable.setDestructionRequired(completion);
        }
        else if(breaks != null) {
            destroyable.setBreaksRequired(breaks);
        }
    } catch(IllegalArgumentException e) {
        throw new CommandException(e.getMessage());
    }
}
 
开发者ID:OvercastNetwork,项目名称:ProjectAres,代码行数:26,代码来源:DestroyableCommands.java

示例15: freeze

import com.sk89q.minecraft.util.commands.CommandContext; //导入依赖的package包/类
@Command(
    aliases = { "freeze", "f" },
    usage = "<player>",
    desc = "Freeze a player",
    min = 1,
    max = 1
)
@CommandPermissions(Freeze.PERMISSION)
public void freeze(final CommandContext args, final CommandSender sender) throws CommandException {
    if(!freeze.enabled()) {
        throw new ComponentCommandException(new TranslatableComponent("command.freeze.notEnabled"));
    }

    executor.callback(
        userFinder.findLocalPlayer(sender, args, 0),
        CommandFutureCallback.onSuccess(sender, args, response -> freeze.toggleFrozen(sender, response.player()))
    );
}
 
开发者ID:OvercastNetwork,项目名称:ProjectAres,代码行数:19,代码来源:FreezeCommands.java


注:本文中的com.sk89q.minecraft.util.commands.CommandContext类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。