Skip to content

V1.0 Dev's Directional Movement Based Textures Template (Sneak-Sprint-WASD-Diagonals)

Choose a tag to compare

@TheOneTrueDev TheOneTrueDev released this 10 May 19:39
e43c51f

✅ Supported Inputs

Sneaking

Triggers when the player is holding the sneak key (default: Shift)

Overrides all other inputs

Supports 8-direction movement:

    Forward, Backward, Left, Right

    Diagonals: Forward-Left, Forward-Right, Backward-Left, Backward-Right

Sprinting + Movement

Triggers when sprint key is held (default: Ctrl)

Directional combinations include:

    Sprint + Forward

    Sprint + Forward-Left / Forward-Right

    Sprint + Backward / Backward-Left / Backward-Right

    Sprint + Left / Right

Only activates if Sneak is not pressed

Directional Movement (Walking)

Triggered when neither Sprint nor Sneak is held

Supports:

    Forward, Backward, Left, Right

    Diagonals: Forward-Left, Forward-Right, Backward-Left, Backward-Right

Still

When no directional keys are pressed

🧠 Behavior Notes

Conditions are checked in priority order; higher inputs override lower ones

Diagonal detection is now supported for Sneaking, Sprinting, and Walking

Only key inputs are evaluated — no tracking of mouse, velocity, or physics-based movement

🧭 Priority Summary (Highest to Lowest):

key.sneak + directional keys (including diagonals)

key.sprint + key.forward (and diagonals)

key.sprint + other directions (Left → Backward → Right)

Directional movement (Forward → Left → Backward → Right → diagonals)

No movement keys → still
Root: Check if Sneak is pressed
├── Sneak (key.sneak) → Directional checks:
│   ├── Forward + Left  → sneaking_forward_left
│   ├── Forward + Right → sneaking_forward_right
│   ├── Back + Left     → sneaking_backward_left
│   ├── Back + Right    → sneaking_backward_right
│   ├── Forward         → sneaking_forward
│   ├── Backward        → sneaking_backward
│   ├── Left            → sneaking_left
│   ├── Right           → sneaking_right
│   └── None            → sneaking_still
└── Else → Check Sprint
    ├── Sprint (key.sprint) → Directional checks:
    │   ├── Forward + Left  → sprinting_forward_left
    │   ├── Forward + Right → sprinting_forward_right
    │   ├── Back + Left     → sprinting_backward_left
    │   ├── Back + Right    → sprinting_backward_right
    │   ├── Forward         → sprinting_forward
    │   ├── Backward        → sprinting_backward
    │   ├── Left            → sprinting_left
    │   ├── Right           → sprinting_right
    │   └── None            → sprinting_still
    └── Else → Walking Directional checks:
        ├── Forward + Left  → forward_left
        ├── Forward + Right → forward_right
        ├── Back + Left     → backward_left
        ├── Back + Right    → backward_right
        ├── Forward         → forward
        ├── Backward        → backward
        ├── Left            → left
        ├── Right           → right
        └── None            → still