MonitoringMinecraft MonitoringMinecraft

denizen-bulletphys

Плагин BukkitFoliaPaper

Real physics for Minecraft, powered by Denizen: falling blocks, suspension-based vehicles, and more.

10 скачиваний 0 подписчиков
Оцените первым
denizen-bulletphys

denizen-bulletphys — a real rigid-body physics engine for Denizen.

Falling blocks with inertia and rotation, collisions between bodies and with the terrain, and vehicles on raycast suspension that reacts directly to the blocks under their wheels.


Status: 1.0.0-alpha. The falling-blocks command and the vehicle/suspension command are both implemented and working on a live server. What's still missing for a real 1.0: Denizen ObjectTags/events for bodies and vehicles (right now they're addressed by a plain numeric id).

How it works

The actual physics runs on libbulletjme (a JNI binding to Bullet) on its own thread, stepped at a fixed 60 Hz — decoupled from server TPS. Once per game tick, the main thread reads an immutable snapshot of every body's transform and reflects it into the world through block_display entities with client-side interpolation. MC blocks around active bodies are streamed into a static Bullet collider (loaded/unloaded as bodies move, not a fixed radius around a spawn point) — that's what falling blocks and vehicle wheels actually rest and collide against.

main thread (20 TPS)  ──commands/terrain──►  physics thread (60 Hz, Bullet)
       ▲                                              │
       └──────────  transform snapshot  ◄─────────────┘
       │
   block_display (client-side interpolation)

Using it from Denizen

- physicsbody spawn [<location>] (material:<material>) (size:<#.#>) (mass:<#.#>) (count:<#>)

- physicsvehicle spawn [<location>] (mass:<#.#>) (size:<#.#>,<#.#>,<#.#>) (material:<material>) (save:<name>)
- physicsvehicle <#(id)> addwheel offset:<#.#>,<#.#>,<#.#> (radius:<#.#>) (resting:<#.#>) (steering:<boolean>)
- physicsvehicle <#(id)> drive (wheel:<#>) (steer:<#.#>) (throttle:<#.#>) (brake:<#.#>)
- physicsvehicle <#(id)> remove

Why libbulletjme, not ode4j/jbullet

jBullet has been abandoned since 2008. ode4j is pure Java, but its raycast vehicle suspension would have had to be hand-rolled. libbulletjme is actively maintained, ships PhysicsVehicle with working suspension out of the box, and is already used by the DynamX physics mod for Minecraft.

Requirements

Java 21+ (one jar runs on both 1.21.x / Java 21 and 26.x / Java 25)
Server Paper 1.21.x+ (tested on Leaf 26.2)
Denizen 1.3.3+
Engine libbulletjme 23.1.0 — natives for Linux x64/ARM64, Windows x64, macOS x64/ARM64 bundled in the jar

License

All Rights Reserved.

Смотри также

Похожие подборки плагины — по версиям Майнкрафта, загрузчикам и жанрам.

Сервера Майнкрафт

Играть интереснее на сервере — выбирай в рейтинге серверов Майнкрафт и заходи прямо сейчас.

SkyBars
SkyBars Java + BE
225 онлайн
1.8 — 26.2 версия
🎮 ВЫЖИВАНИЕ ⚔️ АНАРХИЯ 🚗 ГТА РП 🎤 ГОЛОСОВОЙ ЧАТ 🎁 БЕСПЛАТНЫЙ ДОНАТ 🌟 СМП 💻 ПК+ТЕЛЕФОН
MineLandy
MineLandy Java + BE
22 онлайн
1.12.2 — 26.1.2 версия
Ванила и анархия без приватов — полная свобода действий и честное выживание
beesmp
beesmp Java
0 онлайн
26.2 — 1.21.11 версия
Bee smp-улей,где каждый оставляет свой след
WahaCraft
WahaCraft Лаунчер
1 онлайн
Кланы | Боссы | RPG | Уникальная карта | PVP | Захват территорий | ВАРХАММЕР
MineLauncher
Лаунчер Майнкрафт без лицензии — все версии
Бесплатный лаунчер для ПК и Андроид — все версии 26.2, 1.21.11, 26.1.2, 1.16.5. Fabric, NeoForge, Forge, шейдеры, моды и скины в один клик.
Без лицензии Fabric, NeoForge, Forge Моды, шейдеры, скины Все версии Майнкрафта ПК и Андроид Для слабых ПК Сервера в лаунчере
Скачать бесплатно
Windows и Андроид · Бесплатно · Без лицензии
Наш чат