diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java index 41337f3..2fad2a7 100755 --- a/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java +++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java @@ -2,12 +2,11 @@ package eu.mhsl.craftattack.worldmuseum; import eu.mhsl.craftattack.worldmuseum.commands.GamemodeCommand; import eu.mhsl.craftattack.worldmuseum.items.ItemManager; -import eu.mhsl.craftattack.worldmuseum.temp.GcCommand; import eu.mhsl.craftattack.worldmuseum.commands.SpawnCommand; import eu.mhsl.craftattack.worldmuseum.commands.TeleportCommand; import eu.mhsl.craftattack.worldmuseum.listener.*; import eu.mhsl.craftattack.worldmuseum.skins.SkinCache; -import eu.mhsl.craftattack.worldmuseum.temp.TablistUpdateTask; +import eu.mhsl.craftattack.worldmuseum.util.TablistUpdateTask; import eu.mhsl.craftattack.worldmuseum.util.Config; import eu.mhsl.craftattack.worldmuseum.util.MuseumPlayer; import eu.mhsl.craftattack.worldmuseum.handler.SignHandler; @@ -20,19 +19,20 @@ import net.minestom.server.event.inventory.InventoryPreClickEvent; import net.minestom.server.event.item.ItemDropEvent; import net.minestom.server.event.player.*; import net.minestom.server.timer.TaskSchedule; + import java.time.Duration; public class Main { static int PORT = 25565; - static String IP = "0.0.0.0"; + static final String IP = "0.0.0.0"; public static void main(String[] args) { // Initialization - System.setProperty("minestom.chunk-view-distance", "8"); + System.setProperty("minestom.chunk-view-distance", "16"); MinecraftServer minecraftServer = MinecraftServer.init(); MinecraftServer.getConnectionManager().setPlayerProvider(MuseumPlayer::new); - //temp + //update Taskbar MinecraftServer.getSchedulerManager().scheduleTask(new TablistUpdateTask(), TaskSchedule.tick(20), TaskSchedule.tick(20)); //load eu.mhsl.craftattack.worldmuseum.worlds / configExample file @@ -66,7 +66,6 @@ public class Main { //commands MinecraftServer.getCommandManager().register(new TeleportCommand()); - MinecraftServer.getCommandManager().register(new GcCommand()); MinecraftServer.getCommandManager().register(new GamemodeCommand()); MinecraftServer.getCommandManager().register(new SpawnCommand()); diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/commands/TeleportCommand.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/commands/TeleportCommand.java index e5d1cb1..86cca77 100644 --- a/src/main/java/eu/mhsl/craftattack/worldmuseum/commands/TeleportCommand.java +++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/commands/TeleportCommand.java @@ -9,7 +9,7 @@ import java.util.Objects; public class TeleportCommand extends Command { public TeleportCommand() { - super("tp","teleport"); + super("tp"); var cordinate = ArgumentType.RelativeBlockPosition("Koordinate"); addSyntax(((sender, context) -> { @@ -18,7 +18,7 @@ public class TeleportCommand extends Command { player.teleport(pos); }), cordinate); - var playerArgument = ArgumentType.Entity("Spieler").onlyPlayers(true); + var playerArgument = ArgumentType.Entity("Spieler").onlyPlayers(true).singleEntity(true); addSyntax(((sender, context) -> { if (context.get(playerArgument).find(sender).size() == 0) return; //check if player is online Player targetPlayer = (Player) context.get(playerArgument).find(sender).get(0); diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/temp/GcCommand.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/temp/GcCommand.java deleted file mode 100644 index 37bb9b5..0000000 --- a/src/main/java/eu/mhsl/craftattack/worldmuseum/temp/GcCommand.java +++ /dev/null @@ -1,39 +0,0 @@ -package eu.mhsl.craftattack.worldmuseum.temp; - -import net.minestom.server.command.builder.Command; - -public class GcCommand extends Command { - private static long lastRun = System.currentTimeMillis(); - private static final Runtime runtime = Runtime.getRuntime(); - - public GcCommand() { - super("gc"); - -// setCondition((sender, commandString) -> sender.hasPermission("admin")); - - setDefaultExecutor((sender, context) -> { - long nextRun = (lastRun - (System.currentTimeMillis() - 30*1000)) / 1000; - if(nextRun > 0) { - sender.sendMessage("pls wait"); - // 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 = getRamUsage(); - System.gc(); - long after = getRamUsage(); - - sender.sendMessage("before: " + before + " now: " + after); -// 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); - }); - } - public static long getRamUsage() { - return (runtime.totalMemory() - runtime.freeMemory()) / 1024 / 1024; - } -} diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/temp/TablistUpdateTask.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/util/TablistUpdateTask.java similarity index 55% rename from src/main/java/eu/mhsl/craftattack/worldmuseum/temp/TablistUpdateTask.java rename to src/main/java/eu/mhsl/craftattack/worldmuseum/util/TablistUpdateTask.java index 8aaf620..631a49d 100644 --- a/src/main/java/eu/mhsl/craftattack/worldmuseum/temp/TablistUpdateTask.java +++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/util/TablistUpdateTask.java @@ -1,4 +1,4 @@ -package eu.mhsl.craftattack.worldmuseum.temp; +package eu.mhsl.craftattack.worldmuseum.util; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; @@ -10,10 +10,6 @@ import java.util.Collection; import java.util.concurrent.atomic.AtomicReference; public class TablistUpdateTask implements Runnable { - private static final Runtime runtime = Runtime.getRuntime(); - private static final AtomicReference lastTick = new AtomicReference<>(); - - @Override public void run() { Collection players = MinecraftServer.getConnectionManager().getOnlinePlayers(); @@ -21,11 +17,8 @@ public class TablistUpdateTask implements Runnable { final Component header = Component.newline() - .append(Component.text("MineNet Network", NamedTextColor.GOLD)) + .append(Component.text(" Welten-Museum ", NamedTextColor.GOLD)) .append(Component.newline()).append(Component.text("Players: " + players.size())) - .append(Component.newline()) - .append(Component.newline()).append(Component.text("RAM: " + getRamUsage() + " MB", NamedTextColor.GRAY)) - .append(Component.newline()).append(Component.text("TICK: " + getTickMonitor().getTickTime() + "ms", NamedTextColor.GRAY)) .append(Component.newline()); final Component footer = @@ -35,11 +28,4 @@ public class TablistUpdateTask implements Runnable { Audiences.players().sendPlayerListHeaderAndFooter(header, footer); } - public static long getRamUsage() { - return (runtime.totalMemory() - runtime.freeMemory()) / 1024 / 1024; - } - public static TickMonitor getTickMonitor() { - return lastTick.get() != null ? lastTick.get() : new TickMonitor(0, 0); - } - } diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/worlds/World.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/worlds/World.java index fd10118..7fdf3d2 100755 --- a/src/main/java/eu/mhsl/craftattack/worldmuseum/worlds/World.java +++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/worlds/World.java @@ -20,19 +20,6 @@ public class World extends InstanceContainer { private String name = "default"; private Pos spawn = new Pos(0,0,0); private boolean enabled = false; - private final String defaultConfig = "{\n" + - " \"enabled\": false,\n" + - " \"name\": \"DEFAULT_NAME\",\n" + - " \"material\": \"GRASS_BLOCK\",\n" + - " \"spawn\": {\n" + - " \"x\": 0,\n" + - " \"y\": 0,\n" + - " \"z\": 0\n" + - " },\n" + - " \"tags\": [\n" + - " \"RANDOM_TAG\"\n" + - " ]\n" + - "}"; static { MinecraftServer.getDimensionTypeManager().addDimension(dimension); @@ -47,6 +34,20 @@ public class World extends InstanceContainer { File checkFile = new File(file.getPath() + "/config.json"); if (checkFile.createNewFile()) { FileWriter fileWriter = new FileWriter(file.getPath() + "/config.json"); + String defaultConfig = """ + { + "enabled": false, + "name": "DEFAULT_NAME", + "material": "GRASS_BLOCK", + "spawn": { + "x": 0, + "y": 0, + "z": 0 + }, + "tags": [ + "RANDOM_TAG" + ] + }"""; fileWriter.write(defaultConfig); fileWriter.close(); } @@ -54,7 +55,6 @@ public class World extends InstanceContainer { e.printStackTrace(); } - Material material = Material.GRASS_BLOCK; try { JsonObject config = (JsonObject) JsonParser.parseReader(new FileReader(file.getPath() + "/config.json"));