Don't allow players to buy the same prize twice
This commit is contained in:
parent
6de8d07e34
commit
bbd4c6d99b
|
|
@ -20,10 +20,18 @@ public class PrizesWindow extends GUI {
|
||||||
|
|
||||||
private final Logger logger;
|
private final Logger logger;
|
||||||
private final ItemStack alreadyPurchasedItem = new ItemStack(Material.BARRIER, 1);
|
private final ItemStack alreadyPurchasedItem = new ItemStack(Material.BARRIER, 1);
|
||||||
|
private final List<Prize> prizes;
|
||||||
|
private final Player player;
|
||||||
|
|
||||||
public PrizesWindow(Player player, Logger logger, List<Prize> prizes) {
|
public PrizesWindow(Player player, Logger logger, List<Prize> prizes) {
|
||||||
super(InventoryType.CHEST, MiniMessage.miniMessage().deserialize(Messages.GUI.PRIZES_GUI_NAME));
|
super(InventoryType.CHEST, MiniMessage.miniMessage().deserialize(Messages.GUI.PRIZES_GUI_NAME));
|
||||||
this.logger = logger;
|
this.logger = logger;
|
||||||
|
this.prizes = prizes;
|
||||||
|
this.player = player;
|
||||||
|
updateGUI();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateGUI() {
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (Prize prize : prizes) {
|
for (Prize prize : prizes) {
|
||||||
if (player.hasPermission(prize.permission()))
|
if (player.hasPermission(prize.permission()))
|
||||||
|
|
@ -39,6 +47,10 @@ public class PrizesWindow extends GUI {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void buy(Player player, Prize prize) {
|
private void buy(Player player, Prize prize) {
|
||||||
|
if (player.hasPermission(prize.permission())) {
|
||||||
|
alreadyPurchased(player, prize);
|
||||||
|
return;
|
||||||
|
}
|
||||||
UUID uuid = player.getUniqueId();
|
UUID uuid = player.getUniqueId();
|
||||||
PointsManagement pointsManagement = PointsManagement.getInstance();
|
PointsManagement pointsManagement = PointsManagement.getInstance();
|
||||||
int playerPoints = pointsManagement.getPoints(uuid);
|
int playerPoints = pointsManagement.getPoints(uuid);
|
||||||
|
|
@ -63,7 +75,9 @@ public class PrizesWindow extends GUI {
|
||||||
Placeholder.parsed("remaining_points", String.valueOf(remainingPoints)),
|
Placeholder.parsed("remaining_points", String.valueOf(remainingPoints)),
|
||||||
Placeholder.parsed("prize", prize.name())
|
Placeholder.parsed("prize", prize.name())
|
||||||
));
|
));
|
||||||
player.getServer().dispatchCommand(player.getServer().getConsoleSender(), prize.command().replace("<player>", player.getName()));
|
player.getServer().dispatchCommand(player.getServer().getConsoleSender(), prize.command().replaceAll("<user>", player.getName()));
|
||||||
|
updateGUI();
|
||||||
|
player.updateInventory();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user