Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -113,12 +113,6 @@ public static Game getGameById(@NotNull String gameId) {
.orElse(null);
}

public static Game getPlayerGame(@NotNull Player player) {
String gameId = player.getTag(Tag.String("gameId"));
if (gameId == null) return null;
return getGameById(gameId);
}

@SneakyThrows
public static Game createGame(BedWarsMapsConfig.MapEntry entry) {
if (games.size() >= MAX_GAMES) {
Expand All @@ -145,7 +139,8 @@ private static Component header() {

private static Component footer(HypixelPlayer player) {
Component start = Component.empty();
if (TypeBedWarsGameLoader.getPlayerGame(player) != null) {
BedWarsPlayer bwPlayer = (BedWarsPlayer) player;
if (bwPlayer.getGame() != null) {
start = start.append(MiniMessage.miniMessage().deserialize("<aqua>Kills: <yellow>0 <aqua>Final Kills: <yellow>0 <aqua>Beds Broken: <yellow>0")).appendNewline();
}
return start
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public void registerUsage(MinestomCommand command) {
command.addSyntax((sender, context) -> {
if (!permissionCheck(sender)) return;
BedWarsPlayer player = (BedWarsPlayer) sender;
Game game = TypeBedWarsGameLoader.getPlayerGame(player);
Game game = player.getGame();
if (game == null) {
player.sendMessage("§cYou are not in a game.");
return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,7 @@ public void registerUsage(MinestomCommand command) {
if (!permissionCheck(sender)) return;

BedWarsPlayer player = (BedWarsPlayer) sender;
Game game = TypeBedWarsGameLoader.getPlayerGame(player);

Game game = player.getGame();
if (game == null) {
player.sendMessage("§cYou are not in a game.");
return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,19 +30,14 @@ public void run(PlayerBlockBreakEvent event) {
BedWarsPlayer player = (BedWarsPlayer) event.getPlayer();
Block blockBeingBroken = event.getBlock();

if (!player.hasTag(Tag.String("gameId"))) {
event.setCancelled(true);
return;
}
String gameId = player.getTag(Tag.String("gameId"));
Game game = TypeBedWarsGameLoader.getGameById(gameId);
Game game = player.getGame();
if (game == null || game.getGameStatus() != GameStatus.IN_PROGRESS) {
event.setCancelled(true);
return;
}

boolean isTeamBedPart = false;
String playerTeamName = player.getTag(Tag.String("team"));
TeamKey playerTeamKey = player.getTeamKey();
Point brokenBlockPosition = event.getBlockPosition();

// Check if it's a part of any team's bed first
Expand All @@ -57,7 +52,7 @@ public void run(PlayerBlockBreakEvent event) {

if (brokenBlockPosition.sameBlock(feetPoint) || brokenBlockPosition.sameBlock(headPoint)) {
// This is team X's bed
if (teamKey.getName().equalsIgnoreCase(playerTeamName)) {
if (teamKey.equals(playerTeamKey)) {
player.getAchievementHandler().completeAchievement("bedwars.you_cant_do_that");
player.sendMessage("§cYou cannot break your own team's bed!");
event.setCancelled(true);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
package net.swofty.type.bedwarsgame.events;

import net.minestom.server.tag.Tag;
import net.swofty.commons.bedwars.map.BedWarsMapsConfig;
import net.swofty.pvp.events.FinalDamageEvent;
import net.swofty.type.bedwarsgame.TypeBedWarsGameLoader;
import net.swofty.type.bedwarsgame.death.BedWarsCombatTracker;
import net.swofty.type.bedwarsgame.game.Game;
import net.swofty.type.bedwarsgame.game.GameStatus;
Expand All @@ -19,13 +18,7 @@ public void run(FinalDamageEvent event) {
return;
}

if (!victim.hasTag(Tag.String("gameId"))) {
return;
}

String gameId = victim.getTag(Tag.String("gameId"));
Game game = TypeBedWarsGameLoader.getGameById(gameId);

Game game = victim.getGame();
if (game == null || game.getGameStatus() != GameStatus.IN_PROGRESS) {
return;
}
Expand All @@ -37,10 +30,13 @@ public void run(FinalDamageEvent event) {
}
}

private boolean isSameTeam(BedWarsPlayer player1, BedWarsPlayer player2) {
String team1 = player1.getTag(Tag.String("team"));
String team2 = player2.getTag(Tag.String("team"));
return team1 != null && team1.equals(team2);
private boolean isSameTeam(BedWarsPlayer first, BedWarsPlayer second) {
BedWarsMapsConfig.TeamKey team1 = first.getTeamKey();
BedWarsMapsConfig.TeamKey team2 = second.getTeamKey();
if (team1 == null || team2 == null) {
return false;
}
return team1.equals(team2);
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,12 @@
import net.minestom.server.instance.Instance;
import net.minestom.server.instance.block.Block;
import net.minestom.server.tag.Tag;
import net.swofty.commons.bedwars.map.BedWarsMapsConfig;
import net.swofty.pvp.projectile.entities.FireballProjectile;
import net.swofty.type.bedwarsgame.TypeBedWarsGameLoader;
import net.swofty.type.bedwarsgame.game.Game;
import net.swofty.type.bedwarsgame.game.GameStatus;
import net.swofty.type.bedwarsgame.user.BedWarsPlayer;
import net.swofty.type.generic.event.EventNodes;
import net.swofty.type.generic.event.HypixelEvent;
import net.swofty.type.generic.event.HypixelEventClass;
Expand All @@ -33,14 +35,13 @@ private static void handleFireballExplosion(FireballProjectile fireball) {
return;
}

final Player shooter = (Player) fireball.getShooter();
final BedWarsPlayer shooter = (BedWarsPlayer) fireball.getShooter();
if (shooter == null) {
fireball.remove();
return;
}

String gameId = shooter.getTag(Tag.String("gameId"));
Game game = TypeBedWarsGameLoader.getGameById(gameId);
Game game = shooter.getGame();
if (game == null || game.getGameStatus() != GameStatus.IN_PROGRESS) {
fireball.remove();
return;
Expand Down Expand Up @@ -84,11 +85,11 @@ public void run(ProjectileCollideWithEntityEvent event) {
return; // Don't explode on self
}

if (target instanceof Player targetPlayer) {
final Player shooter = (Player) fireball.getShooter();
if (target instanceof BedWarsPlayer targetPlayer) {
final BedWarsPlayer shooter = (BedWarsPlayer) fireball.getShooter();
if (shooter != null) {
String shooterTeam = shooter.getTag(Tag.String("team"));
String targetTeam = targetPlayer.getTag(Tag.String("team"));
BedWarsMapsConfig.TeamKey shooterTeam = shooter.getTeamKey();
BedWarsMapsConfig.TeamKey targetTeam = targetPlayer.getTeamKey();
if (shooterTeam != null && shooterTeam.equals(targetTeam)) {
return;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,7 @@ public class ActionGameDeath implements HypixelEventClass {
public void run(PlayerDeathEvent event) {
BedWarsPlayer player = (BedWarsPlayer) event.getPlayer();

if (!player.hasTag(Tag.String("gameId"))) {
return;
}
String gameId = player.getTag(Tag.String("gameId"));
Game game = TypeBedWarsGameLoader.getGameById(gameId);

Game game = player.getGame();
if (game == null || game.getGameStatus() != GameStatus.IN_PROGRESS) {
return;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,11 @@ public class ActionGameMove implements HypixelEventClass {
public void run(PlayerMoveEvent event) {
BedWarsPlayer player = (BedWarsPlayer) event.getPlayer();

if (!player.isOnline() || !player.hasTag(Tag.String("gameId"))) {
if (!player.isOnline()) {
return;
}

String gameId = player.getTag(Tag.String("gameId"));
Game game = TypeBedWarsGameLoader.getGameById(gameId);

Game game = player.getGame();
if (game == null || game.getGameStatus() != GameStatus.IN_PROGRESS) {
return;
}
Expand All @@ -48,8 +46,8 @@ public void run(PlayerMoveEvent event) {
return;
}

String playerTeamName = player.getTag(Tag.String("team"));
if (playerTeamName == null) {
TeamKey playerTeamKey = player.getTeamKey();
if (playerTeamKey == null) {
return;
}

Expand All @@ -61,7 +59,7 @@ public void run(PlayerMoveEvent event) {
MapTeam team = entry.getValue();

// Don't trigger own team's traps
if (teamKey.getName().equals(playerTeamName)) {
if (teamKey.equals(playerTeamKey)) {
continue;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,16 @@
import net.swofty.type.generic.event.HypixelEvent;
import net.swofty.type.generic.event.HypixelEventClass;
import net.swofty.type.generic.utility.MathUtility;
import org.tinylog.Logger;

public class ActionGamePlace implements HypixelEventClass {

@HypixelEvent(node = EventNodes.PLAYER, requireDataLoaded = false)
public void run(PlayerBlockPlaceEvent event) {
BedWarsPlayer player = (BedWarsPlayer) event.getPlayer();
if (!player.hasTag(Tag.String("gameId"))) {
Game game = player.getGame();
if (game == null) {
Logger.info("Player {} tried to place a block but is not in a game!", player.getUsername());
event.setCancelled(true); // Prevent placing if not in a game
return;
}
Expand All @@ -36,10 +39,7 @@ public void run(PlayerBlockPlaceEvent event) {
return;
}

String gameId = player.getTag(Tag.String("gameId"));
Game game = TypeBedWarsGameLoader.getGameById(gameId);

if (game == null || game.getGameStatus() != GameStatus.IN_PROGRESS) {
if (game.getGameStatus() != GameStatus.IN_PROGRESS) {
event.setCancelled(true);
return;
}
Expand Down
Loading