Skip to content

Feature request: more granular rendering toggle - enableTooltipRendering also disables addon-registered content providers (e.g. SimplySwords Awakening sealing) #19

Description

@Drehverschluss

Context / setup

  • Modpack: NeoForge 1.21.1
  • Mods: SimplySwords 1.70.2, SimplyTooltips (hard dependency of SimplySwords), RarityCore
  • We use RarityCore to give SimplySwords unique weapons their own consistent
    rarity color/border across the pack (a KubeJS script registers
    simplyswords:uniques with RarityCore at rarity tier 7). RarityCore only
    renders color/border, no tooltip content.
  • To avoid a rendering conflict between RarityCore's own tooltip border and
    SimplyTooltips' own rendering, we set
    enableTooltipRendering = false in config/simplytooltips/config.toml.
    This is currently an all-or-nothing switch for SimplyTooltips' entire
    rendering pipeline.

Problem

SimplySwords' Awakening feature (1.70.x, levels 0-8 per unique weapon) ships,
according to your own addon docs
(developer-docs/api/client-integration.md in the SimplySwords repo, section
"Simply Tooltips"), a dedicated rendering component registered into
SimplyTooltips for UniqueWeaponItem instances:

"This supplies the standard lore and stat layout, unique rarity, awakening
progress frame, sealed-ability presentation, and level-aware reveal
animation
."

As soon as we set enableTooltipRendering = false (to let RarityCore own the
border/color styling), SimplySwords falls back completely to a vanilla
fallback tooltip. That removes not just the awakening progress display, but
also the "sealed-ability presentation" - the vanilla fallback always shows the
full "Unique Effect: ..." description text of a unique weapon in full,
regardless of the actual awakening level, even at level 0 (confirmed in-game).

The same docs also state that even SimplySwords' own compatibility tooltip
provider (for items that don't extend UniqueWeaponItem) does not support
sealing:

"The compatibility provider parses ordinary lore and stats but does not add
the awakening progress presentation."

So the sealing/reveal animation is entirely tied to SimplyTooltips' active,
full rendering pipeline.

Why this is a real compatibility problem

For modpacks that use a generic rarity mod like RarityCore (to render rarity
styling consistently across many mods, not just SimplySwords), the current
choice is:

  1. Keep SimplyTooltips rendering on -> the generic rarity mod can't apply its
    own styling to SimplySwords items without conflicts.
  2. Turn SimplyTooltips rendering off entirely -> the rarity mod's styling
    works, but SimplySwords' entire Awakening presentation (including the
    intended spoiler-free ability sealing) is lost - the vanilla fallback ends
    up showing more information than intended (the unique ability is fully
    spoiled even at level 0).

Option 2 is particularly unfortunate because it's not just a visual downgrade

  • it actively undermines the intended gameplay design (ability only revealed
    at a certain progression level).

Suggestion

A more granular config option (or API hook) that disables only the
border/color part of SimplyTooltips' rendering while keeping
addon-registered content providers (like SimplySwords' Awakening sealing)
active. That way, other mods (like RarityCore) wouldn't need any changes at
all - they could keep applying their own border/color styling independently,
while SimplyTooltips stays responsible for content, including sealing.

If there's already a way to do this that we've overlooked (e.g. via
assets/simplytooltips/item_themes/*.json, which according to the docs can
assign themes - but seemingly only color themes, not a choice of rendering
pipeline), we'd be happy to hear about it.

Reproduction

  1. Install SimplySwords 1.70.2+ and SimplyTooltips, hold a unique weapon at
    Awakening level 0 -> the tooltip normally shows the sealed/hidden ability
    info (default behavior).
  2. Set enableTooltipRendering = false in
    config/simplytooltips/config.toml, restart the game.
  3. Look at the same weapon again -> "Unique Effect: " with its full
    description text is now immediately and fully visible, regardless of the
    actual Awakening level.

Additional info, in case it helps

As a workaround for our own modpack, we tried re-displaying the Awakening
level manually via KubeJS, by directly calling the official
net.sweenus.simplyswords.api.AwakeningApi
(getLevel/isAbilityUnlocked/getAbilityUnlockLevel). That works for a
simple text line ("Awakening: 3/8, Ability locked - unlocks at 4"), but it
cannot replicate the actual "sealed-ability presentation" (hiding the
already-present description text), because KubeJS' tooltip API can only
append/remove individual text lines - it can't read existing tooltip content
nor drive the animated renderer component itself. So this really can only be
solved at the renderer level.

Thanks for reading - if there's an obvious workaround we've missed, please let
us know!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions