Procházet zdrojové kódy

fix: error message in /mw change command and Arena cloning

Signed-off-by: Daniel Nägele <info@naegele.dev>
Daniel Nägele před 2 roky
rodič
revize
ddd8c23ae6

+ 11 - 6
missilewars-plugin/src/main/java/de/butzlabben/missilewars/cmd/MWCommands.java

@@ -19,7 +19,13 @@
 package de.butzlabben.missilewars.cmd;
 package de.butzlabben.missilewars.cmd;
 
 
 import co.aikar.commands.BaseCommand;
 import co.aikar.commands.BaseCommand;
-import co.aikar.commands.annotation.*;
+import co.aikar.commands.annotation.CommandAlias;
+import co.aikar.commands.annotation.CommandCompletion;
+import co.aikar.commands.annotation.CommandPermission;
+import co.aikar.commands.annotation.Default;
+import co.aikar.commands.annotation.Description;
+import co.aikar.commands.annotation.Subcommand;
+import co.aikar.commands.annotation.Syntax;
 import de.butzlabben.missilewars.Config;
 import de.butzlabben.missilewars.Config;
 import de.butzlabben.missilewars.Logger;
 import de.butzlabben.missilewars.Logger;
 import de.butzlabben.missilewars.MessageConfig;
 import de.butzlabben.missilewars.MessageConfig;
@@ -33,14 +39,13 @@ import de.butzlabben.missilewars.wrapper.abstracts.Lobby;
 import de.butzlabben.missilewars.wrapper.abstracts.MapChooseProcedure;
 import de.butzlabben.missilewars.wrapper.abstracts.MapChooseProcedure;
 import de.butzlabben.missilewars.wrapper.missile.Missile;
 import de.butzlabben.missilewars.wrapper.missile.Missile;
 import de.butzlabben.missilewars.wrapper.missile.MissileFacing;
 import de.butzlabben.missilewars.wrapper.missile.MissileFacing;
-import org.bukkit.Bukkit;
-import org.bukkit.command.CommandSender;
-import org.bukkit.entity.Player;
-
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 import java.util.Optional;
 import java.util.Optional;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
+import org.bukkit.Bukkit;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
 
 
 @CommandAlias("mw|missilewars")
 @CommandAlias("mw|missilewars")
 public class MWCommands extends BaseCommand {
 public class MWCommands extends BaseCommand {
@@ -138,7 +143,7 @@ public class MWCommands extends BaseCommand {
                 }
                 }
                 if (mostVotes == null) throw new IllegalStateException("Most votes object was null");
                 if (mostVotes == null) throw new IllegalStateException("Most votes object was null");
                 Optional<Arena> arena = Arenas.getFromName(mostVotes.getKey());
                 Optional<Arena> arena = Arenas.getFromName(mostVotes.getKey());
-                if (!arena.isPresent()) throw new IllegalStateException("Voted arena is not present");
+                if (arena.isEmpty()) throw new IllegalStateException("Voted arena is not present");
                 game.setArena(arena.get());
                 game.setArena(arena.get());
                 player.sendMessage(MessageConfig.getPrefix() + "A map was elected. Use \"/mw start\" again to start the round");
                 player.sendMessage(MessageConfig.getPrefix() + "A map was elected. Use \"/mw start\" again to start the round");
             }
             }

+ 8 - 9
missilewars-plugin/src/main/java/de/butzlabben/missilewars/cmd/UserCommands.java

@@ -19,7 +19,12 @@
 package de.butzlabben.missilewars.cmd;
 package de.butzlabben.missilewars.cmd;
 
 
 import co.aikar.commands.BaseCommand;
 import co.aikar.commands.BaseCommand;
-import co.aikar.commands.annotation.*;
+import co.aikar.commands.annotation.CommandAlias;
+import co.aikar.commands.annotation.CommandCompletion;
+import co.aikar.commands.annotation.CommandPermission;
+import co.aikar.commands.annotation.Description;
+import co.aikar.commands.annotation.Subcommand;
+import co.aikar.commands.annotation.Syntax;
 import de.butzlabben.missilewars.Config;
 import de.butzlabben.missilewars.Config;
 import de.butzlabben.missilewars.MessageConfig;
 import de.butzlabben.missilewars.MessageConfig;
 import de.butzlabben.missilewars.game.Arenas;
 import de.butzlabben.missilewars.game.Arenas;
