How wuhenqiubai/shape-shifter-curse_unofficial-port works
This is a community-maintained Fabric port of Shape Shifter Curse: players transform into forms, with server-side transformation effects and client-side animation/rendering. The tree also shows Apoli power support, recipe extension, and an Origins badge integration. Source excerpts are partial, so the graph includes only evidenced calls and otherwise keeps related subsystems separate.
Main entry points: TransformManager.java Transform Manager · TransformingController.java Transform Animation · player_form Form Data · ClientPlayerStateManager.java Client Player State
Components 17
Form Transformation
- Transform Manager
src/main/java/net/onixary/shapeShifterCurseFabric/player_form/utils/TransformManager.java - Effect Manager
src/main/java/net/onixary/shapeShifterCurseFabric/status_effects/attachment/EffectManager.java - Transform Effects
src/main/java/net/onixary/shapeShifterCurseFabric/player_form/utils - Transform Packets
apoli/src/main/java/io/github/apace100/apoli/networking - Effect Packets
apoli/src/main/java/io/github/apace100/apoli/networking - Form Data
src/main/java/net/onixary/shapeShifterCurseFabric/player_form
Client Presentation
- Client Player State
src/main/java/net/onixary/shapeShifterCurseFabric/client/ClientPlayerStateManager.java - Transform Animation
src/main/java/net/onixary/shapeShifterCurseFabric/player_animation/v3/AnimStateController/TransformingController.java - Form Eye Blink
src/main/java/net/onixary/shapeShifterCurseFabric/render/form_render/sub_controller/FormEyeBlinkController.java
Powers and Resources
- Apoli Powers
apoli/src/main/java/io/github/apace100/apoli/power - Power Holder
apoli/src/main/java/io/github/apace100/apoli/component/PowerHolderComponent.java - Ordered Reload
calio/src/main/java/io/github/apace100/calio/resource/OrderedResourceListenerManager.java
Extensions
- Recipe Hook
src/main/java/net/onixary/shapeShifterCurseFabric/mixin/RecipeManagerMixin.java - Origins Badges
src/main/java/net/onixary/shapeShifterCurseFabric/integration/origins/badge/BadgeManager.java - Power Callbacks
apoli/src/main/java/io/github/apace100/apoli/integration - Recipe Event
src/main/java/net/onixary/shapeShifterCurseFabric/event
Other components
- Player
Connections 11
- Player → Transform Manager: requests transform
- Transform Manager → Form Data: sets target form
- Transform Manager → Transform Effects: applies effects
- Transform Manager → Transform Packets: sends transform state
- Effect Manager → Effect Packets: syncs effect state
- Transform Animation → Client Player State: reads client state
- Transform Animation → Form Data: resolves forms
- Form Eye Blink → Client Player State: reads client config
- Power Holder → Apoli Powers: holds powers
- Origins Badges → Power Callbacks: registers callbacks
- Recipe Hook → Recipe Event: fires recipe event