Add cooldowns to all gui items tied to giving rewards to prevent some exploitation

This commit is contained in:
AlexTheCoder 2016-08-07 14:47:14 -04:00
parent c5d979e5dc
commit 95302177f8
7 changed files with 47 additions and 0 deletions

View File

@ -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();

View File

@ -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();

View File

@ -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);

View File

@ -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();

View File

@ -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;

View File

@ -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))

View File

@ -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();
}