HyGrip is a small mod for Hytale that adds a basic robotic arm to the game. It's designed to make moving objects easier, especially when working on large structures. This is the first step in a larger project called HyFactory, but for now, it focuses on a single function: gripping, lifting, and placing.
Run the tests locally to check crane state logic and phases:
./gradlew testThis runs JUnit 5 tests for CranePhase and CraneStateComponent (e.g. setJob, isArmAt). Use this after code changes to avoid regressions.
- First time:
./gradlew setupServer - Start the server:
./gradlew runServer(ordevServerif configured) - Connect with the Hytale client to
localhost(or the address shown in the server window).
If you get "Server authentication unavailable", the client cannot reach Hytale’s session service (e.g. network, VPN, or account). You can try enabling offline mode in the dev server so it does not require auth: in settings.gradle.kts add inside hytale { }:
devserver {
OfflineMode = true
}Then run ./gradlew setupServer again so the server config is regenerated.
- Run
/hygrip testfor default crane at (0,117,0) facing east (source 1,117,0 → target -1,117,0). - Or
/hygrip test <baseX> <baseY> <baseZ>for that base facing east. - Or
/hygrip test <baseX> <baseY> <baseZ> <direction>— direction:north,south,east,west,up,down. Source = base + 1 block, target = base - 1 block in that direction. - Or
/hygrip test <direction>for base (0,117,0) and that direction (e.g./hygrip test north). - Place blocks with inventories at source and target.
- Confirm the arm moves and items transfer between them.
- Build the mod:
./gradlew build(JAR underbuild/libs/). - Copy the JAR to another server or mod folder and test with a full game client there.