diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java index a7a9e2c10..a9372dac5 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java @@ -426,6 +426,7 @@ public abstract class Game extends ListenerComponent implements Lifetimed // Scoreboard Scoreboard = new GameScoreboard(this); + WorldData = new WorldData(this); // Stat Trackers registerStatTrackers( diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameCreationManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameCreationManager.java index 3fd4876b3..d244faa86 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameCreationManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameCreationManager.java @@ -367,7 +367,7 @@ public class GameCreationManager implements Listener { MapPref = MapPref.replace(" ", ""); - System.out.println("Map Preference: " + MapPref); + System.out.println("Map Preference: " + MapPref + " in " + MapSource); Map> matches = new HashMap<>(); @@ -375,21 +375,27 @@ public class GameCreationManager implements Listener { GameType entryType = entry.getKey(); List maps = entry.getValue(); + + if (MapSource != null && entryType != MapSource) + { + continue; + } + List matchList = new ArrayList<>(); maps.forEach(map -> { if (map.replace(" ", "").toLowerCase().contains(MapPref.toLowerCase())) { - if (MapSource == null || entryType == MapSource) - { - matchList.add(map); - System.out.print("Map Preference Found: " + map); - } + matchList.add(map); + System.out.print("Map Preference Found: " + map); } }); - matches.put(entryType, matchList); + if (!matchList.isEmpty()) + { + matches.put(entryType, matchList); + } } if (!matches.isEmpty())