mirror of https://github.com/Minestom/Minestom.git
Replace Arguments by CommandContext in demo commands
This commit is contained in:
parent
db02e93429
commit
9c1ff216a1
|
@ -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)}.
|
||||
* <p>
|
||||
* 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 {
|
||||
|
||||
|
|
|
@ -102,7 +102,7 @@ public abstract class Argument<T> {
|
|||
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"));
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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<Entity> entities = entityFinder.find(commandSender);
|
||||
System.out.println("found " + entities.size() + " entities");
|
||||
}
|
||||
|
|
|
@ -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] <gamemode>");
|
||||
}
|
||||
|
||||
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;
|
||||
|
|
|
@ -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":
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 <extension file name>");
|
||||
}
|
||||
|
||||
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);
|
||||
|
|
|
@ -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<Player> players = MinecraftServer.getConnectionManager().getOnlinePlayers();
|
||||
final int playerCount = players.size();
|
||||
sender.sendMessage("Total players: " + playerCount);
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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 <extension name>");
|
||||
}
|
||||
|
||||
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();
|
||||
|
|
|
@ -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":
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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"));
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 <extension name>");
|
||||
}
|
||||
|
||||
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();
|
||||
|
|
Loading…
Reference in New Issue