Star Slinger Mod
A grappling hook mod for Hytale that adds traversal mechanics with the Star Slinger, Astral Tethers, and Galaxy in a Bottle.
Features
Star Slinger
A powerful grappling hook item with two distinct modes:
-
Left-Click (Launch Mode): Detects Astral Tethers within a 20-block range using a sphere-swept raycast (5 block radius). Launches the player toward the closest Astral Tether found, automatically unhooking when the player reaches it while preserving momentum.
-
Right-Click (Swing Mode): Creates a rope-like connection to an Astral Tether, allowing players to swing in pendulum motion. Converts player momentum into angular motion for fluid swinging mechanics. WASD movement adds momentum to your swing for enhanced control.
Astral Tether
A mystical block made of starlight particles that serves as a grapple point for the Star Slinger. Astral Tethers are smaller than normal blocks and use particle effects for their visuals rather than traditional textures. They emit a soft light and can be placed manually or generated by the Galaxy in a Bottle. When hooked, they visually enlarge to provide clear feedback.
Galaxy in a Bottle
A throwing potion that, when thrown and impacts a surface, generates a field of Astral Tethers around the impact location. The Astral Tethers are distributed evenly using Poisson disk sampling, ensuring they're spread out but not overlapping.
Installation
-
Build the mod using Gradle:
./gradlew build -
The built plugin will be in
build/libs/ -
Place the plugin JAR file in your Hytale server's plugins directory
Usage
Obtaining Items
Star Slinger
Crafted at the Arcanist's Workbench in the Misc category:
- 4 Cobalt Ingots
- 4 Adamantite Ingots
- 4 Medium Leather
- Crafting time: 5 seconds
Astral Tether
Crafted at the Arcanist's Workbench in the Misc category:
- 1 Essence of Fire
- 1 Essence of Ice
- 1 Essence of Life
- 1 Essence of the Void
- Crafting time: 4 seconds
Galaxy in a Bottle
Crafted at the Alchemy Bench in the Misc Potions category:
- 1 Empty Potion
- 1 Storm Cap (Plant_Crop_Stamina2)
- 1 Blood Cap (Plant_Crop_Health2)
- 1 Azure Cap (Plant_Crop_Mana2)
- Crafting time: 5 seconds
All items can also be obtained through creative mode.
Using the Star Slinger
-
Launch Mode (Left-Click):
- Hold the Star Slinger and look in the direction of an Astral Tether
- Left-click to launch toward the closest Astral Tether within range
- The player will be launched toward the Astral Tether
- Upon reaching the Astral Tether, the connection will automatically unhook, preserving your momentum
-
Swing Mode (Right-Click):
- Hold the Star Slinger and look in the direction of an Astral Tether
- Right-click to create a rope connection to the Astral Tether
- Move around to build up swing momentum
- Use WASD keys to add momentum to your swing (W swings forward faster)
- The connection will maintain until you move too far away or manually disconnect
Using Galaxy in a Bottle
- Hold the Galaxy in a Bottle
- Right-click to throw it
- When it impacts a surface, it will break and generate a field of Astral Tethers around the impact point
- Use your Star Slinger to traverse between the generated Astral Tethers
Development
Project Structure
StarGrappler/
├── src/main/java/com/hexvane/starslinger/
│ ├── StarSlingerPlugin.java # Main plugin class
│ ├── components/
│ │ └── StarSlingerConnectionComponent.java # Tracks grappler connections
│ ├── interactions/
│ │ ├── StarSlingerLaunchInteraction.java # Left-click launch handler
│ │ ├── StarSlingerSwingInteraction.java # Right-click swing handler
│ │ └── GalaxyBottleInteraction.java # Throwing potion handler
│ ├── systems/
│ │ ├── StarSlingerSystem.java # Physics and connection management
│ │ ├── AstralTetherParticleSystem.java # Particle effect management
│ │ └── GalaxyBottleProjectileSystem.java # Projectile impact handling
│ └── util/
│ ├── AstralTetherDetector.java # Sphere-swept raycast detection
│ ├── AstralTetherPlacer.java # Astral Tether field generation
│ └── DebugLogger.java # Conditional debug logging
└── src/main/resources/
└── Server/
├── Item/
│ ├── Items/ # Item definitions (Star_Slinger, Astral_Tether, Galaxy_In_Bottle)
│ ├── Interactions/ # Interaction configurations
│ └── RootInteractions/ # Root interaction configs
├── Particles/
│ └── StarSlinger/ # Particle system definitions
├── Projectiles/
│ └── Player/ # Projectile definitions
└── Languages/
└── en-US/ # Localization
Debug Logging
The mod includes extensive debug logging that can be toggled via Gradle property. To enable debug logging, set in gradle.properties:
starslinger_debug_logging=true
Set to false (default) to disable verbose debug output in production builds. The debug logging code remains in the build but is conditionally compiled based on this property.
License
All rights reserved.
This project is proprietary. No permission is granted to use, copy, modify, or distribute
this code or its assets without explicit written permission from the author.
Credits
Created by Hexvane


