Skip to content

Show Dragon Survival head and neck in first person - #234

Closed
rsdadada wants to merge 2 commits into
xTracr:26.1/devfrom
rsdadada:codex/dragonsurvival-compat
Closed

Show Dragon Survival head and neck in first person#234
rsdadada wants to merge 2 commits into
xTracr:26.1/devfrom
rsdadada:codex/dragonsurvival-compat

Conversation

@rsdadada

Copy link
Copy Markdown
Contributor

Summary

This PR adds minimal compatibility for Dragon Survival by keeping the dragon head and neck visible while RealCamera is active.

The fix applies to:

  • Binding mode
  • Classic mode
  • RealCamera's model view screen

Root cause

Dragon Survival intentionally hides the dragon head and neck in normal first-person rendering through its Compat.displayNeck() method.

Because the geometry is not submitted by Dragon Survival, RealCamera cannot capture or render the missing head model by itself.

The latest Dragon Survival 26.1 code otherwise works correctly with RealCamera, so no model ownership changes, GeckoLib-specific rendering hooks, or texture filtering are required.

Implementation

This PR adds an optional @Pseudo mixin targeting:

by.dragonsurvivalteam.dragonsurvival.compat.Compat

It modifies the return value of displayNeck() so that the original result is preserved, while also displaying the head and neck when:

  • RealCamera is active in first person
  • RealCamera is capturing the model for its model view screen
return original
        || RealCameraCore.isActive()
        || CompatibilityHelper.isRenderInScreen;

The mixin uses require = 0, so RealCamera can still load normally when Dragon Survival is not installed or when the target method is unavailable.

Scope

This change intentionally does not add:

  • A Dragon Survival compile-time dependency
  • Dragon state reflection
  • First-person body ownership arbitration
  • GeckoLib-specific geometry filtering
  • Dragon-specific disable configuration handling
  • Texture-layer or armor-layer handling

These systems are unnecessary for the current Dragon Survival 26.1 implementation.

Validation

The following cases should be checked:

  • Binding mode displays the dragon head and neck
  • Classic mode displays the dragon head and neck
  • The model view screen captures the complete dragon model
  • Disabling RealCamera restores Dragon Survival's original first-person behavior
  • RealCamera starts normally without Dragon Survival installed

@rsdadada rsdadada closed this Jul 17, 2026
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.

1 participant