Initial commit
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
package eu.mhsl.minenet.minigames.command;
|
||||
|
||||
import eu.mhsl.minenet.minigames.command.admin.*;
|
||||
import eu.mhsl.minenet.minigames.command.user.HubCommand;
|
||||
import eu.mhsl.minenet.minigames.command.user.LeaveCommand;
|
||||
import eu.mhsl.minenet.minigames.message.Icon;
|
||||
import eu.mhsl.minenet.minigames.message.type.ChatMessage;
|
||||
import net.minestom.server.MinecraftServer;
|
||||
import net.minestom.server.command.builder.Command;
|
||||
|
||||
public enum Commands {
|
||||
HUB(new HubCommand()),
|
||||
LEAVE(new LeaveCommand()),
|
||||
|
||||
DEBUG(new DebugCommand()),
|
||||
FLY(new FlyCommand()),
|
||||
GAMEMODE(new GamemodeCommand()),
|
||||
GC(new GcCommand()),
|
||||
LANGTEST(new LangTestCommand()),
|
||||
ROOM(new RoomCommand()),
|
||||
UPDATE(new UpdateCommand());
|
||||
|
||||
Commands(Command handler) {
|
||||
MinecraftServer.getCommandManager().register(handler);
|
||||
}
|
||||
|
||||
static {
|
||||
MinecraftServer.getCommandManager().setUnknownCommandCallback((sender, command) -> {
|
||||
if(command.isBlank()) return;
|
||||
new ChatMessage(Icon.ERROR).appendStatic("Unknown command").quote(command).send(sender);
|
||||
});
|
||||
}
|
||||
}
|
@@ -0,0 +1,23 @@
|
||||
package eu.mhsl.minenet.minigames.command.admin;
|
||||
|
||||
import eu.mhsl.minenet.minigames.message.Icon;
|
||||
import eu.mhsl.minenet.minigames.message.type.ActionBarMessage;
|
||||
import eu.mhsl.minenet.minigames.message.type.ChatMessage;
|
||||
import eu.mhsl.minenet.minigames.message.type.TitleMessage;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.minestom.server.command.builder.Command;
|
||||
|
||||
public class DebugCommand extends Command {
|
||||
public DebugCommand() {
|
||||
super("debug");
|
||||
|
||||
setCondition((sender, commandString) -> sender.hasPermission("admin"));
|
||||
|
||||
setDefaultExecutor((sender, args) -> {
|
||||
new ChatMessage(Icon.CHAT).appendTranslated("sample").send(sender);
|
||||
new ActionBarMessage().appendTranslated("sample").send(sender);
|
||||
new TitleMessage().subtitle(subtitleMessage -> subtitleMessage.appendTranslated("sample")).appendTranslated("sample").send(sender);
|
||||
});
|
||||
|
||||
}
|
||||
}
|
@@ -0,0 +1,20 @@
|
||||
package eu.mhsl.minenet.minigames.command.admin;
|
||||
|
||||
import net.minestom.server.command.builder.Command;
|
||||
import net.minestom.server.coordinate.Vec;
|
||||
import net.minestom.server.entity.Player;
|
||||
|
||||
public class FlyCommand extends Command {
|
||||
public FlyCommand() {
|
||||
super("fly");
|
||||
|
||||
setCondition((sender, commandString) -> sender.hasPermission("admin"));
|
||||
|
||||
setDefaultExecutor((sender, context) -> {
|
||||
Player p = (Player) sender;
|
||||
p.setVelocity(new Vec(0, 5, 0));
|
||||
p.setFlying(!p.isFlying());
|
||||
p.setAllowFlying(!p.isAllowFlying());
|
||||
});
|
||||
}
|
||||
}
|
@@ -0,0 +1,18 @@
|
||||
package eu.mhsl.minenet.minigames.command.admin;
|
||||
|
||||
import net.minestom.server.command.builder.Command;
|
||||
import net.minestom.server.command.builder.arguments.ArgumentType;
|
||||
import net.minestom.server.entity.GameMode;
|
||||
import net.minestom.server.entity.Player;
|
||||
|
||||
public class GamemodeCommand extends Command {
|
||||
public GamemodeCommand() {
|
||||
super("gamemode", "gm");
|
||||
|
||||
setCondition((sender, commandString) -> sender.hasPermission("admin"));
|
||||
|
||||
addSyntax((sender, context) -> {
|
||||
((Player) sender).setGameMode(context.get("target"));
|
||||
}, ArgumentType.Enum("target", GameMode.class));
|
||||
}
|
||||
}
|
@@ -0,0 +1,35 @@
|
||||
package eu.mhsl.minenet.minigames.command.admin;
|
||||
|
||||
import eu.mhsl.minenet.minigames.message.type.ChatMessage;
|
||||
import eu.mhsl.minenet.minigames.message.Icon;
|
||||
import eu.mhsl.minenet.minigames.util.Monitoring;
|
||||
import net.minestom.server.command.builder.Command;
|
||||
|
||||
public class GcCommand extends Command {
|
||||
private static long lastRun = System.currentTimeMillis();
|
||||
public GcCommand() {
|
||||
super("gc");
|
||||
|
||||
setCondition((sender, commandString) -> sender.hasPermission("admin"));
|
||||
|
||||
setDefaultExecutor((sender, context) -> {
|
||||
long nextRun = (long) (lastRun - (System.currentTimeMillis() - 30*1000)) / 1000;
|
||||
if(nextRun > 0) {
|
||||
new ChatMessage(Icon.ERROR).appendStatic("Please wait ").appendStatic(String.valueOf(nextRun)).appendStatic(" seconds before running GC again!").send(sender);
|
||||
return;
|
||||
}
|
||||
|
||||
lastRun = System.currentTimeMillis();
|
||||
|
||||
long before = Monitoring.getRamUsage();
|
||||
System.gc();
|
||||
long after = Monitoring.getRamUsage();
|
||||
|
||||
new ChatMessage(Icon.SUCCESS).appendStatic("Garbage collector ran successfully!").indent(1).newLine()
|
||||
.appendStatic("before: ").appendStatic(String.valueOf(before)).appendStatic("MB").newLine()
|
||||
.appendStatic("now: ").appendStatic(String.valueOf(after)).appendStatic("MB").indent(1).newLine()
|
||||
.appendStatic("difference: ").appendStatic(String.valueOf(before-after)).appendStatic("MB")
|
||||
.send(sender);
|
||||
});
|
||||
}
|
||||
}
|
@@ -0,0 +1,32 @@
|
||||
package eu.mhsl.minenet.minigames.command.admin;
|
||||
|
||||
import eu.mhsl.minenet.minigames.lang.Languages;
|
||||
import eu.mhsl.minenet.minigames.lang.Lang;
|
||||
import eu.mhsl.minenet.minigames.message.Icon;
|
||||
import eu.mhsl.minenet.minigames.message.TranslatableMessage;
|
||||
import eu.mhsl.minenet.minigames.message.type.ChatMessage;
|
||||
import net.minestom.server.command.builder.Command;
|
||||
import net.minestom.server.command.builder.arguments.ArgumentType;
|
||||
import net.minestom.server.entity.Player;
|
||||
|
||||
public class LangTestCommand extends Command {
|
||||
public LangTestCommand() {
|
||||
super("langtest");
|
||||
|
||||
setCondition((sender, commandString) -> sender.hasPermission("admin"));
|
||||
|
||||
setDefaultExecutor((sender, context) -> {
|
||||
sendMessage(Languages.getInstance().getLanguage((Player) sender), "sample").send(sender);
|
||||
});
|
||||
|
||||
var targetString = ArgumentType.String("mapId");
|
||||
|
||||
addSyntax((sender, context) -> {
|
||||
sendMessage(Languages.getInstance().getLanguage((Player) sender), context.get("mapId")).send(sender);
|
||||
}, targetString);
|
||||
}
|
||||
|
||||
private TranslatableMessage sendMessage(Lang lang, String mapId) {
|
||||
return new ChatMessage(Icon.SCIENCE).appendStatic(lang.getLangId()).newLine().appendTranslated(lang.getEntry(mapId));
|
||||
}
|
||||
}
|
@@ -0,0 +1,35 @@
|
||||
package eu.mhsl.minenet.minigames.command.admin;
|
||||
|
||||
import eu.mhsl.minenet.minigames.message.Icon;
|
||||
import eu.mhsl.minenet.minigames.message.TranslatableMessage;
|
||||
import eu.mhsl.minenet.minigames.message.type.ChatMessage;
|
||||
import eu.mhsl.minenet.minigames.instance.room.Room;
|
||||
import net.minestom.server.command.builder.Command;
|
||||
import net.minestom.server.entity.Player;
|
||||
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class RoomCommand extends Command {
|
||||
public RoomCommand() {
|
||||
super("room");
|
||||
|
||||
setCondition((sender, commandString) -> sender.hasPermission("admin"));
|
||||
|
||||
setDefaultExecutor((sender, context) -> {
|
||||
TranslatableMessage out = new ChatMessage(Icon.SCIENCE).appendStatic("Rooms:").indent(1).newLine();
|
||||
|
||||
Room.getAllRooms().forEach((roomInstance) -> {
|
||||
out
|
||||
.newLine()
|
||||
.appendStatic("Owner: ").appendStatic(roomInstance.getOwner().getUsername()).newLine()
|
||||
.appendStatic("Players: ").appendStatic(String.valueOf(roomInstance.getAllMembers().size())).indent(1).newLine()
|
||||
.list(roomInstance.getAllMembers().stream().map(Player::getUsername).collect(Collectors.toList())).indent(-1).newLine();
|
||||
});
|
||||
|
||||
out.send(sender);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@@ -0,0 +1,19 @@
|
||||
package eu.mhsl.minenet.minigames.command.admin;
|
||||
|
||||
import eu.mhsl.minenet.minigames.message.type.ChatMessage;
|
||||
import eu.mhsl.minenet.minigames.message.Icon;
|
||||
import net.minestom.server.command.builder.Command;
|
||||
import net.minestom.server.entity.Player;
|
||||
|
||||
public class UpdateCommand extends Command {
|
||||
public UpdateCommand() {
|
||||
super("update");
|
||||
|
||||
setCondition((sender, commandString) -> sender.hasPermission("admin"));
|
||||
|
||||
setDefaultExecutor((sender, context) -> {
|
||||
((Player) sender).refreshCommands();
|
||||
new ChatMessage(Icon.SUCCESS).appendStatic("Updated command syntax!").send(sender);
|
||||
});
|
||||
}
|
||||
}
|
@@ -0,0 +1,19 @@
|
||||
package eu.mhsl.minenet.minigames.command.user;
|
||||
|
||||
import eu.mhsl.minenet.minigames.util.MoveInstance;
|
||||
import eu.mhsl.minenet.minigames.instance.hub.HubInstance;
|
||||
import eu.mhsl.minenet.minigames.instance.room.Room;
|
||||
import net.minestom.server.command.builder.Command;
|
||||
import net.minestom.server.entity.Player;
|
||||
|
||||
public class HubCommand extends Command {
|
||||
public HubCommand() {
|
||||
super("hub");
|
||||
|
||||
setCondition((sender, commandString) -> ((Player) sender).getInstance() instanceof Room);
|
||||
|
||||
setDefaultExecutor((sender, context) -> {
|
||||
MoveInstance.move((Player) sender, HubInstance.INSTANCE);
|
||||
});
|
||||
}
|
||||
}
|
@@ -0,0 +1,18 @@
|
||||
package eu.mhsl.minenet.minigames.command.user;
|
||||
|
||||
import eu.mhsl.minenet.minigames.instance.game.Game;
|
||||
import eu.mhsl.minenet.minigames.instance.room.Room;
|
||||
import net.minestom.server.command.builder.Command;
|
||||
import net.minestom.server.entity.Player;
|
||||
|
||||
public class LeaveCommand extends Command {
|
||||
public LeaveCommand() {
|
||||
super("leave");
|
||||
|
||||
setCondition((sender, commandString) -> ((Player) sender).getInstance() instanceof Game);
|
||||
|
||||
setDefaultExecutor((sender, context) -> {
|
||||
Room.setOwnRoom((Player) sender);
|
||||
});
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user