version 1.0 release
This commit is contained in:
parent
d439140fd6
commit
4702589c25
@ -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());
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
@ -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<TickMonitor> lastTick = new AtomicReference<>();
|
||||
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
Collection<Player> 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);
|
||||
}
|
||||
|
||||
}
|
@ -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"));
|
||||
|
Reference in New Issue
Block a user