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:
-
ClassDescriptionDefines a contract for resolving values from a
MacroObjectMap
into a set of string-replaceable entries mapped byMacroKey
s.