diff --git a/Plugins/Classpath.Dummy/src/net/minecraft/server/v1_7_R4/PacketPlayOutPlayerInfo.java b/Plugins/Classpath.Dummy/src/net/minecraft/server/v1_7_R4/PacketPlayOutPlayerInfo.java index 28744fa09..67f811440 100644 --- a/Plugins/Classpath.Dummy/src/net/minecraft/server/v1_7_R4/PacketPlayOutPlayerInfo.java +++ b/Plugins/Classpath.Dummy/src/net/minecraft/server/v1_7_R4/PacketPlayOutPlayerInfo.java @@ -61,11 +61,16 @@ public class PacketPlayOutPlayerInfo extends Packet { } public static PacketPlayOutPlayerInfo updateDisplayName(EntityPlayer player) { + return updateDisplayName(player, getFormattedName(player)); + } + + public static PacketPlayOutPlayerInfo updateDisplayName(EntityPlayer player, String displayName) + { PacketPlayOutPlayerInfo packet = new PacketPlayOutPlayerInfo(); packet.action = 3; packet.username = player.listName; packet.player = player.getProfile(); - packet._tabName = getFormattedName(player); + packet._tabName = displayName; return packet; } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardManager.java b/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardManager.java index cb8db6608..8ddf611c0 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardManager.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardManager.java @@ -74,7 +74,7 @@ public class RewardManager } // Gadgets - addReward(new InventoryReward(inventoryManager, "Paintball Gun Ammo", "Paintball Gun", + addReward(new InventoryReward(inventoryManager, "Paintballs", "Paintball Gun", (int)(100*(minValue/500)), (int)(100*(maxValue/500)), new ItemStack(Material.GOLD_BARDING), rarity, 1)); @@ -82,7 +82,7 @@ public class RewardManager (int)(50*(minValue/500)), (int)(50*(maxValue/500)), new ItemStack(Material.FIREWORK), rarity, 1)); - addReward(new InventoryReward(inventoryManager, "Melon Launcher Ammo", "Melon Launcher", + addReward(new InventoryReward(inventoryManager, "Melons", "Melon Launcher", (int)(50*(minValue/500)), (int)(50*(maxValue/500)), new ItemStack(Material.MELON_BLOCK), rarity, 1)); @@ -90,11 +90,11 @@ public class RewardManager (int)(40*(minValue/500)), (int)(40*(maxValue/500)), new ItemStack(Material.getMaterial(131)), rarity, 1)); - addReward(new InventoryReward(inventoryManager, "Ethereal Pearls", "Ethereal Pearl", + addReward(new InventoryReward(inventoryManager, "Pearls", "Ethereal Pearl", (int)(30*(minValue/500)), (int)(30*(maxValue/500)), new ItemStack(Material.ENDER_PEARL), rarity, 1)); - addReward(new InventoryReward(inventoryManager, "Bat Blaster Ammo", "Bat Blaster", + addReward(new InventoryReward(inventoryManager, "Bat Swarms", "Bat Blaster", (int)(20*(minValue/500)), (int)(20*(maxValue/500)), new ItemStack(Material.IRON_BARDING), rarity, 1)); @@ -118,7 +118,7 @@ public class RewardManager } // Gadgets - addReward(new InventoryReward(inventoryManager, "Paintball Gun Ammo", "Paintball Gun", + addReward(new InventoryReward(inventoryManager, "Paintballs", "Paintball Gun", (int)(100*(minValue/500)), (int)(100*(maxValue/500)), new ItemStack(Material.GOLD_BARDING), rarity, 250)); @@ -126,19 +126,19 @@ public class RewardManager (int)(50*(minValue/500)), (int)(50*(maxValue/500)), new ItemStack(Material.FIREWORK), rarity, 250)); - addReward(new InventoryReward(inventoryManager, "Melon Launcher Ammo", "Melon Launcher", + addReward(new InventoryReward(inventoryManager, "Melons", "Melon Launcher", (int)(50*(minValue/500)), (int)(50*(maxValue/500)), new ItemStack(Material.MELON_BLOCK), rarity, 250)); - addReward(new InventoryReward(inventoryManager, "Flesh Hook Ammo", "Flesh Hook", + addReward(new InventoryReward(inventoryManager, "Flesh Hooks", "Flesh Hook", (int)(40*(minValue/500)), (int)(40*(maxValue/500)), new ItemStack(Material.getMaterial(131)), rarity, 250)); - addReward(new InventoryReward(inventoryManager, "Ethereal Pearls", "Ethereal Pearl", + addReward(new InventoryReward(inventoryManager, "Pearls", "Ethereal Pearl", (int)(30*(minValue/500)), (int)(30*(maxValue/500)), new ItemStack(Material.ENDER_PEARL), rarity, 250)); - addReward(new InventoryReward(inventoryManager, "Bat Blaster Ammo", "Bat Blaster", + addReward(new InventoryReward(inventoryManager, "Bat Swarms", "Bat Blaster", (int)(20*(minValue/500)), (int)(20*(maxValue/500)), new ItemStack(Material.IRON_BARDING), rarity, 250)); @@ -291,10 +291,11 @@ public class RewardManager int currentReward = 0; Reward[] rewards = new Reward[4]; boolean hasUncommon = false; + boolean canGiveMythical = true; while (currentReward < 4) { - Reward reward = nextReward(player, rewards, currentReward == 3 && !hasUncommon, type); + Reward reward = nextReward(player, rewards, currentReward == 3 && !hasUncommon, type, canGiveMythical); if (reward == null) { @@ -305,6 +306,13 @@ public class RewardManager { hasUncommon = true; } + + //Only allow 1 Mythical + if (reward.getRarity().ordinal() >= RewardRarity.MYTHICAL.ordinal()) + { + canGiveMythical = false; + } + rewards[currentReward] = reward; currentReward++; } @@ -328,14 +336,14 @@ public class RewardManager // return nextReward(player, excludedRewards, false, isChestOpening); // } - public Reward nextReward(Player player, Reward[] excludedRewards, boolean requiresUncommon, RewardType type) + public Reward nextReward(Player player, Reward[] excludedRewards, boolean requiresUncommon, RewardType type, boolean canGiveMythical) { RewardRarity rarity = type.generateRarity(requiresUncommon); //Dont give Rank Upgrade if already has Legend if (rarity == RewardRarity.MYTHICAL) { - if (_clientManager.Get(player).GetRank().Has(Rank.LEGEND)) + if (!canGiveMythical || _clientManager.Get(player).GetRank().Has(Rank.LEGEND)) { rarity = RewardRarity.LEGENDARY; } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardType.java b/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardType.java index 8dc398882..1ac3424f1 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardType.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardType.java @@ -2,11 +2,11 @@ package mineplex.core.reward; public enum RewardType { - //% Chances Mythic Legend Rare Uncommon - GameLoot( 0.000001, 0.001, 0.004, 3), - BasicChest( 0, 0.01, 0.04, 5), - HeroicChest( 0, 1, 4, 25), - LegendaryChest( 0.5, 2.5, 10, 40); + //% Chances Mythic Legend Rare Uncommon + GameLoot( 0.000001, 0.00001, 0.0001, 3), + OldChest( 0, 0.01, 0.04, 5), + AncientChest( 0, 1, 4, 25), + MythicalChest( 0.5, 2.5, 10, 40); private double _mythicalChance; private double _legendaryChance; diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/OldChest.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/OldChest.java new file mode 100644 index 000000000..b3c65dd94 --- /dev/null +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/OldChest.java @@ -0,0 +1,25 @@ +package mineplex.core.treasure; + +import org.bukkit.ChatColor; +import org.bukkit.Material; +import org.bukkit.entity.Player; + +import mineplex.core.common.CurrencyType; +import mineplex.core.shop.item.SalesPackageBase; + +public class OldChest extends SalesPackageBase +{ + public OldChest() + { + super("Old Chest", Material.CHEST, (byte) 0, new String[] {}, 1000); + + KnownPackage = false; + OneTimePurchaseOnly = false; + } + + @Override + public void Sold(Player player, CurrencyType currencyType) + { + + } +} diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/Treasure.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/Treasure.java index 43584d990..463224286 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/Treasure.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/Treasure.java @@ -91,8 +91,7 @@ public class Treasure _chestData[i] = new ChestData(chestBlocks[i]); } - if (_treasureType == TreasureType.HEROIC || _treasureType == TreasureType.LEGENDARY) - _animations.add(new BlockChangeAnimation(this, _otherBlockInfo)); + _animations.add(new BlockChangeAnimation(this, _otherBlockInfo)); } public int getFinishedTickCount() diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/TreasureLocation.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/TreasureLocation.java index 60b3f1338..60571e757 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/TreasureLocation.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/TreasureLocation.java @@ -99,7 +99,7 @@ public class TreasureLocation implements Listener setHoloChestVisible(false); - if (treasureType == TreasureType.HEROIC || treasureType == TreasureType.LEGENDARY) + if (treasureType == TreasureType.ANCIENT || treasureType == TreasureType.MYTHICAL) Bukkit.broadcastMessage(F.main("Treasure", F.name(player.getName()) + " is opening a " + treasureType.getName())); Reward[] rewards = _treasureManager.getRewards(player, treasureType.getRewardType()); diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/TreasureStyle.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/TreasureStyle.java index f2ce6e985..f6f91a858 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/TreasureStyle.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/TreasureStyle.java @@ -1,33 +1,24 @@ package mineplex.core.treasure; -import org.bukkit.Material; import org.bukkit.Sound; import mineplex.core.common.util.UtilParticle.ParticleType; -/** - * Created by Shaun on 8/28/2014. - */ public enum TreasureStyle { - /** - * These are examples, not final! - */ - - - BASIC( + OLD( ParticleType.EXPLODE, ParticleType.EXPLODE, Sound.FIZZ, Sound.HORSE_ARMOR), - HEROIC( + ANCIENT( ParticleType.FLAME, ParticleType.LAVA, Sound.LAVA_POP, Sound.EXPLODE), - LEGENDARY( + MYTHICAL( ParticleType.HAPPY_VILLAGER, ParticleType.LARGE_EXPLODE, Sound.PORTAL_TRAVEL, diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/TreasureType.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/TreasureType.java index 6cff3e970..861f47a91 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/TreasureType.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/TreasureType.java @@ -7,11 +7,11 @@ import mineplex.core.reward.RewardType; public enum TreasureType { - BASIC(C.cYellow + "Basic Chest", "Basic Chest", RewardType.BasicChest, Material.CHEST, TreasureStyle.BASIC), + OLD(C.cYellow + "Old Chest", "Old Chest", RewardType.OldChest, Material.CHEST, TreasureStyle.OLD), - HEROIC(C.cGold + "Heroic Chest", "Heroic Chest", RewardType.HeroicChest, Material.TRAPPED_CHEST, TreasureStyle.HEROIC), + ANCIENT(C.cGold + "Ancient Chest", "Ancient Chest", RewardType.AncientChest, Material.TRAPPED_CHEST, TreasureStyle.ANCIENT), - LEGENDARY(C.cRed + "Legendary Chest", "Legendary Chest", RewardType.LegendaryChest, Material.ENDER_CHEST, TreasureStyle.LEGENDARY); + MYTHICAL(C.cRed + "Mythical Chest", "Mythical Chest", RewardType.MythicalChest, Material.ENDER_CHEST, TreasureStyle.MYTHICAL); private final String _name; private final RewardType _rewardType; diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/BlockChangeAnimation.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/BlockChangeAnimation.java index 8cf206761..aef2e303f 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/BlockChangeAnimation.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/BlockChangeAnimation.java @@ -51,13 +51,19 @@ public class BlockChangeAnimation extends Animation } else if (b.getType() == Material.SMOOTH_BRICK) { - Material newMaterial = getTreasure().getTreasureType() == TreasureType.HEROIC ? Material.NETHER_BRICK : Material.QUARTZ_BLOCK; + if (getTreasure().getTreasureType() == TreasureType.OLD) + continue; + + Material newMaterial = getTreasure().getTreasureType() == TreasureType.ANCIENT ? Material.NETHER_BRICK : Material.QUARTZ_BLOCK; _blockInfoList.add(new BlockInfo(b)); b.setType(newMaterial); } else if (b.getType() == Material.SMOOTH_STAIRS || b.getType() == Material.COBBLESTONE_STAIRS) { - Material newMaterial = getTreasure().getTreasureType() == TreasureType.HEROIC ? Material.NETHER_BRICK_STAIRS : Material.QUARTZ_STAIRS; + if (getTreasure().getTreasureType() == TreasureType.OLD) + continue; + + Material newMaterial = getTreasure().getTreasureType() == TreasureType.ANCIENT ? Material.NETHER_BRICK_STAIRS : Material.QUARTZ_STAIRS; _blockInfoList.add(new BlockInfo(b)); b.setType(newMaterial); } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/ChestSpawnAnimation.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/ChestSpawnAnimation.java index eff3d533a..cc12d2eb0 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/ChestSpawnAnimation.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/ChestSpawnAnimation.java @@ -80,11 +80,11 @@ public class ChestSpawnAnimation extends Animation _particleLocation.add(_particleDirection); //Play Particels - if (getTreasure().getTreasureType() == TreasureType.BASIC) + if (getTreasure().getTreasureType() == TreasureType.OLD) { UtilParticle.PlayParticle(getTreasure().getTreasureType().getStyle().getSecondaryParticle(), _centerLocation, 0.1f, 0.1f, 0.1f, 0, 1); } - else if (getTreasure().getTreasureType() == TreasureType.HEROIC) + else if (getTreasure().getTreasureType() == TreasureType.ANCIENT) { float x = (float) (Math.sin(getTicks()/4D)); float z = (float) (Math.cos(getTicks()/4D)); @@ -95,7 +95,7 @@ public class ChestSpawnAnimation extends Animation UtilParticle.PlayParticle(getTreasure().getTreasureType().getStyle().getSecondaryParticle(), newLoc, 0f, 0f, 0f, 0, 1); } - else if (getTreasure().getTreasureType() == TreasureType.LEGENDARY) + else if (getTreasure().getTreasureType() == TreasureType.MYTHICAL) { float y = 5 * scale; double width = 0.7 * ((double) getTicks() / (double) ANIMATION_DURATION); diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/gui/BuyBasicChestButton.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/gui/BuyBasicChestButton.java new file mode 100644 index 000000000..990211b26 --- /dev/null +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/gui/BuyBasicChestButton.java @@ -0,0 +1,45 @@ +package mineplex.core.treasure.gui; + +import org.bukkit.entity.Player; +import org.bukkit.event.inventory.ClickType; + +import mineplex.core.account.CoreClientManager; +import mineplex.core.common.CurrencyType; +import mineplex.core.donation.DonationManager; +import mineplex.core.inventory.InventoryManager; +import mineplex.core.shop.item.IButton; +import mineplex.core.shop.page.ConfirmationPage; +import mineplex.core.treasure.OldChest; +import mineplex.core.treasure.TreasureManager; + +public class BuyBasicChestButton implements IButton +{ + private Player _player; + + private InventoryManager _inventoryManager; + + private TreasurePage _page; + + public BuyBasicChestButton(Player player, InventoryManager inventoryManager, TreasurePage page) + { + _player = player; + + _inventoryManager = inventoryManager; + + _page = page; + } + + @Override + public void onClick(final Player player, ClickType clickType) + { + _page.getShop().OpenPageForPlayer(player, new ConfirmationPage( + _page.getPlugin(), _page.getShop(), _page.getClientManager(), _page.getDonationManager(), new Runnable() + { + public void run() + { + _inventoryManager.addItemToInventory(player, "Item", "Old Chest", 1); + _page.Refresh(); + } + }, _page, new OldChest(), CurrencyType.Coins, player)); + } +} \ No newline at end of file diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/gui/TreasurePage.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/gui/TreasurePage.java index d8ebf78c9..d392959c0 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/gui/TreasurePage.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/gui/TreasurePage.java @@ -8,12 +8,17 @@ import org.bukkit.Material; import org.bukkit.entity.Player; import mineplex.core.account.CoreClientManager; +import mineplex.core.common.CurrencyType; import mineplex.core.common.util.C; import mineplex.core.common.util.F; +import mineplex.core.cosmetic.CosmeticManager; +import mineplex.core.cosmetic.ui.CosmeticShop; import mineplex.core.donation.DonationManager; import mineplex.core.inventory.InventoryManager; import mineplex.core.shop.item.ShopItem; +import mineplex.core.shop.page.ConfirmationPage; import mineplex.core.shop.page.ShopPageBase; +import mineplex.core.treasure.TreasureKey; import mineplex.core.treasure.TreasureLocation; import mineplex.core.treasure.TreasureManager; import mineplex.core.treasure.TreasureType; @@ -36,38 +41,71 @@ public class TreasurePage extends ShopPageBase @Override protected void BuildPage() { - int basicCount = _inventoryManager.Get(Player).getItemCount(TreasureType.BASIC.getItemName()); - int heroicCount = _inventoryManager.Get(Player).getItemCount(TreasureType.HEROIC.getItemName()); - int legendaryCount = _inventoryManager.Get(Player).getItemCount(TreasureType.LEGENDARY.getItemName()); + int basicCount = _inventoryManager.Get(Player).getItemCount(TreasureType.OLD.getItemName()); + int heroicCount = _inventoryManager.Get(Player).getItemCount(TreasureType.ANCIENT.getItemName()); + int legendaryCount = _inventoryManager.Get(Player).getItemCount(TreasureType.MYTHICAL.getItemName()); List basicLore = new ArrayList(); basicLore.add(" "); - basicLore.add(F.value("Basic Chests Owned", "" + basicCount)); + basicLore.add(F.value("Old Chests Owned", "" + basicCount)); + basicLore.add(" "); + basicLore.add(C.cGray + "We've scoured the lands of Minecraft"); + basicLore.add(C.cGray + "and found these abandoned chests."); + basicLore.add(C.cGray + "The contents are unknown, but"); + basicLore.add(C.cGray + "according to the inscriptions on the"); + basicLore.add(C.cGray + "the straps they appear to contain"); + basicLore.add(C.cGray + "many kinds of loot."); basicLore.add(" "); if (basicCount > 0) - basicLore.add(ChatColor.RESET + "Click to open!"); + basicLore.add(ChatColor.RESET + C.cGreen + "Click to Open!"); + else + { + basicLore.add(ChatColor.RESET + "Cost: " + C.cYellow + "1000 Coins"); + basicLore.add(ChatColor.RESET + "Click to Purchase!"); + } List heroicLore = new ArrayList(); heroicLore.add(" "); - heroicLore.add(F.value("Heroic Chests Owned", "" + heroicCount)); + heroicLore.add(F.value("Ancient Chests Owned", "" + heroicCount)); + heroicLore.add(" "); + heroicLore.add(C.cGray + "Some of our bravest adventurers"); + heroicLore.add(C.cGray + "have discovered these chests within "); + heroicLore.add(C.cGray + "temples hidden in Minecrafts worlds."); heroicLore.add(" "); if (heroicCount > 0) - heroicLore.add(ChatColor.RESET + "Click to open!"); + heroicLore.add(ChatColor.RESET + C.cGreen + "Click to Open!"); + else + { + heroicLore.add(ChatColor.RESET + "Purchase at: " + C.cYellow + "www.mineplex.com/shop"); + } List legendaryLore = new ArrayList(); legendaryLore.add(" "); - legendaryLore.add(F.value("Legendary Chests Owned", "" + legendaryCount)); + legendaryLore.add(F.value("Mythical Chests Owned", "" + legendaryCount)); + legendaryLore.add(" "); + legendaryLore.add(C.cGray + "All our previous adventurers have"); + legendaryLore.add(C.cGray + "perished in search of these chests."); + legendaryLore.add(C.cGray + "However, legends of their existence"); + legendaryLore.add(C.cGray + "convinced Sterling, Chiss and Defek7"); + legendaryLore.add(C.cGray + "to venture out and discover the"); + legendaryLore.add(C.cGray + "location of these chests on their own."); legendaryLore.add(" "); if (legendaryCount > 0) - legendaryLore.add(ChatColor.RESET + "Click to open!"); + legendaryLore.add(ChatColor.RESET + C.cGreen + "Click to Open!"); + else + { + legendaryLore.add(ChatColor.RESET + "Purchase at: " + C.cYellow + "www.mineplex.com/shop"); + } + ShopItem basic = new ShopItem(Material.CHEST, C.cGreen + C.Bold + "Old Chest", basicLore.toArray(new String[0]), 0, false, false); + ShopItem heroic = new ShopItem(Material.TRAPPED_CHEST, C.cGold + C.Bold + "Ancient Chest", heroicLore.toArray(new String[0]), 0, false, false); + ShopItem legendary = new ShopItem(Material.ENDER_CHEST, C.cRed + C.Bold + "Mythical Chest", legendaryLore.toArray(new String[0]), 0, false, false); - ShopItem basic = new ShopItem(Material.CHEST, C.cGreen + C.Bold + "Basic Chest", basicLore.toArray(new String[0]), 0, false, false); - ShopItem heroic = new ShopItem(Material.TRAPPED_CHEST, C.cGold + C.Bold + "Heroic Chest", heroicLore.toArray(new String[0]), 0, false, false); - ShopItem legendary = new ShopItem(Material.ENDER_CHEST, C.cRed + C.Bold + "Legendary Chest", legendaryLore.toArray(new String[0]), 0, false, false); - - AddButton(2, basic, new OpenTreasureButton(Player, _treasureLocation, TreasureType.BASIC)); - AddButton(4, heroic, new OpenTreasureButton(Player, _treasureLocation, TreasureType.HEROIC)); - AddButton(6, legendary, new OpenTreasureButton(Player, _treasureLocation, TreasureType.LEGENDARY)); + if (basicCount > 0) + AddButton(2, basic, new OpenTreasureButton(Player, _treasureLocation, TreasureType.OLD)); + else + AddButton(2, basic, new BuyBasicChestButton(Player, _inventoryManager, this)); + AddButton(4, heroic, new OpenTreasureButton(Player, _treasureLocation, TreasureType.ANCIENT)); + AddButton(6, legendary, new OpenTreasureButton(Player, _treasureLocation, TreasureType.MYTHICAL)); } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java index be778390d..ee2794c13 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java @@ -84,6 +84,7 @@ import mineplex.minecraft.game.core.fire.Fire; import nautilus.game.arcade.addons.CompassAddon; import nautilus.game.arcade.addons.SoupAddon; import nautilus.game.arcade.addons.TeamArmorAddon; +import nautilus.game.arcade.command.DisguiseCommand; import nautilus.game.arcade.command.GameCommand; import nautilus.game.arcade.command.WriteCommand; import nautilus.game.arcade.command.YoutubeCommand; @@ -306,6 +307,7 @@ public class ArcadeManager extends MiniPlugin implements IRelation addCommand(new GameCommand(this)); addCommand(new WriteCommand(this)); addCommand(new YoutubeCommand(this)); + addCommand(new DisguiseCommand(this)); } public GameServerConfig GetServerConfig() diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/command/DisguiseCommand.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/command/DisguiseCommand.java new file mode 100644 index 000000000..ebcc7f31c --- /dev/null +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/command/DisguiseCommand.java @@ -0,0 +1,56 @@ +package nautilus.game.arcade.command; + +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.entity.Player; + +import nautilus.game.arcade.ArcadeManager; +import net.minecraft.util.com.mojang.authlib.GameProfile; +import mineplex.core.command.CommandBase; +import mineplex.core.common.Rank; +import mineplex.core.common.util.C; +import mineplex.core.common.util.ProfileLoader; +import mineplex.core.common.util.UUIDFetcher; +import mineplex.core.common.util.UtilPlayer; +import mineplex.core.disguise.disguises.DisguisePlayer; + +public class DisguiseCommand extends CommandBase +{ + public DisguiseCommand(ArcadeManager plugin) + { + super(plugin, Rank.OWNER, new Rank[] {Rank.OWNER}, "disguise"); + } + + @Override + public void Execute(final Player caller, final String[] args) + { + if (args.length == 0) + { + UtilPlayer.message(caller, C.cRed + C.Bold + "/disguise "); + return; + } + + Bukkit.getServer().getScheduler().runTaskAsynchronously(Plugin.GetPlugin(), new Runnable() + { + @Override + public void run() + { + try + { + GameProfile profile = new ProfileLoader(UUIDFetcher.getUUIDOf(args[0]).toString(), args[0]).loadProfile(); + + + DisguisePlayer playerDisguise = new DisguisePlayer(caller, profile); + Plugin.GetDisguise().disguise(playerDisguise); + + UtilPlayer.message(caller, C.cGreen + C.Bold + "Disguise Active: " + ChatColor.RESET + args[0]); + } + catch (Exception e) + { + UtilPlayer.message(caller, C.cRed + C.Bold + "Invalid Disguise Name: " + ChatColor.RESET + args[0]); + return; + } + }} + ); + } +} diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameLootManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameLootManager.java index 38c161767..c9d54e003 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameLootManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameLootManager.java @@ -162,7 +162,7 @@ public class GameLootManager implements Listener return false; } - Reward reward = _rewardManager.nextReward(player, null, false, RewardType.GameLoot); + Reward reward = _rewardManager.nextReward(player, null, false, RewardType.GameLoot, true); RewardData rewardData = reward.giveReward("GameLoot", player);