Split up Cosmetic shop and Inventory
Added Ammo purchase for item gadgets.
This commit is contained in:
parent
4e93707f0d
commit
8fe4e39207
@ -0,0 +1,130 @@
|
|||||||
|
package mineplex.core.cosmetic;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.player.PlayerDropItemEvent;
|
||||||
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
|
import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
|
import mineplex.core.MiniPlugin;
|
||||||
|
import mineplex.core.account.CoreClientManager;
|
||||||
|
import mineplex.core.common.util.C;
|
||||||
|
import mineplex.core.cosmetic.ui.CosmeticShop;
|
||||||
|
import mineplex.core.donation.DonationManager;
|
||||||
|
import mineplex.core.gadget.GadgetManager;
|
||||||
|
import mineplex.core.inventory.InventoryManager;
|
||||||
|
import mineplex.core.itemstack.ItemStackFactory;
|
||||||
|
import mineplex.core.mount.MountManager;
|
||||||
|
import mineplex.core.pet.PetManager;
|
||||||
|
|
||||||
|
public class CosmeticManager extends MiniPlugin
|
||||||
|
{
|
||||||
|
private InventoryManager _inventoryManager;
|
||||||
|
private GadgetManager _gadgetManager;
|
||||||
|
private MountManager _mountManager;
|
||||||
|
private PetManager _petManager;
|
||||||
|
|
||||||
|
private CosmeticShop _shop;
|
||||||
|
|
||||||
|
boolean _showInterface = true;
|
||||||
|
|
||||||
|
public CosmeticManager(JavaPlugin plugin, CoreClientManager clientManager, DonationManager donationManager, InventoryManager inventoryManager, GadgetManager gadgetManager, MountManager mountManager, PetManager petManager)
|
||||||
|
{
|
||||||
|
super("Cosmetic Manager", plugin);
|
||||||
|
|
||||||
|
_inventoryManager = inventoryManager;
|
||||||
|
_gadgetManager = gadgetManager;
|
||||||
|
_mountManager = mountManager;
|
||||||
|
_petManager = petManager;
|
||||||
|
|
||||||
|
_shop = new CosmeticShop(this, clientManager, donationManager, _moduleName);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void showInterface(boolean showInterface)
|
||||||
|
{
|
||||||
|
boolean changed = _showInterface == showInterface;
|
||||||
|
|
||||||
|
_showInterface = showInterface;
|
||||||
|
|
||||||
|
if (changed)
|
||||||
|
{
|
||||||
|
for (Player player : Bukkit.getOnlinePlayers())
|
||||||
|
{
|
||||||
|
if (_showInterface)
|
||||||
|
player.getInventory().setItem(4, ItemStackFactory.Instance.CreateStack(Material.CHEST, (byte)0, 1, ChatColor.RESET + C.cGreen + "Cosmetic Menu"));
|
||||||
|
else
|
||||||
|
player.getInventory().setItem(4, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onPlayerJoin(PlayerJoinEvent event)
|
||||||
|
{
|
||||||
|
if (!_showInterface)
|
||||||
|
return;
|
||||||
|
|
||||||
|
event.getPlayer().getInventory().setItem(4, ItemStackFactory.Instance.CreateStack(Material.CHEST, (byte)0, 1, ChatColor.RESET + C.cGreen + "Cosmetic Menu"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void orderThatChest(final PlayerDropItemEvent event)
|
||||||
|
{
|
||||||
|
if (!_showInterface)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (event.getItemDrop().getItemStack().getType() == Material.CHEST)
|
||||||
|
{
|
||||||
|
Bukkit.getScheduler().scheduleSyncDelayedTask(GetPlugin(), new Runnable()
|
||||||
|
{
|
||||||
|
public void run()
|
||||||
|
{
|
||||||
|
if (event.getPlayer().isOnline())
|
||||||
|
{
|
||||||
|
event.getPlayer().getInventory().remove(Material.CHEST);
|
||||||
|
event.getPlayer().getInventory().setItem(4, ItemStackFactory.Instance.CreateStack(Material.CHEST, (byte)0, 1, ChatColor.RESET + C.cGreen + "Inventory Menu"));
|
||||||
|
event.getPlayer().updateInventory();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void openShop(PlayerInteractEvent event)
|
||||||
|
{
|
||||||
|
if (!_showInterface)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (event.hasItem() && event.getItem().getType() == Material.CHEST)
|
||||||
|
{
|
||||||
|
event.setCancelled(true);
|
||||||
|
|
||||||
|
_shop.attemptShopOpen(event.getPlayer());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public GadgetManager getGadgetManager()
|
||||||
|
{
|
||||||
|
return _gadgetManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MountManager getMountManager()
|
||||||
|
{
|
||||||
|
return _mountManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PetManager getPetManager()
|
||||||
|
{
|
||||||
|
return _petManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
public InventoryManager getInventoryManager()
|
||||||
|
{
|
||||||
|
return _inventoryManager;
|
||||||
|
}
|
||||||
|
}
|
@ -1,20 +1,21 @@
|
|||||||
package mineplex.core.inventory.ui;
|
package mineplex.core.cosmetic.ui;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.plugin.messaging.PluginMessageListener;
|
import org.bukkit.plugin.messaging.PluginMessageListener;
|
||||||
|
|
||||||
import mineplex.core.account.CoreClientManager;
|
import mineplex.core.account.CoreClientManager;
|
||||||
import mineplex.core.common.CurrencyType;
|
import mineplex.core.common.CurrencyType;
|
||||||
|
import mineplex.core.cosmetic.CosmeticManager;
|
||||||
|
import mineplex.core.cosmetic.ui.page.Menu;
|
||||||
|
import mineplex.core.cosmetic.ui.page.PetTagPage;
|
||||||
import mineplex.core.donation.DonationManager;
|
import mineplex.core.donation.DonationManager;
|
||||||
import mineplex.core.inventory.InventoryManager;
|
import mineplex.core.inventory.InventoryManager;
|
||||||
import mineplex.core.inventory.ui.page.Menu;
|
|
||||||
import mineplex.core.inventory.ui.page.PetTagPage;
|
|
||||||
import mineplex.core.shop.ShopBase;
|
import mineplex.core.shop.ShopBase;
|
||||||
import mineplex.core.shop.page.ShopPageBase;
|
import mineplex.core.shop.page.ShopPageBase;
|
||||||
|
|
||||||
public class InventoryShop extends ShopBase<InventoryManager> implements PluginMessageListener
|
public class CosmeticShop extends ShopBase<CosmeticManager> implements PluginMessageListener
|
||||||
{
|
{
|
||||||
public InventoryShop(InventoryManager plugin, CoreClientManager clientManager, DonationManager donationManager, String name)
|
public CosmeticShop(CosmeticManager plugin, CoreClientManager clientManager, DonationManager donationManager, String name)
|
||||||
{
|
{
|
||||||
super(plugin, clientManager, donationManager, name, CurrencyType.Gems, CurrencyType.Coins);
|
super(plugin, clientManager, donationManager, name, CurrencyType.Gems, CurrencyType.Coins);
|
||||||
|
|
||||||
@ -22,7 +23,7 @@ public class InventoryShop extends ShopBase<InventoryManager> implements PluginM
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ShopPageBase<InventoryManager, ? extends ShopBase<InventoryManager>> BuildPagesFor(Player player)
|
protected ShopPageBase<CosmeticManager, ? extends ShopBase<CosmeticManager>> BuildPagesFor(Player player)
|
||||||
{
|
{
|
||||||
return new Menu(Plugin, this, ClientManager, DonationManager, player);
|
return new Menu(Plugin, this, ClientManager, DonationManager, player);
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package mineplex.core.inventory.ui;
|
package mineplex.core.cosmetic.ui;
|
||||||
|
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
|
|
@ -1,9 +1,9 @@
|
|||||||
package mineplex.core.inventory.ui.button;
|
package mineplex.core.cosmetic.ui.button;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import mineplex.core.cosmetic.ui.page.GadgetPage;
|
||||||
import mineplex.core.gadget.types.Gadget;
|
import mineplex.core.gadget.types.Gadget;
|
||||||
import mineplex.core.inventory.ui.page.GadgetPage;
|
|
||||||
import mineplex.core.shop.item.IButton;
|
import mineplex.core.shop.item.IButton;
|
||||||
|
|
||||||
public class ActivateGadgetButton implements IButton
|
public class ActivateGadgetButton implements IButton
|
||||||
@ -16,7 +16,7 @@ public class ActivateGadgetButton implements IButton
|
|||||||
_gadget = gadget;
|
_gadget = gadget;
|
||||||
_page = page;
|
_page = page;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void ClickedLeft(Player player)
|
public void ClickedLeft(Player player)
|
||||||
{
|
{
|
||||||
@ -26,6 +26,6 @@ public class ActivateGadgetButton implements IButton
|
|||||||
@Override
|
@Override
|
||||||
public void ClickedRight(Player player)
|
public void ClickedRight(Player player)
|
||||||
{
|
{
|
||||||
_page.activateGadget(player, _gadget);
|
_page.handleRightClick(player, _gadget);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,9 +1,9 @@
|
|||||||
package mineplex.core.inventory.ui.button;
|
package mineplex.core.cosmetic.ui.button;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import mineplex.core.inventory.ui.page.Menu;
|
import mineplex.core.cosmetic.ui.page.Menu;
|
||||||
import mineplex.core.inventory.ui.page.MountPage;
|
import mineplex.core.cosmetic.ui.page.MountPage;
|
||||||
import mineplex.core.mount.Mount;
|
import mineplex.core.mount.Mount;
|
||||||
import mineplex.core.shop.item.IButton;
|
import mineplex.core.shop.item.IButton;
|
||||||
|
|
@ -1,8 +1,8 @@
|
|||||||
package mineplex.core.inventory.ui.button;
|
package mineplex.core.cosmetic.ui.button;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import mineplex.core.inventory.ui.page.PetPage;
|
import mineplex.core.cosmetic.ui.page.PetPage;
|
||||||
import mineplex.core.pet.Pet;
|
import mineplex.core.pet.Pet;
|
||||||
import mineplex.core.shop.item.IButton;
|
import mineplex.core.shop.item.IButton;
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package mineplex.core.inventory.ui.button;
|
package mineplex.core.cosmetic.ui.button;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
@ -0,0 +1,31 @@
|
|||||||
|
package mineplex.core.cosmetic.ui.button;
|
||||||
|
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import mineplex.core.cosmetic.ui.page.GadgetPage;
|
||||||
|
import mineplex.core.gadget.types.Gadget;
|
||||||
|
import mineplex.core.shop.item.IButton;
|
||||||
|
|
||||||
|
public class DeactivateGadgetButton implements IButton
|
||||||
|
{
|
||||||
|
private Gadget _gadget;
|
||||||
|
private GadgetPage _page;
|
||||||
|
|
||||||
|
public DeactivateGadgetButton(Gadget gadget, GadgetPage page)
|
||||||
|
{
|
||||||
|
_gadget = gadget;
|
||||||
|
_page = page;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void ClickedLeft(Player player)
|
||||||
|
{
|
||||||
|
_page.deactivateGadget(player, _gadget);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void ClickedRight(Player player)
|
||||||
|
{
|
||||||
|
_page.handleRightClick(player, _gadget);
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package mineplex.core.inventory.ui.button;
|
package mineplex.core.cosmetic.ui.button;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package mineplex.core.inventory.ui.button;
|
package mineplex.core.cosmetic.ui.button;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
@ -1,9 +1,9 @@
|
|||||||
package mineplex.core.inventory.ui.button;
|
package mineplex.core.cosmetic.ui.button;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import mineplex.core.cosmetic.ui.page.GadgetPage;
|
||||||
import mineplex.core.gadget.types.Gadget;
|
import mineplex.core.gadget.types.Gadget;
|
||||||
import mineplex.core.inventory.ui.page.GadgetPage;
|
|
||||||
import mineplex.core.shop.item.IButton;
|
import mineplex.core.shop.item.IButton;
|
||||||
|
|
||||||
public class GadgetButton implements IButton
|
public class GadgetButton implements IButton
|
@ -1,9 +1,9 @@
|
|||||||
package mineplex.core.inventory.ui.button;
|
package mineplex.core.cosmetic.ui.button;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import mineplex.core.shop.item.IButton;
|
import mineplex.core.shop.item.IButton;
|
||||||
import mineplex.core.inventory.ui.page.MountPage;
|
import mineplex.core.cosmetic.ui.page.MountPage;
|
||||||
import mineplex.core.mount.Mount;
|
import mineplex.core.mount.Mount;
|
||||||
|
|
||||||
public class MountButton implements IButton
|
public class MountButton implements IButton
|
@ -1,6 +1,6 @@
|
|||||||
package mineplex.core.inventory.ui.button;
|
package mineplex.core.cosmetic.ui.button;
|
||||||
|
|
||||||
import mineplex.core.inventory.ui.page.Menu;
|
import mineplex.core.cosmetic.ui.page.Menu;
|
||||||
import mineplex.core.shop.item.IButton;
|
import mineplex.core.shop.item.IButton;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
@ -1,6 +1,6 @@
|
|||||||
package mineplex.core.inventory.ui.button;
|
package mineplex.core.cosmetic.ui.button;
|
||||||
|
|
||||||
import mineplex.core.inventory.ui.page.Menu;
|
import mineplex.core.cosmetic.ui.page.Menu;
|
||||||
import mineplex.core.shop.item.IButton;
|
import mineplex.core.shop.item.IButton;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
@ -1,6 +1,6 @@
|
|||||||
package mineplex.core.inventory.ui.button;
|
package mineplex.core.cosmetic.ui.button;
|
||||||
|
|
||||||
import mineplex.core.inventory.ui.page.Menu;
|
import mineplex.core.cosmetic.ui.page.Menu;
|
||||||
import mineplex.core.shop.item.IButton;
|
import mineplex.core.shop.item.IButton;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
@ -1,6 +1,6 @@
|
|||||||
package mineplex.core.inventory.ui.button;
|
package mineplex.core.cosmetic.ui.button;
|
||||||
|
|
||||||
import mineplex.core.inventory.ui.page.Menu;
|
import mineplex.core.cosmetic.ui.page.Menu;
|
||||||
import mineplex.core.shop.item.IButton;
|
import mineplex.core.shop.item.IButton;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
@ -1,6 +1,6 @@
|
|||||||
package mineplex.core.inventory.ui.button;
|
package mineplex.core.cosmetic.ui.button;
|
||||||
|
|
||||||
import mineplex.core.inventory.ui.page.Menu;
|
import mineplex.core.cosmetic.ui.page.Menu;
|
||||||
import mineplex.core.shop.item.IButton;
|
import mineplex.core.shop.item.IButton;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
@ -1,9 +1,9 @@
|
|||||||
package mineplex.core.inventory.ui.button;
|
package mineplex.core.cosmetic.ui.button;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import mineplex.core.pet.Pet;
|
import mineplex.core.pet.Pet;
|
||||||
import mineplex.core.inventory.ui.page.PetPage;
|
import mineplex.core.cosmetic.ui.page.PetPage;
|
||||||
import mineplex.core.shop.item.IButton;
|
import mineplex.core.shop.item.IButton;
|
||||||
|
|
||||||
public class PetButton implements IButton
|
public class PetButton implements IButton
|
@ -1,8 +1,8 @@
|
|||||||
package mineplex.core.inventory.ui.button;
|
package mineplex.core.cosmetic.ui.button;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import mineplex.core.inventory.ui.page.PetPage;
|
import mineplex.core.cosmetic.ui.page.PetPage;
|
||||||
import mineplex.core.shop.item.IButton;
|
import mineplex.core.shop.item.IButton;
|
||||||
|
|
||||||
public class RenamePetButton implements IButton
|
public class RenamePetButton implements IButton
|
@ -1,8 +1,8 @@
|
|||||||
package mineplex.core.inventory.ui.button;
|
package mineplex.core.cosmetic.ui.button;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import mineplex.core.inventory.ui.page.PetTagPage;
|
import mineplex.core.cosmetic.ui.page.PetTagPage;
|
||||||
import mineplex.core.shop.item.IButton;
|
import mineplex.core.shop.item.IButton;
|
||||||
|
|
||||||
public class SelectTagButton implements IButton
|
public class SelectTagButton implements IButton
|
@ -1,4 +1,4 @@
|
|||||||
package mineplex.core.inventory.ui.page;
|
package mineplex.core.cosmetic.ui.page;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@ -10,23 +10,23 @@ import org.bukkit.entity.Player;
|
|||||||
import mineplex.core.account.CoreClientManager;
|
import mineplex.core.account.CoreClientManager;
|
||||||
import mineplex.core.common.CurrencyType;
|
import mineplex.core.common.CurrencyType;
|
||||||
import mineplex.core.common.util.C;
|
import mineplex.core.common.util.C;
|
||||||
|
import mineplex.core.cosmetic.CosmeticManager;
|
||||||
|
import mineplex.core.cosmetic.ui.CosmeticShop;
|
||||||
|
import mineplex.core.cosmetic.ui.button.ActivateGadgetButton;
|
||||||
|
import mineplex.core.cosmetic.ui.button.DeactivateGadgetButton;
|
||||||
|
import mineplex.core.cosmetic.ui.button.GadgetButton;
|
||||||
import mineplex.core.donation.DonationManager;
|
import mineplex.core.donation.DonationManager;
|
||||||
import mineplex.core.gadget.types.Gadget;
|
import mineplex.core.gadget.types.Gadget;
|
||||||
import mineplex.core.gadget.types.GadgetType;
|
import mineplex.core.gadget.types.GadgetType;
|
||||||
import mineplex.core.gadget.types.ItemGadget;
|
import mineplex.core.gadget.types.ItemGadget;
|
||||||
import mineplex.core.inventory.InventoryManager;
|
|
||||||
import mineplex.core.inventory.ui.InventoryShop;
|
|
||||||
import mineplex.core.inventory.ui.button.ActivateGadgetButton;
|
|
||||||
import mineplex.core.inventory.ui.button.DeactivateGadgetButton;
|
|
||||||
import mineplex.core.inventory.ui.button.GadgetButton;
|
|
||||||
import mineplex.core.shop.item.ShopItem;
|
import mineplex.core.shop.item.ShopItem;
|
||||||
import mineplex.core.shop.item.SingleButton;
|
import mineplex.core.shop.item.SingleButton;
|
||||||
import mineplex.core.shop.page.ConfirmationPage;
|
import mineplex.core.shop.page.ConfirmationPage;
|
||||||
import mineplex.core.shop.page.ShopPageBase;
|
import mineplex.core.shop.page.ShopPageBase;
|
||||||
|
|
||||||
public class GadgetPage extends ShopPageBase<InventoryManager, InventoryShop>
|
public class GadgetPage extends ShopPageBase<CosmeticManager, CosmeticShop>
|
||||||
{
|
{
|
||||||
public GadgetPage(InventoryManager plugin, InventoryShop shop, CoreClientManager clientManager, DonationManager donationManager, String name, Player player)
|
public GadgetPage(CosmeticManager plugin, CosmeticShop shop, CoreClientManager clientManager, DonationManager donationManager, String name, Player player)
|
||||||
{
|
{
|
||||||
super(plugin, shop, clientManager, donationManager, name, player, 54);
|
super(plugin, shop, clientManager, donationManager, name, player, 54);
|
||||||
|
|
||||||
@ -41,7 +41,7 @@ public class GadgetPage extends ShopPageBase<InventoryManager, InventoryShop>
|
|||||||
{
|
{
|
||||||
addGadget(gadget, slot);
|
addGadget(gadget, slot);
|
||||||
|
|
||||||
if (Plugin.getGadgetManager().getActive(Player, GadgetType.Item) == gadget)
|
if (Plugin.getInventoryManager().Get(Player).getItemCount(gadget.GetDisplayName()) > 0)
|
||||||
addGlow(slot);
|
addGlow(slot);
|
||||||
|
|
||||||
slot++;
|
slot++;
|
||||||
@ -64,25 +64,27 @@ public class GadgetPage extends ShopPageBase<InventoryManager, InventoryShop>
|
|||||||
{
|
{
|
||||||
List<String> itemLore = new ArrayList<String>();
|
List<String> itemLore = new ArrayList<String>();
|
||||||
|
|
||||||
if (gadget.GetCost(CurrencyType.Coins) != -1)
|
if (gadget.GetCost(CurrencyType.Coins) >= 0)
|
||||||
{
|
{
|
||||||
itemLore.add(C.cYellow + gadget.GetCost(CurrencyType.Coins) + " Coins");
|
itemLore.add(C.cYellow + gadget.GetCost(CurrencyType.Coins) + " Coins");
|
||||||
}
|
}
|
||||||
if (gadget instanceof ItemGadget)
|
else if (gadget.GetCost(CurrencyType.Coins) == -2)
|
||||||
{
|
{
|
||||||
ItemGadget itemGadget = (ItemGadget)gadget;
|
itemLore.add(C.cGold + "Found in Treasure Chests.");
|
||||||
|
|
||||||
if (itemGadget.GetGemsPerUse() > 0)
|
|
||||||
{
|
|
||||||
itemLore.add(" ");
|
|
||||||
itemLore.add(C.cRed + C.Bold + "WARNING: ");
|
|
||||||
itemLore.add(C.cWhite + "Costs " + C.cGreen + itemGadget.GetGemsPerUse() + " Gems" + C.cWhite + " per Use");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
itemLore.add(C.cBlack);
|
itemLore.add(C.cBlack);
|
||||||
itemLore.addAll(Arrays.asList(gadget.GetDescription()));
|
itemLore.addAll(Arrays.asList(gadget.GetDescription()));
|
||||||
|
|
||||||
|
if (gadget instanceof ItemGadget)
|
||||||
|
{
|
||||||
|
itemLore.add(C.cBlack);
|
||||||
|
itemLore.add(C.cGreen + "Right-Click To Purchase:");
|
||||||
|
itemLore.add(C.cWhite + ((ItemGadget)gadget).getAmmo().GetDisplayName() + " for " + C.cYellow + ((ItemGadget)gadget).getAmmo().GetCost(CurrencyType.Coins) + " Coins");
|
||||||
|
itemLore.add(C.cBlack);
|
||||||
|
itemLore.add(C.cWhite + "Your Ammo : " + C.cGreen + Plugin.getInventoryManager().Get(Player).getItemCount(gadget.GetName()));
|
||||||
|
}
|
||||||
|
|
||||||
if (gadget.IsFree() || DonationManager.Get(Player.getName()).OwnsUnknownPackage(gadget.GetName()))
|
if (gadget.IsFree() || DonationManager.Get(Player.getName()).OwnsUnknownPackage(gadget.GetName()))
|
||||||
{
|
{
|
||||||
if (gadget.GetActive().contains(Player))
|
if (gadget.GetActive().contains(Player))
|
||||||
@ -105,27 +107,44 @@ public class GadgetPage extends ShopPageBase<InventoryManager, InventoryShop>
|
|||||||
|
|
||||||
public void purchaseGadget(final Player player, final Gadget gadget)
|
public void purchaseGadget(final Player player, final Gadget gadget)
|
||||||
{
|
{
|
||||||
Shop.OpenPageForPlayer(Player, new ConfirmationPage<InventoryManager, InventoryShop>(Plugin, Shop, ClientManager, DonationManager, new Runnable()
|
Shop.OpenPageForPlayer(Player, new ConfirmationPage<CosmeticManager, CosmeticShop>(Plugin, Shop, ClientManager, DonationManager, new Runnable()
|
||||||
{
|
{
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
Plugin.addItemToInventory(Player, gadget.getGadgetType().name(), gadget.GetName(), 1);
|
Plugin.getInventoryManager().addItemToInventory(Player, gadget.getGadgetType().name(), gadget.GetName(), (gadget instanceof ItemGadget ? ((ItemGadget)gadget).getAmmo().getQuantity() : gadget.getQuantity()));
|
||||||
Shop.OpenPageForPlayer(Player, new Menu(Plugin, Shop, ClientManager, DonationManager, player));
|
|
||||||
}
|
}
|
||||||
}, null, gadget, CurrencyType.Coins, Player));
|
}, this, (gadget instanceof ItemGadget ? ((ItemGadget)gadget).getAmmo() : gadget), CurrencyType.Coins, Player));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void activateGadget(Player player, Gadget gadget)
|
public void activateGadget(Player player, Gadget gadget)
|
||||||
{
|
{
|
||||||
|
if (gadget instanceof ItemGadget)
|
||||||
|
{
|
||||||
|
if (Plugin.getInventoryManager().Get(player).getItemCount(gadget.GetName()) <= 0)
|
||||||
|
{
|
||||||
|
PlayDenySound(player);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
PlayAcceptSound(player);
|
PlayAcceptSound(player);
|
||||||
gadget.Enable(player);
|
gadget.Enable(player);
|
||||||
|
|
||||||
Shop.OpenPageForPlayer(Player, new Menu(Plugin, Shop, ClientManager, DonationManager, player));
|
Shop.OpenPageForPlayer(Player, new Menu(Plugin, Shop, ClientManager, DonationManager, player));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void handleRightClick(Player player, Gadget gadget)
|
||||||
|
{
|
||||||
|
if (gadget instanceof ItemGadget)
|
||||||
|
{
|
||||||
|
purchaseGadget(player, gadget);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void deactivateGadget(Player player, Gadget gadget)
|
public void deactivateGadget(Player player, Gadget gadget)
|
||||||
{
|
{
|
||||||
PlayAcceptSound(player);
|
PlayAcceptSound(player);
|
||||||
gadget.Disable(player);
|
gadget.Disable(player);
|
||||||
|
Refresh();
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,34 +1,35 @@
|
|||||||
package mineplex.core.inventory.ui.page;
|
package mineplex.core.cosmetic.ui.page;
|
||||||
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import mineplex.core.account.CoreClientManager;
|
import mineplex.core.account.CoreClientManager;
|
||||||
import mineplex.core.common.CurrencyType;
|
import mineplex.core.common.CurrencyType;
|
||||||
|
import mineplex.core.common.util.C;
|
||||||
import mineplex.core.common.util.F;
|
import mineplex.core.common.util.F;
|
||||||
|
import mineplex.core.cosmetic.CosmeticManager;
|
||||||
|
import mineplex.core.cosmetic.ui.CosmeticShop;
|
||||||
|
import mineplex.core.cosmetic.ui.button.DeactivateGadgetButton;
|
||||||
|
import mineplex.core.cosmetic.ui.button.DeactivateMountButton;
|
||||||
|
import mineplex.core.cosmetic.ui.button.DeactivatePetButton;
|
||||||
|
import mineplex.core.cosmetic.ui.button.OpenGadgets;
|
||||||
|
import mineplex.core.cosmetic.ui.button.OpenMorphs;
|
||||||
|
import mineplex.core.cosmetic.ui.button.OpenMounts;
|
||||||
|
import mineplex.core.cosmetic.ui.button.OpenParticles;
|
||||||
|
import mineplex.core.cosmetic.ui.button.OpenPets;
|
||||||
import mineplex.core.donation.DonationManager;
|
import mineplex.core.donation.DonationManager;
|
||||||
import mineplex.core.gadget.types.Gadget;
|
import mineplex.core.gadget.types.Gadget;
|
||||||
import mineplex.core.gadget.types.GadgetType;
|
import mineplex.core.gadget.types.GadgetType;
|
||||||
import mineplex.core.inventory.GemBooster;
|
import mineplex.core.inventory.GemBooster;
|
||||||
import mineplex.core.inventory.InventoryManager;
|
|
||||||
import mineplex.core.inventory.ui.InventoryShop;
|
|
||||||
import mineplex.core.inventory.ui.button.DeactivateGadgetButton;
|
|
||||||
import mineplex.core.inventory.ui.button.DeactivateMountButton;
|
|
||||||
import mineplex.core.inventory.ui.button.DeactivatePetButton;
|
|
||||||
import mineplex.core.inventory.ui.button.OpenGadgets;
|
|
||||||
import mineplex.core.inventory.ui.button.OpenMorphs;
|
|
||||||
import mineplex.core.inventory.ui.button.OpenMounts;
|
|
||||||
import mineplex.core.inventory.ui.button.OpenParticles;
|
|
||||||
import mineplex.core.inventory.ui.button.OpenPets;
|
|
||||||
import mineplex.core.mount.Mount;
|
import mineplex.core.mount.Mount;
|
||||||
import mineplex.core.shop.item.ShopItem;
|
import mineplex.core.shop.item.ShopItem;
|
||||||
import mineplex.core.shop.item.SingleButton;
|
import mineplex.core.shop.item.SingleButton;
|
||||||
import mineplex.core.shop.page.ConfirmationPage;
|
import mineplex.core.shop.page.ConfirmationPage;
|
||||||
import mineplex.core.shop.page.ShopPageBase;
|
import mineplex.core.shop.page.ShopPageBase;
|
||||||
|
|
||||||
public class Menu extends ShopPageBase<InventoryManager, InventoryShop>
|
public class Menu extends ShopPageBase<CosmeticManager, CosmeticShop>
|
||||||
{
|
{
|
||||||
public Menu(InventoryManager plugin, InventoryShop shop, CoreClientManager clientManager, DonationManager donationManager, Player player)
|
public Menu(CosmeticManager plugin, CosmeticShop shop, CoreClientManager clientManager, DonationManager donationManager, Player player)
|
||||||
{
|
{
|
||||||
super(plugin, shop, clientManager, donationManager, "Inventory", player);
|
super(plugin, shop, clientManager, donationManager, "Inventory", player);
|
||||||
|
|
||||||
@ -39,9 +40,9 @@ public class Menu extends ShopPageBase<InventoryManager, InventoryShop>
|
|||||||
protected void BuildPage()
|
protected void BuildPage()
|
||||||
{
|
{
|
||||||
AddItem(11, new ShopItem(175, DonationManager.Get(Player.getName()).getCoins() + " Coins", 1, false));
|
AddItem(11, new ShopItem(175, DonationManager.Get(Player.getName()).getCoins() + " Coins", 1, false));
|
||||||
AddItem(13, new ShopItem(Material.CHEST, Plugin.Get(Player).getItemCount("Treasure Chest") + " Chests", 1, false));
|
AddItem(13, new ShopItem(Material.CHEST, C.cGold + Plugin.getInventoryManager().Get(Player).getItemCount("Treasure Chest") + " Treasure Chests", 1, false));
|
||||||
|
|
||||||
final GemBooster gemBoosterItem = new GemBooster(Plugin.Get(Player).getItemCount("Gem Booster"));
|
final GemBooster gemBoosterItem = new GemBooster(Plugin.getInventoryManager().Get(Player).getItemCount("Gem Booster"));
|
||||||
|
|
||||||
if (DonationManager.Get(Player.getName()).GetBalance(CurrencyType.Coins) >= gemBoosterItem.GetCost(CurrencyType.Coins))
|
if (DonationManager.Get(Player.getName()).GetBalance(CurrencyType.Coins) >= gemBoosterItem.GetCost(CurrencyType.Coins))
|
||||||
{
|
{
|
||||||
@ -56,11 +57,11 @@ public class Menu extends ShopPageBase<InventoryManager, InventoryShop>
|
|||||||
@Override
|
@Override
|
||||||
public void Clicked(Player player)
|
public void Clicked(Player player)
|
||||||
{
|
{
|
||||||
Shop.OpenPageForPlayer(Player, new ConfirmationPage<InventoryManager, InventoryShop>(Plugin, Shop, ClientManager, DonationManager, new Runnable()
|
Shop.OpenPageForPlayer(Player, new ConfirmationPage<CosmeticManager, CosmeticShop>(Plugin, Shop, ClientManager, DonationManager, new Runnable()
|
||||||
{
|
{
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
Plugin.addItemToInventory(Player, "Utility", "Gem Booster", 20);
|
Plugin.getInventoryManager().addItemToInventory(Player, "Utility", "Gem Booster", 20);
|
||||||
Shop.OpenPageForPlayer(Player, new Menu(Plugin, Shop, ClientManager, DonationManager, Player));
|
Shop.OpenPageForPlayer(Player, new Menu(Plugin, Shop, ClientManager, DonationManager, Player));
|
||||||
}
|
}
|
||||||
}, null, gemBoosterItem, CurrencyType.Coins, Player));
|
}, null, gemBoosterItem, CurrencyType.Coins, Player));
|
||||||
@ -86,43 +87,89 @@ public class Menu extends ShopPageBase<InventoryManager, InventoryShop>
|
|||||||
|
|
||||||
if (Plugin.getGadgetManager().getActive(Player, GadgetType.Particle) != null)
|
if (Plugin.getGadgetManager().getActive(Player, GadgetType.Particle) != null)
|
||||||
{
|
{
|
||||||
Gadget gadget = Plugin.getGadgetManager().getActive(Player, GadgetType.Particle);
|
final Gadget gadget = Plugin.getGadgetManager().getActive(Player, GadgetType.Particle);
|
||||||
|
|
||||||
AddButton(36,
|
AddButton(36,
|
||||||
new ShopItem(gadget.GetDisplayMaterial(), gadget.GetDisplayData(), F.item(gadget.GetName()), new String[] {}, 1, false, false),
|
new ShopItem(gadget.GetDisplayMaterial(), gadget.GetDisplayData(), F.item(gadget.GetName()), new String[] {}, 1, false, false),
|
||||||
new DeactivateGadgetButton(gadget, this));
|
new SingleButton()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void Clicked(Player player)
|
||||||
|
{
|
||||||
|
PlayAcceptSound(player);
|
||||||
|
gadget.Disable(player);
|
||||||
|
Refresh();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Plugin.getGadgetManager().getActive(Player, GadgetType.Item) != null)
|
if (Plugin.getGadgetManager().getActive(Player, GadgetType.Item) != null)
|
||||||
{
|
{
|
||||||
Gadget gadget = Plugin.getGadgetManager().getActive(Player, GadgetType.Item);
|
final Gadget gadget = Plugin.getGadgetManager().getActive(Player, GadgetType.Item);
|
||||||
|
|
||||||
AddButton(38,
|
AddButton(38,
|
||||||
new ShopItem(gadget.GetDisplayMaterial(), gadget.GetDisplayData(), F.item(gadget.GetName()), new String[] {}, 1, false, false),
|
new ShopItem(gadget.GetDisplayMaterial(), gadget.GetDisplayData(), F.item(gadget.GetName()), new String[] {}, 1, false, false),
|
||||||
new DeactivateGadgetButton(gadget, this));
|
new SingleButton()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void Clicked(Player player)
|
||||||
|
{
|
||||||
|
PlayAcceptSound(player);
|
||||||
|
gadget.Disable(player);
|
||||||
|
Refresh();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Plugin.getPetManager().hasActivePet(Player.getName()))
|
if (Plugin.getPetManager().hasActivePet(Player.getName()))
|
||||||
{
|
{
|
||||||
AddButton(40, new ShopItem(Material.MONSTER_EGG, (byte)Plugin.getPetManager().getActivePet(Player.getName()).getType().getTypeId(), F.item(Plugin.getPetManager().getActivePet(Player.getName()).getCustomName()), new String[] {}, 1, false, false), new DeactivatePetButton(this, Plugin.getPetManager()));
|
AddButton(40, new ShopItem(Material.MONSTER_EGG, (byte)Plugin.getPetManager().getActivePet(Player.getName()).getType().getTypeId(), F.item(Plugin.getPetManager().getActivePet(Player.getName()).getCustomName()), new String[] {}, 1, false, false),
|
||||||
|
new SingleButton()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void Clicked(Player player)
|
||||||
|
{
|
||||||
|
PlayAcceptSound(player);
|
||||||
|
Plugin.getPetManager().RemovePet(player, true);
|
||||||
|
Refresh();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Plugin.getMountManager().getActive(Player) != null)
|
if (Plugin.getMountManager().getActive(Player) != null)
|
||||||
{
|
{
|
||||||
Mount<?> mount = Plugin.getMountManager().getActive(Player);
|
final Mount<?> mount = Plugin.getMountManager().getActive(Player);
|
||||||
|
|
||||||
AddButton(42,
|
AddButton(42,
|
||||||
new ShopItem(mount.GetDisplayMaterial(), mount.GetDisplayData(), F.item(mount.GetName()), new String[] {}, 1, false, false),
|
new ShopItem(mount.GetDisplayMaterial(), mount.GetDisplayData(), F.item(mount.GetName()), new String[] {}, 1, false, false),
|
||||||
new DeactivateMountButton(mount, this));
|
new SingleButton()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void Clicked(Player player)
|
||||||
|
{
|
||||||
|
PlayAcceptSound(player);
|
||||||
|
mount.Disable(player);
|
||||||
|
Refresh();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Plugin.getGadgetManager().getActive(Player, GadgetType.Morph) != null)
|
if (Plugin.getGadgetManager().getActive(Player, GadgetType.Morph) != null)
|
||||||
{
|
{
|
||||||
Gadget gadget = Plugin.getGadgetManager().getActive(Player, GadgetType.Morph);
|
final Gadget gadget = Plugin.getGadgetManager().getActive(Player, GadgetType.Morph);
|
||||||
|
|
||||||
AddButton(44,
|
AddButton(44,
|
||||||
new ShopItem(gadget.GetDisplayMaterial(), gadget.GetDisplayData(), F.item(gadget.GetName()), new String[] {}, 1, false, false),
|
new ShopItem(gadget.GetDisplayMaterial(), gadget.GetDisplayData(), F.item(gadget.GetName()), new String[] {}, 1, false, false),
|
||||||
new DeactivateGadgetButton(gadget, this));
|
new SingleButton()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void Clicked(Player player)
|
||||||
|
{
|
||||||
|
PlayAcceptSound(player);
|
||||||
|
gadget.Disable(player);
|
||||||
|
Refresh();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,21 +1,22 @@
|
|||||||
package mineplex.core.inventory.ui.page;
|
package mineplex.core.cosmetic.ui.page;
|
||||||
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import mineplex.core.account.CoreClientManager;
|
import mineplex.core.account.CoreClientManager;
|
||||||
import mineplex.core.common.util.C;
|
import mineplex.core.common.util.C;
|
||||||
|
import mineplex.core.cosmetic.CosmeticManager;
|
||||||
|
import mineplex.core.cosmetic.ui.CosmeticShop;
|
||||||
import mineplex.core.donation.DonationManager;
|
import mineplex.core.donation.DonationManager;
|
||||||
import mineplex.core.gadget.types.Gadget;
|
import mineplex.core.gadget.types.Gadget;
|
||||||
import mineplex.core.gadget.types.GadgetType;
|
import mineplex.core.gadget.types.GadgetType;
|
||||||
import mineplex.core.inventory.InventoryManager;
|
import mineplex.core.inventory.InventoryManager;
|
||||||
import mineplex.core.inventory.ui.InventoryShop;
|
|
||||||
import mineplex.core.shop.item.ShopItem;
|
import mineplex.core.shop.item.ShopItem;
|
||||||
import mineplex.core.shop.item.SingleButton;
|
import mineplex.core.shop.item.SingleButton;
|
||||||
|
|
||||||
public class MorphPage extends GadgetPage
|
public class MorphPage extends GadgetPage
|
||||||
{
|
{
|
||||||
public MorphPage(InventoryManager plugin, InventoryShop shop, CoreClientManager clientManager, DonationManager donationManager, String name, Player player)
|
public MorphPage(CosmeticManager plugin, CosmeticShop shop, CoreClientManager clientManager, DonationManager donationManager, String name, Player player)
|
||||||
{
|
{
|
||||||
super(plugin, shop, clientManager, donationManager, name, player);
|
super(plugin, shop, clientManager, donationManager, name, player);
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package mineplex.core.inventory.ui.page;
|
package mineplex.core.cosmetic.ui.page;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@ -10,21 +10,21 @@ import org.bukkit.entity.Player;
|
|||||||
import mineplex.core.account.CoreClientManager;
|
import mineplex.core.account.CoreClientManager;
|
||||||
import mineplex.core.common.CurrencyType;
|
import mineplex.core.common.CurrencyType;
|
||||||
import mineplex.core.common.util.C;
|
import mineplex.core.common.util.C;
|
||||||
|
import mineplex.core.cosmetic.CosmeticManager;
|
||||||
|
import mineplex.core.cosmetic.ui.CosmeticShop;
|
||||||
|
import mineplex.core.cosmetic.ui.button.ActivateMountButton;
|
||||||
|
import mineplex.core.cosmetic.ui.button.DeactivateMountButton;
|
||||||
|
import mineplex.core.cosmetic.ui.button.MountButton;
|
||||||
import mineplex.core.donation.DonationManager;
|
import mineplex.core.donation.DonationManager;
|
||||||
import mineplex.core.inventory.InventoryManager;
|
|
||||||
import mineplex.core.inventory.ui.InventoryShop;
|
|
||||||
import mineplex.core.inventory.ui.button.ActivateMountButton;
|
|
||||||
import mineplex.core.inventory.ui.button.DeactivateMountButton;
|
|
||||||
import mineplex.core.inventory.ui.button.MountButton;
|
|
||||||
import mineplex.core.mount.Mount;
|
import mineplex.core.mount.Mount;
|
||||||
import mineplex.core.shop.item.ShopItem;
|
import mineplex.core.shop.item.ShopItem;
|
||||||
import mineplex.core.shop.item.SingleButton;
|
import mineplex.core.shop.item.SingleButton;
|
||||||
import mineplex.core.shop.page.ConfirmationPage;
|
import mineplex.core.shop.page.ConfirmationPage;
|
||||||
import mineplex.core.shop.page.ShopPageBase;
|
import mineplex.core.shop.page.ShopPageBase;
|
||||||
|
|
||||||
public class MountPage extends ShopPageBase<InventoryManager, InventoryShop>
|
public class MountPage extends ShopPageBase<CosmeticManager, CosmeticShop>
|
||||||
{
|
{
|
||||||
public MountPage(InventoryManager plugin, InventoryShop shop, CoreClientManager clientManager, DonationManager donationManager, String name, Player player)
|
public MountPage(CosmeticManager plugin, CosmeticShop shop, CoreClientManager clientManager, DonationManager donationManager, String name, Player player)
|
||||||
{
|
{
|
||||||
super(plugin, shop, clientManager, donationManager, name, player, 54);
|
super(plugin, shop, clientManager, donationManager, name, player, 54);
|
||||||
|
|
||||||
@ -88,14 +88,13 @@ public class MountPage extends ShopPageBase<InventoryManager, InventoryShop>
|
|||||||
|
|
||||||
public void purchaseMount(final Player player, final Mount<?> mount)
|
public void purchaseMount(final Player player, final Mount<?> mount)
|
||||||
{
|
{
|
||||||
Shop.OpenPageForPlayer(Player, new ConfirmationPage<InventoryManager, InventoryShop>(Plugin, Shop, ClientManager, DonationManager, new Runnable()
|
Shop.OpenPageForPlayer(Player, new ConfirmationPage<CosmeticManager, CosmeticShop>(Plugin, Shop, ClientManager, DonationManager, new Runnable()
|
||||||
{
|
{
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
Plugin.addItemToInventory(Player, "Mount", mount.GetName(), 1);
|
Plugin.getInventoryManager().addItemToInventory(Player, "Mount", mount.GetName(), 1);
|
||||||
Shop.OpenPageForPlayer(Player, new Menu(Plugin, Shop, ClientManager, DonationManager, player));
|
|
||||||
}
|
}
|
||||||
}, null, mount, CurrencyType.Coins, Player));
|
}, this, mount, CurrencyType.Coins, Player));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void activateMount(Player player, Mount<?> _mount)
|
public void activateMount(Player player, Mount<?> _mount)
|
@ -1,22 +1,23 @@
|
|||||||
package mineplex.core.inventory.ui.page;
|
package mineplex.core.cosmetic.ui.page;
|
||||||
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import mineplex.core.account.CoreClientManager;
|
import mineplex.core.account.CoreClientManager;
|
||||||
import mineplex.core.common.util.C;
|
import mineplex.core.common.util.C;
|
||||||
|
import mineplex.core.cosmetic.CosmeticManager;
|
||||||
|
import mineplex.core.cosmetic.ui.CosmeticShop;
|
||||||
import mineplex.core.donation.DonationManager;
|
import mineplex.core.donation.DonationManager;
|
||||||
import mineplex.core.gadget.types.Gadget;
|
import mineplex.core.gadget.types.Gadget;
|
||||||
import mineplex.core.gadget.types.GadgetType;
|
import mineplex.core.gadget.types.GadgetType;
|
||||||
import mineplex.core.gadget.types.MorphGadget;
|
import mineplex.core.gadget.types.MorphGadget;
|
||||||
import mineplex.core.inventory.InventoryManager;
|
import mineplex.core.inventory.InventoryManager;
|
||||||
import mineplex.core.inventory.ui.InventoryShop;
|
|
||||||
import mineplex.core.shop.item.ShopItem;
|
import mineplex.core.shop.item.ShopItem;
|
||||||
import mineplex.core.shop.item.SingleButton;
|
import mineplex.core.shop.item.SingleButton;
|
||||||
|
|
||||||
public class ParticlePage extends GadgetPage
|
public class ParticlePage extends GadgetPage
|
||||||
{
|
{
|
||||||
public ParticlePage(InventoryManager plugin, InventoryShop shop, CoreClientManager clientManager, DonationManager donationManager, String name, Player player)
|
public ParticlePage(CosmeticManager plugin, CosmeticShop shop, CoreClientManager clientManager, DonationManager donationManager, String name, Player player)
|
||||||
{
|
{
|
||||||
super(plugin, shop, clientManager, donationManager, name, player);
|
super(plugin, shop, clientManager, donationManager, name, player);
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package mineplex.core.inventory.ui.page;
|
package mineplex.core.cosmetic.ui.page;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@ -17,14 +17,15 @@ import org.bukkit.entity.Player;
|
|||||||
import mineplex.core.account.CoreClientManager;
|
import mineplex.core.account.CoreClientManager;
|
||||||
import mineplex.core.common.CurrencyType;
|
import mineplex.core.common.CurrencyType;
|
||||||
import mineplex.core.common.util.C;
|
import mineplex.core.common.util.C;
|
||||||
|
import mineplex.core.cosmetic.CosmeticManager;
|
||||||
|
import mineplex.core.cosmetic.ui.CosmeticShop;
|
||||||
|
import mineplex.core.cosmetic.ui.PetSorter;
|
||||||
|
import mineplex.core.cosmetic.ui.button.ActivatePetButton;
|
||||||
|
import mineplex.core.cosmetic.ui.button.DeactivatePetButton;
|
||||||
|
import mineplex.core.cosmetic.ui.button.PetButton;
|
||||||
|
import mineplex.core.cosmetic.ui.button.RenamePetButton;
|
||||||
import mineplex.core.donation.DonationManager;
|
import mineplex.core.donation.DonationManager;
|
||||||
import mineplex.core.inventory.InventoryManager;
|
import mineplex.core.inventory.InventoryManager;
|
||||||
import mineplex.core.inventory.ui.InventoryShop;
|
|
||||||
import mineplex.core.inventory.ui.PetSorter;
|
|
||||||
import mineplex.core.inventory.ui.button.ActivatePetButton;
|
|
||||||
import mineplex.core.inventory.ui.button.DeactivatePetButton;
|
|
||||||
import mineplex.core.inventory.ui.button.PetButton;
|
|
||||||
import mineplex.core.inventory.ui.button.RenamePetButton;
|
|
||||||
import mineplex.core.pet.Pet;
|
import mineplex.core.pet.Pet;
|
||||||
import mineplex.core.pet.PetExtra;
|
import mineplex.core.pet.PetExtra;
|
||||||
import mineplex.core.shop.item.ShopItem;
|
import mineplex.core.shop.item.ShopItem;
|
||||||
@ -32,9 +33,9 @@ import mineplex.core.shop.item.SingleButton;
|
|||||||
import mineplex.core.shop.page.AnvilContainer;
|
import mineplex.core.shop.page.AnvilContainer;
|
||||||
import mineplex.core.shop.page.ShopPageBase;
|
import mineplex.core.shop.page.ShopPageBase;
|
||||||
|
|
||||||
public class PetPage extends ShopPageBase<InventoryManager, InventoryShop>
|
public class PetPage extends ShopPageBase<CosmeticManager, CosmeticShop>
|
||||||
{
|
{
|
||||||
public PetPage(InventoryManager plugin, InventoryShop shop, CoreClientManager clientManager, DonationManager donationManager, String name, Player player)
|
public PetPage(CosmeticManager plugin, CosmeticShop shop, CoreClientManager clientManager, DonationManager donationManager, String name, Player player)
|
||||||
{
|
{
|
||||||
super(plugin, shop, clientManager, donationManager, name, player, 54);
|
super(plugin, shop, clientManager, donationManager, name, player, 54);
|
||||||
|
|
@ -1,15 +1,16 @@
|
|||||||
package mineplex.core.inventory.ui.page;
|
package mineplex.core.cosmetic.ui.page;
|
||||||
|
|
||||||
import mineplex.core.account.CoreClientManager;
|
import mineplex.core.account.CoreClientManager;
|
||||||
import mineplex.core.common.CurrencyType;
|
import mineplex.core.common.CurrencyType;
|
||||||
import mineplex.core.common.util.C;
|
import mineplex.core.common.util.C;
|
||||||
import mineplex.core.common.util.F;
|
import mineplex.core.common.util.F;
|
||||||
import mineplex.core.common.util.UtilPlayer;
|
import mineplex.core.common.util.UtilPlayer;
|
||||||
|
import mineplex.core.cosmetic.CosmeticManager;
|
||||||
|
import mineplex.core.cosmetic.ui.CosmeticShop;
|
||||||
|
import mineplex.core.cosmetic.ui.button.CloseButton;
|
||||||
|
import mineplex.core.cosmetic.ui.button.SelectTagButton;
|
||||||
import mineplex.core.donation.DonationManager;
|
import mineplex.core.donation.DonationManager;
|
||||||
import mineplex.core.inventory.InventoryManager;
|
import mineplex.core.inventory.InventoryManager;
|
||||||
import mineplex.core.inventory.ui.InventoryShop;
|
|
||||||
import mineplex.core.inventory.ui.button.CloseButton;
|
|
||||||
import mineplex.core.inventory.ui.button.SelectTagButton;
|
|
||||||
import mineplex.core.pet.Pet;
|
import mineplex.core.pet.Pet;
|
||||||
import mineplex.core.pet.PetExtra;
|
import mineplex.core.pet.PetExtra;
|
||||||
import mineplex.core.pet.repository.token.PetChangeToken;
|
import mineplex.core.pet.repository.token.PetChangeToken;
|
||||||
@ -23,13 +24,13 @@ import org.bukkit.ChatColor;
|
|||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
public class PetTagPage extends ShopPageBase<InventoryManager, InventoryShop>
|
public class PetTagPage extends ShopPageBase<CosmeticManager, CosmeticShop>
|
||||||
{
|
{
|
||||||
private String _tagName = "Pet Tag";
|
private String _tagName = "Pet Tag";
|
||||||
private Pet _pet;
|
private Pet _pet;
|
||||||
private boolean _petPurchase;
|
private boolean _petPurchase;
|
||||||
|
|
||||||
public PetTagPage(InventoryManager plugin, InventoryShop shop, CoreClientManager clientManager, DonationManager donationManager, String name, Player player, Pet pet, boolean petPurchase)
|
public PetTagPage(CosmeticManager plugin, CosmeticShop shop, CoreClientManager clientManager, DonationManager donationManager, String name, Player player, Pet pet, boolean petPurchase)
|
||||||
{
|
{
|
||||||
super(plugin, shop, clientManager, donationManager, name, player, 3);
|
super(plugin, shop, clientManager, donationManager, name, player, 3);
|
||||||
|
|
||||||
@ -73,7 +74,7 @@ public class PetTagPage extends ShopPageBase<InventoryManager, InventoryShop>
|
|||||||
|
|
||||||
_pet.setDisplayName(C.cGreen + "Purchase " + _tagName);
|
_pet.setDisplayName(C.cGreen + "Purchase " + _tagName);
|
||||||
|
|
||||||
Shop.OpenPageForPlayer(Player, new ConfirmationPage<InventoryManager, InventoryShop>(Plugin, Shop, ClientManager, DonationManager, new Runnable()
|
Shop.OpenPageForPlayer(Player, new ConfirmationPage<CosmeticManager, CosmeticShop>(Plugin, Shop, ClientManager, DonationManager, new Runnable()
|
||||||
{
|
{
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
@ -98,7 +99,7 @@ public class PetTagPage extends ShopPageBase<InventoryManager, InventoryShop>
|
|||||||
|
|
||||||
Plugin.getPetManager().Get(Player).GetPets().put(_pet.GetPetType(), token.PetName);
|
Plugin.getPetManager().Get(Player).GetPets().put(_pet.GetPetType(), token.PetName);
|
||||||
|
|
||||||
Plugin.addItemToInventory(Player, "Pet", _pet.GetPetType().toString(), 1);
|
Plugin.getInventoryManager().addItemToInventory(Player, "Pet", _pet.GetPetType().toString(), 1);
|
||||||
Shop.OpenPageForPlayer(Player, new Menu(Plugin, Shop, ClientManager, DonationManager, Player));
|
Shop.OpenPageForPlayer(Player, new Menu(Plugin, Shop, ClientManager, DonationManager, Player));
|
||||||
}
|
}
|
||||||
}, null, _petPurchase ? _pet : tag, CurrencyType.Coins, Player));
|
}, null, _petPurchase ? _pet : tag, CurrencyType.Coins, Player));
|
@ -29,6 +29,7 @@ import mineplex.core.gadget.types.ItemGadget;
|
|||||||
import mineplex.core.gadget.types.MorphGadget;
|
import mineplex.core.gadget.types.MorphGadget;
|
||||||
import mineplex.core.gadget.types.MorphGadget.ArmorSlot;
|
import mineplex.core.gadget.types.MorphGadget.ArmorSlot;
|
||||||
import mineplex.core.gadget.types.ParticleGadget;
|
import mineplex.core.gadget.types.ParticleGadget;
|
||||||
|
import mineplex.core.inventory.InventoryManager;
|
||||||
import mineplex.core.mount.MountManager;
|
import mineplex.core.mount.MountManager;
|
||||||
import mineplex.core.pet.PetManager;
|
import mineplex.core.pet.PetManager;
|
||||||
import mineplex.core.preferences.PreferencesManager;
|
import mineplex.core.preferences.PreferencesManager;
|
||||||
@ -37,6 +38,7 @@ public class GadgetManager extends MiniPlugin
|
|||||||
{
|
{
|
||||||
private CoreClientManager _clientManager;
|
private CoreClientManager _clientManager;
|
||||||
private DonationManager _donationManager;
|
private DonationManager _donationManager;
|
||||||
|
private InventoryManager _inventoryManager;
|
||||||
private PetManager _petManager;
|
private PetManager _petManager;
|
||||||
private PreferencesManager _preferencesManager;
|
private PreferencesManager _preferencesManager;
|
||||||
private DisguiseManager _disguiseManager;
|
private DisguiseManager _disguiseManager;
|
||||||
@ -47,7 +49,7 @@ public class GadgetManager extends MiniPlugin
|
|||||||
private NautHashMap<Player, Long> _lastMove = new NautHashMap<Player, Long>();
|
private NautHashMap<Player, Long> _lastMove = new NautHashMap<Player, Long>();
|
||||||
private NautHashMap<Player, NautHashMap<GadgetType, Gadget>> _playerActiveGadgetMap = new NautHashMap<Player, NautHashMap<GadgetType, Gadget>>();
|
private NautHashMap<Player, NautHashMap<GadgetType, Gadget>> _playerActiveGadgetMap = new NautHashMap<Player, NautHashMap<GadgetType, Gadget>>();
|
||||||
|
|
||||||
public GadgetManager(JavaPlugin plugin, CoreClientManager clientManager, DonationManager donationManager,
|
public GadgetManager(JavaPlugin plugin, CoreClientManager clientManager, DonationManager donationManager, InventoryManager inventoryManager,
|
||||||
MountManager mountManager, PetManager petManager, PreferencesManager preferencesManager,
|
MountManager mountManager, PetManager petManager, PreferencesManager preferencesManager,
|
||||||
DisguiseManager disguiseManager, BlockRestore blockRestore)
|
DisguiseManager disguiseManager, BlockRestore blockRestore)
|
||||||
{
|
{
|
||||||
@ -55,6 +57,7 @@ public class GadgetManager extends MiniPlugin
|
|||||||
|
|
||||||
_clientManager = clientManager;
|
_clientManager = clientManager;
|
||||||
_donationManager = donationManager;
|
_donationManager = donationManager;
|
||||||
|
_inventoryManager = inventoryManager;
|
||||||
_petManager = petManager;
|
_petManager = petManager;
|
||||||
_preferencesManager = preferencesManager;
|
_preferencesManager = preferencesManager;
|
||||||
_disguiseManager = disguiseManager;
|
_disguiseManager = disguiseManager;
|
||||||
@ -70,7 +73,8 @@ public class GadgetManager extends MiniPlugin
|
|||||||
// Items
|
// Items
|
||||||
addGadget(new ItemPaintballGun(this));
|
addGadget(new ItemPaintballGun(this));
|
||||||
addGadget(new ItemBatGun(this));
|
addGadget(new ItemBatGun(this));
|
||||||
addGadget(new ItemGemBomb(this));
|
//addGadget(new ItemGemBomb(this));
|
||||||
|
addGadget(new ItemCoinBomb(this));
|
||||||
addGadget(new ItemFirework(this));
|
addGadget(new ItemFirework(this));
|
||||||
addGadget(new ItemTNT(this));
|
addGadget(new ItemTNT(this));
|
||||||
|
|
||||||
@ -217,6 +221,11 @@ public class GadgetManager extends MiniPlugin
|
|||||||
{
|
{
|
||||||
return _disguiseManager;
|
return _disguiseManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public InventoryManager getInventoryManager()
|
||||||
|
{
|
||||||
|
return _inventoryManager;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean collideEvent(Gadget gadget, Player other)
|
public boolean collideEvent(Gadget gadget, Player other)
|
||||||
{
|
{
|
||||||
|
@ -13,15 +13,8 @@ public class GadgetActivateEvent extends Event
|
|||||||
|
|
||||||
private Player _player;
|
private Player _player;
|
||||||
private Gadget _gadget;
|
private Gadget _gadget;
|
||||||
private Mount _mount;
|
|
||||||
|
|
||||||
private boolean _cancelled = false;
|
private boolean _cancelled = false;
|
||||||
|
|
||||||
public GadgetActivateEvent(Player player, Mount mount)
|
|
||||||
{
|
|
||||||
_player = player;
|
|
||||||
_mount = mount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public GadgetActivateEvent(Player player, Gadget gadget)
|
public GadgetActivateEvent(Player player, Gadget gadget)
|
||||||
{
|
{
|
||||||
@ -43,11 +36,6 @@ public class GadgetActivateEvent extends Event
|
|||||||
{
|
{
|
||||||
return _gadget;
|
return _gadget;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Mount getMount()
|
|
||||||
{
|
|
||||||
return _mount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Player getPlayer()
|
public Player getPlayer()
|
||||||
{
|
{
|
||||||
|
@ -0,0 +1,60 @@
|
|||||||
|
package mineplex.core.gadget.event;
|
||||||
|
|
||||||
|
import mineplex.core.gadget.types.ItemGadget;
|
||||||
|
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.Event;
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
||||||
|
public class ItemGadgetUseEvent extends Event
|
||||||
|
{
|
||||||
|
private static final HandlerList handlers = new HandlerList();
|
||||||
|
|
||||||
|
private Player _player;
|
||||||
|
private ItemGadget _gadget;
|
||||||
|
private int _count;
|
||||||
|
|
||||||
|
private boolean _cancelled = false;
|
||||||
|
|
||||||
|
public ItemGadgetUseEvent(Player player, ItemGadget gadget, int count)
|
||||||
|
{
|
||||||
|
_player = player;
|
||||||
|
_gadget = gadget;
|
||||||
|
_count = count;
|
||||||
|
}
|
||||||
|
|
||||||
|
public HandlerList getHandlers()
|
||||||
|
{
|
||||||
|
return handlers;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static HandlerList getHandlerList()
|
||||||
|
{
|
||||||
|
return handlers;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getCount()
|
||||||
|
{
|
||||||
|
return _count;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ItemGadget getGadget()
|
||||||
|
{
|
||||||
|
return _gadget;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Player getPlayer()
|
||||||
|
{
|
||||||
|
return _player;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCancelled(boolean cancel)
|
||||||
|
{
|
||||||
|
_cancelled = cancel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isCancelled()
|
||||||
|
{
|
||||||
|
return _cancelled;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,24 @@
|
|||||||
|
package mineplex.core.gadget.gadgets;
|
||||||
|
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import mineplex.core.common.CurrencyType;
|
||||||
|
import mineplex.core.shop.item.SalesPackageBase;
|
||||||
|
|
||||||
|
public class Ammo extends SalesPackageBase
|
||||||
|
{
|
||||||
|
public Ammo(String name, String displayName, Material material, byte displayData, String[] description, int coins, int quantity)
|
||||||
|
{
|
||||||
|
super(name, material, displayData, description, coins, quantity);
|
||||||
|
|
||||||
|
DisplayName = displayName;
|
||||||
|
KnownPackage = false;
|
||||||
|
OneTimePurchaseOnly = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void Sold(Player player, CurrencyType currencyType)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
@ -42,7 +42,7 @@ public class ItemBatGun extends ItemGadget
|
|||||||
},
|
},
|
||||||
-1,
|
-1,
|
||||||
Material.IRON_BARDING, (byte)0,
|
Material.IRON_BARDING, (byte)0,
|
||||||
5000, 5);
|
5000, new Ammo("Bat Blaster", "50 Bats", Material.IRON_BARDING, (byte)0, new String[] { C.cWhite + "50 Bats for your Bat Blaster!" }, 500, 50));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -0,0 +1,137 @@
|
|||||||
|
package mineplex.core.gadget.gadgets;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Iterator;
|
||||||
|
|
||||||
|
import org.bukkit.Color;
|
||||||
|
import org.bukkit.FireworkEffect;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.Sound;
|
||||||
|
import org.bukkit.FireworkEffect.Type;
|
||||||
|
import org.bukkit.entity.Item;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.player.PlayerPickupItemEvent;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
|
import mineplex.core.common.util.C;
|
||||||
|
import mineplex.core.common.util.UtilAction;
|
||||||
|
import mineplex.core.common.util.UtilFirework;
|
||||||
|
import mineplex.core.common.util.UtilPlayer;
|
||||||
|
import mineplex.core.common.util.UtilServer;
|
||||||
|
import mineplex.core.common.util.UtilTime;
|
||||||
|
import mineplex.core.gadget.GadgetManager;
|
||||||
|
import mineplex.core.gadget.types.ItemGadget;
|
||||||
|
import mineplex.core.updater.UpdateType;
|
||||||
|
import mineplex.core.updater.event.UpdateEvent;
|
||||||
|
|
||||||
|
public class ItemCoinBomb extends ItemGadget
|
||||||
|
{
|
||||||
|
private HashMap<Item, Long> _active = new HashMap<Item, Long>();
|
||||||
|
private HashSet<Item> _coins = new HashSet<Item>();
|
||||||
|
|
||||||
|
public ItemCoinBomb(GadgetManager manager)
|
||||||
|
{
|
||||||
|
super(manager, "Coin Party Bomb", new String[]
|
||||||
|
{
|
||||||
|
C.cWhite + "It's party time! You will be",
|
||||||
|
C.cWhite + "everyones favourite player",
|
||||||
|
C.cWhite + "when you use one of these!",
|
||||||
|
},
|
||||||
|
-1,
|
||||||
|
Material.getMaterial(175), (byte)0,
|
||||||
|
30000, new Ammo("Coin Party Bomb", "1 Coin Party Bomb", Material.getMaterial(175), (byte)0, new String[] { C.cWhite + "1 Coin Party Bomb to PARTY!" }, 2000, 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void ActivateCustom(Player player)
|
||||||
|
{
|
||||||
|
Item item = player.getWorld().dropItem(player.getEyeLocation().add(player.getLocation().getDirection()), new ItemStack(Material.GOLD_BLOCK));
|
||||||
|
UtilAction.velocity(item, player.getLocation().getDirection(), 1, false, 0, 0.2, 1, false);
|
||||||
|
_active.put(item, System.currentTimeMillis());
|
||||||
|
|
||||||
|
//Inform
|
||||||
|
for (Player other : UtilServer.getPlayers())
|
||||||
|
UtilPlayer.message(other, C.cYellow + C.Bold + player.getName() + C.cWhite + C.Bold + " has thrown a " + C.cYellow + C.Bold + "Coin Party Bomb" + C.cWhite + C.Bold + "!");
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void Update(UpdateEvent event)
|
||||||
|
{
|
||||||
|
if (event.getType() != UpdateType.TICK)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Iterator<Item> itemIterator = _active.keySet().iterator();
|
||||||
|
|
||||||
|
while (itemIterator.hasNext())
|
||||||
|
{
|
||||||
|
Item item = itemIterator.next();
|
||||||
|
long time = _active.get(item);
|
||||||
|
|
||||||
|
if (UtilTime.elapsed(time, 3000))
|
||||||
|
{
|
||||||
|
UtilFirework.playFirework(item.getLocation(), FireworkEffect.builder().flicker(false).withColor(Color.YELLOW).with(Type.BURST).trail(false).build());
|
||||||
|
|
||||||
|
Item coin = item.getWorld().dropItem(item.getLocation().add(0, 1, 0), new ItemStack(Material.getMaterial(175)));
|
||||||
|
|
||||||
|
//Velocity
|
||||||
|
long passed = System.currentTimeMillis() - time;
|
||||||
|
Vector vel = new Vector(Math.sin(passed/300d), 0, Math.cos(passed/300d));
|
||||||
|
|
||||||
|
UtilAction.velocity(coin, vel, Math.abs(Math.sin(passed/3000d)), false, 0, 0.2 + Math.abs(Math.cos(passed/3000d))*0.8, 1, false);
|
||||||
|
|
||||||
|
coin.setPickupDelay(40);
|
||||||
|
|
||||||
|
_coins.add(coin);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (UtilTime.elapsed(time, 23000))
|
||||||
|
{
|
||||||
|
item.remove();
|
||||||
|
itemIterator.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void Pickup(PlayerPickupItemEvent event)
|
||||||
|
{
|
||||||
|
if (_active.keySet().contains(event.getItem()))
|
||||||
|
{
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
else if (_coins.contains(event.getItem()))
|
||||||
|
{
|
||||||
|
event.setCancelled(true);
|
||||||
|
event.getItem().remove();
|
||||||
|
|
||||||
|
Manager.getDonationManager().RewardCoins(null, this.GetName() + " Pickup", event.getPlayer().getName(), 4);
|
||||||
|
|
||||||
|
event.getPlayer().getWorld().playSound(event.getPlayer().getLocation(), Sound.ORB_PICKUP, 1f, 2f);
|
||||||
|
|
||||||
|
//UtilPlayer.message(event.getPlayer(), C.cGreen + C.Bold + "+4 Gems");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void Clean(UpdateEvent event)
|
||||||
|
{
|
||||||
|
if (event.getType() != UpdateType.FAST)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Iterator<Item> coinIterator = _coins.iterator();
|
||||||
|
|
||||||
|
while (coinIterator.hasNext())
|
||||||
|
{
|
||||||
|
Item coin = coinIterator.next();
|
||||||
|
|
||||||
|
if (!coin.isValid() || coin.getTicksLived() > 1200)
|
||||||
|
{
|
||||||
|
coin.remove();
|
||||||
|
coinIterator.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -29,7 +29,7 @@ public class ItemFirework extends ItemGadget
|
|||||||
},
|
},
|
||||||
-1,
|
-1,
|
||||||
Material.FIREWORK, (byte)0,
|
Material.FIREWORK, (byte)0,
|
||||||
100, 15);
|
100, new Ammo("Fireworks", "50 Fireworks", Material.FIREWORK, (byte)0, new String[] { C.cWhite + "50 Fireworks for you to launch!" }, 500, 50));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -16,6 +16,7 @@ import org.bukkit.event.player.PlayerPickupItemEvent;
|
|||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
|
import mineplex.core.common.CurrencyType;
|
||||||
import mineplex.core.common.util.C;
|
import mineplex.core.common.util.C;
|
||||||
import mineplex.core.common.util.UtilAction;
|
import mineplex.core.common.util.UtilAction;
|
||||||
import mineplex.core.common.util.UtilFirework;
|
import mineplex.core.common.util.UtilFirework;
|
||||||
@ -42,7 +43,7 @@ public class ItemGemBomb extends ItemGadget
|
|||||||
},
|
},
|
||||||
-1,
|
-1,
|
||||||
Material.EMERALD, (byte)0,
|
Material.EMERALD, (byte)0,
|
||||||
30000, 2000);
|
30000, new Ammo("Gem Party Bomb", "1 Gem Party Bomb", Material.EMERALD, (byte)0, new String[] { C.cWhite + "1 Gem Party Bomb to PARTY!" }, 2000, 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -38,7 +38,7 @@ public class ItemPaintballGun extends ItemGadget
|
|||||||
},
|
},
|
||||||
-1,
|
-1,
|
||||||
Material.GOLD_BARDING, (byte)0,
|
Material.GOLD_BARDING, (byte)0,
|
||||||
200, 2);
|
200, new Ammo("Paintball Gun", "100 Paintballs", Material.GOLD_BARDING, (byte)0, new String[] { C.cWhite + "100 Paintballs for you to shoot!" }, 500, 100));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -29,7 +29,7 @@ public class ItemTNT extends ItemGadget
|
|||||||
},
|
},
|
||||||
-1,
|
-1,
|
||||||
Material.TNT, (byte)0,
|
Material.TNT, (byte)0,
|
||||||
1000, 50);
|
1000, new Ammo("TNT", "20 TNT", Material.TNT, (byte)0, new String[] { C.cWhite + "20 TNT for you to explode!" }, 500, 20));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -26,7 +26,12 @@ public abstract class Gadget extends SalesPackageBase implements Listener
|
|||||||
|
|
||||||
public Gadget(GadgetManager manager, GadgetType gadgetType, String name, String[] desc, int cost, Material mat, byte data)
|
public Gadget(GadgetManager manager, GadgetType gadgetType, String name, String[] desc, int cost, Material mat, byte data)
|
||||||
{
|
{
|
||||||
super(name, mat, data, desc, cost);
|
this(manager, gadgetType, name, desc, cost, mat, data, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Gadget(GadgetManager manager, GadgetType gadgetType, String name, String[] desc, int cost, Material mat, byte data, int quantity)
|
||||||
|
{
|
||||||
|
super(name, mat, data, desc, cost, quantity);
|
||||||
|
|
||||||
_gadgetType = gadgetType;
|
_gadgetType = gadgetType;
|
||||||
KnownPackage = false;
|
KnownPackage = false;
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
package mineplex.core.gadget.types;
|
package mineplex.core.gadget.types;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
@ -10,28 +13,29 @@ import org.bukkit.event.block.Action;
|
|||||||
import org.bukkit.event.player.PlayerDropItemEvent;
|
import org.bukkit.event.player.PlayerDropItemEvent;
|
||||||
import org.bukkit.event.player.PlayerInteractEvent;
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
|
|
||||||
|
import mineplex.core.common.util.C;
|
||||||
import mineplex.core.common.util.F;
|
import mineplex.core.common.util.F;
|
||||||
import mineplex.core.common.util.UtilBlock;
|
import mineplex.core.common.util.UtilBlock;
|
||||||
import mineplex.core.common.util.UtilGear;
|
import mineplex.core.common.util.UtilGear;
|
||||||
import mineplex.core.common.util.UtilInv;
|
import mineplex.core.common.util.UtilInv;
|
||||||
import mineplex.core.common.util.UtilPlayer;
|
import mineplex.core.common.util.UtilPlayer;
|
||||||
import mineplex.core.gadget.GadgetManager;
|
import mineplex.core.gadget.GadgetManager;
|
||||||
import mineplex.core.gadget.event.GadgetActivateEvent;
|
import mineplex.core.gadget.gadgets.Ammo;
|
||||||
import mineplex.core.itemstack.ItemStackFactory;
|
import mineplex.core.itemstack.ItemStackFactory;
|
||||||
import mineplex.core.recharge.Recharge;
|
import mineplex.core.recharge.Recharge;
|
||||||
|
|
||||||
public abstract class ItemGadget extends Gadget
|
public abstract class ItemGadget extends Gadget
|
||||||
{
|
{
|
||||||
|
private Ammo _ammo;
|
||||||
private long _recharge;
|
private long _recharge;
|
||||||
private int _gemsPerUse;
|
|
||||||
|
|
||||||
public ItemGadget(GadgetManager manager, String name, String[] desc, int cost, Material mat, byte data,
|
public ItemGadget(GadgetManager manager, String name, String[] desc, int cost, Material mat, byte data,
|
||||||
long recharge, int gemsPerUse)
|
long recharge, Ammo ammo)
|
||||||
{
|
{
|
||||||
super(manager, GadgetType.Item, name, desc, cost, mat, data);
|
super(manager, GadgetType.Item, name, desc, cost, mat, data);
|
||||||
|
|
||||||
|
_ammo = ammo;
|
||||||
_recharge = recharge;
|
_recharge = recharge;
|
||||||
_gemsPerUse = gemsPerUse;
|
|
||||||
Free = true;
|
Free = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,6 +67,11 @@ public abstract class ItemGadget extends Gadget
|
|||||||
|
|
||||||
_active.add(player);
|
_active.add(player);
|
||||||
|
|
||||||
|
List<String> itemLore = new ArrayList<String>();
|
||||||
|
itemLore.addAll(Arrays.asList(GetDescription()));
|
||||||
|
itemLore.add(C.cBlack);
|
||||||
|
itemLore.add(C.cWhite + "Your Ammo : " + Manager.getInventoryManager().Get(player).getItemCount(GetName()));
|
||||||
|
|
||||||
player.getInventory().setItem(3, ItemStackFactory.Instance.CreateStack(GetDisplayMaterial(), GetDisplayData(), 1, F.item(GetName())));
|
player.getInventory().setItem(3, ItemStackFactory.Instance.CreateStack(GetDisplayMaterial(), GetDisplayData(), 1, F.item(GetName())));
|
||||||
|
|
||||||
UtilPlayer.message(player, F.main("Gadget", "You equipped " + F.elem(GetName()) + "."));
|
UtilPlayer.message(player, F.main("Gadget", "You equipped " + F.elem(GetName()) + "."));
|
||||||
@ -97,6 +106,11 @@ public abstract class ItemGadget extends Gadget
|
|||||||
UtilPlayer.message(player, F.main("Gadget", "You unequipped " + F.elem(GetName()) + "."));
|
UtilPlayer.message(player, F.main("Gadget", "You unequipped " + F.elem(GetName()) + "."));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Ammo getAmmo()
|
||||||
|
{
|
||||||
|
return _ammo;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean IsItem(Player player)
|
public boolean IsItem(Player player)
|
||||||
{
|
{
|
||||||
@ -124,30 +138,19 @@ public abstract class ItemGadget extends Gadget
|
|||||||
|
|
||||||
//Recharge
|
//Recharge
|
||||||
if (!Recharge.Instance.use(player, GetName(), _recharge, _recharge > 1000, false))
|
if (!Recharge.Instance.use(player, GetName(), _recharge, _recharge > 1000, false))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
//Use Gems
|
if (Manager.getInventoryManager().Get(player).getItemCount(GetName()) <= 0)
|
||||||
if (_gemsPerUse > 0)
|
|
||||||
{
|
{
|
||||||
if (Manager.getDonationManager().Get(player.getName()).GetGems() >= _gemsPerUse)
|
UtilPlayer.message(player, F.main("Gadget", "You do not have any " + GetName() + " left."));
|
||||||
{
|
Disable(player);
|
||||||
Manager.getDonationManager().RewardGemsLater(GetName(), player.getName(), -_gemsPerUse);
|
return;
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
UtilPlayer.message(player, F.main("Gadget", "You do not have enough Gems to use "+this.GetName()+"."));
|
|
||||||
Disable(player);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Manager.getInventoryManager().addItemToInventory(player, getGadgetType().name(), GetName(), -1);
|
||||||
|
|
||||||
ActivateCustom(event.getPlayer());
|
ActivateCustom(event.getPlayer());
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract void ActivateCustom(Player player);
|
public abstract void ActivateCustom(Player player);
|
||||||
|
|
||||||
public int GetGemsPerUse()
|
|
||||||
{
|
|
||||||
return _gemsPerUse;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@ public class GemBooster extends SalesPackageBase
|
|||||||
C.cWhite + "for all players in the game!",
|
C.cWhite + "for all players in the game!",
|
||||||
" ",
|
" ",
|
||||||
C.cWhite + "Your Gem Boosters: " + C.cGreen + gemBoosters
|
C.cWhite + "Your Gem Boosters: " + C.cGreen + gemBoosters
|
||||||
}, 1000);
|
}, 1000, 20);
|
||||||
|
|
||||||
KnownPackage = false;
|
KnownPackage = false;
|
||||||
OneTimePurchaseOnly = false;
|
OneTimePurchaseOnly = false;
|
||||||
|
@ -3,64 +3,29 @@ package mineplex.core.inventory;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
|
||||||
import org.bukkit.event.player.PlayerDropItemEvent;
|
|
||||||
import org.bukkit.event.player.PlayerInteractEvent;
|
|
||||||
import org.bukkit.event.player.PlayerJoinEvent;
|
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
import mineplex.core.MiniClientPlugin;
|
import mineplex.core.MiniClientPlugin;
|
||||||
import mineplex.core.account.CoreClientManager;
|
|
||||||
import mineplex.core.account.event.RetrieveClientInformationEvent;
|
import mineplex.core.account.event.RetrieveClientInformationEvent;
|
||||||
import mineplex.core.common.util.C;
|
|
||||||
import mineplex.core.common.util.NautHashMap;
|
import mineplex.core.common.util.NautHashMap;
|
||||||
import mineplex.core.donation.DonationManager;
|
|
||||||
import mineplex.core.gadget.GadgetManager;
|
|
||||||
|
|
||||||
import mineplex.core.inventory.data.Category;
|
import mineplex.core.inventory.data.Category;
|
||||||
import mineplex.core.inventory.data.InventoryRepository;
|
import mineplex.core.inventory.data.InventoryRepository;
|
||||||
import mineplex.core.inventory.data.Item;
|
import mineplex.core.inventory.data.Item;
|
||||||
import mineplex.core.inventory.ui.InventoryShop;
|
|
||||||
import mineplex.core.itemstack.ItemStackFactory;
|
|
||||||
import mineplex.core.mount.MountManager;
|
|
||||||
import mineplex.core.pet.PetManager;
|
|
||||||
|
|
||||||
public class InventoryManager extends MiniClientPlugin<ClientInventory>
|
public class InventoryManager extends MiniClientPlugin<ClientInventory>
|
||||||
{
|
{
|
||||||
private static Object _inventoryLock = new Object();
|
private static Object _inventoryLock = new Object();
|
||||||
|
|
||||||
private GadgetManager _gadgetManager;
|
|
||||||
private MountManager _mountManager;
|
|
||||||
private PetManager _petManager;
|
|
||||||
|
|
||||||
private InventoryShop _inventoryShop;
|
|
||||||
|
|
||||||
private InventoryRepository _repository;
|
private InventoryRepository _repository;
|
||||||
|
|
||||||
private NautHashMap<String, Item> _items = new NautHashMap<String, Item>();
|
private NautHashMap<String, Item> _items = new NautHashMap<String, Item>();
|
||||||
private NautHashMap<String, Category> _categories = new NautHashMap<String, Category>();
|
private NautHashMap<String, Category> _categories = new NautHashMap<String, Category>();
|
||||||
|
|
||||||
private boolean _userInterface = false;
|
public InventoryManager(JavaPlugin plugin)
|
||||||
|
|
||||||
public InventoryManager(JavaPlugin plugin, CoreClientManager clientManager, DonationManager donationManager, GadgetManager gadgetManager, MountManager mountManager, PetManager petManager)
|
|
||||||
{
|
|
||||||
this(plugin, clientManager, donationManager, gadgetManager, mountManager, petManager, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public InventoryManager(JavaPlugin plugin, CoreClientManager clientManager, DonationManager donationManager, GadgetManager gadgetManager, MountManager mountManager, PetManager petManager, boolean userInterface)
|
|
||||||
{
|
{
|
||||||
super("Inventory Manager", plugin);
|
super("Inventory Manager", plugin);
|
||||||
|
|
||||||
_gadgetManager = gadgetManager;
|
|
||||||
_mountManager = mountManager;
|
|
||||||
_petManager = petManager;
|
|
||||||
_userInterface = userInterface;
|
|
||||||
|
|
||||||
_inventoryShop = new InventoryShop(this, clientManager, donationManager, "Inventory");
|
|
||||||
|
|
||||||
_repository = new InventoryRepository(plugin);
|
_repository = new InventoryRepository(plugin);
|
||||||
|
|
||||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(GetPlugin(), new Runnable()
|
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(GetPlugin(), new Runnable()
|
||||||
@ -101,7 +66,7 @@ public class InventoryManager extends MiniClientPlugin<ClientInventory>
|
|||||||
|
|
||||||
public void addItemToInventory(final Player player, final String category, final String item, final int count)
|
public void addItemToInventory(final Player player, final String category, final String item, final int count)
|
||||||
{
|
{
|
||||||
final String uuidString = player.getUniqueId().toString();
|
final String uuidString = player.getUniqueId().toString();
|
||||||
|
|
||||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(GetPlugin(), new Runnable()
|
Bukkit.getServer().getScheduler().runTaskAsynchronously(GetPlugin(), new Runnable()
|
||||||
{
|
{
|
||||||
@ -112,6 +77,7 @@ public class InventoryManager extends MiniClientPlugin<ClientInventory>
|
|||||||
if (!_categories.containsKey(category))
|
if (!_categories.containsKey(category))
|
||||||
{
|
{
|
||||||
_repository.addCategory(category);
|
_repository.addCategory(category);
|
||||||
|
System.out.println("InventoryManager Adding Category : " + category);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -122,15 +88,17 @@ public class InventoryManager extends MiniClientPlugin<ClientInventory>
|
|||||||
if (!_items.containsKey(item))
|
if (!_items.containsKey(item))
|
||||||
{
|
{
|
||||||
_repository.addItem(item, _categories.get(category).Id);
|
_repository.addItem(item, _categories.get(category).Id);
|
||||||
|
System.out.println("InventoryManager Adding Item : " + item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
updateItems();
|
updateItems();
|
||||||
|
|
||||||
|
Get(player).addItem(new ClientItem(_items.get(item), count));
|
||||||
|
|
||||||
synchronized (_inventoryLock)
|
synchronized (_inventoryLock)
|
||||||
{
|
{
|
||||||
_repository.incrementClientInventoryItem(uuidString, _items.get(item).Id, count);
|
_repository.incrementClientInventoryItem(uuidString, _items.get(item).Id, count);
|
||||||
Get(player).addItem(new ClientItem(_items.get(item), count));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -155,65 +123,4 @@ public class InventoryManager extends MiniClientPlugin<ClientInventory>
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void onPlayerJoin(PlayerJoinEvent event)
|
|
||||||
{
|
|
||||||
if (!_userInterface)
|
|
||||||
return;
|
|
||||||
|
|
||||||
event.getPlayer().getInventory().setItem(4, ItemStackFactory.Instance.CreateStack(Material.CHEST, (byte)0, 1, ChatColor.RESET + C.cGreen + "Inventory Menu"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void orderThatChest(final PlayerDropItemEvent event)
|
|
||||||
{
|
|
||||||
if (!_userInterface)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (event.getItemDrop().getItemStack().getType() == Material.CHEST)
|
|
||||||
{
|
|
||||||
Bukkit.getScheduler().scheduleSyncDelayedTask(GetPlugin(), new Runnable()
|
|
||||||
{
|
|
||||||
public void run()
|
|
||||||
{
|
|
||||||
if (event.getPlayer().isOnline())
|
|
||||||
{
|
|
||||||
event.getPlayer().getInventory().remove(Material.CHEST);
|
|
||||||
event.getPlayer().getInventory().setItem(4, ItemStackFactory.Instance.CreateStack(Material.CHEST, (byte)0, 1, ChatColor.RESET + C.cGreen + "Inventory Menu"));
|
|
||||||
event.getPlayer().updateInventory();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void openShop(PlayerInteractEvent event)
|
|
||||||
{
|
|
||||||
if (!_userInterface)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (event.hasItem() && event.getItem().getType() == Material.CHEST)
|
|
||||||
{
|
|
||||||
event.setCancelled(true);
|
|
||||||
|
|
||||||
_inventoryShop.attemptShopOpen(event.getPlayer());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public GadgetManager getGadgetManager()
|
|
||||||
{
|
|
||||||
return _gadgetManager;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MountManager getMountManager()
|
|
||||||
{
|
|
||||||
return _mountManager;
|
|
||||||
}
|
|
||||||
|
|
||||||
public PetManager getPetManager()
|
|
||||||
{
|
|
||||||
return _petManager;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,36 +0,0 @@
|
|||||||
package mineplex.core.inventory.ui.button;
|
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
import mineplex.core.gadget.types.Gadget;
|
|
||||||
import mineplex.core.inventory.ui.page.GadgetPage;
|
|
||||||
import mineplex.core.shop.item.IButton;
|
|
||||||
import mineplex.core.shop.page.ShopPageBase;
|
|
||||||
|
|
||||||
public class DeactivateGadgetButton implements IButton
|
|
||||||
{
|
|
||||||
private Gadget _gadget;
|
|
||||||
private ShopPageBase<?, ?> _page;
|
|
||||||
|
|
||||||
public DeactivateGadgetButton(Gadget gadget, ShopPageBase<?, ?> page)
|
|
||||||
{
|
|
||||||
_gadget = gadget;
|
|
||||||
_page = page;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void ClickedLeft(Player player)
|
|
||||||
{
|
|
||||||
_page.PlayAcceptSound(player);
|
|
||||||
_gadget.Disable(player);
|
|
||||||
_page.Refresh();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void ClickedRight(Player player)
|
|
||||||
{
|
|
||||||
_page.PlayAcceptSound(player);
|
|
||||||
_gadget.Disable(player);
|
|
||||||
_page.Refresh();
|
|
||||||
}
|
|
||||||
}
|
|
@ -15,6 +15,7 @@ import mineplex.core.common.CurrencyType;
|
|||||||
import mineplex.core.common.util.F;
|
import mineplex.core.common.util.F;
|
||||||
import mineplex.core.common.util.UtilPlayer;
|
import mineplex.core.common.util.UtilPlayer;
|
||||||
import mineplex.core.gadget.event.GadgetActivateEvent;
|
import mineplex.core.gadget.event.GadgetActivateEvent;
|
||||||
|
import mineplex.core.mount.event.MountActivateEvent;
|
||||||
import mineplex.core.shop.item.SalesPackageBase;
|
import mineplex.core.shop.item.SalesPackageBase;
|
||||||
|
|
||||||
public abstract class Mount<T> extends SalesPackageBase implements Listener
|
public abstract class Mount<T> extends SalesPackageBase implements Listener
|
||||||
@ -39,7 +40,7 @@ public abstract class Mount<T> extends SalesPackageBase implements Listener
|
|||||||
|
|
||||||
public final void Enable(Player player)
|
public final void Enable(Player player)
|
||||||
{
|
{
|
||||||
GadgetActivateEvent gadgetEvent = new GadgetActivateEvent(player, this);
|
MountActivateEvent gadgetEvent = new MountActivateEvent(player, this);
|
||||||
Bukkit.getServer().getPluginManager().callEvent(gadgetEvent);
|
Bukkit.getServer().getPluginManager().callEvent(gadgetEvent);
|
||||||
|
|
||||||
if (gadgetEvent.isCancelled())
|
if (gadgetEvent.isCancelled())
|
||||||
|
@ -0,0 +1,54 @@
|
|||||||
|
package mineplex.core.mount.event;
|
||||||
|
|
||||||
|
import mineplex.core.gadget.types.Gadget;
|
||||||
|
import mineplex.core.mount.Mount;
|
||||||
|
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.Event;
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
||||||
|
public class MountActivateEvent extends Event
|
||||||
|
{
|
||||||
|
private static final HandlerList handlers = new HandlerList();
|
||||||
|
|
||||||
|
private Player _player;
|
||||||
|
private Mount<?> _mount;
|
||||||
|
|
||||||
|
private boolean _cancelled = false;
|
||||||
|
|
||||||
|
public MountActivateEvent(Player player, Mount<?> mount)
|
||||||
|
{
|
||||||
|
_player = player;
|
||||||
|
_mount = mount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public HandlerList getHandlers()
|
||||||
|
{
|
||||||
|
return handlers;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static HandlerList getHandlerList()
|
||||||
|
{
|
||||||
|
return handlers;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Mount getMount()
|
||||||
|
{
|
||||||
|
return _mount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Player getPlayer()
|
||||||
|
{
|
||||||
|
return _player;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCancelled(boolean cancel)
|
||||||
|
{
|
||||||
|
_cancelled = cancel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isCancelled()
|
||||||
|
{
|
||||||
|
return _cancelled;
|
||||||
|
}
|
||||||
|
}
|
@ -15,9 +15,10 @@ public abstract class SalesPackageBase implements ICurrencyPackage, IDisplayPack
|
|||||||
private Material _displayMaterial;
|
private Material _displayMaterial;
|
||||||
private byte _displayData;
|
private byte _displayData;
|
||||||
|
|
||||||
private String _name;
|
protected String Name;
|
||||||
private String _displayName;
|
protected String DisplayName;
|
||||||
private String[] _description;
|
protected String[] Description;
|
||||||
|
protected int Quantity;
|
||||||
|
|
||||||
protected int SalesPackageId;
|
protected int SalesPackageId;
|
||||||
protected boolean Free;
|
protected boolean Free;
|
||||||
@ -32,20 +33,26 @@ public abstract class SalesPackageBase implements ICurrencyPackage, IDisplayPack
|
|||||||
|
|
||||||
public SalesPackageBase(String name, Material material, byte displayData, String[] description)
|
public SalesPackageBase(String name, Material material, byte displayData, String[] description)
|
||||||
{
|
{
|
||||||
this(name, material, (byte)0, description, -1);
|
this(name, material, (byte)0, description, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public SalesPackageBase(String name, Material material, byte displayData, String[] description, int coins)
|
public SalesPackageBase(String name, Material material, byte displayData, String[] description, int coins)
|
||||||
|
{
|
||||||
|
this(name, material, (byte)0, description, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
public SalesPackageBase(String name, Material material, byte displayData, String[] description, int coins, int quantity)
|
||||||
{
|
{
|
||||||
CurrencyCostMap = new NautHashMap<CurrencyType, Integer>();
|
CurrencyCostMap = new NautHashMap<CurrencyType, Integer>();
|
||||||
|
|
||||||
_name = name;
|
Name = name;
|
||||||
_displayName = name;
|
DisplayName = name;
|
||||||
_description = description;
|
Description = description;
|
||||||
_displayMaterial = material;
|
_displayMaterial = material;
|
||||||
_displayData = displayData;
|
_displayData = displayData;
|
||||||
|
|
||||||
CurrencyCostMap.put(CurrencyType.Coins, coins);
|
CurrencyCostMap.put(CurrencyType.Coins, coins);
|
||||||
|
Quantity = quantity;
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract void Sold(Player player, CurrencyType currencyType);
|
public abstract void Sold(Player player, CurrencyType currencyType);
|
||||||
@ -53,13 +60,13 @@ public abstract class SalesPackageBase implements ICurrencyPackage, IDisplayPack
|
|||||||
@Override
|
@Override
|
||||||
public String GetName()
|
public String GetName()
|
||||||
{
|
{
|
||||||
return _name;
|
return Name;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] GetDescription()
|
public String[] GetDescription()
|
||||||
{
|
{
|
||||||
return _description;
|
return Description;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -103,6 +110,11 @@ public abstract class SalesPackageBase implements ICurrencyPackage, IDisplayPack
|
|||||||
CurrencyCostMap.put(CurrencyType.Gems, token.Gems);
|
CurrencyCostMap.put(CurrencyType.Gems, token.Gems);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getQuantity()
|
||||||
|
{
|
||||||
|
return Quantity;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean IsKnown()
|
public boolean IsKnown()
|
||||||
{
|
{
|
||||||
@ -116,11 +128,11 @@ public abstract class SalesPackageBase implements ICurrencyPackage, IDisplayPack
|
|||||||
|
|
||||||
public String GetDisplayName()
|
public String GetDisplayName()
|
||||||
{
|
{
|
||||||
return _displayName;
|
return DisplayName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDisplayName(String name)
|
public void setDisplayName(String name)
|
||||||
{
|
{
|
||||||
_displayName = name;
|
DisplayName = name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -54,6 +54,8 @@ import mineplex.core.common.util.UtilServer;
|
|||||||
import mineplex.core.common.util.UtilTime;
|
import mineplex.core.common.util.UtilTime;
|
||||||
import mineplex.core.common.util.UtilWorld;
|
import mineplex.core.common.util.UtilWorld;
|
||||||
import mineplex.core.common.util.UtilParticle.ParticleType;
|
import mineplex.core.common.util.UtilParticle.ParticleType;
|
||||||
|
import mineplex.core.cosmetic.CosmeticManager;
|
||||||
|
import mineplex.core.cosmetic.ui.CosmeticShop;
|
||||||
import mineplex.core.disguise.DisguiseManager;
|
import mineplex.core.disguise.DisguiseManager;
|
||||||
import mineplex.core.disguise.disguises.DisguisePlayer;
|
import mineplex.core.disguise.disguises.DisguisePlayer;
|
||||||
import mineplex.core.disguise.disguises.DisguiseSlime;
|
import mineplex.core.disguise.disguises.DisguiseSlime;
|
||||||
@ -145,8 +147,9 @@ public class HubManager extends MiniClientPlugin<HubClient>
|
|||||||
_news = new NewsManager(this);
|
_news = new NewsManager(this);
|
||||||
|
|
||||||
_mountManager = new MountManager(_plugin, clientManager, donationManager, blockRestore);
|
_mountManager = new MountManager(_plugin, clientManager, donationManager, blockRestore);
|
||||||
_gadgetManager = new GadgetManager(_plugin, clientManager, donationManager, _mountManager, petManager, preferences, disguiseManager, blockRestore);
|
_inventoryManager = new InventoryManager(plugin);
|
||||||
_inventoryManager = new InventoryManager(plugin, clientManager, donationManager, _gadgetManager, _mountManager, petManager);
|
_gadgetManager = new GadgetManager(_plugin, clientManager, donationManager, _inventoryManager, _mountManager, petManager, preferences, disguiseManager, blockRestore);
|
||||||
|
new CosmeticManager(_plugin, clientManager, donationManager, _inventoryManager, _gadgetManager, _mountManager, petManager);
|
||||||
|
|
||||||
_partyManager = partyManager;
|
_partyManager = partyManager;
|
||||||
_preferences = preferences;
|
_preferences = preferences;
|
||||||
|
@ -9,15 +9,11 @@ import org.bukkit.Material;
|
|||||||
import org.bukkit.Sound;
|
import org.bukkit.Sound;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.block.BlockFace;
|
import org.bukkit.block.BlockFace;
|
||||||
import org.bukkit.entity.EnderDragon;
|
|
||||||
import org.bukkit.entity.Entity;
|
|
||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
import org.bukkit.event.block.BlockBreakEvent;
|
import org.bukkit.event.block.BlockBreakEvent;
|
||||||
import org.bukkit.event.block.BlockPlaceEvent;
|
|
||||||
import org.bukkit.event.entity.EntityCombustEvent;
|
|
||||||
import org.bukkit.event.entity.EntityDamageEvent;
|
import org.bukkit.event.entity.EntityDamageEvent;
|
||||||
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
||||||
import org.bukkit.event.player.PlayerInteractEntityEvent;
|
import org.bukkit.event.player.PlayerInteractEntityEvent;
|
||||||
@ -32,8 +28,6 @@ import mineplex.core.common.util.F;
|
|||||||
import mineplex.core.common.util.UtilBlock;
|
import mineplex.core.common.util.UtilBlock;
|
||||||
import mineplex.core.common.util.UtilEnt;
|
import mineplex.core.common.util.UtilEnt;
|
||||||
import mineplex.core.common.util.UtilEvent;
|
import mineplex.core.common.util.UtilEvent;
|
||||||
import mineplex.core.common.util.UtilGear;
|
|
||||||
import mineplex.core.common.util.UtilInv;
|
|
||||||
import mineplex.core.common.util.UtilMath;
|
import mineplex.core.common.util.UtilMath;
|
||||||
import mineplex.core.common.util.UtilPlayer;
|
import mineplex.core.common.util.UtilPlayer;
|
||||||
import mineplex.core.common.util.UtilServer;
|
import mineplex.core.common.util.UtilServer;
|
||||||
@ -42,6 +36,7 @@ import mineplex.core.common.util.UtilEvent.ActionType;
|
|||||||
import mineplex.core.donation.DonationManager;
|
import mineplex.core.donation.DonationManager;
|
||||||
import mineplex.core.gadget.event.GadgetActivateEvent;
|
import mineplex.core.gadget.event.GadgetActivateEvent;
|
||||||
import mineplex.core.gadget.event.GadgetBlockEvent;
|
import mineplex.core.gadget.event.GadgetBlockEvent;
|
||||||
|
import mineplex.core.mount.event.MountActivateEvent;
|
||||||
import mineplex.core.recharge.Recharge;
|
import mineplex.core.recharge.Recharge;
|
||||||
import mineplex.core.task.TaskManager;
|
import mineplex.core.task.TaskManager;
|
||||||
import mineplex.core.updater.UpdateType;
|
import mineplex.core.updater.UpdateType;
|
||||||
@ -130,6 +125,13 @@ public class ParkourManager extends MiniPlugin
|
|||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void disableMounts(MountActivateEvent event)
|
||||||
|
{
|
||||||
|
if (isParkourMode(event.getPlayer()))
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void playerEnterParkour(UpdateEvent event)
|
public void playerEnterParkour(UpdateEvent event)
|
||||||
{
|
{
|
||||||
|
@ -16,6 +16,7 @@ import mineplex.core.blood.Blood;
|
|||||||
import mineplex.core.command.CommandCenter;
|
import mineplex.core.command.CommandCenter;
|
||||||
import mineplex.core.common.util.FileUtil;
|
import mineplex.core.common.util.FileUtil;
|
||||||
import mineplex.core.common.util.UtilServer;
|
import mineplex.core.common.util.UtilServer;
|
||||||
|
import mineplex.core.cosmetic.CosmeticManager;
|
||||||
import mineplex.core.creature.Creature;
|
import mineplex.core.creature.Creature;
|
||||||
import mineplex.core.disguise.DisguiseManager;
|
import mineplex.core.disguise.DisguiseManager;
|
||||||
import mineplex.core.donation.DonationManager;
|
import mineplex.core.donation.DonationManager;
|
||||||
@ -105,7 +106,9 @@ public class Arcade extends JavaPlugin
|
|||||||
PetManager petManager = new PetManager(this, _clientManager, _donationManager, creature, webServerAddress);
|
PetManager petManager = new PetManager(this, _clientManager, _donationManager, creature, webServerAddress);
|
||||||
MountManager mountManager = new MountManager(this, _clientManager, _donationManager, blockRestore);
|
MountManager mountManager = new MountManager(this, _clientManager, _donationManager, blockRestore);
|
||||||
|
|
||||||
InventoryManager inventoryManager = new InventoryManager(this, _clientManager, _donationManager, new GadgetManager(this, _clientManager, _donationManager, mountManager, petManager, preferenceManager, disguiseManager, blockRestore), mountManager, petManager);
|
InventoryManager inventoryManager = new InventoryManager(this);
|
||||||
|
GadgetManager gadgetManager = new GadgetManager(this, _clientManager, _donationManager, inventoryManager, mountManager, petManager, preferenceManager, disguiseManager, blockRestore);
|
||||||
|
new CosmeticManager(this, _clientManager, _donationManager, inventoryManager, gadgetManager, mountManager, petManager);
|
||||||
|
|
||||||
//Arcade Manager
|
//Arcade Manager
|
||||||
_gameManager = new ArcadeManager(this, serverStatusManager, ReadServerConfig(), _clientManager, _donationManager, _damageManager, disguiseManager, creature, teleport, new Blood(this), antistack, portal, packetHandler, preferenceManager, inventoryManager, webServerAddress);
|
_gameManager = new ArcadeManager(this, serverStatusManager, ReadServerConfig(), _clientManager, _donationManager, _damageManager, disguiseManager, creature, teleport, new Blood(this), antistack, portal, packetHandler, preferenceManager, inventoryManager, webServerAddress);
|
||||||
|
Loading…
Reference in New Issue
Block a user