Package com.winterhavenmc.library.messagebuilder.pipeline.resolvers


package com.winterhavenmc.library.messagebuilder.pipeline.resolvers
Provides a hierarchy of Resolver implementations responsible for converting macro-related input values into string representations for use in templated messages.

The resolvers package contains the core components of the macro resolution pipeline in the MessageBuilderLib library. Each Resolver translates values stored in a MacroObjectMap into one or more entries in a MacroStringMap, keyed by MacroKey placeholders.

Design Overview

  • AtomicResolver handles atomic or primitive values (e.g. Boolean, String, Number, Duration) and maps them directly to the base macro key.
  • CompositeResolver handles structured or compound values using a registry of Adapter instances, extracting multiple sub-values mapped to dot-notated subkeys.
  • FieldResolver serves as a delegating resolver that applies multiple resolvers in order, preserving the first-resolved value for each key.

Use Case

These resolvers work together to enable dynamic, type-aware placeholder substitution in localized messages, tooltips, and other player-visible text in Bukkit-based Minecraft plugins. Implementers can add custom resolvers or extend the registry of adapters to support new types.
See Also: