Skip to content

Modernize placeholder integration and move chat delivery to components #134

@minoneer

Description

@minoneer

Problem

uSkyBlock still relies on legacy string-based placeholder handling, largely shaped around the old MVdW PlaceholderAPI (be.maximvdw.placeholderapi). This leaves a legacy seam in otherwise modern Adventure/MiniMessage-based message flows.

A recent example is ChatLogic: config chat formats now use MiniMessage, but the message still has to be flattened to legacy text so placeholders can be applied, and only then sent with the legacy send path.

Goals

  • Review and modernize placeholder provider support.
  • Prefer current PlaceholderAPI integrations over legacy MVdW-oriented assumptions.
  • Introduce a component-capable placeholder path in our placeholder abstraction.
  • Fully switch chat/message formatting that currently gets stuck on legacy send functions because placeholders are still string-based.

Scope

  • Evaluate the current placeholder integrations and decide which provider(s) remain first-class.
  • Update PlaceholderHandler / placeholder adapters so component-based replacement is possible where the upstream API supports it.
  • Keep legacy string replacement only where a provider or use case genuinely requires it.
  • Revisit ChatLogic and similar message paths once component placeholders are supported.
  • Replace remaining sendLegacy(...) / legacy-string delivery in the affected paths with component-native send(...) where feasible.

Notes

  • This follow-up should explicitly include the chat-format path we just modernized in config.yml.
  • The end goal is that configured MiniMessage strings stay as components throughout delivery, instead of being serialized to legacy text just to pass through placeholder replacement.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions