Skip to content

Conversation

@YusakiDev
Copy link
Contributor

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
  • Moved GUI messages from messages.yml to gui.yml

…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
@CLAassistant
Copy link

CLAassistant commented Nov 27, 2025

CLA assistant check
All committers have signed the CLA.

Copy link
Contributor

@creatorfromhell creatorfromhell left a 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
Copy link
Contributor

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()) {
Copy link
Contributor

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++) {
Copy link
Contributor

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) {
Copy link
Contributor

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

Copy link
Contributor

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.

Copy link
Contributor

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.

Copy link
Contributor

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.

Copy link
Contributor

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;
Copy link
Contributor

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) {
Copy link
Contributor

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.

@creatorfromhell creatorfromhell added this to the 6.2.0.11 milestone Nov 28, 2025
@YusakiDev YusakiDev marked this pull request as ready for review November 28, 2025 16:22
@creatorfromhell creatorfromhell merged commit f27f8b5 into QuickShop-Community:hikari Nov 28, 2025
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants