reformatted project

This commit is contained in:
2025-10-16 00:58:52 +02:00
parent cf0499df44
commit 794dc1dbb1
150 changed files with 1594 additions and 1771 deletions

View File

@@ -1,16 +1,16 @@
package eu.mhsl.minenet.minigames.instance.room;
import eu.mhsl.minenet.minigames.Resource;
import eu.mhsl.minenet.minigames.instance.Dimension;
import eu.mhsl.minenet.minigames.instance.MineNetInstance;
import eu.mhsl.minenet.minigames.instance.Spawnable;
import eu.mhsl.minenet.minigames.instance.hub.Hub;
import eu.mhsl.minenet.minigames.instance.room.entity.GameSelector;
import eu.mhsl.minenet.minigames.message.Icon;
import eu.mhsl.minenet.minigames.message.type.ChatMessage;
import eu.mhsl.minenet.minigames.score.tournament.Tournament;
import eu.mhsl.minenet.minigames.util.CommonEventHandles;
import eu.mhsl.minenet.minigames.util.MoveInstance;
import eu.mhsl.minenet.minigames.instance.Spawnable;
import eu.mhsl.minenet.minigames.instance.Dimension;
import eu.mhsl.minenet.minigames.instance.hub.Hub;
import eu.mhsl.minenet.minigames.instance.room.entity.GameSelector;
import net.minestom.server.MinecraftServer;
import net.minestom.server.coordinate.Pos;
import net.minestom.server.entity.GameMode;
@@ -27,6 +27,24 @@ public class Room extends MineNetInstance implements Spawnable {
private static final Set<Room> rooms = new HashSet<>();
private static final Map<Player, Room> players = new WeakHashMap<>();
private static final Logger logger = Logger.getLogger("room");
public final UUID uuid = UUID.randomUUID();
public final boolean apiDriven;
private final Tournament tournament = new Tournament();
private Player owner;
private GameSelector gameSelector;
private Room(Player owner) {
super(Dimension.THE_END.key);
this.apiDriven = false;
this.construct();
this.setOwner(owner);
}
protected Room() {
super(Dimension.THE_END.key);
this.apiDriven = true;
this.construct();
}
public static Room createRoom(Player owner) {
logger.info("Creating room with owner " + owner.getUsername());
@@ -82,24 +100,6 @@ public class Room extends MineNetInstance implements Spawnable {
return rooms;
}
private Player owner;
public final UUID uuid = UUID.randomUUID();
public final boolean apiDriven;
private GameSelector gameSelector;
private final Tournament tournament = new Tournament();
private Room(Player owner) {
super(Dimension.THE_END.key);
this.apiDriven = false;
this.construct();
this.setOwner(owner);
}
protected Room() {
super(Dimension.THE_END.key);
this.apiDriven = true;
this.construct();
}
private void construct() {
MinecraftServer.getInstanceManager().registerInstance(this);
this.setChunkLoader(new AnvilLoader(Resource.LOBBY_MAP.getPath()));
@@ -126,12 +126,12 @@ public class Room extends MineNetInstance implements Spawnable {
if(p != this.owner) return;
this.getAllMembers().stream()
.filter(player -> player != p) // exclude the current leaving owner
.findFirst()
.ifPresentOrElse(
this::setOwner,
() -> Room.getRoom(p).ifPresent(Room::deleteRoom) // delete room if no players are left
);
.filter(player -> player != p) // exclude the current leaving owner
.findFirst()
.ifPresentOrElse(
this::setOwner,
() -> Room.getRoom(p).ifPresent(Room::deleteRoom) // delete room if no players are left
);
Room.unsetRoom(p);
@@ -159,8 +159,8 @@ public class Room extends MineNetInstance implements Spawnable {
public Set<Player> getAllMembers() {
return players.keySet().stream()
.filter(player -> getRoom(player).orElse(null) == this)
.collect(Collectors.toSet());
.filter(player -> getRoom(player).orElse(null) == this)
.collect(Collectors.toSet());
}
public Tournament getTournament() {

View File

@@ -14,10 +14,11 @@ import org.jetbrains.annotations.NotNull;
public class GameSelector extends InteractableEntity {
final AbstractVillagerMeta abstractVillagerMeta;
public GameSelector() {
super(EntityType.VILLAGER);
abstractVillagerMeta = (AbstractVillagerMeta) this.getEntityMeta();
this.abstractVillagerMeta = (AbstractVillagerMeta) this.getEntityMeta();
}
@Override
@@ -32,10 +33,10 @@ public class GameSelector extends InteractableEntity {
@Override
public void onInteract(@NotNull PlayerEntityInteractEvent playerEntityInteractEvent) {
Room room = (Room) instance;
Room room = (Room) this.instance;
if(playerEntityInteractEvent.getPlayer() != room.getOwner()) {
abstractVillagerMeta.setHeadShakeTimer(20);
this.abstractVillagerMeta.setHeadShakeTimer(20);
new ChatMessage(Icon.ERROR)
.appendTranslated("room#onlyOwnerCanStart")

View File

@@ -19,25 +19,26 @@ import java.util.List;
public class MinigameSelectInventory extends InteractableInventory {
final private Room room;
final private Player p;
public MinigameSelectInventory(Room room, Player p) {
super(InventoryType.CHEST_6_ROW, TranslatedComponent.assemble("room#invTitle", p));
this.room = room;
this.p = p;
InventoryItemAlignment itemAlignment = new InventoryItemAlignment(GameType.values().length, 1);
for (GameType type : GameType.values()) {
setClickableItem(
ItemStack.builder(type.getIcon())
.customName(type.getTitle().getAssembled(p))
.lore(type.getDescription().addWrap().getWrappedAssembled(p))
.build(),
itemAlignment.next().get(),
itemClick -> drawGames(type)
for(GameType type : GameType.values()) {
this.setClickableItem(
ItemStack.builder(type.getIcon())
.customName(type.getTitle().getAssembled(p))
.lore(type.getDescription().addWrap().getWrappedAssembled(p))
.build(),
itemAlignment.next().get(),
itemClick -> this.drawGames(type)
);
}
for(int i = 9; i <= 17; i++) {
setDummyItem(Material.CYAN_STAINED_GLASS_PANE, i);
this.setDummyItem(Material.CYAN_STAINED_GLASS_PANE, i);
}
@@ -45,23 +46,23 @@ public class MinigameSelectInventory extends InteractableInventory {
private void drawGames(GameType type) {
for(int i = 18; i <= 53; i++) {
setDummyItem(Material.AIR, i);
this.setDummyItem(Material.AIR, i);
}
int offset = 18;
List<GameList> games = Arrays.stream(GameList.values()).filter(gameList -> gameList.getType().equals(type)).toList();
InventoryItemAlignment itemAlignment = new InventoryItemAlignment(games.size(), 4);
for (GameList game : games) {
for(GameList game : games) {
GameFactory gameFactory = game.getFactory();
setClickableItem(
ItemStack.builder(gameFactory.symbol())
.customName(gameFactory.name().getAssembled(p))
.lore(gameFactory.description().addWrap().getWrappedAssembled(p))
.build(),
offset + itemAlignment.next().get(),
itemClick -> itemClick.getPlayer().openInventory(new GameConfigurationInventory(room, itemClick.getPlayer(), gameFactory))
this.setClickableItem(
ItemStack.builder(gameFactory.symbol())
.customName(gameFactory.name().getAssembled(this.p))
.lore(gameFactory.description().addWrap().getWrappedAssembled(this.p))
.build(),
offset + itemAlignment.next().get(),
itemClick -> itemClick.getPlayer().openInventory(new GameConfigurationInventory(this.room, itemClick.getPlayer(), gameFactory))
);
}
}