I decided to make a custom command for fun, similar to the /msg command. The code for the command is below:
public class PrivateMessageCommand {
public static void register(CommandDispatcher<CommandSource> dispatcher) {
dispatcher.register(Commands.literal("pm").requires((context) -> {
return context.hasPermissionLevel(0);
}).then(Commands.argument("targets", EntityArgument.players())
.then(Commands.argument("message", MessageArgument.message()).executes((context) -> {
ITextComponent itextcomponent = MessageArgument.getMessage(context, "message");
int i = 0;
for (ServerPlayerEntity serverplayerentity : EntityArgument.getPlayers(context, "targets")) {
serverplayerentity.sendMessage(TextComponentUtils.func_240645_a_(context.getSource(), itextcomponent, serverplayerentity, 0), Util.DUMMY_UUID);
++i;
}
return i;
}))));
}
}
It is supposed to work like the /msg command where the syntax of the command is the following:
/pm <targets> <message>
This works in single player but not on a realm/server, and I don't know why.
The message command can be used without permissions, which I tried to replicate here but returning a permission level of 0, however my command doesn't show up in the prompt when I type it while in a realm.
How do I go about getting my command to work on a server?