diff --git a/type.bedwarslobby/src/main/java/net/swofty/type/bedwarslobby/TypeBedWarsLobbyLoader.java b/type.bedwarslobby/src/main/java/net/swofty/type/bedwarslobby/TypeBedWarsLobbyLoader.java index a84c151fa..d9f0895df 100644 --- a/type.bedwarslobby/src/main/java/net/swofty/type/bedwarslobby/TypeBedWarsLobbyLoader.java +++ b/type.bedwarslobby/src/main/java/net/swofty/type/bedwarslobby/TypeBedWarsLobbyLoader.java @@ -50,6 +50,7 @@ public class TypeBedWarsLobbyLoader implements LobbyTypeLoader { public static BedWarsLobbyMap bedWarsLobbyMap = new BedWarsLobbyMap(); public static LobbyParkourManager parkourManager; + private final Pos spawnPoint = new Pos(-39.5, 72, 0, -90, 0); @Getter private final LobbyItemHandler itemHandler = new LobbyItemHandler(); @@ -149,7 +150,7 @@ public List getModules() { @Override public LoaderValues getLoaderValues() { return new LoaderValues( - (type) -> new Pos(-39.5, 72, 0, -90, 0), + (type) -> spawnPoint, false ); } @@ -166,6 +167,7 @@ public List getTraditionalEvents() { events.add(new LobbyLaunchPadEvents()); events.add(new LobbyPlayerJoinEvents()); events.add(new LobbyBlockBreak()); + events.add(new LobbyPlayerMove(spawnPoint)); return events; } diff --git a/type.lobby/src/main/java/net/swofty/type/lobby/events/LobbyPlayerMove.java b/type.lobby/src/main/java/net/swofty/type/lobby/events/LobbyPlayerMove.java index 495f1f5bd..2e20ff4e0 100644 --- a/type.lobby/src/main/java/net/swofty/type/lobby/events/LobbyPlayerMove.java +++ b/type.lobby/src/main/java/net/swofty/type/lobby/events/LobbyPlayerMove.java @@ -1,5 +1,6 @@ package net.swofty.type.lobby.events; +import net.minestom.server.coordinate.Pos; import net.minestom.server.entity.Player; import net.minestom.server.event.player.PlayerMoveEvent; import net.swofty.type.generic.event.EventNodes; @@ -7,18 +8,18 @@ import net.swofty.type.generic.event.HypixelEventClass; public class LobbyPlayerMove implements HypixelEventClass { + private final Pos spawnPoint; + + public LobbyPlayerMove(Pos spawnPoint) { + this.spawnPoint = spawnPoint; + } @HypixelEvent(node = EventNodes.PLAYER, requireDataLoaded = false) public void onPlayerMove(PlayerMoveEvent event) { Player player = event.getPlayer(); - if (player.getPosition().y() < -60) { - teleportToSpawn(player); + if (player.getPosition().y() < 0) { + player.teleport(spawnPoint); + player.sendMessage("§cYou are not allowed to leave this area!"); } } - - private void teleportToSpawn(Player player) { - player.respawn(); - player.sendMessage("§cYou are not allowed to leave this area!"); - } - } diff --git a/type.murdermysterylobby/src/main/java/net/swofty/type/murdermysterylobby/TypeMurderMysteryLobbyLoader.java b/type.murdermysterylobby/src/main/java/net/swofty/type/murdermysterylobby/TypeMurderMysteryLobbyLoader.java index 8ffabeb13..414a1a001 100644 --- a/type.murdermysterylobby/src/main/java/net/swofty/type/murdermysterylobby/TypeMurderMysteryLobbyLoader.java +++ b/type.murdermysterylobby/src/main/java/net/swofty/type/murdermysterylobby/TypeMurderMysteryLobbyLoader.java @@ -15,6 +15,7 @@ import net.swofty.type.generic.data.handlers.MurderMysteryDataHandler; import net.swofty.type.generic.command.HypixelCommand; import net.swofty.type.generic.entity.hologram.PlayerHolograms; +import net.swofty.type.lobby.events.*; import net.swofty.type.murdermysterylobby.hologram.LeaderboardHologramManager; import net.swofty.type.generic.entity.npc.HypixelNPC; import net.swofty.type.generic.event.HypixelEventClass; @@ -23,10 +24,6 @@ import net.swofty.type.murdermysterylobby.tab.MurderMysteryPlayersOnlineModule; import net.swofty.type.murdermysterylobby.util.MurderMysteryLobbyMap; import net.swofty.type.lobby.LobbyTypeLoader; -import net.swofty.type.lobby.events.LobbyBlockBreak; -import net.swofty.type.lobby.events.LobbyItemEvents; -import net.swofty.type.lobby.events.LobbyLaunchPadEvents; -import net.swofty.type.lobby.events.LobbyPlayerJoinEvents; import net.swofty.type.lobby.item.LobbyItem; import net.swofty.type.lobby.item.LobbyItemHandler; import net.swofty.type.lobby.item.impl.HidePlayers; @@ -34,7 +31,6 @@ import net.swofty.type.lobby.item.impl.PlayCompass; import net.swofty.type.lobby.item.impl.ProfileItem; import net.swofty.type.lobby.launchpad.LaunchPad; -import net.swofty.type.lobby.events.LobbyParkourEvents; import net.swofty.type.lobby.parkour.LobbyParkourManager; import net.swofty.type.lobby.parkour.Parkour; import net.swofty.type.murdermysterylobby.parkour.MurderMysteryLobbyParkour; @@ -47,6 +43,7 @@ public class TypeMurderMysteryLobbyLoader implements LobbyTypeLoader { public static MurderMysteryLobbyMap lobbyMap = new MurderMysteryLobbyMap(); + private final Pos spawnPoint = new Pos(1.5, 72, 0.5, -90, 0); @Getter private final LobbyItemHandler itemHandler = new LobbyItemHandler(); @@ -132,7 +129,7 @@ public List getModules() { @Override public LoaderValues getLoaderValues() { return new LoaderValues( - (type) -> new Pos(1.5, 72, 0.5, -90, 0), + (type) -> spawnPoint, false ); } @@ -149,6 +146,7 @@ public List getTraditionalEvents() { events.add(new LobbyPlayerJoinEvents()); events.add(new LobbyBlockBreak()); events.add(new LobbyParkourEvents()); + events.add(new LobbyPlayerMove(spawnPoint)); return events; } diff --git a/type.prototypelobby/src/main/java/net/swofty/type/prototypelobby/TypePrototypeLobbyLoader.java b/type.prototypelobby/src/main/java/net/swofty/type/prototypelobby/TypePrototypeLobbyLoader.java index 2da0c6620..ca21813d9 100644 --- a/type.prototypelobby/src/main/java/net/swofty/type/prototypelobby/TypePrototypeLobbyLoader.java +++ b/type.prototypelobby/src/main/java/net/swofty/type/prototypelobby/TypePrototypeLobbyLoader.java @@ -17,10 +17,7 @@ import net.swofty.type.generic.tab.TablistManager; import net.swofty.type.generic.tab.TablistModule; import net.swofty.type.lobby.LobbyTypeLoader; -import net.swofty.type.lobby.events.LobbyBlockBreak; -import net.swofty.type.lobby.events.LobbyItemEvents; -import net.swofty.type.lobby.events.LobbyParkourEvents; -import net.swofty.type.lobby.events.LobbyPlayerJoinEvents; +import net.swofty.type.lobby.events.*; import net.swofty.type.lobby.item.LobbyItem; import net.swofty.type.lobby.item.LobbyItemHandler; import net.swofty.type.lobby.item.impl.HidePlayers; @@ -41,6 +38,7 @@ public class TypePrototypeLobbyLoader implements LobbyTypeLoader { private static final LobbyItemHandler itemHandler = new LobbyItemHandler(); public static LobbyParkourManager parkourManager; + private final Pos spawnPoint = new Pos(11.5, 76, 0.5, 90, 0); @Override public ServerType getType() { @@ -119,7 +117,7 @@ public List getModules() { @Override public LoaderValues getLoaderValues() { return new LoaderValues( - (type) -> new Pos(11.5, 76, 0.5, 90, 0), + (type) -> spawnPoint, false ); } @@ -135,6 +133,7 @@ public List getTraditionalEvents() { events.add(new LobbyPlayerJoinEvents()); events.add(new LobbyParkourEvents()); events.add(new LobbyBlockBreak()); + events.add(new LobbyPlayerMove(spawnPoint)); return events; } diff --git a/type.skywarslobby/src/main/java/net/swofty/type/skywarslobby/TypeSkywarsLobbyLoader.java b/type.skywarslobby/src/main/java/net/swofty/type/skywarslobby/TypeSkywarsLobbyLoader.java index 5816b46c7..940328d0b 100644 --- a/type.skywarslobby/src/main/java/net/swofty/type/skywarslobby/TypeSkywarsLobbyLoader.java +++ b/type.skywarslobby/src/main/java/net/swofty/type/skywarslobby/TypeSkywarsLobbyLoader.java @@ -20,10 +20,7 @@ import net.swofty.type.generic.tab.TablistManager; import net.swofty.type.generic.tab.TablistModule; import net.swofty.type.lobby.LobbyTypeLoader; -import net.swofty.type.lobby.events.LobbyBlockBreak; -import net.swofty.type.lobby.events.LobbyItemEvents; -import net.swofty.type.lobby.events.LobbyLaunchPadEvents; -import net.swofty.type.lobby.events.LobbyPlayerJoinEvents; +import net.swofty.type.lobby.events.*; import net.swofty.type.lobby.item.LobbyItem; import net.swofty.type.lobby.item.LobbyItemHandler; import net.swofty.type.lobby.item.impl.HidePlayers; @@ -56,6 +53,7 @@ public class TypeSkywarsLobbyLoader implements LobbyTypeLoader { @Getter private static LeaderboardHologramManager leaderboardManager; private LobbyParkourManager parkourManager; + private final Pos spawnPont = new Pos(-3.5, 66, 0.5, -90, 0); @Override public ServerType getType() { @@ -158,7 +156,7 @@ public List getModules() { @Override public LoaderValues getLoaderValues() { return new LoaderValues( - (type) -> new Pos(-3.5, 66, 0.5, -90, 0), + (type) -> spawnPont, false ); } @@ -174,6 +172,7 @@ public List getTraditionalEvents() { events.add(new LobbyLaunchPadEvents()); events.add(new LobbyPlayerJoinEvents()); events.add(new LobbyBlockBreak()); + events.add(new LobbyPlayerMove(spawnPont)); return events; }