Skip to content

fix: select a loaded hologram provider without disabling plugins - #18

Merged
mdaffa48 merged 2 commits into
masterfrom
codex/fix-16-hologram-compatibility
Oct 18, 2026
Merged

mdaffa48 merged 2 commits into
masterfrom
codex/fix-16-hologram-compatibility

Conversation

@mdaffa48

@mdaffa48 mdaffa48 commented Oct 18, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Hologram selection could probe unnecessary integrations and choose fallbacks in map iteration order. A null provider registration could also disable every server plugin.

The final behavior is:

  • Use the configured provider when its plugin is installed and enabled.
  • Otherwise select the first available registered provider; discover built-ins in DecentHolograms, FancyHolograms, HolographicDisplays order, stopping at the first usable one.
  • Skip unavailable or broken providers. If none is available, warn and keep NextGens running without holograms.
  • Ignore invalid or duplicate registrations with a warning, preserving the original provider and leaving plugins enabled.

Closes #16 when merged. Target: master.

The official API getting-started guide, checked October 18, 2026, specifies de.oliver:FancyHolograms:2.9.1. The existing dependency is unchanged. Documentation no longer infers API compatibility solely from a plugin version string.

Also add selection regression checks to CI, document behavior, update bundled configuration guidance, and align CI with the existing Java 25 POM requirement.

Verification

  • ./mvnw.cmd -B -ntp -o clean verify passed.
  • java scripts/HologramProviderCheck.java: 21 checks passed, covering configured selection, ordered fallback, early stop, aliases, custom providers, missing dependencies, invalid registration, and no-provider warnings. The expanded checks fail on the previous PR commit.
  • GitHub Actions Build test JAR passed for b72cb9b620a1c2e4e507d864de40caedbebc69af.
  • Shaded JAR contains plugin.yml; one deployable JAR remains in output.
  • git diff --check passed.

In-game testing is not required for acceptance of this provider-selection change, as agreed with the maintainer. No live rendering test is claimed.

Tested artifact

  • Commit: b72cb9b620a1c2e4e507d864de40caedbebc69af
  • Local JAR: NextGens-1.3.5.jar, 1,517,690 bytes
  • SHA-256: A55013B44B23ACBE4CB0E423DFDC8D20C50482AE3155FF8C3A6C513CA39674C8
  • Java: 25, matching the current POM

Remaining risk

The regression checks exercise the real manager/interface with minimal API substitutes. Existing build warnings concern AdvancedChestsAPI LATEST, deprecated/restricted APIs, and Shade overlaps. No dependency upgrade, release, production deployment, or server restart is included.

@mdaffa48 mdaffa48 changed the title fix: load the configured hologram provider before fallbacks fix: select a loaded hologram provider without disabling plugins Oct 18, 2026
@mdaffa48
mdaffa48 marked this pull request as ready for review October 18, 2026 02:26
@mdaffa48
mdaffa48 merged commit 5b6cfe0 into master Oct 18, 2026
2 checks passed
@mdaffa48
mdaffa48 deleted the codex/fix-16-hologram-compatibility branch October 28, 2026 02:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Plugin tries to use FancyHolograms instead of DecentHolograms (wiki mismatch)

1 participant