.
This commit is contained in:
parent
0cda14e3cc
commit
feafe2af62
3 changed files with 21 additions and 11 deletions
|
|
@ -3,6 +3,7 @@ package de.kentoj.scrow.corevelocity;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.velocitypowered.api.plugin.Plugin;
|
import com.velocitypowered.api.plugin.Plugin;
|
||||||
import com.velocitypowered.api.proxy.ProxyServer;
|
import com.velocitypowered.api.proxy.ProxyServer;
|
||||||
|
import de.kentoj.scrow.corevelocity.command.OnlineCommand;
|
||||||
import de.kentoj.scrow.corevelocity.privmsg.LastTargetCache;
|
import de.kentoj.scrow.corevelocity.privmsg.LastTargetCache;
|
||||||
import de.kentoj.scrow.corevelocity.privmsg.MsgCommand;
|
import de.kentoj.scrow.corevelocity.privmsg.MsgCommand;
|
||||||
import de.kentoj.scrow.corevelocity.privmsg.ReplyCommand;
|
import de.kentoj.scrow.corevelocity.privmsg.ReplyCommand;
|
||||||
|
|
@ -26,6 +27,7 @@ public class CoreVelocityPlugin {
|
||||||
var lastTargetCache = new LastTargetCache();
|
var lastTargetCache = new LastTargetCache();
|
||||||
cmds.register(new ReplyCommand(server, lastTargetCache).getRootNode());
|
cmds.register(new ReplyCommand(server, lastTargetCache).getRootNode());
|
||||||
cmds.register(new MsgCommand(server, lastTargetCache).getRootNode());
|
cmds.register(new MsgCommand(server, lastTargetCache).getRootNode());
|
||||||
|
cmds.register(new OnlineCommand(server).getRootNode());
|
||||||
}
|
}
|
||||||
|
|
||||||
var registerWatchdog = new ServerRegisterWatchdog(ScrowAPI.getNats(), ScrowAPI.getServerManager(), server);
|
var registerWatchdog = new ServerRegisterWatchdog(ScrowAPI.getNats(), ScrowAPI.getServerManager(), server);
|
||||||
|
|
|
||||||
|
|
@ -1,27 +1,35 @@
|
||||||
package de.kentoj.scrow.corevelocity.command;
|
package de.kentoj.scrow.corevelocity.command;
|
||||||
|
|
||||||
import com.velocitypowered.api.command.CommandManager;
|
import com.velocitypowered.api.command.CommandSource;
|
||||||
import com.velocitypowered.api.command.CommandMeta;
|
|
||||||
import com.velocitypowered.api.command.SimpleCommand;
|
|
||||||
import com.velocitypowered.api.proxy.ProxyServer;
|
import com.velocitypowered.api.proxy.ProxyServer;
|
||||||
|
import de.kentoj.kencommandapi.VelocityCommandContext;
|
||||||
|
import de.kentoj.kencommandapi.api.nodes.CommandNode;
|
||||||
|
import de.kentoj.kencommandapi.api.processing.CommandExecutor;
|
||||||
|
import de.kentoj.scrow.velocity.ScrowAPI;
|
||||||
|
import lombok.Getter;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
|
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class OnlineCommand implements SimpleCommand {
|
public class OnlineCommand implements CommandExecutor<CommandSource, VelocityCommandContext> {
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
private final CommandNode<CommandSource, VelocityCommandContext> rootNode;
|
||||||
|
|
||||||
private final ProxyServer server;
|
private final ProxyServer server;
|
||||||
|
|
||||||
|
public OnlineCommand(ProxyServer server) {
|
||||||
|
this.server = server;
|
||||||
|
rootNode = ScrowAPI.getCommandApi().createNode("online");
|
||||||
|
rootNode.setExecutor(this);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute(Invocation invocation) {
|
public void execute(VelocityCommandContext ctx) {
|
||||||
int cnt = server.getPlayerCount();
|
int cnt = server.getPlayerCount();
|
||||||
var msg = cnt != 1
|
var msg = cnt != 1
|
||||||
? "There are currently " + cnt + " players online"
|
? "There are currently " + cnt + " players online"
|
||||||
: "There is currently 1 player online";
|
: "There is currently 1 player online";
|
||||||
invocation.source().sendMessage(Component.text(msg));
|
ctx.getPlayerSender().sendMessage(Component.text(msg));
|
||||||
}
|
|
||||||
|
|
||||||
public static CommandMeta commandMeta(CommandManager cmds) {
|
|
||||||
return cmds.metaBuilder("online").build();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ public class MsgCommand implements CommandExecutor<CommandSource, VelocityComman
|
||||||
var cmds = ScrowAPI.getCommandApi();
|
var cmds = ScrowAPI.getCommandApi();
|
||||||
targetArg = cmds.createArgument("target", new PlayerArgumentType(server));
|
targetArg = cmds.createArgument("target", new PlayerArgumentType(server));
|
||||||
msgArg = cmds.createArgument("msg", new StringArgumentType<>(true));
|
msgArg = cmds.createArgument("msg", new StringArgumentType<>(true));
|
||||||
rootNode = cmds.createNode("msg", "w");
|
rootNode = cmds.createNode("msg", "w", "privmsg");
|
||||||
rootNode.setExecutor(this);
|
rootNode.setExecutor(this);
|
||||||
rootNode.addArgument(targetArg);
|
rootNode.addArgument(targetArg);
|
||||||
rootNode.addArgument(msgArg);
|
rootNode.addArgument(msgArg);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue