diff --git a/src/main/java/net/minestom/server/command/ServerSender.java b/src/main/java/net/minestom/server/command/ServerSender.java index 1b0494565..1f415e867 100644 --- a/src/main/java/net/minestom/server/command/ServerSender.java +++ b/src/main/java/net/minestom/server/command/ServerSender.java @@ -1,6 +1,6 @@ package net.minestom.server.command; -import net.minestom.server.command.builder.Arguments; +import net.minestom.server.command.builder.CommandContext; import net.minestom.server.permission.Permission; import org.jetbrains.annotations.NotNull; @@ -12,7 +12,7 @@ import java.util.Set; * Sender used in {@link CommandManager#executeServerCommand(String)}. *

* Be aware that {@link #sendMessage(String)} is empty on purpose because the purpose - * of this sender is to process the data of {@link Arguments#getReturnData()}. + * of this sender is to process the data of {@link CommandContext#getReturnData()}. */ public class ServerSender implements CommandSender { diff --git a/src/main/java/net/minestom/server/command/builder/arguments/Argument.java b/src/main/java/net/minestom/server/command/builder/arguments/Argument.java index 859b2ebbe..2dedd03c2 100644 --- a/src/main/java/net/minestom/server/command/builder/arguments/Argument.java +++ b/src/main/java/net/minestom/server/command/builder/arguments/Argument.java @@ -102,7 +102,7 @@ public abstract class Argument { /** * Gets the ID of the argument, showed in-game above the chat bar - * and used to retrieve the data when the command is parsed in {@link net.minestom.server.command.builder.Arguments}. + * and used to retrieve the data when the command is parsed in {@link net.minestom.server.command.builder.CommandContext}. * * @return the argument id */ diff --git a/src/main/java/net/minestom/server/command/builder/parser/CommandParser.java b/src/main/java/net/minestom/server/command/builder/parser/CommandParser.java index 813663be2..df91bbda1 100644 --- a/src/main/java/net/minestom/server/command/builder/parser/CommandParser.java +++ b/src/main/java/net/minestom/server/command/builder/parser/CommandParser.java @@ -3,7 +3,6 @@ package net.minestom.server.command.builder.parser; import it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap; import net.minestom.server.MinecraftServer; import net.minestom.server.command.CommandManager; -import net.minestom.server.command.builder.Arguments; import net.minestom.server.command.builder.Command; import net.minestom.server.command.builder.CommandContext; import net.minestom.server.command.builder.CommandSyntax; diff --git a/src/test/java/demo/Main.java b/src/test/java/demo/Main.java index 0faf27a78..c49111ed3 100644 --- a/src/test/java/demo/Main.java +++ b/src/test/java/demo/Main.java @@ -31,7 +31,7 @@ public class Main { CommandManager commandManager = MinecraftServer.getCommandManager(); commandManager.register(new TestCommand()); - /*commandManager.register(new GamemodeCommand()); + commandManager.register(new GamemodeCommand()); commandManager.register(new EntitySelectorCommand()); commandManager.register(new HealthCommand()); commandManager.register(new SimpleCommand()); @@ -43,7 +43,7 @@ public class Main { commandManager.register(new TitleCommand()); commandManager.register(new BookCommand()); commandManager.register(new ShootCommand()); - commandManager.register(new HorseCommand());*/ + commandManager.register(new HorseCommand()); commandManager.setUnknownCommandCallback((sender, command) -> sender.sendMessage("unknown command")); diff --git a/src/test/java/demo/commands/BookCommand.java b/src/test/java/demo/commands/BookCommand.java index ef2a9be7f..9744075a3 100644 --- a/src/test/java/demo/commands/BookCommand.java +++ b/src/test/java/demo/commands/BookCommand.java @@ -3,8 +3,8 @@ package demo.commands; import net.minestom.server.chat.ChatColor; import net.minestom.server.chat.ColoredText; import net.minestom.server.command.CommandSender; -import net.minestom.server.command.builder.Arguments; import net.minestom.server.command.builder.Command; +import net.minestom.server.command.builder.CommandContext; import net.minestom.server.entity.Player; import net.minestom.server.item.metadata.WrittenBookMeta; @@ -27,7 +27,7 @@ public class BookCommand extends Command { return true; } - private void execute(CommandSender sender, Arguments args) { + private void execute(CommandSender sender, CommandContext context) { Player player = sender.asPlayer(); final WrittenBookMeta bookMeta = new WrittenBookMeta(); diff --git a/src/test/java/demo/commands/EntitySelectorCommand.java b/src/test/java/demo/commands/EntitySelectorCommand.java index 60a3b8495..d56d1d0fe 100644 --- a/src/test/java/demo/commands/EntitySelectorCommand.java +++ b/src/test/java/demo/commands/EntitySelectorCommand.java @@ -1,8 +1,8 @@ package demo.commands; import net.minestom.server.command.CommandSender; -import net.minestom.server.command.builder.Arguments; import net.minestom.server.command.builder.Command; +import net.minestom.server.command.builder.CommandContext; import net.minestom.server.command.builder.arguments.ArgumentType; import net.minestom.server.command.builder.arguments.minecraft.ArgumentEntity; import net.minestom.server.entity.Entity; @@ -16,7 +16,7 @@ public class EntitySelectorCommand extends Command { public EntitySelectorCommand() { super("ent"); - setDefaultExecutor((sender, args) -> System.out.println("DEFAULT")); + setDefaultExecutor((sender, context) -> System.out.println("DEFAULT")); ArgumentEntity argumentEntity = ArgumentType.Entity("entities").onlyPlayers(true); @@ -26,9 +26,9 @@ public class EntitySelectorCommand extends Command { } - private void executor(CommandSender commandSender, Arguments arguments) { + private void executor(CommandSender commandSender, CommandContext context) { Instance instance = commandSender.asPlayer().getInstance(); - EntityFinder entityFinder = arguments.get("entities"); + EntityFinder entityFinder = context.get("entities"); List entities = entityFinder.find(commandSender); System.out.println("found " + entities.size() + " entities"); } diff --git a/src/test/java/demo/commands/GamemodeCommand.java b/src/test/java/demo/commands/GamemodeCommand.java index 46518d1dc..9a25ce049 100644 --- a/src/test/java/demo/commands/GamemodeCommand.java +++ b/src/test/java/demo/commands/GamemodeCommand.java @@ -1,8 +1,8 @@ package demo.commands; import net.minestom.server.command.CommandSender; -import net.minestom.server.command.builder.Arguments; import net.minestom.server.command.builder.Command; +import net.minestom.server.command.builder.CommandContext; import net.minestom.server.command.builder.arguments.ArgumentEnum; import net.minestom.server.command.builder.arguments.ArgumentType; import net.minestom.server.command.builder.exception.ArgumentSyntaxException; @@ -35,22 +35,22 @@ public class GamemodeCommand extends Command { addSyntax(this::executeOnOther, player, mode); } - private void usage(CommandSender sender, Arguments arguments) { + private void usage(CommandSender sender, CommandContext context) { sender.sendMessage("Usage: /gamemode [player] "); } - private void executeOnSelf(CommandSender sender, Arguments arguments) { + private void executeOnSelf(CommandSender sender, CommandContext context) { Player player = (Player) sender; - GameMode gamemode = arguments.get("gamemode"); + GameMode gamemode = context.get("gamemode"); assert gamemode != null; // mode is not supposed to be null, because gamemodeName will be valid player.setGameMode(gamemode); player.sendMessage("You are now playing in " + gamemode.toString().toLowerCase()); } - private void executeOnOther(CommandSender sender, Arguments arguments) { - GameMode gamemode = arguments.get("gamemode"); - EntityFinder targetFinder = arguments.get("player"); + private void executeOnOther(CommandSender sender, CommandContext context) { + GameMode gamemode = context.get("gamemode"); + EntityFinder targetFinder = context.get("player"); Player target = targetFinder.findFirstPlayer(sender); assert gamemode != null; // mode is not supposed to be null, because gamemodeName will be valid assert target != null; diff --git a/src/test/java/demo/commands/HealthCommand.java b/src/test/java/demo/commands/HealthCommand.java index 3b37c60d5..7f20ebc74 100644 --- a/src/test/java/demo/commands/HealthCommand.java +++ b/src/test/java/demo/commands/HealthCommand.java @@ -1,8 +1,8 @@ package demo.commands; import net.minestom.server.command.CommandSender; -import net.minestom.server.command.builder.Arguments; import net.minestom.server.command.builder.Command; +import net.minestom.server.command.builder.CommandContext; import net.minestom.server.command.builder.arguments.ArgumentType; import net.minestom.server.command.builder.arguments.number.ArgumentNumber; import net.minestom.server.command.builder.exception.ArgumentSyntaxException; @@ -36,7 +36,7 @@ public class HealthCommand extends Command { return true; } - private void defaultExecutor(CommandSender sender, Arguments args) { + private void defaultExecutor(CommandSender sender, CommandContext context) { sender.sendMessage("Correct usage: health [set/add] [number]"); } @@ -57,14 +57,14 @@ public class HealthCommand extends Command { } } - private void sendSuggestionMessage(CommandSender sender, Arguments args) { - sender.sendMessage("/health " + args.get("mode") + " [Integer]"); + private void sendSuggestionMessage(CommandSender sender, CommandContext context) { + sender.sendMessage("/health " + context.get("mode") + " [Integer]"); } - private void onHealthCommand(CommandSender sender, Arguments args) { + private void onHealthCommand(CommandSender sender, CommandContext context) { final Player player = (Player) sender; - final String mode = args.get("mode"); - final int value = args.get("value"); + final String mode = context.get("mode"); + final int value = context.get("value"); switch (mode.toLowerCase()) { case "set": diff --git a/src/test/java/demo/commands/HorseCommand.java b/src/test/java/demo/commands/HorseCommand.java index cdf0d7b74..34f20b4cb 100644 --- a/src/test/java/demo/commands/HorseCommand.java +++ b/src/test/java/demo/commands/HorseCommand.java @@ -1,8 +1,8 @@ package demo.commands; import net.minestom.server.command.CommandSender; -import net.minestom.server.command.builder.Arguments; import net.minestom.server.command.builder.Command; +import net.minestom.server.command.builder.CommandContext; import net.minestom.server.command.builder.arguments.ArgumentType; import net.minestom.server.command.builder.exception.ArgumentSyntaxException; import net.minestom.server.entity.EntityCreature; @@ -37,7 +37,7 @@ public class HorseCommand extends Command { return true; } - private void defaultExecutor(CommandSender sender, Arguments args) { + private void defaultExecutor(CommandSender sender, CommandContext context) { sender.sendMessage("Correct usage: horse [baby] [marking] [color]"); } @@ -59,12 +59,12 @@ public class HorseCommand extends Command { sender.sendMessage("SYNTAX ERROR: '" + exception.getInput() + "' should be replaced by " + values + "."); } - private void onHorseCommand(CommandSender sender, Arguments args) { + private void onHorseCommand(CommandSender sender, CommandContext context) { var player = (Player) sender; - boolean baby = args.get("baby"); - HorseMeta.Marking marking = args.get("marking"); - HorseMeta.Color color = args.get("color"); + boolean baby = context.get("baby"); + HorseMeta.Marking marking = context.get("marking"); + HorseMeta.Color color = context.get("color"); var horse = new EntityCreature(EntityType.HORSE); var meta = (HorseMeta) horse.getEntityMeta(); meta.setBaby(baby); diff --git a/src/test/java/demo/commands/LoadExtensionCommand.java b/src/test/java/demo/commands/LoadExtensionCommand.java index 7ae8c0946..7f39cf47b 100644 --- a/src/test/java/demo/commands/LoadExtensionCommand.java +++ b/src/test/java/demo/commands/LoadExtensionCommand.java @@ -2,8 +2,8 @@ package demo.commands; import net.minestom.server.MinecraftServer; import net.minestom.server.command.CommandSender; -import net.minestom.server.command.builder.Arguments; import net.minestom.server.command.builder.Command; +import net.minestom.server.command.builder.CommandContext; import net.minestom.server.command.builder.arguments.Argument; import net.minestom.server.command.builder.arguments.ArgumentType; import net.minestom.server.command.builder.exception.ArgumentSyntaxException; @@ -18,45 +18,45 @@ public class LoadExtensionCommand extends Command { setDefaultExecutor(this::usage); - Argument extension = ArgumentType.DynamicStringArray("extensionName"); + var extension = ArgumentType.DynamicStringArray("extensionName"); setArgumentCallback(this::extensionCallback, extension); addSyntax(this::execute, extension); } - private void usage(CommandSender sender, Arguments arguments) { + private void usage(CommandSender sender, CommandContext context) { sender.sendMessage("Usage: /load "); } - private void execute(CommandSender sender, Arguments arguments) { - String name = join(arguments.getStringArray("extensionName")); - sender.sendMessage("extensionFile = "+name+"...."); + private void execute(CommandSender sender, CommandContext context) { + String name = join(context.getStringArray("extensionName")); + sender.sendMessage("extensionFile = " + name + "...."); ExtensionManager extensionManager = MinecraftServer.getExtensionManager(); Path extensionFolder = extensionManager.getExtensionFolder().toPath().toAbsolutePath(); Path extensionJar = extensionFolder.resolve(name); try { - if(!extensionJar.toFile().getCanonicalPath().startsWith(extensionFolder.toFile().getCanonicalPath())) { - sender.sendMessage("File name '"+name+"' does not represent a file inside the extensions folder. Will not load"); + if (!extensionJar.toFile().getCanonicalPath().startsWith(extensionFolder.toFile().getCanonicalPath())) { + sender.sendMessage("File name '" + name + "' does not represent a file inside the extensions folder. Will not load"); return; } } catch (IOException e) { e.printStackTrace(); - sender.sendMessage("Failed to load extension: "+e.getMessage()); + sender.sendMessage("Failed to load extension: " + e.getMessage()); return; } try { boolean managed = extensionManager.loadDynamicExtension(extensionJar.toFile()); - if(managed) { + if (managed) { sender.sendMessage("Extension loaded!"); } else { sender.sendMessage("Failed to load extension, check your logs."); } } catch (Exception e) { e.printStackTrace(); - sender.sendMessage("Failed to load extension: "+e.getMessage()); + sender.sendMessage("Failed to load extension: " + e.getMessage()); } } @@ -68,7 +68,7 @@ public class LoadExtensionCommand extends Command { StringBuilder b = new StringBuilder(); for (int i = 0; i < extensionNameParts.length; i++) { String s = extensionNameParts[i]; - if(i != 0) { + if (i != 0) { b.append(" "); } b.append(s); diff --git a/src/test/java/demo/commands/PlayersCommand.java b/src/test/java/demo/commands/PlayersCommand.java index 47588281f..4efe05a0c 100644 --- a/src/test/java/demo/commands/PlayersCommand.java +++ b/src/test/java/demo/commands/PlayersCommand.java @@ -2,8 +2,8 @@ package demo.commands; import net.minestom.server.MinecraftServer; import net.minestom.server.command.CommandSender; -import net.minestom.server.command.builder.Arguments; import net.minestom.server.command.builder.Command; +import net.minestom.server.command.builder.CommandContext; import net.minestom.server.entity.Player; import java.util.Collection; @@ -16,7 +16,7 @@ public class PlayersCommand extends Command { setDefaultExecutor(this::usage); } - private void usage(CommandSender sender, Arguments arguments) { + private void usage(CommandSender sender, CommandContext context) { final Collection players = MinecraftServer.getConnectionManager().getOnlinePlayers(); final int playerCount = players.size(); sender.sendMessage("Total players: " + playerCount); diff --git a/src/test/java/demo/commands/PotionCommand.java b/src/test/java/demo/commands/PotionCommand.java index fb66169e4..2a38b31b3 100644 --- a/src/test/java/demo/commands/PotionCommand.java +++ b/src/test/java/demo/commands/PotionCommand.java @@ -2,8 +2,8 @@ package demo.commands; import net.minestom.server.MinecraftServer; import net.minestom.server.command.CommandSender; -import net.minestom.server.command.builder.Arguments; import net.minestom.server.command.builder.Command; +import net.minestom.server.command.builder.CommandContext; import net.minestom.server.command.builder.arguments.ArgumentType; import net.minestom.server.entity.Player; import net.minestom.server.potion.Potion; @@ -34,10 +34,10 @@ public class PotionCommand extends Command { return true; } - private void onPotionCommand(CommandSender sender, Arguments args) { + private void onPotionCommand(CommandSender sender, CommandContext context) { final Player player = (Player) sender; - final PotionEffect potion = args.get("potion"); - final int duration = args.get("duration"); + final PotionEffect potion = context.get("potion"); + final int duration = context.get("duration"); player.sendMessage(player.getActiveEffects().toString()); player.addEffect(new Potion( diff --git a/src/test/java/demo/commands/ReloadExtensionCommand.java b/src/test/java/demo/commands/ReloadExtensionCommand.java index 305cba1bd..a62981004 100644 --- a/src/test/java/demo/commands/ReloadExtensionCommand.java +++ b/src/test/java/demo/commands/ReloadExtensionCommand.java @@ -2,8 +2,8 @@ package demo.commands; import net.minestom.server.MinecraftServer; import net.minestom.server.command.CommandSender; -import net.minestom.server.command.builder.Arguments; import net.minestom.server.command.builder.Command; +import net.minestom.server.command.builder.CommandContext; import net.minestom.server.command.builder.arguments.Argument; import net.minestom.server.command.builder.arguments.ArgumentType; import net.minestom.server.command.builder.exception.ArgumentSyntaxException; @@ -16,8 +16,6 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.PrintStream; import java.nio.charset.StandardCharsets; -import java.util.List; -import java.util.stream.Collectors; public class ReloadExtensionCommand extends Command { @@ -43,12 +41,12 @@ public class ReloadExtensionCommand extends Command { addSyntax(this::execute, extension); } - private void usage(CommandSender sender, Arguments arguments) { + private void usage(CommandSender sender, CommandContext context) { sender.sendMessage("Usage: /reload "); } - private void execute(CommandSender sender, Arguments arguments) { - String name = join(arguments.getStringArray("extensionName")); + private void execute(CommandSender sender, CommandContext context) { + String name = join(context.getStringArray("extensionName")); sender.sendMessage("extensionName = " + name + "...."); ExtensionManager extensionManager = MinecraftServer.getExtensionManager(); diff --git a/src/test/java/demo/commands/ShootCommand.java b/src/test/java/demo/commands/ShootCommand.java index 10571404f..eef52c2f0 100644 --- a/src/test/java/demo/commands/ShootCommand.java +++ b/src/test/java/demo/commands/ShootCommand.java @@ -1,8 +1,8 @@ package demo.commands; import net.minestom.server.command.CommandSender; -import net.minestom.server.command.builder.Arguments; import net.minestom.server.command.builder.Command; +import net.minestom.server.command.builder.CommandContext; import net.minestom.server.command.builder.arguments.ArgumentType; import net.minestom.server.command.builder.exception.ArgumentSyntaxException; import net.minestom.server.entity.EntityType; @@ -31,7 +31,7 @@ public class ShootCommand extends Command { return true; } - private void defaultExecutor(CommandSender sender, Arguments args) { + private void defaultExecutor(CommandSender sender, CommandContext context) { sender.sendMessage("Correct usage: shoot [default/spectral/colored]"); } @@ -39,9 +39,9 @@ public class ShootCommand extends Command { sender.sendMessage("SYNTAX ERROR: '" + exception.getInput() + "' should be replaced by 'default', 'spectral' or 'colored'"); } - private void onShootCommand(CommandSender sender, Arguments args) { + private void onShootCommand(CommandSender sender, CommandContext context) { Player player = (Player) sender; - String mode = args.get("type"); + String mode = context.get("type"); EntityProjectile projectile; switch (mode) { case "default": diff --git a/src/test/java/demo/commands/TeleportCommand.java b/src/test/java/demo/commands/TeleportCommand.java index 826f5fadd..1be4d5780 100644 --- a/src/test/java/demo/commands/TeleportCommand.java +++ b/src/test/java/demo/commands/TeleportCommand.java @@ -2,8 +2,8 @@ package demo.commands; import net.minestom.server.MinecraftServer; import net.minestom.server.command.CommandSender; -import net.minestom.server.command.builder.Arguments; import net.minestom.server.command.builder.Command; +import net.minestom.server.command.builder.CommandContext; import net.minestom.server.command.builder.arguments.ArgumentType; import net.minestom.server.entity.Player; import net.minestom.server.utils.Position; @@ -14,7 +14,7 @@ public class TeleportCommand extends Command { public TeleportCommand() { super("tp"); - setDefaultExecutor((source, args) -> source.sendMessage("Usage: /tp x y z")); + setDefaultExecutor((source, context) -> source.sendMessage("Usage: /tp x y z")); var posArg = ArgumentType.RelativeVec3("pos"); var playerArg = ArgumentType.Word("player"); @@ -23,8 +23,8 @@ public class TeleportCommand extends Command { addSyntax(this::onPositionTeleport, posArg); } - private void onPlayerTeleport(CommandSender sender, Arguments args) { - final String playerName = args.get("player"); + private void onPlayerTeleport(CommandSender sender, CommandContext context) { + final String playerName = context.get("player"); Player pl = MinecraftServer.getConnectionManager().getPlayer(playerName); if (pl != null && sender.isPlayer()) { Player player = (Player) sender; @@ -33,10 +33,10 @@ public class TeleportCommand extends Command { sender.sendMessage("Teleported to player " + playerName); } - private void onPositionTeleport(CommandSender sender, Arguments args) { + private void onPositionTeleport(CommandSender sender, CommandContext context) { final Player player = sender.asPlayer(); - final RelativeVec relativeVec = args.get("pos"); + final RelativeVec relativeVec = context.get("pos"); final Position position = relativeVec.from(player).toPosition(); player.teleport(position); diff --git a/src/test/java/demo/commands/TestCommand.java b/src/test/java/demo/commands/TestCommand.java index 1034e2c11..cb8c16661 100644 --- a/src/test/java/demo/commands/TestCommand.java +++ b/src/test/java/demo/commands/TestCommand.java @@ -3,8 +3,8 @@ package demo.commands; import net.minestom.server.chat.ChatColor; import net.minestom.server.chat.ColoredText; import net.minestom.server.command.CommandSender; -import net.minestom.server.command.builder.Arguments; import net.minestom.server.command.builder.Command; +import net.minestom.server.command.builder.CommandContext; import net.minestom.server.command.builder.suggestion.SuggestionEntry; import static net.minestom.server.command.builder.arguments.ArgumentType.Integer; @@ -17,9 +17,18 @@ public class TestCommand extends Command { setDefaultExecutor(this::usage); addSubcommand(new Sub()); + + var test1 = Word("msg").setSuggestionCallback((sender, context, suggestion) -> { + suggestion.addEntry(new SuggestionEntry("test")); + }); + + addSyntax((sender, context) -> { + System.out.println("input: " + context.getInput()); + }, test1); + } - private void usage(CommandSender sender, Arguments arguments) { + private void usage(CommandSender sender, CommandContext context) { sender.sendMessage("Incorrect usage"); } @@ -28,12 +37,14 @@ public class TestCommand extends Command { public Sub() { super("sub"); + setDefaultExecutor((sender, context) -> sender.sendMessage("default sub")); + var test1 = Word("msg").setSuggestionCallback((sender, context, suggestion) -> { final String input = suggestion.getInput(); if (!input.isEmpty()) { int num = Integer.valueOf(input) * 2; suggestion.addEntry(new SuggestionEntry(String.valueOf(num), ColoredText.of(ChatColor.RED, "Hover"))); - System.out.println("test: "+context.get("msg3")); + System.out.println("test: " + context.get("msg3")); } }); diff --git a/src/test/java/demo/commands/TitleCommand.java b/src/test/java/demo/commands/TitleCommand.java index a89ba00dc..82b80b4a3 100644 --- a/src/test/java/demo/commands/TitleCommand.java +++ b/src/test/java/demo/commands/TitleCommand.java @@ -6,9 +6,8 @@ import com.google.gson.JsonParser; import net.minestom.server.chat.ColoredText; import net.minestom.server.chat.JsonMessage; import net.minestom.server.command.CommandSender; -import net.minestom.server.command.builder.Arguments; import net.minestom.server.command.builder.Command; -import net.minestom.server.command.builder.arguments.Argument; +import net.minestom.server.command.builder.CommandContext; import net.minestom.server.command.builder.arguments.ArgumentType; import net.minestom.server.entity.Player; @@ -19,19 +18,19 @@ public class TitleCommand extends Command { source.sendMessage("Unknown syntax (note: title must be quoted)"); }); - Argument content = ArgumentType.String("content"); + var content = ArgumentType.String("content"); addSyntax(this::handleTitle, content); } - private void handleTitle(CommandSender source, Arguments args) { + private void handleTitle(CommandSender source, CommandContext context) { if (!source.isPlayer()) { source.sendMessage("Only players can run this command!"); return; } Player player = source.asPlayer(); - String titleContent = args.get("content"); + String titleContent = context.get("content"); player.sendTitleTime(10, 100, 10); try { diff --git a/src/test/java/demo/commands/UnloadExtensionCommand.java b/src/test/java/demo/commands/UnloadExtensionCommand.java index 86c550ca8..0c350fb20 100644 --- a/src/test/java/demo/commands/UnloadExtensionCommand.java +++ b/src/test/java/demo/commands/UnloadExtensionCommand.java @@ -2,8 +2,8 @@ package demo.commands; import net.minestom.server.MinecraftServer; import net.minestom.server.command.CommandSender; -import net.minestom.server.command.builder.Arguments; import net.minestom.server.command.builder.Command; +import net.minestom.server.command.builder.CommandContext; import net.minestom.server.command.builder.arguments.Argument; import net.minestom.server.command.builder.arguments.ArgumentType; import net.minestom.server.command.builder.exception.ArgumentSyntaxException; @@ -29,12 +29,12 @@ public class UnloadExtensionCommand extends Command { addSyntax(this::execute, extension); } - private void usage(CommandSender sender, Arguments arguments) { + private void usage(CommandSender sender, CommandContext context) { sender.sendMessage("Usage: /unload "); } - private void execute(CommandSender sender, Arguments arguments) { - String name = join(arguments.getStringArray("extensionName")); + private void execute(CommandSender sender, CommandContext context) { + String name = join(context.getStringArray("extensionName")); sender.sendMessage("extensionName = " + name + "...."); ExtensionManager extensionManager = MinecraftServer.getExtensionManager();