clean up and rework compassUsageTimer
This commit is contained in:
parent
65e3195128
commit
3817880030
@ -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));
|
||||
|
@ -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<InventoryPreClickEvent>
|
||||
p.teleport(w.getSpawn());
|
||||
} else {
|
||||
p.closeInventory();
|
||||
Thread thread = new ChangeWorld(p, w);
|
||||
thread.run();
|
||||
ChangeWorld.changeWorld(p, w);
|
||||
}
|
||||
}
|
||||
inventoryPreClickEvent.setCancelled(true);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package eu.mhsl.craftattack.worldmuseum.commands;
|
||||
package eu.mhsl.craftattack.worldmuseum.temp;
|
||||
|
||||
import net.minestom.server.command.builder.Command;
|
||||
|
@ -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;
|
@ -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);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -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<Chunk> 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;
|
||||
}
|
||||
|
||||
}
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user