Skip to content

Rewrite Sign and Text-Display Rendering Code to be more Flexible and Reusable#2417

Merged
creatorfromhell merged 7 commits into
QuickShop-Community:hikarifrom
creatorfromhell:feat/music-disc-display
Jun 27, 2026
Merged

Rewrite Sign and Text-Display Rendering Code to be more Flexible and Reusable#2417
creatorfromhell merged 7 commits into
QuickShop-Community:hikarifrom
creatorfromhell:feat/music-disc-display

Conversation

@creatorfromhell

@creatorfromhell creatorfromhell commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

Summary

What does this PR do?

RenderComponent System

The render component system replaces the current sign layout system and the text-display system, combining both into a single flexible rendering system.

The layout options for signs retain the current iteration (header, trading, item, level, price), while introducing greater customization. Components are now divided into three categories:

  • Full line components – occupy an entire sign line.
  • Inline components – replace only themselves and can be combined with surrounding text.
  • Conditional components – behave like inline components but automatically change their output based on the current shop state.

Full Line Components

  • header – shop owner/availability header
  • item – formatted item display
  • level – item level/duration line
  • price – complete price line with stacking shop support
  • trading – trading/stock status line

Inline Components

  • <amount> – item amount
  • <item_name> – item display name
  • <item_level> – enchantment level, potion duration, or similar item metadata
  • <owner> – shop owner name
  • <price_alone> – formatted price only
  • <price_amount> – formatted price text with stacking shop support
  • <status> – current shop state/status
  • <stock> – remaining stock display
  • <type> – shop type (Buy/Sell/etc.)

Conditional Components

Conditional components dynamically determine their output based on the current shop state.

  • <amount_auto> – Displays:
    • Out of Stock when the shop has no remaining stock.
    • Unlimited when the shop has unlimited stock.
    • The remaining stock amount when the shop has available stock.

Type of Change

  • Feature
  • Bug fix
  • Refactor / Cleanup
  • Documentation
  • Breaking change

Basic Checks

  • I have tested these changes locally
  • I confirm no undocumented AI-generated code was used in this submission

Notes (optional)

Add anything important for reviewers:

  • Why this change was needed
  • Edge cases
  • Implementation details

Config Changes (if applicable)

Only fill this out if you touched config:

  • Added/changed:
  • Default values:
  • Any risks or notes:

Breaking Changes (if applicable)

  • What changed:
  • Required action:

Related (optional)

  • Fixes Issue #
  • Related to Issue/PR #

@github-actions

Copy link
Copy Markdown
Contributor

Latest build artifacts are available for this PR.

Commit: 43ba8e1
Workflow run: https://github.com/QuickShop-Community/QuickShop-Hikari/actions/runs/28274176974

Download the artifact named:

quickshop-pr-2417

@creatorfromhell creatorfromhell merged commit 297ff6d into QuickShop-Community:hikari Jun 27, 2026
2 checks passed
@creatorfromhell creatorfromhell deleted the feat/music-disc-display branch June 29, 2026 00:07
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.

1 participant