Add cooldowns to all gui items tied to giving rewards to prevent some exploitation
This commit is contained in:
parent
c5d979e5dc
commit
95302177f8
|
@ -10,6 +10,7 @@ import mineplex.core.gui.ItemRefresher;
|
|||
import mineplex.core.gui.pages.LoadingWindow;
|
||||
import mineplex.core.gui.pages.TimedMessageWindow;
|
||||
import mineplex.core.itemstack.ItemStackFactory;
|
||||
import mineplex.core.recharge.Recharge;
|
||||
import mineplex.core.shop.item.ShopItem;
|
||||
import mineplex.core.thank.ThankManager;
|
||||
import org.bukkit.*;
|
||||
|
@ -58,6 +59,11 @@ public class ClaimTipsButton implements GuiItem, Listener
|
|||
@Override
|
||||
public void click(ClickType clickType)
|
||||
{
|
||||
if (!Recharge.Instance.use(_player, "Claim Tips Button", 1000, false, false))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (isAvailable()) {
|
||||
_item = ItemStackFactory.Instance.CreateStack(Material.LAPIS_BLOCK, (byte)0, 1, ChatColor.BLUE + "Processing...");
|
||||
refreshItem();
|
||||
|
|
|
@ -13,6 +13,7 @@ import mineplex.core.gui.ItemRefresher;
|
|||
import mineplex.core.gui.pages.LoadingWindow;
|
||||
import mineplex.core.gui.pages.TimedMessageWindow;
|
||||
import mineplex.core.itemstack.ItemStackFactory;
|
||||
import mineplex.core.recharge.Recharge;
|
||||
import mineplex.core.shop.item.ShopItem;
|
||||
import mineplex.core.updater.UpdateType;
|
||||
import mineplex.core.updater.event.UpdateEvent;
|
||||
|
@ -69,6 +70,11 @@ public class DailyBonusButton implements GuiItem, Listener
|
|||
@Override
|
||||
public void click(ClickType clickType)
|
||||
{
|
||||
if (!Recharge.Instance.use(_player, "Carl Daily Bonus", 1000, false, false))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (isAvailable()) {
|
||||
_item = ItemStackFactory.Instance.CreateStack(Material.LAPIS_BLOCK, (byte)0, 1, ChatColor.BLUE + "Processing...");
|
||||
refreshItem();
|
||||
|
|
|
@ -17,6 +17,7 @@ import mineplex.core.gui.pages.TimedMessageWindow;
|
|||
import mineplex.core.itemstack.ItemStackFactory;
|
||||
import mineplex.core.poll.Poll;
|
||||
import mineplex.core.poll.PollManager;
|
||||
import mineplex.core.recharge.Recharge;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
|
@ -109,6 +110,11 @@ public class PollButton extends SimpleGui implements GuiItem {
|
|||
@Override
|
||||
public void click(ClickType clickType)
|
||||
{
|
||||
if (!Recharge.Instance.use(getPlayer(), "Poll Main Button", 1000, false, false))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (_poll == null)
|
||||
{
|
||||
getPlayer().playSound(getPlayer().getLocation(), Sound.ITEM_BREAK, 1, 1.6f);
|
||||
|
@ -195,6 +201,11 @@ public class PollButton extends SimpleGui implements GuiItem {
|
|||
@Override
|
||||
public void click(ClickType clickType)
|
||||
{
|
||||
if (!Recharge.Instance.use(getPlayer(), "Poll Answer Button", 1000, false, false))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_create = true;
|
||||
|
||||
_pollManager.answerPoll(getPlayer(), _poll, num + 1);
|
||||
|
|
|
@ -13,6 +13,7 @@ import mineplex.core.gui.ItemRefresher;
|
|||
import mineplex.core.gui.pages.LoadingWindow;
|
||||
import mineplex.core.gui.pages.TimedMessageWindow;
|
||||
import mineplex.core.itemstack.ItemStackFactory;
|
||||
import mineplex.core.recharge.Recharge;
|
||||
import mineplex.core.shop.item.ShopItem;
|
||||
import mineplex.core.updater.UpdateType;
|
||||
import mineplex.core.updater.event.UpdateEvent;
|
||||
|
@ -78,6 +79,11 @@ public class RankBonusButton implements GuiItem, Listener {
|
|||
@Override
|
||||
public void click(ClickType clickType)
|
||||
{
|
||||
if (!Recharge.Instance.use(_player, "Claim Rank Bonus", 1000, false, false))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (isAvailable() && _bonusManager.isPastAugust()) {
|
||||
_item = ItemStackFactory.Instance.CreateStack(Material.LAPIS_BLOCK, (byte)0, 1, ChatColor.BLUE + "Processing...");
|
||||
refreshItem();
|
||||
|
|
|
@ -5,6 +5,7 @@ import mineplex.core.common.jsonchat.JsonMessage;
|
|||
import mineplex.core.common.util.C;
|
||||
import mineplex.core.gui.GuiItem;
|
||||
import mineplex.core.itemstack.ItemBuilder;
|
||||
import mineplex.core.recharge.Recharge;
|
||||
import mineplex.core.youtube.YoutubeManager;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
|
@ -59,6 +60,11 @@ public class YoutubeButton implements GuiItem
|
|||
@Override
|
||||
public void click(ClickType clickType)
|
||||
{
|
||||
if (!Recharge.Instance.use(_player, "Use Youtube Button", 1000, false, false))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_player.closeInventory();
|
||||
|
||||
final String message;
|
||||
|
|
|
@ -4,6 +4,7 @@ import mineplex.core.common.currency.GlobalCurrency;
|
|||
import mineplex.core.common.util.F;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
import mineplex.core.inventory.InventoryManager;
|
||||
import mineplex.core.recharge.Recharge;
|
||||
import mineplex.core.shop.confirmation.ConfirmationPage;
|
||||
import mineplex.core.shop.item.IButton;
|
||||
import mineplex.core.shop.item.SalesPackageBase;
|
||||
|
@ -41,6 +42,11 @@ public class BuyChestButton implements IButton
|
|||
@Override
|
||||
public void onClick(final Player player, ClickType clickType)
|
||||
{
|
||||
if (!Recharge.Instance.use(player, "Buy Treasure Chest", 1000, false, false))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (_chestType == TreasureType.FREEDOM)
|
||||
{
|
||||
if (!_page.getPlugin().hasItemsToGivePlayer(_chestType.getRewardPool(), player))
|
||||
|
|
|
@ -3,6 +3,7 @@ package mineplex.core.treasure.gui;
|
|||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.ClickType;
|
||||
|
||||
import mineplex.core.recharge.Recharge;
|
||||
import mineplex.core.shop.item.IButton;
|
||||
import mineplex.core.treasure.TreasureLocation;
|
||||
import mineplex.core.treasure.TreasureType;
|
||||
|
@ -24,6 +25,11 @@ public class OpenTreasureButton implements IButton
|
|||
@Override
|
||||
public void onClick(Player player, ClickType clickType)
|
||||
{
|
||||
if (!Recharge.Instance.use(player, "Open Treasure Chest", 1000, false, false))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_treasureLocation.attemptOpenTreasure(player, _treasureType);
|
||||
player.closeInventory();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue