Перейти к содержимому
Mineforgian

Velthoric

Adds high-performance physics to Minecraft

Загрузки
11K
Подписчики
98
Обновлён
13 июля 2026 г.
Лицензия
LGPL-3.0-only

Опубликован 13 сентября 2025 г.

Velthoric Icon

Velthoric

Redefining physics in the world of Minecraft.

Environment   Hosted by Cloudsmith

Fabric Forge NeoForge Quilt

👋 Welcome to Velthoric

Velthoric is a project dedicated to bringing advanced, high-performance physics to Minecraft.

Important Note: Right now, this mod is a Proof of Concept. This means we are currently testing what’s possible and building the foundation. It is a work in progress, but it won't stay this way forever. We have big plans to turn this into a fully-fledged, stable physics engine for the community.

💥 What makes this mod special?

We aren't just adding simple animations. Velthoric integrates the professional Jolt Physics engine (via JoltJNI) directly into Minecraft. This allows for interactions that feel heavy, realistic, and incredibly smooth.

Current Features:

  • True Rigid and Soft Bodies: Interact with solid objects, or play with deformable things like cloth and ropes.
  • Working Vehicles: Drive cars and motorcycles that feature actual suspension and wheel physics.
  • Realistic Ragdolls: Watch living entities react to the world with physical skeletal systems.
  • Buoyancy: Objects actually float in water and lava based on their weight and shape.
  • World Interaction: Convert standard blocks into dynamic physics objects that fall and collide.
  • Optimized Performance: Built using a "Structure of Arrays" (SoA) architecture to handle thousands of objects without killing your frame rate.
  • Persistence: Everything stays where it is. Physics bodies are saved with your world and synced perfectly between the server and the client.

🎮 How to play with it

You can test the engine right now using these commands:

  • /vxsummon: Spawn objects like boxes, ropes, or marbles.
    • Try this to test a vehicle: /vxsummon velthoric:car ~ ~ ~ (Use F3 + B to see where to sit).
  • /vxtest: A quick way to spawn debug setups like chain grids or soft bodies.
  • /vxkill: Use this to clean up. You can target specific types of objects or everything nearby.
    • Example: /vxkill @x[type=velthoric:box,limit=5,sort=nearest]

🔧 Tools included

We’ve added several tools to help you manipulate the world:

  • PhysicsGun: Grab, move, and throw objects around.
  • Magnetizer: Push or pull things with magnetic force.
  • Launchers: Special tools to shoot boxes or ragdolls into the air.
  • ChainCreator: Link objects together or anchor them to the ground.

Hint: You can press TAB while holding any tool to open a menu and tweak settings like strength and range.


💻 Supported Platforms

Because Velthoric relies on native code for the physics engine, it currently supports:

  • Windows (x86_64)
  • Linux (x86_64 and Arm64)
  • MacOS (x86_64 and Arm64)

Warning: Any other platforms, such as 32-bit systems or Android, are not supported and will result in a crash.

⚠️ Feedback and Bug Reports

If you find a bug or a compatibility issue, please let us know on the issue tracker:

GitHub Issues

🙏 Acknowledgments

This project wouldn't be possible without these amazing resources:

Ченджлог

0.9.1Бета1.20.1 · 13 июля 2026 г.

Changelog – Version 0.9.1

Dependencies

  • Updated Jolt JNI: Updated Jolt JNI to 5.2.1.
0.9.1Бета1.20.1 · 13 июля 2026 г.

Changelog – Version 0.9.1

Dependencies

  • Updated Jolt JNI: Updated Jolt JNI to 5.2.1.
0.9.1Бета1.21.1 · 13 июля 2026 г.

Changelog – Version 0.9.1

Dependencies

  • Updated Jolt JNI: Updated Jolt JNI to 5.2.1.
0.9.1Бета1.21.1 · 13 июля 2026 г.

Changelog – Version 0.9.1

Dependencies

  • Updated Jolt JNI: Updated Jolt JNI to 5.2.1.
0.9.0Бета1.21.1 · 20 июня 2026 г.

Changelog – Version 0.9.0

This update introduces our new Stonecutter multi-version development setup. This allows us to work on Minecraft 1.20.1 and 1.21.1 at the same time, supporting both Forge and Fabric. We also added new tools, improved performance with JNI caching, and completely rebuilt how we save and sync physics data.

Gameplay & Features

  • New Weld Tool: Added a tool that lets you weld different physics bodies together so they stick.
  • Physics Gun Fixes: Fixed the physics gun so it doesn't grab kinematic and static (non-moving) bodies.
  • Removed Vehicles: We removed the old vehicle system and built-in drivable bodies for now.

Collision & Physics Changes

  • New Collision Shape System: Implemented VxCollisionShape to handle shape definitions and sync them properly.
  • Debug Rendering: Added modular debug lines to render collision shapes, making it much easier to see physics boundaries in-game.
  • Direct NIO Memory: Changed physics body data containers to use direct NIO buffers. This makes reading and writing physics data faster.
  • ID-Driven Behaviors: Rebuilt the physics behavior system to use simple IDs. We also changed sync behaviors to use clean, declarative callbacks.
  • Activation State: Bodies now properly save and sync whether they are active or resting. Fixed an issue where some bodies were forced to be dynamic.

Performance & Sync

  • Faster JNI Bridge: Optimized how we get AABBs on the client using Jolt shapes. We did this by batching JNI calls.
  • Shape Caching: Added shape caching inside the JNI bridge. This fixes stuttering and lag when rendering or creating compound shapes.
  • Smarter Persistence (TLV System): Built a high-performance persistence system using a custom schema (TLV format). It cleanly saves chunk data, behavior bits, and ignores collisions between specific pairs of bodies.
  • Better Velocity Sync: Moved angular velocity (angVel) tracking to the main container and sync it directly to the client with a state packet.
  • Rendering Optimization: Cached BoxColor values to speed up rendering loops.

Stonecutter Multi-Version Development

  • Multi-Version Workspace: We now use Stonecutter to develop for both 1.20.1 and 1.21.1 simultaneously.
  • Loader & Version Support: Fully set up Stonecutter branches to compile and export for both Forge and Fabric.
  • Development Setup: Separated development run directories for each version and cleaned up IDE run configurations.

Bug Fixes & Code Cleanup

  • Crash Fix: Fixed a dangerous race condition when removing bodies that caused a double-destruction crash.
  • Null Shape Sync: Resolved a bug where null shapes would sometimes try to sync, causing errors.
  • Event Library Update: Rewrote and restructured the internal vx-events library to make it cleaner and easier to maintain.
  • Constraint Search: Added a method in VxConstraintManager to quickly find constraints using their UUID.

Build & CI (Development)

  • Gradle Update: Upgraded Gradle to 9.4.1 and added the Foojay toolchain resolver.
  • Smarter Workflows: Made GitHub Actions fully dynamic. Workflows now automatically build, test, and package artifacts for all target versions.
  • Nightly Builds: Set up automatic Maven snapshot publishing for nightly workflows.
  • Dependency Cleanups: Used modLocalRuntime to keep testing mods out of published files.
0.9.0Бета1.21.1 · 20 июня 2026 г.

Changelog – Version 0.9.0

This update introduces our new Stonecutter multi-version development setup. This allows us to work on Minecraft 1.20.1 and 1.21.1 at the same time, supporting both Forge and Fabric. We also added new tools, improved performance with JNI caching, and completely rebuilt how we save and sync physics data.

Gameplay & Features

  • New Weld Tool: Added a tool that lets you weld different physics bodies together so they stick.
  • Physics Gun Fixes: Fixed the physics gun so it doesn't grab kinematic and static (non-moving) bodies.
  • Removed Vehicles: We removed the old vehicle system and built-in drivable bodies for now.

Collision & Physics Changes

  • New Collision Shape System: Implemented VxCollisionShape to handle shape definitions and sync them properly.
  • Debug Rendering: Added modular debug lines to render collision shapes, making it much easier to see physics boundaries in-game.
  • Direct NIO Memory: Changed physics body data containers to use direct NIO buffers. This makes reading and writing physics data faster.
  • ID-Driven Behaviors: Rebuilt the physics behavior system to use simple IDs. We also changed sync behaviors to use clean, declarative callbacks.
  • Activation State: Bodies now properly save and sync whether they are active or resting. Fixed an issue where some bodies were forced to be dynamic.

Performance & Sync

  • Faster JNI Bridge: Optimized how we get AABBs on the client using Jolt shapes. We did this by batching JNI calls.
  • Shape Caching: Added shape caching inside the JNI bridge. This fixes stuttering and lag when rendering or creating compound shapes.
  • Smarter Persistence (TLV System): Built a high-performance persistence system using a custom schema (TLV format). It cleanly saves chunk data, behavior bits, and ignores collisions between specific pairs of bodies.
  • Better Velocity Sync: Moved angular velocity (angVel) tracking to the main container and sync it directly to the client with a state packet.
  • Rendering Optimization: Cached BoxColor values to speed up rendering loops.

Stonecutter Multi-Version Development

  • Multi-Version Workspace: We now use Stonecutter to develop for both 1.20.1 and 1.21.1 simultaneously.
  • Loader & Version Support: Fully set up Stonecutter branches to compile and export for both Forge and Fabric.
  • Development Setup: Separated development run directories for each version and cleaned up IDE run configurations.

Bug Fixes & Code Cleanup

  • Crash Fix: Fixed a dangerous race condition when removing bodies that caused a double-destruction crash.
  • Null Shape Sync: Resolved a bug where null shapes would sometimes try to sync, causing errors.
  • Event Library Update: Rewrote and restructured the internal vx-events library to make it cleaner and easier to maintain.
  • Constraint Search: Added a method in VxConstraintManager to quickly find constraints using their UUID.

Build & CI (Development)

  • Gradle Update: Upgraded Gradle to 9.4.1 and added the Foojay toolchain resolver.
  • Smarter Workflows: Made GitHub Actions fully dynamic. Workflows now automatically build, test, and package artifacts for all target versions.
  • Nightly Builds: Set up automatic Maven snapshot publishing for nightly workflows.
  • Dependency Cleanups: Used modLocalRuntime to keep testing mods out of published files.
0.9.0Бета1.20.1 · 20 июня 2026 г.

Changelog – Version 0.9.0

This update introduces our new Stonecutter multi-version development setup. This allows us to work on Minecraft 1.20.1 and 1.21.1 at the same time, supporting both Forge and Fabric. We also added new tools, improved performance with JNI caching, and completely rebuilt how we save and sync physics data.

Gameplay & Features

  • New Weld Tool: Added a tool that lets you weld different physics bodies together so they stick.
  • Physics Gun Fixes: Fixed the physics gun so it doesn't grab kinematic and static (non-moving) bodies.
  • Removed Vehicles: We removed the old vehicle system and built-in drivable bodies for now.

Collision & Physics Changes

  • New Collision Shape System: Implemented VxCollisionShape to handle shape definitions and sync them properly.
  • Debug Rendering: Added modular debug lines to render collision shapes, making it much easier to see physics boundaries in-game.
  • Direct NIO Memory: Changed physics body data containers to use direct NIO buffers. This makes reading and writing physics data faster.
  • ID-Driven Behaviors: Rebuilt the physics behavior system to use simple IDs. We also changed sync behaviors to use clean, declarative callbacks.
  • Activation State: Bodies now properly save and sync whether they are active or resting. Fixed an issue where some bodies were forced to be dynamic.

Performance & Sync

  • Faster JNI Bridge: Optimized how we get AABBs on the client using Jolt shapes. We did this by batching JNI calls.
  • Shape Caching: Added shape caching inside the JNI bridge. This fixes stuttering and lag when rendering or creating compound shapes.
  • Smarter Persistence (TLV System): Built a high-performance persistence system using a custom schema (TLV format). It cleanly saves chunk data, behavior bits, and ignores collisions between specific pairs of bodies.
  • Better Velocity Sync: Moved angular velocity (angVel) tracking to the main container and sync it directly to the client with a state packet.
  • Rendering Optimization: Cached BoxColor values to speed up rendering loops.

Stonecutter Multi-Version Development

  • Multi-Version Workspace: We now use Stonecutter to develop for both 1.20.1 and 1.21.1 simultaneously.
  • Loader & Version Support: Fully set up Stonecutter branches to compile and export for both Forge and Fabric.
  • Development Setup: Separated development run directories for each version and cleaned up IDE run configurations.

Bug Fixes & Code Cleanup

  • Crash Fix: Fixed a dangerous race condition when removing bodies that caused a double-destruction crash.
  • Null Shape Sync: Resolved a bug where null shapes would sometimes try to sync, causing errors.
  • Event Library Update: Rewrote and restructured the internal vx-events library to make it cleaner and easier to maintain.
  • Constraint Search: Added a method in VxConstraintManager to quickly find constraints using their UUID.

Build & CI (Development)

  • Gradle Update: Upgraded Gradle to 9.4.1 and added the Foojay toolchain resolver.
  • Smarter Workflows: Made GitHub Actions fully dynamic. Workflows now automatically build, test, and package artifacts for all target versions.
  • Nightly Builds: Set up automatic Maven snapshot publishing for nightly workflows.
  • Dependency Cleanups: Used modLocalRuntime to keep testing mods out of published files.
0.9.0Бета1.20.1 · 20 июня 2026 г.

Changelog – Version 0.9.0

This update introduces our new Stonecutter multi-version development setup. This allows us to work on Minecraft 1.20.1 and 1.21.1 at the same time, supporting both Forge and Fabric. We also added new tools, improved performance with JNI caching, and completely rebuilt how we save and sync physics data.

Gameplay & Features

  • New Weld Tool: Added a tool that lets you weld different physics bodies together so they stick.
  • Physics Gun Fixes: Fixed the physics gun so it doesn't grab kinematic and static (non-moving) bodies.
  • Removed Vehicles: We removed the old vehicle system and built-in drivable bodies for now.

Collision & Physics Changes

  • New Collision Shape System: Implemented VxCollisionShape to handle shape definitions and sync them properly.
  • Debug Rendering: Added modular debug lines to render collision shapes, making it much easier to see physics boundaries in-game.
  • Direct NIO Memory: Changed physics body data containers to use direct NIO buffers. This makes reading and writing physics data faster.
  • ID-Driven Behaviors: Rebuilt the physics behavior system to use simple IDs. We also changed sync behaviors to use clean, declarative callbacks.
  • Activation State: Bodies now properly save and sync whether they are active or resting. Fixed an issue where some bodies were forced to be dynamic.

Performance & Sync

  • Faster JNI Bridge: Optimized how we get AABBs on the client using Jolt shapes. We did this by batching JNI calls.
  • Shape Caching: Added shape caching inside the JNI bridge. This fixes stuttering and lag when rendering or creating compound shapes.
  • Smarter Persistence (TLV System): Built a high-performance persistence system using a custom schema (TLV format). It cleanly saves chunk data, behavior bits, and ignores collisions between specific pairs of bodies.
  • Better Velocity Sync: Moved angular velocity (angVel) tracking to the main container and sync it directly to the client with a state packet.
  • Rendering Optimization: Cached BoxColor values to speed up rendering loops.

Stonecutter Multi-Version Development

  • Multi-Version Workspace: We now use Stonecutter to develop for both 1.20.1 and 1.21.1 simultaneously.
  • Loader & Version Support: Fully set up Stonecutter branches to compile and export for both Forge and Fabric.
  • Development Setup: Separated development run directories for each version and cleaned up IDE run configurations.

Bug Fixes & Code Cleanup

  • Crash Fix: Fixed a dangerous race condition when removing bodies that caused a double-destruction crash.
  • Null Shape Sync: Resolved a bug where null shapes would sometimes try to sync, causing errors.
  • Event Library Update: Rewrote and restructured the internal vx-events library to make it cleaner and easier to maintain.
  • Constraint Search: Added a method in VxConstraintManager to quickly find constraints using their UUID.

Build & CI (Development)

  • Gradle Update: Upgraded Gradle to 9.4.1 and added the Foojay toolchain resolver.
  • Smarter Workflows: Made GitHub Actions fully dynamic. Workflows now automatically build, test, and package artifacts for all target versions.
  • Nightly Builds: Set up automatic Maven snapshot publishing for nightly workflows.
  • Dependency Cleanups: Used modLocalRuntime to keep testing mods out of published files.

Комментарии

Загружаем…