-
-
Notifications
You must be signed in to change notification settings - Fork 96
feat(gui): Major GUI overhaul with configurable menus and search functionality #2180
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(gui): Major GUI overhaul with configurable menus and search functionality #2180
Conversation
…tionality ## New Features - Added gui.yml for fully configurable GUI layouts and text - Browse menu: search, sort (price/name/stock), and filter (all/buying/selling/in-stock) - Staff menu: search functionality for player/staff selection - Grouped item pages for better shop browsing ## New Files - GuiConfig.java & GuiIconBuilder.java - GUI configuration system - BrowseFilterMode.java & BrowseSortMode.java - Browse options - GroupedItemPage.java, ShopListPage.java, MarketItemGroup.java, MarketUtils.java - GuiChatInputManager.java & GuiChatAction.java - Chat-based GUI input - ClearSearchAction.java - Search clearing functionality - QuickShopPage.java - Base page class ## Improvements - Refactored all menu pages to use configurable display/lore - Enhanced menu caching to prevent cross-region issues - Use shop ID instead of shop object for better stability - Moved GUI messages from messages.yml to gui.yml
creatorfromhell
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall looking great, just some minor styling issues.
| # =================== | ||
| style: | ||
| border-material: GRAY_STAINED_GLASS_PANE | ||
| accent-positive: LIME_CONCRETEff |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like a typo here for LIME_CONCRETE
| return result; | ||
| } | ||
|
|
||
| for (String line : config.getLore()) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Styling: Space before opening parentheses.
| for (String line : config.getLore()) { | ||
| // Replace {0}, {1}, etc. with args | ||
| if (args != null) { | ||
| for (int i = 0; i < args.length; i++) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Styling: Space before opening parentheses
|
|
||
| for (String line : config.getLore()) { | ||
| // Replace {0}, {1}, etc. with args | ||
| if (args != null) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Styling: Space before opening parentheses
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Multiple styling issues of space before opening parentheses, I didn't comment on them all, as that would be overkill.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Multiple styling issues of space before opening parentheses, I didn't comment on them all, as that would be overkill.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Multiple styling issues of space before opening parentheses, I didn't comment on them all, as that would be overkill.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Multiple styling issues of space before opening parentheses, I didn't comment on them all, as that would be overkill.
| this.rows = 6; | ||
| // Load rows from GUI config | ||
| final GuiConfig.MenuConfig menuConfig = QuickShop.getInstance().getGuiConfig().getMenuConfig("browse"); | ||
| this.rows = menuConfig != null ? menuConfig.getRows() : 6; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The ternary condition should have parentheses around it, with the question mark operator having no space before it.
| * This handler clears the player from that map immediately after close. | ||
| */ | ||
| @EventHandler(priority = EventPriority.MONITOR) | ||
| public void onInventoryClose(final InventoryCloseEvent e) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was removed in the latest TNML snapshot, probably safer to just update the TNML version in the POM than include the extra listener.
f27f8b5
into
QuickShop-Community:hikari
New Features
New Files
Improvements