clean up
This commit is contained in:
parent
fa048402da
commit
d439140fd6
@ -9,7 +9,7 @@ import eu.mhsl.craftattack.worldmuseum.listener.*;
|
|||||||
import eu.mhsl.craftattack.worldmuseum.skins.SkinCache;
|
import eu.mhsl.craftattack.worldmuseum.skins.SkinCache;
|
||||||
import eu.mhsl.craftattack.worldmuseum.temp.TablistUpdateTask;
|
import eu.mhsl.craftattack.worldmuseum.temp.TablistUpdateTask;
|
||||||
import eu.mhsl.craftattack.worldmuseum.util.Config;
|
import eu.mhsl.craftattack.worldmuseum.util.Config;
|
||||||
import eu.mhsl.craftattack.worldmuseum.util.NewPlayer;
|
import eu.mhsl.craftattack.worldmuseum.util.MuseumPlayer;
|
||||||
import eu.mhsl.craftattack.worldmuseum.handler.SignHandler;
|
import eu.mhsl.craftattack.worldmuseum.handler.SignHandler;
|
||||||
import eu.mhsl.craftattack.worldmuseum.worlds.World;
|
import eu.mhsl.craftattack.worldmuseum.worlds.World;
|
||||||
import eu.mhsl.craftattack.worldmuseum.worlds.WorldManager;
|
import eu.mhsl.craftattack.worldmuseum.worlds.WorldManager;
|
||||||
@ -30,10 +30,10 @@ public class Main {
|
|||||||
// Initialization
|
// Initialization
|
||||||
System.setProperty("minestom.chunk-view-distance", "8");
|
System.setProperty("minestom.chunk-view-distance", "8");
|
||||||
MinecraftServer minecraftServer = MinecraftServer.init();
|
MinecraftServer minecraftServer = MinecraftServer.init();
|
||||||
|
MinecraftServer.getConnectionManager().setPlayerProvider(MuseumPlayer::new);
|
||||||
|
|
||||||
//temp
|
//temp
|
||||||
MinecraftServer.getSchedulerManager().scheduleTask(new TablistUpdateTask(), TaskSchedule.tick(20), TaskSchedule.tick(20));
|
MinecraftServer.getSchedulerManager().scheduleTask(new TablistUpdateTask(), TaskSchedule.tick(20), TaskSchedule.tick(20));
|
||||||
MinecraftServer.getConnectionManager().setPlayerProvider(NewPlayer::new);
|
|
||||||
|
|
||||||
//load eu.mhsl.craftattack.worldmuseum.worlds / configExample file
|
//load eu.mhsl.craftattack.worldmuseum.worlds / configExample file
|
||||||
WorldManager worldManager = WorldManager.getInstance();
|
WorldManager worldManager = WorldManager.getInstance();
|
||||||
@ -60,7 +60,6 @@ public class Main {
|
|||||||
//Handlers
|
//Handlers
|
||||||
MinecraftServer.getBlockManager().registerHandler("minecraft:sign", SignHandler::new);
|
MinecraftServer.getBlockManager().registerHandler("minecraft:sign", SignHandler::new);
|
||||||
|
|
||||||
|
|
||||||
//canceled Events
|
//canceled Events
|
||||||
globalEventHandler.addListener(PlayerSwapItemEvent.class, new EventCancel<>());
|
globalEventHandler.addListener(PlayerSwapItemEvent.class, new EventCancel<>());
|
||||||
globalEventHandler.addListener(ItemDropEvent.class, new EventCancel<>());
|
globalEventHandler.addListener(ItemDropEvent.class, new EventCancel<>());
|
||||||
@ -72,7 +71,7 @@ public class Main {
|
|||||||
MinecraftServer.getCommandManager().register(new SpawnCommand());
|
MinecraftServer.getCommandManager().register(new SpawnCommand());
|
||||||
|
|
||||||
globalEventHandler.addListener(PlayerLoginEvent.class, event -> {
|
globalEventHandler.addListener(PlayerLoginEvent.class, event -> {
|
||||||
final NewPlayer player = (NewPlayer) event.getPlayer();
|
final MuseumPlayer player = (MuseumPlayer) event.getPlayer();
|
||||||
player.setSyncCooldown(Duration.ofSeconds(3));
|
player.setSyncCooldown(Duration.ofSeconds(3));
|
||||||
SkinCache.setSkin(player);
|
SkinCache.setSkin(player);
|
||||||
event.setSpawningInstance(startworld);
|
event.setSpawningInstance(startworld);
|
||||||
|
@ -5,7 +5,6 @@ import net.minestom.server.coordinate.Point;
|
|||||||
import net.minestom.server.event.player.PlayerBlockBreakEvent;
|
import net.minestom.server.event.player.PlayerBlockBreakEvent;
|
||||||
import net.minestom.server.instance.block.Block;
|
import net.minestom.server.instance.block.Block;
|
||||||
import net.minestom.server.timer.TaskSchedule;
|
import net.minestom.server.timer.TaskSchedule;
|
||||||
|
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
public class BlockBreakListener implements Consumer<PlayerBlockBreakEvent> {
|
public class BlockBreakListener implements Consumer<PlayerBlockBreakEvent> {
|
||||||
|
@ -2,7 +2,6 @@ package eu.mhsl.craftattack.worldmuseum.listener;
|
|||||||
|
|
||||||
import eu.mhsl.craftattack.worldmuseum.worlds.World;
|
import eu.mhsl.craftattack.worldmuseum.worlds.World;
|
||||||
import net.minestom.server.event.player.PlayerBlockPlaceEvent;
|
import net.minestom.server.event.player.PlayerBlockPlaceEvent;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package eu.mhsl.craftattack.worldmuseum.listener;
|
package eu.mhsl.craftattack.worldmuseum.listener;
|
||||||
|
|
||||||
import net.minestom.server.event.player.PlayerChunkUnloadEvent;
|
import net.minestom.server.event.player.PlayerChunkUnloadEvent;
|
||||||
|
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
public class ChunkUnloading implements Consumer<PlayerChunkUnloadEvent> {
|
public class ChunkUnloading implements Consumer<PlayerChunkUnloadEvent> {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package eu.mhsl.craftattack.worldmuseum.listener;
|
package eu.mhsl.craftattack.worldmuseum.listener;
|
||||||
|
|
||||||
import net.minestom.server.event.player.PlayerDisconnectEvent;
|
import net.minestom.server.event.player.PlayerDisconnectEvent;
|
||||||
|
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
public class DisconnectListener implements Consumer<PlayerDisconnectEvent> {
|
public class DisconnectListener implements Consumer<PlayerDisconnectEvent> {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package eu.mhsl.craftattack.worldmuseum.listener;
|
package eu.mhsl.craftattack.worldmuseum.listener;
|
||||||
|
|
||||||
import net.minestom.server.event.trait.CancellableEvent;
|
import net.minestom.server.event.trait.CancellableEvent;
|
||||||
|
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
public class EventCancel<T extends CancellableEvent> implements Consumer<T> {
|
public class EventCancel<T extends CancellableEvent> implements Consumer<T> {
|
||||||
|
@ -1,18 +1,17 @@
|
|||||||
package eu.mhsl.craftattack.worldmuseum.listener;
|
package eu.mhsl.craftattack.worldmuseum.listener;
|
||||||
|
|
||||||
import eu.mhsl.craftattack.worldmuseum.util.NewPlayer;
|
import eu.mhsl.craftattack.worldmuseum.util.MuseumPlayer;
|
||||||
import eu.mhsl.craftattack.worldmuseum.util.ChangeWorld;
|
import eu.mhsl.craftattack.worldmuseum.util.ChangeWorld;
|
||||||
import eu.mhsl.craftattack.worldmuseum.worlds.World;
|
import eu.mhsl.craftattack.worldmuseum.worlds.World;
|
||||||
import eu.mhsl.craftattack.worldmuseum.worlds.WorldManager;
|
import eu.mhsl.craftattack.worldmuseum.worlds.WorldManager;
|
||||||
import net.minestom.server.event.inventory.InventoryPreClickEvent;
|
import net.minestom.server.event.inventory.InventoryPreClickEvent;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
public class InventoryClickListener implements Consumer<InventoryPreClickEvent> {
|
public class InventoryClickListener implements Consumer<InventoryPreClickEvent> {
|
||||||
@Override
|
@Override
|
||||||
public void accept(InventoryPreClickEvent inventoryPreClickEvent) {
|
public void accept(InventoryPreClickEvent inventoryPreClickEvent) {
|
||||||
NewPlayer p = (NewPlayer) inventoryPreClickEvent.getPlayer();
|
MuseumPlayer p = (MuseumPlayer) inventoryPreClickEvent.getPlayer();
|
||||||
WorldManager worldManager = WorldManager.getInstance();
|
WorldManager worldManager = WorldManager.getInstance();
|
||||||
|
|
||||||
for (World w : worldManager.getWorlds()) {
|
for (World w : worldManager.getWorlds()) {
|
||||||
|
@ -1,19 +1,18 @@
|
|||||||
package eu.mhsl.craftattack.worldmuseum.listener;
|
package eu.mhsl.craftattack.worldmuseum.listener;
|
||||||
|
|
||||||
import eu.mhsl.craftattack.worldmuseum.items.ItemManager;
|
import eu.mhsl.craftattack.worldmuseum.items.ItemManager;
|
||||||
import eu.mhsl.craftattack.worldmuseum.util.NewPlayer;
|
import eu.mhsl.craftattack.worldmuseum.util.MuseumPlayer;
|
||||||
import eu.mhsl.craftattack.worldmuseum.worlds.World;
|
import eu.mhsl.craftattack.worldmuseum.worlds.World;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.minestom.server.event.player.PlayerUseItemEvent;
|
import net.minestom.server.event.player.PlayerUseItemEvent;
|
||||||
import net.minestom.server.item.ItemStack;
|
import net.minestom.server.item.ItemStack;
|
||||||
|
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
public class ItemUseListener implements Consumer<PlayerUseItemEvent> {
|
public class ItemUseListener implements Consumer<PlayerUseItemEvent> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void accept(PlayerUseItemEvent playerUseItemEvent) {
|
public void accept(PlayerUseItemEvent playerUseItemEvent) {
|
||||||
NewPlayer p = (NewPlayer) playerUseItemEvent.getPlayer();
|
MuseumPlayer p = (MuseumPlayer) playerUseItemEvent.getPlayer();
|
||||||
ItemStack usedItem = playerUseItemEvent.getItemStack();
|
ItemStack usedItem = playerUseItemEvent.getItemStack();
|
||||||
|
|
||||||
if (usedItem.equals(ItemManager.getCompassItem())) compassUse(p);
|
if (usedItem.equals(ItemManager.getCompassItem())) compassUse(p);
|
||||||
@ -21,7 +20,7 @@ public class ItemUseListener implements Consumer<PlayerUseItemEvent> {
|
|||||||
|
|
||||||
playerUseItemEvent.setCancelled(true);
|
playerUseItemEvent.setCancelled(true);
|
||||||
}
|
}
|
||||||
private void compassUse(NewPlayer p) {
|
private void compassUse(MuseumPlayer p) {
|
||||||
if (!p.isAllowCompassUsage()) {
|
if (!p.isAllowCompassUsage()) {
|
||||||
long lastUsed = (System.currentTimeMillis() - p.getLastCompassUsage()) / 1000;
|
long lastUsed = (System.currentTimeMillis() - p.getLastCompassUsage()) / 1000;
|
||||||
p.sendActionBar(Component.text("Du kannst den Kompass erst in " + (15 - lastUsed) + " Sekunden wieder benutzen."));
|
p.sendActionBar(Component.text("Du kannst den Kompass erst in " + (15 - lastUsed) + " Sekunden wieder benutzen."));
|
||||||
@ -30,7 +29,7 @@ public class ItemUseListener implements Consumer<PlayerUseItemEvent> {
|
|||||||
p.openInventory(p.getCompassInventory());
|
p.openInventory(p.getCompassInventory());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void bedUse(NewPlayer player) {
|
private void bedUse(MuseumPlayer player) {
|
||||||
World world = (World) player.getInstance();
|
World world = (World) player.getInstance();
|
||||||
assert world != null;
|
assert world != null;
|
||||||
player.teleport(world.getSpawn());
|
player.teleport(world.getSpawn());
|
||||||
|
@ -1,14 +1,13 @@
|
|||||||
package eu.mhsl.craftattack.worldmuseum.listener;
|
package eu.mhsl.craftattack.worldmuseum.listener;
|
||||||
|
|
||||||
import eu.mhsl.craftattack.worldmuseum.util.NewPlayer;
|
import eu.mhsl.craftattack.worldmuseum.util.MuseumPlayer;
|
||||||
import net.minestom.server.event.player.PlayerMoveEvent;
|
import net.minestom.server.event.player.PlayerMoveEvent;
|
||||||
|
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
public class MovementListener implements Consumer<PlayerMoveEvent> {
|
public class MovementListener implements Consumer<PlayerMoveEvent> {
|
||||||
@Override
|
@Override
|
||||||
public void accept(PlayerMoveEvent playerMoveEvent) {
|
public void accept(PlayerMoveEvent playerMoveEvent) {
|
||||||
NewPlayer player = (NewPlayer) playerMoveEvent.getPlayer();
|
MuseumPlayer player = (MuseumPlayer) playerMoveEvent.getPlayer();
|
||||||
if (!player.isAllowMovement()) playerMoveEvent.setCancelled(true);
|
if (!player.isAllowMovement()) playerMoveEvent.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,6 @@ import net.minestom.server.entity.Player;
|
|||||||
import net.minestom.server.entity.PlayerSkin;
|
import net.minestom.server.entity.PlayerSkin;
|
||||||
import net.minestom.server.timer.ExecutionType;
|
import net.minestom.server.timer.ExecutionType;
|
||||||
import net.minestom.server.timer.TaskSchedule;
|
import net.minestom.server.timer.TaskSchedule;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@ -6,7 +6,6 @@ import net.minestom.server.MinecraftServer;
|
|||||||
import net.minestom.server.adventure.audience.Audiences;
|
import net.minestom.server.adventure.audience.Audiences;
|
||||||
import net.minestom.server.entity.Player;
|
import net.minestom.server.entity.Player;
|
||||||
import net.minestom.server.monitoring.TickMonitor;
|
import net.minestom.server.monitoring.TickMonitor;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.concurrent.atomic.AtomicReference;
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ import eu.mhsl.craftattack.worldmuseum.worlds.World;
|
|||||||
import net.minestom.server.potion.Potion;
|
import net.minestom.server.potion.Potion;
|
||||||
import net.minestom.server.potion.PotionEffect;
|
import net.minestom.server.potion.PotionEffect;
|
||||||
public class ChangeWorld {
|
public class ChangeWorld {
|
||||||
public static void changeWorld(NewPlayer player, World targetWorld) {
|
public static void changeWorld(MuseumPlayer player, World targetWorld) {
|
||||||
player.setAllowMovement(false);
|
player.setAllowMovement(false);
|
||||||
World world = (World) player.getInstance();
|
World world = (World) player.getInstance();
|
||||||
player.setAllowCompassUsage(false);
|
player.setAllowCompassUsage(false);
|
||||||
|
@ -4,12 +4,10 @@ import com.google.gson.JsonObject;
|
|||||||
import com.google.gson.JsonParser;
|
import com.google.gson.JsonParser;
|
||||||
import eu.mhsl.craftattack.worldmuseum.worlds.World;
|
import eu.mhsl.craftattack.worldmuseum.worlds.World;
|
||||||
import eu.mhsl.craftattack.worldmuseum.worlds.WorldManager;
|
import eu.mhsl.craftattack.worldmuseum.worlds.WorldManager;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileReader;
|
import java.io.FileReader;
|
||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Iterator;
|
|
||||||
|
|
||||||
public class Config {
|
public class Config {
|
||||||
private static Config instance;
|
private static Config instance;
|
||||||
@ -22,9 +20,7 @@ public class Config {
|
|||||||
checkConfig();
|
checkConfig();
|
||||||
try {
|
try {
|
||||||
JsonObject config = (JsonObject) JsonParser.parseReader(new FileReader("config.json"));
|
JsonObject config = (JsonObject) JsonParser.parseReader(new FileReader("config.json"));
|
||||||
Iterator iterator = WorldManager.getInstance().getWorlds().iterator();
|
for (World w : WorldManager.getInstance().getWorlds()) {
|
||||||
while (iterator.hasNext()) {
|
|
||||||
World w = (World) iterator.next();
|
|
||||||
if (!w.getName().equals(config.get("start_world").getAsString())) continue;
|
if (!w.getName().equals(config.get("start_world").getAsString())) continue;
|
||||||
this.start_world = w;
|
this.start_world = w;
|
||||||
}
|
}
|
||||||
@ -37,15 +33,16 @@ public class Config {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private String default_config = "{\n" +
|
|
||||||
" \"start_world\": \"world\"\n" +
|
|
||||||
"}";
|
|
||||||
|
|
||||||
private void checkConfig() {
|
private void checkConfig() {
|
||||||
try {
|
try {
|
||||||
File checkfile = new File("./config.json");
|
File checkfile = new File("./config.json");
|
||||||
if (checkfile.createNewFile()) {
|
if (checkfile.createNewFile()) {
|
||||||
FileWriter fileWriter = new FileWriter("config.json");
|
FileWriter fileWriter = new FileWriter("config.json");
|
||||||
|
String default_config = """
|
||||||
|
{
|
||||||
|
"start_world": "world"
|
||||||
|
}""";
|
||||||
fileWriter.write(default_config);
|
fileWriter.write(default_config);
|
||||||
fileWriter.close();
|
fileWriter.close();
|
||||||
}
|
}
|
||||||
|
@ -15,13 +15,13 @@ import org.jetbrains.annotations.Nullable;
|
|||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
public class NewPlayer extends Player {
|
public class MuseumPlayer extends Player {
|
||||||
|
|
||||||
private boolean allowMovement = true;
|
private boolean allowMovement = true;
|
||||||
private long lastCompassUsage = 0;
|
private long lastCompassUsage = 0;
|
||||||
private boolean allowCompassUsage = true;
|
private boolean allowCompassUsage = true;
|
||||||
|
|
||||||
public NewPlayer(@NotNull UUID uuid, @NotNull String username, @NotNull PlayerConnection playerConnection) {
|
public MuseumPlayer(@NotNull UUID uuid, @NotNull String username, @NotNull PlayerConnection playerConnection) {
|
||||||
super(uuid, username, playerConnection);
|
super(uuid, username, playerConnection);
|
||||||
}
|
}
|
||||||
public void setSyncCooldown(@Nullable Duration cooldown) {
|
public void setSyncCooldown(@Nullable Duration cooldown) {
|
@ -6,7 +6,7 @@ import java.util.List;
|
|||||||
|
|
||||||
public class WorldManager {
|
public class WorldManager {
|
||||||
private static WorldManager instance;
|
private static WorldManager instance;
|
||||||
private List<World> worlds = new ArrayList<>();
|
private final List<World> worlds = new ArrayList<>();
|
||||||
|
|
||||||
public static WorldManager getInstance() {
|
public static WorldManager getInstance() {
|
||||||
if (instance == null) {
|
if (instance == null) {
|
||||||
@ -23,7 +23,7 @@ public class WorldManager {
|
|||||||
if (w.isEnabled()) {
|
if (w.isEnabled()) {
|
||||||
worlds.add(w);
|
worlds.add(w);
|
||||||
} else {
|
} else {
|
||||||
System.out.println("Es gibt eine nicht aktivierte Welt: " + f.toString());
|
System.out.println("Es gibt eine nicht aktivierte Welt: " + f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -31,6 +31,7 @@ public class WorldManager {
|
|||||||
private List<File> getFolderNames(File curDir) {
|
private List<File> getFolderNames(File curDir) {
|
||||||
File[] fileList = curDir.listFiles();
|
File[] fileList = curDir.listFiles();
|
||||||
List<File> returnFolders = new ArrayList<>();
|
List<File> returnFolders = new ArrayList<>();
|
||||||
|
assert fileList != null;
|
||||||
for (File f: fileList) {
|
for (File f: fileList) {
|
||||||
if (f.isDirectory()) returnFolders.add(f);
|
if (f.isDirectory()) returnFolders.add(f);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user