diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/GameType.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/GameType.java index 2b2c97eec..c8b6efea0 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/GameType.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/GameType.java @@ -6,7 +6,7 @@ public enum GameType { //Mini BaconBrawl("Bacon Brawl", Material.PORK, (byte)0, GameCategory.ARCADE, 1), - Barbarians("A Barbarians Life", Material.WOOD_AXE, (byte)0, GameCategory.ARCADE, 2), + Barbarians("A Barbarians Life", Material.WOOD_AXE, (byte)0, GameCategory.EXTRA, 2), Bridge("The Bridges", Material.IRON_PICKAXE, (byte)0, GameCategory.SURVIVAL, 3), CastleSiege("Castle Siege", Material.DIAMOND_CHESTPLATE, (byte)0, GameCategory.CLASSICS, 4), ChampionsDominate("Champions Domination", "Champions", Material.BEACON, (byte)0, GameCategory.CHAMPIONS, 6), @@ -15,39 +15,39 @@ public enum GameType Christmas("Christmas Chaos", Material.SNOW_BALL, (byte)0, GameCategory.CLASSICS, 8), DeathTag("Death Tag", Material.SKULL_ITEM, (byte)0, GameCategory.ARCADE, 9), DragonEscape("Dragon Escape", Material.DRAGON_EGG, (byte)0, GameCategory.ARCADE, 10), - DragonEscapeTeams("Dragon Escape Teams", Material.DRAGON_EGG, (byte)0, GameCategory.ARCADE, 11), + DragonEscapeTeams("Dragon Escape Teams", Material.DRAGON_EGG, (byte)0, GameCategory.TEAM_VARIANT, 11), DragonRiders("Dragon Riders", Material.DRAGON_EGG, (byte)0, GameCategory.ARCADE, 12), Dragons("Dragons", Material.ENDER_STONE, (byte)0, GameCategory.ARCADE, 13), - DragonsTeams("Dragons Teams", Material.ENDER_STONE, (byte)0, GameCategory.ARCADE, 14), + DragonsTeams("Dragons Teams", Material.ENDER_STONE, (byte)0, GameCategory.TEAM_VARIANT, 14), Draw("Draw My Thing", Material.BOOK_AND_QUILL, (byte)0, GameCategory.CLASSICS, 15), Evolution("Evolution", Material.EMERALD, (byte)0, GameCategory.ARCADE, 16), FlappyBird("Flappy Bird", Material.FEATHER, (byte)0, GameCategory.ARCADE, 17), - Gravity("Gravity", Material.ENDER_PORTAL, (byte)0, GameCategory.ARCADE, 18), + Gravity("Gravity", Material.ENDER_PORTAL, (byte)0, GameCategory.EXTRA, 18), Halloween("Halloween Horror", Material.PUMPKIN, (byte)0, GameCategory.CLASSICS, 19), HideSeek("Block Hunt", Material.GRASS, (byte)0, GameCategory.CLASSICS, 20), Horse("Horseback", Material.IRON_BARDING, (byte)0, GameCategory.ARCADE, 21), Micro("Micro Battle", Material.LAVA_BUCKET, (byte)0, GameCategory.ARCADE, 24), MilkCow("Milk the Cow", Material.MILK_BUCKET, (byte)0, GameCategory.ARCADE, 27), MineStrike("MineStrike", Material.TNT, (byte)0, GameCategory.CLASSICS, 25, "http://chivebox.com/file/c/assets.zip", false), - MineWare("MineWare", Material.PAPER, (byte)0, GameCategory.ARCADE, 26), + MineWare("MineWare", Material.PAPER, (byte)0, GameCategory.EXTRA, 26), Paintball("Super Paintball", Material.ENDER_PEARL, (byte)0, GameCategory.ARCADE, 28), Quiver("One in the Quiver", Material.ARROW, (byte)0, GameCategory.ARCADE, 29), - QuiverTeams("One in the Quiver Teams", Material.ARROW, (byte)0, GameCategory.ARCADE, 30), + QuiverTeams("One in the Quiver Teams", Material.ARROW, (byte)0, GameCategory.TEAM_VARIANT, 30), Runner("Runner", Material.LEATHER_BOOTS, (byte)0, GameCategory.ARCADE, 31), SearchAndDestroy("Search and Destroy", Material.TNT, (byte)0, GameCategory.SURVIVAL, 32), Sheep("Sheep Quest", Material.WOOL, (byte)4, GameCategory.ARCADE, 33), Smash("Super Smash Mobs", Material.SKULL_ITEM, (byte)4, GameCategory.CLASSICS, 34), - SmashDomination("Super Smash Mobs Domination", "Super Smash Mobs", Material.SKULL_ITEM, (byte)4, GameCategory.CLASSICS, 36), - SmashTeams("Super Smash Mobs Teams", "Super Smash Mobs", Material.SKULL_ITEM, (byte)4, GameCategory.CLASSICS, 35), + SmashDomination("Super Smash Mobs Domination", "Super Smash Mobs", Material.SKULL_ITEM, (byte)4, GameCategory.EXTRA, 36), + SmashTeams("Super Smash Mobs Teams", "Super Smash Mobs", Material.SKULL_ITEM, (byte)4, GameCategory.TEAM_VARIANT, 35), Snake("Snake", Material.WOOL, (byte)0, GameCategory.ARCADE, 37), SneakyAssassins("Sneaky Assassins", Material.INK_SACK, (byte)0, GameCategory.ARCADE, 38), - SnowFight("Snow Fight", Material.SNOW_BALL, (byte)0, GameCategory.ARCADE, 39), + SnowFight("Snow Fight", Material.SNOW_BALL, (byte)0, GameCategory.EXTRA, 39), Spleef("Super Spleef", Material.IRON_SPADE, (byte)0, GameCategory.ARCADE, 40), - SpleefTeams("Super Spleef Teams", Material.IRON_SPADE, (byte)0, GameCategory.ARCADE, 41), + SpleefTeams("Super Spleef Teams", Material.IRON_SPADE, (byte)0, GameCategory.TEAM_VARIANT, 41), SquidShooter("Squid Shooter", Material.FIREWORK_CHARGE, (byte)0, GameCategory.ARCADE, 43), Stacker("Super Stacker", Material.BOWL, (byte)0, GameCategory.ARCADE, 42), SurvivalGames("Survival Games", Material.IRON_SWORD, (byte)0, GameCategory.SURVIVAL, 22), - SurvivalGamesTeams("Survival Games Teams", Material.IRON_SWORD, (byte)0, GameCategory.SURVIVAL, 23), + SurvivalGamesTeams("Survival Games Teams", Material.IRON_SWORD, (byte)0, GameCategory.TEAM_VARIANT, 23), Tug("Tug of Wool", Material.WHEAT, (byte)0, GameCategory.ARCADE, 44), TurfWars("Turf Wars", Material.STAINED_CLAY, (byte)14, GameCategory.ARCADE, 45), UHC("Ultra Hardcore", Material.GOLDEN_APPLE, (byte)0, GameCategory.SURVIVAL, 46), @@ -133,8 +133,8 @@ public enum GameType return _gameCategory; } - public static enum GameCategory + public enum GameCategory { - SURVIVAL, CLASSICS, CHAMPIONS, ARCADE, EVENT; + SURVIVAL, CLASSICS, CHAMPIONS, ARCADE, EVENT, TEAM_VARIANT, EXTRA; } } \ No newline at end of file diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/gui/privateServer/page/EditRotationPage.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/gui/privateServer/page/EditRotationPage.java index 6e564bf19..61b472974 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/gui/privateServer/page/EditRotationPage.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/gui/privateServer/page/EditRotationPage.java @@ -37,7 +37,7 @@ public class EditRotationPage extends BasePage for (GameType type : _manager.getAvailableGames(getPlayer())) { - int slot; + int slot = -1; switch(type.getGameCategory()) { @@ -53,13 +53,15 @@ public class EditRotationPage extends BasePage slot = championSlot; championSlot += 9; break; - default: // arcade + case ARCADE: slot = arcadeSlot; arcadeSlot++; if (arcadeSlot % 9 == 3) arcadeSlot += 6; } + if (slot == -1) continue; + addGameButton(slot, type, enabledGames.contains(type)); } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/gui/privateServer/page/SetGamePage.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/gui/privateServer/page/SetGamePage.java index ce7e2c26a..b8ca9a28e 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/gui/privateServer/page/SetGamePage.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/gui/privateServer/page/SetGamePage.java @@ -31,7 +31,7 @@ public class SetGamePage extends BasePage for (GameType type : _manager.getAvailableGames(getPlayer())) { - int slot; + int slot = -1; switch(type.getGameCategory()) { @@ -47,13 +47,15 @@ public class SetGamePage extends BasePage slot = championSlot; championSlot += 9; break; - default: // arcade + case ARCADE: slot = arcadeSlot; arcadeSlot++; if (arcadeSlot % 9 == 3) arcadeSlot += 6; } + if (slot == -1) continue; // ignore EXTRA and TEAM_VARIANT games + addGameButton(slot, type); } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameHostManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameHostManager.java index deba82717..066b86440 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameHostManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameHostManager.java @@ -97,8 +97,22 @@ public class GameHostManager implements Listener legendGames.add(GameType.CastleSiege); legendGames.add(GameType.WitherAssault); legendGames.add(GameType.Wizards); - //legendGames.add(GameType.MineStrike); - + legendGames.add(GameType.Build); + legendGames.add(GameType.UHC); + legendGames.add(GameType.MineStrike); + legendGames.add(GameType.SnowFight); + legendGames.add(GameType.Gravity); + legendGames.add(GameType.Barbarians); + legendGames.add(GameType.MineWare); + legendGames.add(GameType.SmashDomination); + // Team variants + legendGames.add(GameType.DragonEscapeTeams); + legendGames.add(GameType.DragonsTeams); + legendGames.add(GameType.QuiverTeams); + legendGames.add(GameType.SmashTeams); + legendGames.add(GameType.SpleefTeams); + legendGames.add(GameType.SurvivalGamesTeams); + //Config Defaults if (Manager.GetHost() != null && Manager.GetHost().length() > 0) { diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/MiscManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/MiscManager.java index 418871ce9..500dcd7c0 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/MiscManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/MiscManager.java @@ -122,6 +122,10 @@ public class MiscManager implements Listener if (player.getItemInHand().getType() != Material.WATCH) return; + // Prevent players from hub warping off clock in Master Builders + if (!player.getItemInHand().getItemMeta().getDisplayName().contains("Hub")) + return; + if (!Recharge.Instance.usable(event.getPlayer(), "Return to Hub")) return;