@@ -30,12 +35,11 @@ import de.butzlabben.missilewars.wrapper.abstracts.Arena;
 import de.butzlabben.missilewars.wrapper.abstracts.MapChooseProcedure;
 import de.butzlabben.missilewars.wrapper.abstracts.MapChooseProcedure;
 import de.butzlabben.missilewars.wrapper.game.Team;
 import de.butzlabben.missilewars.wrapper.game.Team;
 import de.butzlabben.missilewars.wrapper.player.MWPlayer;
 import de.butzlabben.missilewars.wrapper.player.MWPlayer;
+import java.util.Optional;
 import org.bukkit.Location;
 import org.bukkit.Location;
 import org.bukkit.command.CommandSender;
 import org.bukkit.command.CommandSender;
 import org.bukkit.entity.Player;
 import org.bukkit.entity.Player;
 
 
-import java.util.Optional;
-
 @CommandAlias("mw|missilewars")
 @CommandAlias("mw|missilewars")
 public class UserCommands extends BaseCommand {
 public class UserCommands extends BaseCommand {
 
 
@@ -60,11 +64,6 @@ public class UserCommands extends BaseCommand {
             return;
             return;
         }
         }
 
 
-        if (args.length != 1) {
-            player.sendMessage(MessageConfig.getPrefix() + "§c/mw vote <arena>");
-            return;
-        }
-
         if (args.length != 1) {
         if (args.length != 1) {
             player.sendMessage(MessageConfig.getPrefix() + "§c/mw change <1|2>");
             player.sendMessage(MessageConfig.getPrefix() + "§c/mw change <1|2>");
             return;
             return;
@@ -128,7 +127,7 @@ public class UserCommands extends BaseCommand {
 
 
         String arenaName = args[0];
         String arenaName = args[0];
         Optional<Arena> arena = Arenas.getFromName(arenaName);
         Optional<Arena> arena = Arenas.getFromName(arenaName);
-        if (!game.getVotes().containsKey(arenaName) || !arena.isPresent()) {
+        if (!game.getVotes().containsKey(arenaName) || arena.isEmpty()) {
             player.sendMessage(MessageConfig.getPrefix() + "§cNo map with this title was found");
             player.sendMessage(MessageConfig.getPrefix() + "§cNo map with this title was found");
             return;
             return;
         }
         }

+ 11 - 11
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/Game.java

@@ -49,9 +49,18 @@ import de.butzlabben.missilewars.wrapper.missile.Missile;
 import de.butzlabben.missilewars.wrapper.missile.MissileFacing;
 import de.butzlabben.missilewars.wrapper.missile.MissileFacing;
 import de.butzlabben.missilewars.wrapper.player.MWPlayer;
 import de.butzlabben.missilewars.wrapper.player.MWPlayer;
 import de.butzlabben.missilewars.wrapper.stats.FightStats;
 import de.butzlabben.missilewars.wrapper.stats.FightStats;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+import java.util.function.Consumer;
 import lombok.Getter;
 import lombok.Getter;
 import lombok.ToString;
 import lombok.ToString;
-import org.bukkit.*;
+import org.bukkit.Bukkit;
+import org.bukkit.GameMode;
+import org.bukkit.Location;
+import org.bukkit.Material;
+import org.bukkit.World;
 import org.bukkit.enchantments.Enchantment;
 import org.bukkit.enchantments.Enchantment;
 import org.bukkit.entity.Fireball;
 import org.bukkit.entity.Fireball;
 import org.bukkit.entity.Player;
 import org.bukkit.entity.Player;
@@ -61,12 +70,6 @@ import org.bukkit.inventory.meta.ItemMeta;
 import org.bukkit.scheduler.BukkitTask;
 import org.bukkit.scheduler.BukkitTask;
 import org.bukkit.scoreboard.Scoreboard;
 import org.bukkit.scoreboard.Scoreboard;
 
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import java.util.function.Consumer;
-
 /**
 /**
  * @author Butzlabben
  * @author Butzlabben
  * @since 01.01.2018
  * @since 01.01.2018
@@ -547,10 +550,7 @@ public class Game {
             throw new IllegalStateException("The game cannot be started, when 0 missiles are configured");
             throw new IllegalStateException("The game cannot be started, when 0 missiles are configured");
         }
         }
 
 
-        this.arena = arena.toBuilder().build();
-        this.arena.setSpectatorSpawn(arena.getSpectatorSpawn().clone());
-        this.arena.setTeam1Spawn(arena.getTeam1Spawn().clone());
-        this.arena.setTeam2Spawn(arena.getTeam2Spawn().clone());
+        this.arena = arena.clone();
 
 
         // Load world
         // Load world
         this.gameWorld = new GameWorld(this, this.arena.getTemplateWorld());
         this.gameWorld = new GameWorld(this, this.arena.getTemplateWorld());

+ 1 - 2
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/timer/LobbyTimer.java

@@ -25,7 +25,6 @@ import de.butzlabben.missilewars.util.version.VersionUtil;
 import de.butzlabben.missilewars.wrapper.abstracts.Arena;
 import de.butzlabben.missilewars.wrapper.abstracts.Arena;
 import de.butzlabben.missilewars.wrapper.abstracts.MapChooseProcedure;
 import de.butzlabben.missilewars.wrapper.abstracts.MapChooseProcedure;
 import de.butzlabben.missilewars.wrapper.player.MWPlayer;
 import de.butzlabben.missilewars.wrapper.player.MWPlayer;
-
 import java.util.Map;
 import java.util.Map;
 import java.util.Optional;
 import java.util.Optional;
 
 
@@ -128,7 +127,7 @@ public class LobbyTimer extends Timer implements Runnable {
         }
         }
         if (mostVotes == null) throw new IllegalStateException("Most votes object was null");
         if (mostVotes == null) throw new IllegalStateException("Most votes object was null");
         Optional<Arena> arena = Arenas.getFromName(mostVotes.getKey());
         Optional<Arena> arena = Arenas.getFromName(mostVotes.getKey());
-        if (!arena.isPresent()) throw new IllegalStateException("Voted arena is not present");
+        if (arena.isEmpty()) throw new IllegalStateException("Voted arena is not present");
         game.setArena(arena.get());
         game.setArena(arena.get());
     }
     }
 }
 }

+ 0 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/listener/EndListener.java

@@ -42,7 +42,6 @@ public class EndListener extends GameBoundListener {
         super(game);
         super(game);
     }
     }
 
 
-    @SuppressWarnings("deprecation")
     @EventHandler
     @EventHandler
     public void onJoin(PlayerArenaJoinEvent event) {
     public void onJoin(PlayerArenaJoinEvent event) {
         Game game = event.getGame();
         Game game = event.getGame();

+ 5 - 3
missilewars-plugin/src/main/java/de/butzlabben/missilewars/listener/GameListener.java

@@ -42,7 +42,11 @@ import org.bukkit.event.EventHandler;
 import org.bukkit.event.EventPriority;
 import org.bukkit.event.EventPriority;
 import org.bukkit.event.block.Action;
 import org.bukkit.event.block.Action;
 import org.bukkit.event.block.BlockPhysicsEvent;
 import org.bukkit.event.block.BlockPhysicsEvent;
-import org.bukkit.event.entity.*;
+import org.bukkit.event.entity.EntityDamageByEntityEvent;
+import org.bukkit.event.entity.EntityDamageEvent;
+import org.bukkit.event.entity.EntityExplodeEvent;
+import org.bukkit.event.entity.PlayerDeathEvent;
+import org.bukkit.event.entity.ProjectileLaunchEvent;
 import org.bukkit.event.inventory.InventoryClickEvent;
 import org.bukkit.event.inventory.InventoryClickEvent;
 import org.bukkit.event.inventory.InventoryType;
 import org.bukkit.event.inventory.InventoryType;
 import org.bukkit.event.player.PlayerInteractEvent;
 import org.bukkit.event.player.PlayerInteractEvent;
@@ -57,7 +61,6 @@ import org.bukkit.util.Vector;
  * @author Butzlabben
  * @author Butzlabben
  * @since 12.01.2018
  * @since 12.01.2018
  */
  */
-@SuppressWarnings("deprecation")
 public class GameListener extends GameBoundListener {
 public class GameListener extends GameBoundListener {
 
 
     public GameListener(Game game) {
     public GameListener(Game game) {
@@ -142,7 +145,6 @@ public class GameListener extends GameBoundListener {
         if (itemStack.getType() == VersionUtil.getFireball()) {
         if (itemStack.getType() == VersionUtil.getFireball()) {
 
 
             getGame().spawnFireball(player, itemStack);
             getGame().spawnFireball(player, itemStack);
-            return;
         }
         }
     }
     }
 
 

+ 1 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/listener/signs/ClickListener.java

@@ -42,7 +42,7 @@ public class ClickListener implements Listener {
             if (VersionUtil.isWallSignMaterial(block.getType())) {
             if (VersionUtil.isWallSignMaterial(block.getType())) {
                 Location location = block.getLocation();
                 Location location = block.getLocation();
                 Optional<MWSign> optional = MissileWars.getInstance().getSignRepository().getSign(location);
                 Optional<MWSign> optional = MissileWars.getInstance().getSignRepository().getSign(location);
-                if (!optional.isPresent())
+                if (optional.isEmpty())
                     return;
                     return;
                 MWSign sign = optional.get();
                 MWSign sign = optional.get();
                 Game game = GameManager.getInstance().getGame(sign.getLobby());
                 Game game = GameManager.getInstance().getGame(sign.getLobby());

+ 3 - 3
missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/MathUtil.java

@@ -28,10 +28,10 @@ public class MathUtil {
      * As long as the difference is smaller than 1.0E-8D, it will return true. This value was chosen, as
      * As long as the difference is smaller than 1.0E-8D, it will return true. This value was chosen, as
      * {@link org.bukkit.util.Vector#equals(Object)} uses a more losen tolerance.
      * {@link org.bukkit.util.Vector#equals(Object)} uses a more losen tolerance.
      *
      *
-     * @param value1
-     * @param value2
+     * @param value1 the first double
+     * @param value2 the second double
      *
      *
-     * @return
+     * @return true if the double values are close enough to be considered equal
      */
      */
     public static boolean closeEnoughEquals(final double value1, final double value2) {
     public static boolean closeEnoughEquals(final double value1, final double value2) {
         return Math.abs(value1 - value2) < 1.0E-8D;
         return Math.abs(value1 - value2) < 1.0E-8D;

+ 11 - 5
missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/SetupUtil.java

@@ -23,10 +23,14 @@ import de.butzlabben.missilewars.Logger;
 import de.butzlabben.missilewars.MissileWars;
 import de.butzlabben.missilewars.MissileWars;
 import de.butzlabben.missilewars.game.Arenas;
 import de.butzlabben.missilewars.game.Arenas;
 import de.butzlabben.missilewars.wrapper.abstracts.Arena;
 import de.butzlabben.missilewars.wrapper.abstracts.Arena;
-import org.bukkit.configuration.file.YamlConfiguration;
-import org.bukkit.plugin.java.JavaPlugin;
-
-import java.io.*;
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
 import java.net.URL;
 import java.net.URL;
 import java.nio.charset.StandardCharsets;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Files;
@@ -35,6 +39,8 @@ import java.util.jar.JarEntry;
 import java.util.jar.JarFile;
 import java.util.jar.JarFile;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipInputStream;
 import java.util.zip.ZipInputStream;
+import org.bukkit.configuration.file.YamlConfiguration;
+import org.bukkit.plugin.java.JavaPlugin;
 
 
 /**
 /**
  * @author Butzlabben
  * @author Butzlabben
@@ -201,7 +207,7 @@ public class SetupUtil {
     /**
     /**
      * Extracts a zip entry (file entry)
      * Extracts a zip entry (file entry)
      *
      *
-     * @param zipIn
+     * @param zipIn    the input stream
      * @param filePath
      * @param filePath
      *
      *
      * @throws IOException
      * @throws IOException

+ 38 - 9
missilewars-plugin/src/main/java/de/butzlabben/missilewars/wrapper/abstracts/Arena.java

@@ -19,21 +19,29 @@
 package de.butzlabben.missilewars.wrapper.abstracts;
 package de.butzlabben.missilewars.wrapper.abstracts;
 
 
 import com.google.gson.annotations.SerializedName;
 import com.google.gson.annotations.SerializedName;
-import de.butzlabben.missilewars.wrapper.abstracts.arena.*;
+import de.butzlabben.missilewars.wrapper.abstracts.arena.EquipmentIntervalConfiguration;
+import de.butzlabben.missilewars.wrapper.abstracts.arena.FallProtectionConfiguration;
+import de.butzlabben.missilewars.wrapper.abstracts.arena.FireballConfiguration;
+import de.butzlabben.missilewars.wrapper.abstracts.arena.GameRespawnConfiguration;
+import de.butzlabben.missilewars.wrapper.abstracts.arena.GameSpawnConfiguration;
+import de.butzlabben.missilewars.wrapper.abstracts.arena.MissileConfiguration;
+import de.butzlabben.missilewars.wrapper.abstracts.arena.MoneyConfiguration;
+import de.butzlabben.missilewars.wrapper.abstracts.arena.ShieldConfiguration;
 import de.butzlabben.missilewars.wrapper.geometry.FlatArea;
 import de.butzlabben.missilewars.wrapper.geometry.FlatArea;
 import de.butzlabben.missilewars.wrapper.geometry.Plane;
 import de.butzlabben.missilewars.wrapper.geometry.Plane;
-import lombok.Builder;
 import lombok.Getter;
 import lombok.Getter;
-import lombok.RequiredArgsConstructor;
+import lombok.Setter;
 import lombok.ToString;
 import lombok.ToString;
 import org.bukkit.Location;
 import org.bukkit.Location;
 import org.bukkit.util.Vector;
 import org.bukkit.util.Vector;
 
 
 @Getter
 @Getter
 @ToString
 @ToString
-@RequiredArgsConstructor
-@Builder(toBuilder = true)
-public class Arena {
+public class Arena implements Cloneable {
+
+    @SerializedName("spectator_spawn")
+    @Setter
+    private Location spectatorSpawn = new Location(null, 0, 100, 0, 90, 0);
 
 
     private String name = "arena0";
     private String name = "arena0";
     @SerializedName("display_name") private String displayName = "&eDefault map";
     @SerializedName("display_name") private String displayName = "&eDefault map";
@@ -56,10 +64,17 @@ public class Arena {
     @SerializedName("money") private MoneyConfiguration money = new MoneyConfiguration();
     @SerializedName("money") private MoneyConfiguration money = new MoneyConfiguration();
     @SerializedName("equipment_interval") private EquipmentIntervalConfiguration interval = new EquipmentIntervalConfiguration();
     @SerializedName("equipment_interval") private EquipmentIntervalConfiguration interval = new EquipmentIntervalConfiguration();
     @SerializedName("missile_configuration") private MissileConfiguration missileConfiguration = new MissileConfiguration();
     @SerializedName("missile_configuration") private MissileConfiguration missileConfiguration = new MissileConfiguration();
-    @SerializedName("spectator_spawn") private Location spectatorSpawn = new Location(null, 0, 100, 0, 90, 0);
+    @SerializedName("team1_spawn")
+    @Setter
+    private Location team1Spawn = new Location(null, 0.5, 100, 45.5, 180, 0);
     @SerializedName("area") private FlatArea gameArea = new FlatArea(-30, -72, 30, 72);
     @SerializedName("area") private FlatArea gameArea = new FlatArea(-30, -72, 30, 72);
-    @SerializedName("team1_spawn") private Location team1Spawn = new Location(null, 0.5, 100, 45.5, 180, 0);
-    @SerializedName("team2_spawn") private Location team2Spawn = new Location(null, 0.5, 100, -45.5, 0, 0);
+    @SerializedName("team2_spawn")
+    @Setter
+    private Location team2Spawn = new Location(null, 0.5, 100, -45.5, 0, 0);
+
+    public Arena() {
+
+    }
 
 
     public Plane getPlane1() {
     public Plane getPlane1() {
         Vector spawn1 = team1Spawn.toVector();
         Vector spawn1 = team1Spawn.toVector();
@@ -79,4 +94,18 @@ public class Arena {
         double distance2 = plane2.distanceSquared(point);
         double distance2 = plane2.distanceSquared(point);
         return distanceBetween > distance1 + distance2;
         return distanceBetween > distance1 + distance2;
     }
     }
+
+    @Override
+    public Arena clone() {
+        try {
+            Arena clone = (Arena) super.clone();
+            clone.spectatorSpawn = spectatorSpawn.clone();
+            clone.team1Spawn = team1Spawn.clone();
+            clone.team2Spawn = team2Spawn.clone();
+
+            return clone;
+        } catch (CloneNotSupportedException e) {
+            throw new AssertionError();
+        }
+    }
 }
 }

+ 7 - 8
missilewars-plugin/src/main/java/de/butzlabben/missilewars/wrapper/abstracts/Lobby.java

@@ -22,6 +22,11 @@ import com.google.gson.annotations.SerializedName;
 import de.butzlabben.missilewars.Logger;
 import de.butzlabben.missilewars.Logger;
 import de.butzlabben.missilewars.game.Arenas;
 import de.butzlabben.missilewars.game.Arenas;
 import de.butzlabben.missilewars.wrapper.geometry.Area;
 import de.butzlabben.missilewars.wrapper.geometry.Area;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Collectors;
 import lombok.Getter;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
 import lombok.Setter;
 import lombok.Setter;
@@ -30,12 +35,6 @@ import org.bukkit.Bukkit;
 import org.bukkit.Location;
 import org.bukkit.Location;
 import org.bukkit.World;
 import org.bukkit.World;
 
 
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Optional;
-import java.util.stream.Collectors;
-
 @Getter
 @Getter
 @ToString
 @ToString
 @RequiredArgsConstructor
 @RequiredArgsConstructor
@@ -56,7 +55,7 @@ public class Lobby {
     @SerializedName("after_game_spawn") private Location afterGameSpawn = Bukkit.getWorlds().get(0).getSpawnLocation();
     @SerializedName("after_game_spawn") private Location afterGameSpawn = Bukkit.getWorlds().get(0).getSpawnLocation();
     private Area area = Area.defaultAreaAround(Bukkit.getWorlds().get(0).getSpawnLocation());
     private Area area = Area.defaultAreaAround(Bukkit.getWorlds().get(0).getSpawnLocation());
     @SerializedName("map_choose_procedure") private MapChooseProcedure mapChooseProcedure = MapChooseProcedure.FIRST;
     @SerializedName("map_choose_procedure") private MapChooseProcedure mapChooseProcedure = MapChooseProcedure.FIRST;
-    @SerializedName("possible_arenas") private List<String> possibleArenas = new ArrayList<String>() {{
+    @SerializedName("possible_arenas") private List<String> possibleArenas = new ArrayList<>() {{
         add("arena0");
         add("arena0");
     }};
     }};
 
 
@@ -74,7 +73,7 @@ public class Lobby {
     public void checkForWrongArenas() {
     public void checkForWrongArenas() {
         for (String arenaName : possibleArenas) {
         for (String arenaName : possibleArenas) {
             Optional<Arena> arena = Arenas.getFromName(arenaName);
             Optional<Arena> arena = Arenas.getFromName(arenaName);
-            if (!arena.isPresent()) {
+            if (arena.isEmpty()) {
                 Logger.WARN.log("Could not find arena with name \"" + arenaName + "\" for lobby \"" + getName() + "\"");
                 Logger.WARN.log("Could not find arena with name \"" + arenaName + "\" for lobby \"" + getName() + "\"");
             }
             }
         }
         }

+ 1 - 1
pom.xml

@@ -111,7 +111,7 @@
         <dependency>
         <dependency>
             <groupId>org.projectlombok</groupId>
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>
             <artifactId>lombok</artifactId>
-            <version>1.18.22</version>
+            <version>1.18.24</version>
             <scope>provided</scope>
             <scope>provided</scope>
         </dependency>
         </dependency>