Skip to content

Instantly share code, notes, and snippets.

@Timongcraft
Last active August 21, 2023 14:43
Show Gist options
  • Save Timongcraft/5649c36b4d290eaed0bfe01240bddac0 to your computer and use it in GitHub Desktop.
Save Timongcraft/5649c36b4d290eaed0bfe01240bddac0 to your computer and use it in GitHub Desktop.
Here is a msg command with the [CommandAPI](https://commandapi.jorel.dev) v9.0.0 to prevent chat reporting
import dev.jorel.commandapi.CommandAPI;
import dev.jorel.commandapi.CommandTree;
import dev.jorel.commandapi.arguments.GreedyStringArgument;
import dev.jorel.commandapi.executors.CommandArguments;
import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.command.BlockCommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player;
import timongcraft.system.Main;
import timongcraft.system.commands.ReplyCommand;
import timongcraft.system.util.CoordsMessageUtils;
import timongcraft.system.util.PlayerOnlyArgument;
public class MsgCommand {
public static void register() {
CommandAPI.unregister("msg", true);
CommandAPI.unregister("minecraft:msg", true);
CommandAPI.unregister("tell", true);
CommandAPI.unregister("minecraft:tell", true);
CommandAPI.unregister("w", true);
CommandAPI.unregister("minecraft:w", true);
new CommandTree("msg")
.withShortDescription("Send a private message to a player")
.withUsage("/msg <target> <message>")
.withAliases("tell", "w")
.then(new PlayerOnlyArgument("target")
.then(new GreedyStringArgument("message")
.executesPlayer(MsgCommand::playerMsgManager)
.executesCommandBlock(MsgCommand::commandBlockManager)
.executesConsole(MsgCommand::consoleMsgManager)))
.register();
}
private static int playerMsgManager(Player sender, CommandArguments args) {
Player target = (Player) args.get("target");
String message = (String) args.get("message");
sender.sendMessage("§7§oYou whisper to " + target.getName() + ": " + message);
target.sendMessage("§7§o" + sender.getName() + " whispers to you: " + message);
return 1;
}
private static int consoleMsgManager(ConsoleCommandSender sender, CommandArguments args) {
Player target = (Player) args.get("target");
String message = (String) args.get("message");
sender.sendMessage("§7§oYou whisper to " + target.getName() + ": " + message);
target.sendMessage("§7§oServer whispers to you: " + message);
return 1;
}
private static int commandBlockManager(BlockCommandSender sender, CommandArguments args) {
Player target = (Player) args.get("target");
String message = (String) args.get("message");
sender.sendMessage("§7§oYou whisper to " + target.getName() + message);
target.sendMessage("§7§o@ whispers to you: " + message);
return 1;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment