/
✅ Supported Inputs
Sneaking
Triggers when the player is holding the sneak key (default: Shift)
Overrides all other inputs
Sprinting + Forward
Triggers when both sprint and forward keys are held (default: Ctrl + W)
Only activates if Sneak is not pressed
Sprinting + Other Directions
Sprint + Left / Back / Right
Detected after sprinting forward fails
Directional Movement
Forward
Left
Backward
Right
These are checked only when sprinting is not active
Still
When none of the above keys are held
🧠 Behavior Notes
Conditions are checked in order, meaning higher inputs override lower ones
This supports only one direction at a time, based on the order of evaluation (no diagonal detection)
Only key inputs are tracked — no use of mouse movement, velocity, or other gameplay states
🧭 Priority Summary (Highest to Lowest):
key.sneak
key.sprint + key.forward (Sprint Forward)
key.sprint + movement keys (Left → Back → Right)
key.forward
key.left
key.back
key.right
No movement keys → still
Root: Check if Sneak is pressed
├── Sneak (key.sneak) → custom_item_models/bucket/sneaking
└── Else → Check Sprint
├── Sprint (key.sprint) → Check Forward
│ ├── Forward (key.forward) → custom_item_models/bucket/sprinting
│ └── Else → Check Left
│ ├── Left (key.left) → custom_item_models/bucket/left
│ └── Else → Check Back
│ ├── Back (key.back) → custom_item_models/bucket/backwards
│ └── Else → Check Right
│ ├── Right (key.right) → custom_item_models/bucket/right
│ └── Else → custom_item_models/bucket/still
└── Else → Check Forward
├── Forward (key.forward) → custom_item_models/bucket/forwards
└── Else → Check Left
├── Left (key.left) → custom_item_models/bucket/left
└── Else → Check Back
├── Back (key.back) → custom_item_models/bucket/backwards
└── Else → Check Right
├── Right (key.right) → custom_item_models/bucket/right
└── Else → custom_item_models/bucket/still