🗃️ filter menus moved to new template

Took 18 minutes
This commit is contained in:
Kiran Hart 2024-05-03 11:45:01 -04:00
parent e5a91a4875
commit 9f90b2aff0
No known key found for this signature in database
GPG Key ID: 5F36C7BC79D3EBC3
3 changed files with 70 additions and 81 deletions

View File

@ -19,18 +19,15 @@
package ca.tweetzy.auctionhouse.guis.filter;
import ca.tweetzy.auctionhouse.AuctionHouse;
import ca.tweetzy.auctionhouse.api.AuctionAPI;
import ca.tweetzy.auctionhouse.auction.AuctionPlayer;
import ca.tweetzy.auctionhouse.auction.enums.AuctionItemCategory;
import ca.tweetzy.auctionhouse.guis.AbstractPlaceholderGui;
import ca.tweetzy.auctionhouse.guis.GUIAuctionHouse;
import ca.tweetzy.auctionhouse.helpers.ConfigurationItemHelper;
import ca.tweetzy.auctionhouse.guis.abstraction.AuctionBaseGUI;
import ca.tweetzy.auctionhouse.settings.Settings;
import ca.tweetzy.core.gui.GuiUtils;
import ca.tweetzy.core.input.ChatPrompt;
import ca.tweetzy.core.utils.TextUtils;
import java.util.HashMap;
import ca.tweetzy.flight.utils.QuickItem;
import ca.tweetzy.flight.utils.Replacer;
/**
* The current file has been created by Kiran Hart
@ -39,43 +36,39 @@ import java.util.HashMap;
* Usage of any code found within this class is prohibited unless given explicit permission otherwise
*/
public class GUIFilterSelection extends AbstractPlaceholderGui {
public class GUIFilterSelection extends AuctionBaseGUI {
final AuctionPlayer auctionPlayer;
public GUIFilterSelection(AuctionPlayer auctionPlayer) {
super(auctionPlayer);
super(new GUIAuctionHouse(auctionPlayer), auctionPlayer.getPlayer(), Settings.GUI_FILTER_TITLE.getString(), 5);
this.auctionPlayer = auctionPlayer;
setTitle(TextUtils.formatText(Settings.GUI_FILTER_TITLE.getString()));
setRows(5);
setAcceptsItems(false);
setDefaultItem(ConfigurationItemHelper.createConfigurationItem(this.player, Settings.GUI_FILTER_BG_ITEM.getString()));
setUseLockedCells(true);
setDefaultItem(QuickItem.bg(QuickItem.of(Settings.GUI_FILTER_BG_ITEM.getString()).make()));
setOnClose(closed -> closed.manager.showGUI(closed.player, new GUIAuctionHouse(this.auctionPlayer)));
draw();
setOnClose(closed -> closed.manager.showGUI(closed.player, new GUIAuctionHouse(this.auctionPlayer)));
}
private void draw() {
@Override
protected void draw() {
if (AuctionItemCategory.ALL.isEnabled())
setButton(1, 3, ConfigurationItemHelper.createConfigurationItem(this.player, Settings.GUI_FILTER_ITEMS_ALL_ITEM.getString(), Settings.GUI_FILTER_ITEMS_ALL_NAME.getString(), Settings.GUI_FILTER_ITEMS_ALL_LORE.getStringList(), null), e -> {
setButton(1, 3, QuickItem.of(Settings.GUI_FILTER_ITEMS_ALL_ITEM.getString()).name(Settings.GUI_FILTER_ITEMS_ALL_NAME.getString()).lore(Settings.GUI_FILTER_ITEMS_ALL_LORE.getStringList()).make(), e -> {
this.auctionPlayer.setSelectedFilter(AuctionItemCategory.ALL);
updatePlayerFilter(this.auctionPlayer);
e.manager.showGUI(e.player, new GUIAuctionHouse(this.auctionPlayer));
});
if (AuctionItemCategory.SELF.isEnabled())
setButton(1, 4, GuiUtils.createButtonItem(AuctionAPI.getInstance().getPlayerHead(this.auctionPlayer.getPlayer().getName()), TextUtils.formatText(Settings.GUI_FILTER_ITEMS_OWN_NAME.getString()), TextUtils.formatText(Settings.GUI_FILTER_ITEMS_OWN_LORE.getStringList())), e -> {
setButton(1, 4, QuickItem.of(this.player).name(Settings.GUI_FILTER_ITEMS_OWN_NAME.getString()).lore(Settings.GUI_FILTER_ITEMS_OWN_LORE.getStringList()).make(), e -> {
this.auctionPlayer.setSelectedFilter(AuctionItemCategory.SELF);
updatePlayerFilter(this.auctionPlayer);
e.manager.showGUI(e.player, new GUIAuctionHouse(this.auctionPlayer));
});
if (AuctionItemCategory.SEARCH.isEnabled())
setButton(1, 5, ConfigurationItemHelper.createConfigurationItem(this.player, Settings.GUI_FILTER_ITEMS_SEARCH_ITEM.getString(), Settings.GUI_FILTER_ITEMS_SEARCH_NAME.getString(), Settings.GUI_FILTER_ITEMS_SEARCH_LORE.getStringList(), new HashMap<String, Object>() {{
put("%filter_search_phrase%", auctionPlayer.getCurrentSearchPhrase());
}}), e -> {
setButton(1, 5, QuickItem.of(Settings.GUI_FILTER_ITEMS_SEARCH_ITEM.getString()).name(Settings.GUI_FILTER_ITEMS_SEARCH_NAME.getString()).lore(Replacer.replaceVariables(Settings.GUI_FILTER_ITEMS_SEARCH_LORE.getStringList(), "filter_search_phrase", this.auctionPlayer.getCurrentSearchPhrase())).make(), e -> {
if (!e.player.hasPermission("auctionhouse.cmd.search")) {
AuctionHouse.getInstance().getLocale().getMessage("commands.no_permission").sendPrefixedMessage(e.player);
return;
@ -93,56 +86,56 @@ public class GUIFilterSelection extends AbstractPlaceholderGui {
});
if (AuctionItemCategory.MISC.isEnabled())
setButton(2, 1, ConfigurationItemHelper.createConfigurationItem(this.player, Settings.GUI_FILTER_ITEMS_MISC_ITEM.getString(), Settings.GUI_FILTER_ITEMS_MISC_NAME.getString(), Settings.GUI_FILTER_ITEMS_MISC_LORE.getStringList(), null), e -> {
setButton(2, 1, QuickItem.of(Settings.GUI_FILTER_ITEMS_MISC_ITEM.getString()).name(Settings.GUI_FILTER_ITEMS_MISC_NAME.getString()).lore(Settings.GUI_FILTER_ITEMS_MISC_LORE.getStringList()).make(), e -> {
this.auctionPlayer.setSelectedFilter(AuctionItemCategory.MISC);
updatePlayerFilter(this.auctionPlayer);
e.manager.showGUI(e.player, new GUIAuctionHouse(this.auctionPlayer));
});
if (AuctionItemCategory.ENCHANTS.isEnabled())
setButton(2, 2, ConfigurationItemHelper.createConfigurationItem(this.player, Settings.GUI_FILTER_ITEMS_ENCHANTS_ITEM.getString(), Settings.GUI_FILTER_ITEMS_ENCHANTS_NAME.getString(), Settings.GUI_FILTER_ITEMS_ENCHANTS_LORE.getStringList(), null), e -> {
setButton(2, 2, QuickItem.of(Settings.GUI_FILTER_ITEMS_ENCHANTS_ITEM.getString()).name(Settings.GUI_FILTER_ITEMS_ENCHANTS_NAME.getString()).lore(Settings.GUI_FILTER_ITEMS_ENCHANTS_LORE.getStringList()).make(), e -> {
this.auctionPlayer.setSelectedFilter(AuctionItemCategory.ENCHANTS);
updatePlayerFilter(this.auctionPlayer);
e.manager.showGUI(e.player, new GUIAuctionHouse(this.auctionPlayer));
});
if (AuctionItemCategory.ARMOR.isEnabled())
setButton(2, 3, ConfigurationItemHelper.createConfigurationItem(this.player, Settings.GUI_FILTER_ITEMS_ARMOR_ITEM.getString(), Settings.GUI_FILTER_ITEMS_ARMOR_NAME.getString(), Settings.GUI_FILTER_ITEMS_ARMOR_LORE.getStringList(), null), e -> {
setButton(2, 3, QuickItem.of(Settings.GUI_FILTER_ITEMS_ARMOR_ITEM.getString()).name(Settings.GUI_FILTER_ITEMS_ARMOR_NAME.getString()).lore(Settings.GUI_FILTER_ITEMS_ARMOR_LORE.getStringList()).make(), e -> {
this.auctionPlayer.setSelectedFilter(AuctionItemCategory.ARMOR);
updatePlayerFilter(this.auctionPlayer);
e.manager.showGUI(e.player, new GUIAuctionHouse(this.auctionPlayer));
});
if (AuctionItemCategory.WEAPONS.isEnabled())
setButton(2, 4, ConfigurationItemHelper.createConfigurationItem(this.player, Settings.GUI_FILTER_ITEMS_WEAPONS_ITEM.getString(), Settings.GUI_FILTER_ITEMS_WEAPONS_NAME.getString(), Settings.GUI_FILTER_ITEMS_WEAPONS_LORE.getStringList(), null), e -> {
setButton(2, 4, QuickItem.of(Settings.GUI_FILTER_ITEMS_WEAPONS_ITEM.getString()).name(Settings.GUI_FILTER_ITEMS_WEAPONS_NAME.getString()).lore(Settings.GUI_FILTER_ITEMS_WEAPONS_LORE.getStringList()).make(), e -> {
this.auctionPlayer.setSelectedFilter(AuctionItemCategory.WEAPONS);
updatePlayerFilter(this.auctionPlayer);
e.manager.showGUI(e.player, new GUIAuctionHouse(this.auctionPlayer));
});
if (AuctionItemCategory.TOOLS.isEnabled())
setButton(2, 5, ConfigurationItemHelper.createConfigurationItem(this.player, Settings.GUI_FILTER_ITEMS_TOOLS_ITEM.getString(), Settings.GUI_FILTER_ITEMS_TOOLS_NAME.getString(), Settings.GUI_FILTER_ITEMS_TOOLS_LORE.getStringList(), null), e -> {
setButton(2, 5, QuickItem.of(Settings.GUI_FILTER_ITEMS_TOOLS_ITEM.getString()).name(Settings.GUI_FILTER_ITEMS_TOOLS_NAME.getString()).lore(Settings.GUI_FILTER_ITEMS_TOOLS_LORE.getStringList()).make(), e -> {
this.auctionPlayer.setSelectedFilter(AuctionItemCategory.TOOLS);
updatePlayerFilter(this.auctionPlayer);
e.manager.showGUI(e.player, new GUIAuctionHouse(this.auctionPlayer));
});
if (AuctionItemCategory.SPAWNERS.isEnabled())
setButton(2, 6, ConfigurationItemHelper.createConfigurationItem(this.player, Settings.GUI_FILTER_ITEMS_SPAWNERS_ITEM.getString(), Settings.GUI_FILTER_ITEMS_SPAWNERS_NAME.getString(), Settings.GUI_FILTER_ITEMS_SPAWNERS_LORE.getStringList(), null), e -> {
setButton(2, 6, QuickItem.of(Settings.GUI_FILTER_ITEMS_SPAWNERS_ITEM.getString()).name(Settings.GUI_FILTER_ITEMS_SPAWNERS_NAME.getString()).lore(Settings.GUI_FILTER_ITEMS_SPAWNERS_LORE.getStringList()).make(), e -> {
this.auctionPlayer.setSelectedFilter(AuctionItemCategory.SPAWNERS);
updatePlayerFilter(this.auctionPlayer);
e.manager.showGUI(e.player, new GUIAuctionHouse(this.auctionPlayer));
});
if (AuctionItemCategory.BLOCKS.isEnabled())
setButton(2, 7, ConfigurationItemHelper.createConfigurationItem(this.player, Settings.GUI_FILTER_ITEMS_BLOCKS_ITEM.getString(), Settings.GUI_FILTER_ITEMS_BLOCKS_NAME.getString(), Settings.GUI_FILTER_ITEMS_BLOCKS_LORE.getStringList(), null), e -> {
setButton(2, 7, QuickItem.of(Settings.GUI_FILTER_ITEMS_BLOCKS_ITEM.getString()).name(Settings.GUI_FILTER_ITEMS_BLOCKS_NAME.getString()).lore(Settings.GUI_FILTER_ITEMS_BLOCKS_LORE.getStringList()).make(), e -> {
this.auctionPlayer.setSelectedFilter(AuctionItemCategory.BLOCKS);
updatePlayerFilter(this.auctionPlayer);
e.manager.showGUI(e.player, new GUIAuctionHouse(this.auctionPlayer));
});
if (AuctionItemCategory.POTIONS.isEnabled())
setButton(3, 4, ConfigurationItemHelper.createConfigurationItem(this.player, Settings.GUI_FILTER_ITEMS_POTIONS_ITEM.getString(), Settings.GUI_FILTER_ITEMS_POTIONS_NAME.getString(), Settings.GUI_FILTER_ITEMS_POTIONS_LORE.getStringList(), null), e -> {
setButton(3, 4, QuickItem.of(Settings.GUI_FILTER_ITEMS_POTIONS_ITEM.getString()).name(Settings.GUI_FILTER_ITEMS_POTIONS_NAME.getString()).lore(Settings.GUI_FILTER_ITEMS_POTIONS_LORE.getStringList()).make(), e -> {
this.auctionPlayer.setSelectedFilter(AuctionItemCategory.POTIONS);
updatePlayerFilter(this.auctionPlayer);
e.manager.showGUI(e.player, new GUIAuctionHouse(this.auctionPlayer));

View File

@ -19,10 +19,9 @@
package ca.tweetzy.auctionhouse.guis.filter;
import ca.tweetzy.auctionhouse.auction.enums.AuctionItemCategory;
import ca.tweetzy.auctionhouse.guis.AbstractPlaceholderGui;
import ca.tweetzy.auctionhouse.helpers.ConfigurationItemHelper;
import ca.tweetzy.auctionhouse.guis.abstraction.AuctionBaseGUI;
import ca.tweetzy.auctionhouse.settings.Settings;
import ca.tweetzy.core.utils.TextUtils;
import ca.tweetzy.flight.utils.QuickItem;
import org.bukkit.entity.Player;
/**
@ -31,54 +30,53 @@ import org.bukkit.entity.Player;
* Time Created: 3:14 p.m.
* Usage of any code found within this class is prohibited unless given explicit permission otherwise
*/
public class GUIFilterWhitelist extends AbstractPlaceholderGui {
public class GUIFilterWhitelist extends AuctionBaseGUI {
public GUIFilterWhitelist(Player player) {
super(player);
setTitle(TextUtils.formatText(Settings.GUI_FILTER_WHITELIST_TITLE.getString()));
setRows(6);
setAcceptsItems(false);
setDefaultItem(ConfigurationItemHelper.createConfigurationItem(this.player, Settings.GUI_FILTER_WHITELIST_BG_ITEM.getString()));
setUseLockedCells(true);
super(null, player, Settings.GUI_FILTER_WHITELIST_TITLE.getString(), 6);
setDefaultItem(QuickItem.bg(QuickItem.of(Settings.GUI_FILTER_WHITELIST_BG_ITEM.getString()).make()));
draw();
}
private void draw() {
setButton(2, 1, ConfigurationItemHelper.createConfigurationItem(this.player, Settings.GUI_FILTER_WHITELIST_ITEMS_BLOCKS_ITEM.getString(), Settings.GUI_FILTER_WHITELIST_ITEMS_BLOCKS_NAME.getString(), Settings.GUI_FILTER_WHITELIST_ITEMS_BLOCKS_LORE.getStringList(), null), e -> {
@Override
protected void draw() {
applyBackExit();
setButton(1, 1, QuickItem.of(Settings.GUI_FILTER_WHITELIST_ITEMS_BLOCKS_ITEM.getString()).name(Settings.GUI_FILTER_WHITELIST_ITEMS_BLOCKS_NAME.getString()).lore(Settings.GUI_FILTER_WHITELIST_ITEMS_BLOCKS_LORE.getStringList()).make(), e -> {
e.manager.showGUI(e.player, new GUIFilterWhitelistList(e.player, AuctionItemCategory.BLOCKS));
});
setButton(2, 3, ConfigurationItemHelper.createConfigurationItem(this.player, Settings.GUI_FILTER_WHITELIST_ITEMS_FOOD_ITEM.getString(), Settings.GUI_FILTER_WHITELIST_ITEMS_FOOD_NAME.getString(), Settings.GUI_FILTER_WHITELIST_ITEMS_FOOD_LORE.getStringList(), null), e -> {
setButton(1, 3, QuickItem.of(Settings.GUI_FILTER_WHITELIST_ITEMS_FOOD_ITEM.getString()).name(Settings.GUI_FILTER_WHITELIST_ITEMS_FOOD_NAME.getString()).lore(Settings.GUI_FILTER_WHITELIST_ITEMS_FOOD_LORE.getStringList()).make(), e -> {
e.manager.showGUI(e.player, new GUIFilterWhitelistList(e.player, AuctionItemCategory.FOOD));
});
setButton(2, 5, ConfigurationItemHelper.createConfigurationItem(this.player, Settings.GUI_FILTER_WHITELIST_ITEMS_ARMOR_ITEM.getString(), Settings.GUI_FILTER_WHITELIST_ITEMS_ARMOR_NAME.getString(), Settings.GUI_FILTER_WHITELIST_ITEMS_ARMOR_LORE.getStringList(), null), e -> {
setButton(1, 5, QuickItem.of(Settings.GUI_FILTER_WHITELIST_ITEMS_ARMOR_ITEM.getString()).name(Settings.GUI_FILTER_WHITELIST_ITEMS_ARMOR_NAME.getString()).lore(Settings.GUI_FILTER_WHITELIST_ITEMS_ARMOR_LORE.getStringList()).make(), e -> {
e.manager.showGUI(e.player, new GUIFilterWhitelistList(e.player, AuctionItemCategory.ARMOR));
});
setButton(2, 7, ConfigurationItemHelper.createConfigurationItem(this.player, Settings.GUI_FILTER_WHITELIST_ITEMS_TOOLS_ITEM.getString(), Settings.GUI_FILTER_WHITELIST_ITEMS_TOOLS_NAME.getString(), Settings.GUI_FILTER_WHITELIST_ITEMS_TOOLS_LORE.getStringList(), null), e -> {
setButton(1, 7, QuickItem.of(Settings.GUI_FILTER_WHITELIST_ITEMS_TOOLS_ITEM.getString()).name(Settings.GUI_FILTER_WHITELIST_ITEMS_TOOLS_NAME.getString()).lore(Settings.GUI_FILTER_WHITELIST_ITEMS_TOOLS_LORE.getStringList()).make(), e -> {
e.manager.showGUI(e.player, new GUIFilterWhitelistList(e.player, AuctionItemCategory.TOOLS));
});
// 2ND ROW STARTS
setButton(3, 1, ConfigurationItemHelper.createConfigurationItem(this.player, Settings.GUI_FILTER_WHITELIST_ITEMS_SPAWNERS_ITEM.getString(), Settings.GUI_FILTER_WHITELIST_ITEMS_SPAWNERS_NAME.getString(), Settings.GUI_FILTER_WHITELIST_ITEMS_SPAWNERS_LORE.getStringList(), null), e -> {
setButton(2, 1, QuickItem.of(Settings.GUI_FILTER_WHITELIST_ITEMS_SPAWNERS_ITEM.getString()).name(Settings.GUI_FILTER_WHITELIST_ITEMS_SPAWNERS_NAME.getString()).lore(Settings.GUI_FILTER_WHITELIST_ITEMS_SPAWNERS_LORE.getStringList()).make(), e -> {
e.manager.showGUI(e.player, new GUIFilterWhitelistList(e.player, AuctionItemCategory.SPAWNERS));
});
setButton(3, 3, ConfigurationItemHelper.createConfigurationItem(this.player, Settings.GUI_FILTER_WHITELIST_ITEMS_ENCHANTS_ITEM.getString(), Settings.GUI_FILTER_WHITELIST_ITEMS_ENCHANTS_NAME.getString(), Settings.GUI_FILTER_WHITELIST_ITEMS_ENCHANTS_LORE.getStringList(), null), e -> {
setButton(2, 3, QuickItem.of(Settings.GUI_FILTER_WHITELIST_ITEMS_ENCHANTS_ITEM.getString()).name(Settings.GUI_FILTER_WHITELIST_ITEMS_ENCHANTS_NAME.getString()).lore(Settings.GUI_FILTER_WHITELIST_ITEMS_ENCHANTS_LORE.getStringList()).make(), e -> {
e.manager.showGUI(e.player, new GUIFilterWhitelistList(e.player, AuctionItemCategory.ENCHANTS));
});
setButton(3, 5, ConfigurationItemHelper.createConfigurationItem(this.player, Settings.GUI_FILTER_WHITELIST_ITEMS_WEAPONS_ITEM.getString(), Settings.GUI_FILTER_WHITELIST_ITEMS_WEAPONS_NAME.getString(), Settings.GUI_FILTER_WHITELIST_ITEMS_WEAPONS_LORE.getStringList(), null), e -> {
setButton(2, 5, QuickItem.of(Settings.GUI_FILTER_WHITELIST_ITEMS_WEAPONS_ITEM.getString()).name(Settings.GUI_FILTER_WHITELIST_ITEMS_WEAPONS_NAME.getString()).lore(Settings.GUI_FILTER_WHITELIST_ITEMS_WEAPONS_LORE.getStringList()).make(), e -> {
e.manager.showGUI(e.player, new GUIFilterWhitelistList(e.player, AuctionItemCategory.WEAPONS));
});
setButton(3, 7, ConfigurationItemHelper.createConfigurationItem(this.player, Settings.GUI_FILTER_WHITELIST_ITEMS_MISC_ITEM.getString(), Settings.GUI_FILTER_WHITELIST_ITEMS_MISC_NAME.getString(), Settings.GUI_FILTER_WHITELIST_ITEMS_MISC_LORE.getStringList(), null), e -> {
setButton(2, 7, QuickItem.of(Settings.GUI_FILTER_WHITELIST_ITEMS_MISC_ITEM.getString()).name(Settings.GUI_FILTER_WHITELIST_ITEMS_MISC_NAME.getString()).lore(Settings.GUI_FILTER_WHITELIST_ITEMS_MISC_LORE.getStringList()).make(), e -> {
e.manager.showGUI(e.player, new GUIFilterWhitelistList(e.player, AuctionItemCategory.MISC));
});
setButton(4, 1, ConfigurationItemHelper.createConfigurationItem(this.player, Settings.GUI_FILTER_WHITELIST_ITEMS_POTIONS_ITEM.getString(), Settings.GUI_FILTER_WHITELIST_ITEMS_POTIONS_NAME.getString(), Settings.GUI_FILTER_WHITELIST_ITEMS_POTIONS_LORE.getStringList(), null), e -> {
setButton(3, 1, QuickItem.of(Settings.GUI_FILTER_WHITELIST_ITEMS_POTIONS_ITEM.getString()).name(Settings.GUI_FILTER_WHITELIST_ITEMS_POTIONS_NAME.getString()).lore(Settings.GUI_FILTER_WHITELIST_ITEMS_POTIONS_LORE.getStringList()).make(), e -> {
e.manager.showGUI(e.player, new GUIFilterWhitelistList(e.player, AuctionItemCategory.POTIONS));
});

View File

@ -21,14 +21,17 @@ package ca.tweetzy.auctionhouse.guis.filter;
import ca.tweetzy.auctionhouse.AuctionHouse;
import ca.tweetzy.auctionhouse.auction.AuctionFilterItem;
import ca.tweetzy.auctionhouse.auction.enums.AuctionItemCategory;
import ca.tweetzy.auctionhouse.guis.AbstractPlaceholderGui;
import ca.tweetzy.auctionhouse.helpers.ConfigurationItemHelper;
import ca.tweetzy.auctionhouse.guis.GUIAuctionHouse;
import ca.tweetzy.auctionhouse.guis.abstraction.AuctionPagedGUI;
import ca.tweetzy.auctionhouse.settings.Settings;
import ca.tweetzy.core.gui.events.GuiClickEvent;
import ca.tweetzy.core.utils.TextUtils;
import ca.tweetzy.flight.gui.helper.InventoryBorder;
import ca.tweetzy.flight.utils.QuickItem;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@ -38,46 +41,41 @@ import java.util.stream.Collectors;
* Time Created: 4:06 p.m.
* Usage of any code found within this class is prohibited unless given explicit permission otherwise
*/
public class GUIFilterWhitelistList extends AbstractPlaceholderGui {
public class GUIFilterWhitelistList extends AuctionPagedGUI<AuctionFilterItem> {
final AuctionItemCategory filerCategory;
List<AuctionFilterItem> items;
public GUIFilterWhitelistList(Player player, AuctionItemCategory filerCategory) {
super(player);
super(new GUIFilterWhitelist(player), player, TextUtils.formatText(Settings.GUI_FILTER_WHITELIST_LIST_TITLE.getString().replace("%filter_category%", filerCategory.getTranslatedType())), 6, new ArrayList<>(AuctionHouse.getInstance().getFilterManager().getFilterWhitelist()));
this.filerCategory = filerCategory;
setTitle(TextUtils.formatText(Settings.GUI_FILTER_WHITELIST_LIST_TITLE.getString().replace("%filter_category%", filerCategory.getTranslatedType())));
setRows(6);
setAcceptsItems(false);
setDefaultItem(ConfigurationItemHelper.createConfigurationItem(this.player, Settings.GUI_FILTER_WHITELIST_LIST_BG_ITEM.getString()));
setDefaultItem(QuickItem.bg(QuickItem.of(Settings.GUI_FILTER_WHITELIST_LIST_BG_ITEM.getString()).make()));
setUseLockedCells(true);
draw();
setOnClose(close -> close.manager.showGUI(close.player, new GUIFilterWhitelist(close.player)));
}
private void draw() {
reset();
setPrevPage(5, 3, getPreviousPageItem());
setButton(5, 4, getCloseButtonItem(), e -> e.manager.showGUI(e.player, new GUIFilterWhitelist(e.player)));
setNextPage(5, 5, getNextPageItem());
setOnPage(e -> draw());
@Override
protected void prePopulate() {
this.items = this.items.stream().filter(item -> item.getCategory() == this.filerCategory).collect(Collectors.toList());
}
AuctionHouse.newChain().asyncFirst(() -> {
this.items = AuctionHouse.getInstance().getFilterManager().getFilterWhitelist().stream().filter(item -> item.getCategory() == filerCategory).collect(Collectors.toList());
return this.items.stream().skip((page - 1) * 28L).limit(28L).collect(Collectors.toList());
}).asyncLast((data) -> {
pages = (int) Math.max(1, Math.ceil(this.items.size() / (double) 28L));
int slot = 10;
for (AuctionFilterItem item : data) {
setButton(slot, item.getItemStack(), ClickType.RIGHT, e -> {
AuctionHouse.getInstance().getFilterManager().removeFilterItem(item);
draw();
});
@Override
protected void drawFixed() {
applyBackExit();
}
slot = Arrays.asList(16, 25, 34).contains(slot) ? slot + 3 : slot + 1;
}
}).execute();
@Override
protected ItemStack makeDisplayItem(AuctionFilterItem filterItem) {
return filterItem.getItemStack();
}
@Override
protected void onClick(AuctionFilterItem filterItem, GuiClickEvent click) {
AuctionHouse.getInstance().getFilterManager().removeFilterItem(filterItem);
click.manager.showGUI(click.player, new GUIFilterWhitelistList(click.player, this.filerCategory));
}
@Override
protected List<Integer> fillSlots() {
return InventoryBorder.getInsideBorders(6);
}
}