From 3817880030d6f11eb5663086aacd600fcf9cd9f2 Mon Sep 17 00:00:00 2001 From: Martin Date: Fri, 28 Apr 2023 18:58:47 +0200 Subject: [PATCH] clean up and rework compassUsageTimer --- .../eu/mhsl/craftattack/worldmuseum/Main.java | 6 ++--- .../listener/InventoryClickListener.java | 9 ++----- .../worldmuseum/listener/ItemUseListener.java | 3 +-- .../listener/MovementListener.java | 2 +- .../{commands => temp}/GcCommand.java | 2 +- .../{ => temp}/TablistUpdateTask.java | 2 +- .../worldmuseum/util/ChangeWorld.java | 10 +++----- .../worldmuseum/util/ChunkLoadUtil.java | 24 ------------------ .../worldmuseum/{ => util}/NewPlayer.java | 25 ++++++++++--------- 9 files changed, 26 insertions(+), 57 deletions(-) rename src/main/java/eu/mhsl/craftattack/worldmuseum/{commands => temp}/GcCommand.java (97%) rename src/main/java/eu/mhsl/craftattack/worldmuseum/{ => temp}/TablistUpdateTask.java (97%) delete mode 100644 src/main/java/eu/mhsl/craftattack/worldmuseum/util/ChunkLoadUtil.java rename src/main/java/eu/mhsl/craftattack/worldmuseum/{ => util}/NewPlayer.java (64%) diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java index 3fd5247..4d84caf 100755 --- a/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java +++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java @@ -1,12 +1,14 @@ package eu.mhsl.craftattack.worldmuseum; import eu.mhsl.craftattack.worldmuseum.commands.GamemodeCommand; -import eu.mhsl.craftattack.worldmuseum.commands.GcCommand; +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.Config; +import eu.mhsl.craftattack.worldmuseum.util.NewPlayer; import eu.mhsl.craftattack.worldmuseum.util.SignHandler; import eu.mhsl.craftattack.worldmuseum.worlds.World; import eu.mhsl.craftattack.worldmuseum.worlds.WorldManager; @@ -28,8 +30,6 @@ public class Main { // Initialization System.setProperty("minestom.chunk-view-distance", "8"); MinecraftServer minecraftServer = MinecraftServer.init(); -// MinecraftServer.setChunkViewDistance(8); - //temp MinecraftServer.getSchedulerManager().scheduleTask(new TablistUpdateTask(), TaskSchedule.tick(20), TaskSchedule.tick(20)); diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/InventoryClickListener.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/InventoryClickListener.java index 16b8226..253f6bc 100644 --- a/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/InventoryClickListener.java +++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/InventoryClickListener.java @@ -1,12 +1,10 @@ package eu.mhsl.craftattack.worldmuseum.listener; -import eu.mhsl.craftattack.worldmuseum.NewPlayer; +import eu.mhsl.craftattack.worldmuseum.util.NewPlayer; import eu.mhsl.craftattack.worldmuseum.util.ChangeWorld; import eu.mhsl.craftattack.worldmuseum.worlds.World; import eu.mhsl.craftattack.worldmuseum.worlds.WorldManager; -import net.minestom.server.entity.Player; import net.minestom.server.event.inventory.InventoryPreClickEvent; -import net.minestom.server.thread.MinestomThread; import java.util.Objects; import java.util.function.Consumer; @@ -24,12 +22,9 @@ public class InventoryClickListener implements Consumer p.teleport(w.getSpawn()); } else { p.closeInventory(); - Thread thread = new ChangeWorld(p, w); - thread.run(); + ChangeWorld.changeWorld(p, w); } } inventoryPreClickEvent.setCancelled(true); } - - } diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/ItemUseListener.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/ItemUseListener.java index 56c7071..38eeb48 100755 --- a/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/ItemUseListener.java +++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/ItemUseListener.java @@ -1,8 +1,7 @@ package eu.mhsl.craftattack.worldmuseum.listener; -import eu.mhsl.craftattack.worldmuseum.NewPlayer; +import eu.mhsl.craftattack.worldmuseum.util.NewPlayer; import eu.mhsl.craftattack.worldmuseum.items.CompassManager; -import net.minestom.server.entity.Player; import net.minestom.server.event.player.PlayerUseItemEvent; import net.minestom.server.item.ItemStack; import java.util.function.Consumer; diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/MovementListener.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/MovementListener.java index 24efc49..60b104c 100644 --- a/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/MovementListener.java +++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/MovementListener.java @@ -1,6 +1,6 @@ package eu.mhsl.craftattack.worldmuseum.listener; -import eu.mhsl.craftattack.worldmuseum.NewPlayer; +import eu.mhsl.craftattack.worldmuseum.util.NewPlayer; import net.minestom.server.event.player.PlayerMoveEvent; import java.util.function.Consumer; diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/commands/GcCommand.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/temp/GcCommand.java similarity index 97% rename from src/main/java/eu/mhsl/craftattack/worldmuseum/commands/GcCommand.java rename to src/main/java/eu/mhsl/craftattack/worldmuseum/temp/GcCommand.java index 641a22f..37bb9b5 100644 --- a/src/main/java/eu/mhsl/craftattack/worldmuseum/commands/GcCommand.java +++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/temp/GcCommand.java @@ -1,4 +1,4 @@ -package eu.mhsl.craftattack.worldmuseum.commands; +package eu.mhsl.craftattack.worldmuseum.temp; import net.minestom.server.command.builder.Command; diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/TablistUpdateTask.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/temp/TablistUpdateTask.java similarity index 97% rename from src/main/java/eu/mhsl/craftattack/worldmuseum/TablistUpdateTask.java rename to src/main/java/eu/mhsl/craftattack/worldmuseum/temp/TablistUpdateTask.java index e346ac1..7e58210 100644 --- a/src/main/java/eu/mhsl/craftattack/worldmuseum/TablistUpdateTask.java +++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/temp/TablistUpdateTask.java @@ -1,4 +1,4 @@ -package eu.mhsl.craftattack.worldmuseum; +package eu.mhsl.craftattack.worldmuseum.temp; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/util/ChangeWorld.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/util/ChangeWorld.java index 5a90d60..3f68d25 100644 --- a/src/main/java/eu/mhsl/craftattack/worldmuseum/util/ChangeWorld.java +++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/util/ChangeWorld.java @@ -1,15 +1,12 @@ package eu.mhsl.craftattack.worldmuseum.util; -import eu.mhsl.craftattack.worldmuseum.NewPlayer; import eu.mhsl.craftattack.worldmuseum.worlds.World; import net.minestom.server.potion.Potion; import net.minestom.server.potion.PotionEffect; -import net.minestom.server.thread.MinestomThread; - -public class ChangeWorld extends MinestomThread { - public ChangeWorld(NewPlayer player, World targetWorld) { - super("load_world_for_player"); +public class ChangeWorld { + public static void changeWorld(NewPlayer player, World targetWorld) { player.setAllowMovement(false); + player.setAllowCompassUsage(false); player.addEffect(new Potion(PotionEffect.BLINDNESS, (byte) 0, 1000000)); player.setRespawnPoint(targetWorld.getSpawn()); @@ -17,6 +14,7 @@ public class ChangeWorld extends MinestomThread { player.setAllowMovement(true); player.clearEffects(); player.update_lastCompassUsage(); + player.setAllowCompassUsage(true); }); } } diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/util/ChunkLoadUtil.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/util/ChunkLoadUtil.java deleted file mode 100644 index a805925..0000000 --- a/src/main/java/eu/mhsl/craftattack/worldmuseum/util/ChunkLoadUtil.java +++ /dev/null @@ -1,24 +0,0 @@ -package eu.mhsl.craftattack.worldmuseum.util; - -import eu.mhsl.craftattack.worldmuseum.worlds.World; -import net.minestom.server.MinecraftServer; -import net.minestom.server.coordinate.Point; -import net.minestom.server.instance.Chunk; -import net.minestom.server.utils.chunk.ChunkUtils; - -import java.util.ArrayList; -import java.util.stream.Stream; - -public class ChunkLoadUtil { - - public static boolean areNearbyChunksLoaded(Point point, World world) { - ArrayList chunks = new ArrayList<>(); - - ChunkUtils.forChunksInRange(point, MinecraftServer.getChunkViewDistance(), (x , z) -> { - chunks.add(world.getChunk(x, z)); - }); -// Stream.of(new Conditional(point, world, () -> {world.getChunkAt(point).sendChunk();})) - return false; - } - -} diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/NewPlayer.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/util/NewPlayer.java similarity index 64% rename from src/main/java/eu/mhsl/craftattack/worldmuseum/NewPlayer.java rename to src/main/java/eu/mhsl/craftattack/worldmuseum/util/NewPlayer.java index f33140c..41d44db 100644 --- a/src/main/java/eu/mhsl/craftattack/worldmuseum/NewPlayer.java +++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/util/NewPlayer.java @@ -1,8 +1,5 @@ -package eu.mhsl.craftattack.worldmuseum; +package eu.mhsl.craftattack.worldmuseum.util; -import eu.mhsl.craftattack.worldmuseum.worlds.World; -import net.minestom.server.coordinate.Point; -import net.minestom.server.coordinate.Pos; import net.minestom.server.entity.Player; import net.minestom.server.network.player.PlayerConnection; import org.jetbrains.annotations.NotNull; @@ -10,11 +7,12 @@ import org.jetbrains.annotations.Nullable; import java.time.Duration; import java.util.UUID; -import java.util.concurrent.CompletableFuture; public class NewPlayer extends Player { - private boolean allowMovemenrt = true; - private long lastCompassUsage = System.currentTimeMillis(); + + private boolean allowMovement = true; + private long lastCompassUsage = 0; + private boolean allowCompassUsage = true; public NewPlayer(@NotNull UUID uuid, @NotNull String username, @NotNull PlayerConnection playerConnection) { super(uuid, username, playerConnection); @@ -25,7 +23,7 @@ public class NewPlayer extends Player { } public boolean isAllowMovement() { - return allowMovemenrt; + return allowMovement; } public void update_lastCompassUsage() { lastCompassUsage = System.currentTimeMillis(); @@ -33,12 +31,15 @@ public class NewPlayer extends Player { public boolean isAllowCompassUsage() { long UsageDifference = System.currentTimeMillis() - lastCompassUsage; System.out.println(UsageDifference); - long DIFFERENCE = 10000; //in Milisec - if (UsageDifference >= DIFFERENCE) return true; - return false; + long difference = 10000; //in Milisec + return UsageDifference >= difference && allowCompassUsage; } public void setAllowMovement(boolean allowMovement) { - this.allowMovemenrt = allowMovement; + this.allowMovement = allowMovement; } + public void setAllowCompassUsage(boolean allowCompassUsage) { + this.allowCompassUsage = allowCompassUsage; + } + }