Added API driven Rooms

This commit is contained in:
2023-11-12 00:59:17 +01:00
parent 2306308071
commit 5d29c387a3
53 changed files with 313 additions and 25 deletions

View File

@@ -17,7 +17,6 @@ import net.minestom.server.entity.GameMode;
import net.minestom.server.entity.Player;
import net.minestom.server.event.player.PlayerBlockBreakEvent;
import net.minestom.server.event.player.PlayerDisconnectEvent;
import net.minestom.server.event.player.PlayerEntityInteractEvent;
import net.minestom.server.instance.AnvilLoader;
import java.util.*;
@@ -53,6 +52,10 @@ public class Room extends MineNetInstance implements Spawnable {
return Optional.ofNullable(players.get(p));
}
public static Optional<Room> getRoom(UUID uuid) {
return rooms.stream().filter(room -> room.uuid.equals(uuid)).findFirst();
}
public static void setOwnRoom(Player p) {
setRoom(p, getRoom(p).orElseThrow());
}
@@ -144,12 +147,6 @@ public class Room extends MineNetInstance implements Spawnable {
.collect(Collectors.toSet());
}
@Override
protected boolean onPlayerJoin(Player p) {
this.gameSelector.onInteract(new PlayerEntityInteractEvent(p, gameSelector, Player.Hand.MAIN, p.getPosition()));
return super.onPlayerJoin(p);
}
@Override
public Pos getSpawn() {
return new Pos(0.5, 50, 0.5);