plugins/AstralScrolls/messages.yml is a flat kebab-case-key: "value" map loaded on enable and on /scrolls reload into the ScrollsMessages enum (AstralScrolls#loadConfiguration → loadEnum("messages.yml", ScrollsMessages.class)). Each YAML key maps 1:1 to the enum constant of the same name: the loader lowercases the constant and turns underscores into hyphens (GOAL_BREAK_BLOCK → goal-break-block).
Values are ComponentWrapper — MiniMessage, so color/formatting tags are supported. Most entries here are never sent as chat messages at all — the eight goal-* keys are read as plain Components and embedded directly into item lore as %scroll_type% (see Placeholders).
Sent to the command issuer after /scrolls give successfully adds the scroll(s).
received
%rarity_*%, %target_*%, %amount%
Sent to the recipient by the same /scrolls give call, using the identical placeholder container as gave.
Goal-type labels
Each goal type's name() (see Blueprints & Goals) returns exactly one of these enum constants' Component, resolved once per %scroll_type% render — no placeholders are registered against them.