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

IBREALISTIC

The Unofficial fork of OpenBoatUtils, original by o7moon. This mod added MORE realistic rally aspects for IBREAL or another server

Загрузки
692
Подписчики
0
Обновлён
22 февраля 2026 г.
Лицензия
MIT

Опубликован 9 февраля 2026 г.

use spoiler to see your lang.

English translate

🏁 IBRealistic

A Fabric mod that transforms Minecraft boats into fully simulated rally cars — built entirely on enthusiasm and AI.

IBRealistic is a client-side Fabric mod for OpenBoatUtils. It replaces Minecraft's boat movement with a professional-grade four-wheel vehicle dynamics simulation — complete with real tire physics, damage systems, telemetry, ghost racing, and full tournament infrastructure.


✨ What does it do?

IBRealistic makes boats behave like real rally cars. Every aspect of driving — traction, weight transfer, differential behavior, surface grip, weather, aerodynamics — is simulated per-wheel on the server and sent to the client. Vanilla behavior is fully preserved when no server sends configuration packets.


🤖 This project is developed purely out of enthusiasm, with AI assistance (GitHub Copilot) used throughout — from physics engine design to server infrastructure.


⚙️ Physics Engine

The core of IBRealistic is a four-corner vehicle dynamics model running at 80–200 Hz (4–10 substeps per tick).

  • Four-wheel model — each wheel (FL, FR, RL, RR) independently calculates vertical load, slip angle, lateral force, and longitudinal force
  • Fiala/Brush tire model — nonlinear lateral force with saturation, progressive falloff, friction circle constraint, and load sensitivity
  • Weight transfer — longitudinal (braking/acceleration: ΔFz = m·ax·h/L) and lateral (cornering: ΔFz = m·ay·h/T)
  • Drivetrain types — RWD, FWD, AWD (configurable front/rear torque split)
  • Differentials — Open, Locked, LSD (per axle, configurable locking coefficient)
  • Aerodynamics — downforce coefficient, drag, yaw rate damping in air
  • Airborne physics — jump detection, grip loss/recovery on landing, bump handling
  • Self-aligning torque — configurable steering return rate

5 Vehicle Presets

Vehicle Drive Mass Character
WRC_CAR AWD 1190 kg Fast, planted, high downforce
GROUP_B RWD 1100 kg Powerful, oversteer-prone
CLASSIC_RALLY RWD 1000 kg Balanced, moderate power
LIGHTWEIGHT FWD 800 kg Nimble, understeer tendency
TRUCK AWD 2000 kg Heavy, high torque

300+ Surface Mappings

Every Minecraft block is mapped to one of 18 surface types, each with its own friction, cornering stiffness, rolling resistance, and relaxation length:

ASPHALT_DRY (μ=0.85) · ASPHALT_WET · GRAVEL · DIRT · MUD · SNOW · ICE · BLUE_ICE (μ=0.06) · SAND · WOOD · CONCRETE · TERRACOTTA · METAL · GLASS · WOOL · BRICK · NETHER · VEGETATION

Weather Conditions

Weather Grip Effect
CLEAR 100% Baseline
RAIN 70% Slower tire response
HEAVY_RAIN 50% Much slower response
SNOW 40% Very low grip
FOG 95% Visual only

🎨 Visuals

  • 4 rendered wheels — front wheels turn with steering, all wheels spin with velocity, rear wheels lock under handbrake
  • Steering wheel — tilted at 45°, displays real steering angle in first-person
  • Body motion — pitch (braking/acceleration), roll (cornering), tilt (airborne)
  • Particle effects — surface-dependent particles: gravel→smoke, dirt→mycelium, snow→snowflakes, wet→splash
  • Tire smoke — wheel lockup and drift detection (yawRate > 0.3 rad/s)
  • Engine sounds — pitch scales with speed; tire squeal, impact, surface sounds
  • Visual lift — boat model raised 0.25 blocks to sit on its wheels

🔩 Damage & Wear System

A full mechanical degradation model that rewards careful driving:

  • Tire wear — 4 independent tires (0.0–1.0), grip degrades up to −30%; influenced by surface, speed, and driving style
  • Engine overheat — temperature rises under full throttle for >30s; power loss up to −50%; cools down when throttle is released
  • Body damage — collision-based (server-calculated), 4 severity levels affecting steering response, power, and max speed
  • Service zones — automatic repair of tires, engine, and body in designated SERVICEPARK regions
  • HUD indicators — wear bars and damage indicators with smooth fade-out

🚩 Rally Procedures

A full WRC-style rally procedure stack built into the server plugin:

  • Synchronized start — colored countdown messages (🔴→🟡→✦ GO! ✦)
  • False start detection — movement detected during countdown triggers stepped penalties: 10s → 60s+restart → disqualification
  • Time Controls — waypoint regions with allowed time windows; penalties for early/late arrival
  • Service ParkSERVICEPARK region type: full auto-repair with time limit and visual progress
  • Recce — 50% speed scouting mode with a note system (/race recce note <text>)
  • Multi-stage rally — full lifecycle (RallyEvent → RallyStage → RallyParticipant), superrally on retirement (+5 min penalty), 9 subcommands via /rally

📡 Telemetry

Every race is recorded and validated:

  • Client recordingTelemetryFrame: 82 bytes/tick, 24 fields (position, velocity, steering angle, tire wear, engine temp, etc.)
  • Local storage.ibrt files in .minecraft/ibrealistic/telemetry/, GZIP compressed
  • Server upload — fragmented packet transfer after finishing
  • Server validation — 9 mandatory checks + 3 statistical checks
  • Consequence — a race without valid telemetry counts for only 20% of rewards

👻 Ghost Racing

Race against your own best lap:

  • Ghost auto-saved when personal best is beaten
  • 3 display modes: LINE (racing line), BOAT (ghost vehicle), COMPETITION (full ghost with delta)
  • Real-time delta time (±seconds) shown when overtaking/falling behind
  • Semi-transparent rendering with color palette

Commands: /line · /line mode · /line count · /line info


The client mod does nothing unless the server sends configuration packets. Vanilla behavior is fully preserved on servers without IBRealistic.


🔗 Links


🤖 Built with AI, driven by passion. IBRealistic is a solo passion project developed entirely on enthusiasm. GitHub Copilot assists with everything from physics math to database migrations — but every design decision, every feature, and every race is human-authored.


Русское описание

🏁 IBRealistic

Fabric-мод, превращающий лодки Minecraft в полностью симулированные раллийные автомобили — создан на чистом энтузиазме, с помощью ИИ.

IBRealistic — это клиентский Fabric-мод, работающий как аддон поверх OpenBoatUtils. Мод заменяет стандартное движение лодки профессиональной четырёхколёсной физической моделью — с реальной физикой шин, системой поломок, телеметрией, ghost racing и полноценной турнирной инфраструктурой.


✨ Что делает мод?

IBRealistic заставляет лодки вести себя как настоящие раллийные автомобили. Каждый аспект вождения — сцепление, перенос массы, работа дифференциала, поверхность, погода, аэродинамика — симулируется на сервере по каждому колесу отдельно и передаётся клиенту. Стандартное поведение лодок сохраняется полностью, если сервер не отправляет пакеты конфигурации.


⚙️ Физический движок

Основа IBRealistic — четырёхколёсная динамическая модель, работающая на частоте 80–200 Гц (4–10 подшагов на тик).

  • Четырёхколёсная модель — каждое колесо (FL, FR, RL, RR) независимо вычисляет вертикальную нагрузку, угол скольжения, боковую и продольную силу
  • Модель шин Fiala/Brush — нелинейная боковая сила с насыщением, прогрессивным спадом, кругом трения и чувствительностью к нагрузке
  • Перенос массы — продольный (торможение/разгон) и поперечный (повороты)
  • Типы привода — RWD, FWD, AWD (настраиваемое распределение крутящего момента)
  • Дифференциалы — Open, Locked, LSD (для каждой оси, настраиваемый коэффициент блокировки)
  • Аэродинамика — прижимная сила, сопротивление, демпфирование рыскания в воздухе
  • Воздушная физика — обнаружение прыжков, потеря/восстановление сцепления при приземлении
  • Самовыравнивающий момент — настраиваемая скорость возврата руля

5 Пресетов машин

Машина Привод Масса Характер
WRC_CAR AWD 1190 кг Быстрая, прижатая, высокий даунфорс
GROUP_B RWD 1100 кг Мощная, склонна к заносу
CLASSIC_RALLY RWD 1000 кг Сбалансированная
LIGHTWEIGHT FWD 800 кг Юркая, склонна к сносу
TRUCK AWD 2000 кг Тяжёлая, высокий момент

300+ маппированных блоков

Каждый блок Minecraft привязан к одному из 18 типов поверхности со своим трением, жёсткостью увода, сопротивлением качению и длиной релаксации:

ASPHALT_DRY (μ=0.85) · ASPHALT_WET · GRAVEL · DIRT · MUD · SNOW · ICE · BLUE_ICE (μ=0.06) · SAND · WOOD · CONCRETE · TERRACOTTA · METAL · GLASS · WOOL · BRICK · NETHER · VEGETATION

Погодные условия

Погода Сцепление Эффект
CLEAR 100% Базовый
RAIN 70% Медленнее реакция шин
HEAVY_RAIN 50% Намного медленнее
SNOW 40% Очень низкое сцепление
FOG 95% Только визуальный

🎨 Визуальная часть

  • 4 отрисованных колеса — передние поворачиваются, все вращаются, задние блокируются при ручнике
  • Рулевое колесо — наклон 45°, отображает реальный угол поворота от первого лица
  • Движение кузова — клевок при торможении/разгоне, крен в поворотах, наклон в воздухе
  • Частицы — зависят от поверхности: гравий→дым, грязь→мицелий, снег→снежинки, мокро→брызги
  • Дым шин — при блокировке колёс и заносе (yawRate > 0.3 рад/с)
  • Звуки — двигатель (pitch от скорости), визг шин, удары, поверхностные звуки
  • Визуальный подъём — модель лодки поднята на 0.25 блока, как будто стоит на колёсах

🔩 Система поломок и износа

Полная модель механической деградации — наградой служит аккуратное вождение:

  • Износ шин — 4 независимые шины (0.0–1.0), сцепление падает до −30%; зависит от поверхности, скорости и стиля
  • Перегрев двигателя — температура растёт при полном газе >30 сек; мощность падает до −50%; охлаждается при сбросе газа
  • Повреждения кузова — серверный расчёт от столкновений, 4 уровня: влияют на руль, мощность и макс. скорость
  • Сервис-зоны — автоматический ремонт шин, двигателя и кузова в регионах типа SERVICEPARK
  • HUD-индикаторы — полоски износа с плавным исчезновением

📡 Телеметрия

Каждый заезд записывается и проверяется:

  • Запись на клиентеTelemetryFrame: 82 байта/тик, 24 поля (позиция, скорость, угол руля, износ шин, температура двигателя и др.)
  • Локальное хранение — файлы .ibrt в .minecraft/ibrealistic/telemetry/, GZIP-сжатие
  • Передача на сервер — фрагментированная передача пакетами после финиша
  • Серверная валидация — 9 обязательных проверок + 3 статистических
  • Последствие — рейс без валидной телеметрии засчитывается на 20% наград

👻 Ghost Racing

Соревнуйтесь с собственным лучшим временем:

  • Ghost автоматически сохраняется при побитии личного рекорда
  • 3 режима отображения: LINE (траектория), BOAT (призрак-лодка), COMPETITION (полный ghost с дельтой)
  • Дельта времени в реальном времени (±секунды) при обгоне/отставании
  • Полупрозрачный рендеринг с цветовой палитрой

Команды: /line · /line mode · /line count · /line info


Клиентский мод ничего не делает без команд от сервера. Стандартное поведение лодок полностью сохраняется на серверах без IBRealistic.


🔗 Ссылки


🤖 IBRealistic — соло-проект на чистом энтузиазме. GitHub Copilot помогает со всем — от физической математики до миграций баз данных — но каждое дизайн-решение, каждая функция и каждая гонка рождены человеком.

Ченджлог

1.1.0Релиз1.21.3, 1.21.4 · 22 февраля 2026 г.

🏁 IBRealistic v1.1.0

Released: February 22, 2026 Full Changelog: https://github.com/Kanorto/IBREALISTIC/compare/v1.0.7...v1.1.0

This is the largest update to the mod since the first stable release. Over the course of development (v1.0.8 → v1.0.9 → v1.1.0), the following major features were added: full rally procedures, a damage & wear system, telemetry, ghost racing, tournaments, GUI, anti-cheat — and finally a significant physics engine overhaul.


🔄 Rebrand & Architecture

The mod was renamed from OBURealistic to IBRealistic and rearchitected as a proper add-on to OpenBoatUtils.

  • New package dev.kanorto.ibrealistic, channel ibrealistic:settings
  • IBRealistic is now an add-on to OpenBoatUtils instead of a standalone mod
    • OBU handles packets 0–32 on openboatutils:settings
    • IBRealistic handles packets 33–69 on ibrealistic:settings
  • Removed ~25 duplicate fields and ~30 duplicate methods
  • Added openboatutils >= 0.4.10 dependency in fabric.mod.json
  • Build hash verification
  • All Mixins deduplicated to 5 unique hooks in BoatMixin

🏎️ Rally Procedures

Race System

  • SoloRaceManager — solo races with full player isolation (Player.hideEntity())
  • Session lifecycle: WAITING → COUNTDOWN → RACING → FINISHED / CANCELLED
  • Multiplayer races — integration with QuickRace (Event/Round/Heat)
  • Start procedure: 5→1→GO countdown with Title messages + sounds
  • Leaderboards filtered by car type (system / custom)
  • Auto-cancel after configurable timeout
  • Commands: /race solo, /race create, /race join, /race start, /race cancel, /race leave, /race results, /race top

Track Settings

  • Weather: CLEAR, RAIN, HEAVY_RAIN, SNOW, FOG with grip modifiers
  • Time of day: DAWN, NOON, SUNSET, NIGHT, MIDNIGHT or arbitrary ticks
  • Dynamic weather — auto-change with configurable interval (DynamicWeatherManager)
  • Track difficulty — 1–5 stars, reward multipliers ×1.0 — ×2.5
  • Commands: /te weather, /te time, /te dynamicweather, /te difficulty

Rally Procedures

  • Synchronized start — colored messages (🔴→🟡→✦ GO! ✦)
  • False start detection — movement during countdown triggers penalties: 10s → 60s+restart → DQ
  • Time Controls — checkpoints with allowed windows, penalties for early/late arrival
  • Service Park (SERVICEPARK) — auto-repair zones with time limit and visual progress
  • Recce (reconnaissance) — 50% speed mode with a notes system /race recce note <text>
  • Multi-stage rally — full lifecycle (RallyEvent, RallyStage, RallyParticipant), 9 /rally subcommands, super-rally support (DNF = +5 min penalty)

🔩 Damage & Wear System

  • Tire wear — 4 independent tires (0.0–1.0), grip degradation μ up to −30%; depends on surface, speed, and driving style
  • Engine overheating — heats up at full throttle >30s, power loss up to −50%, cools down on throttle release
  • Body damage — server-side collision calculation, 4 damage levels with effects (steering, power, max speed)
  • Repair in service zones — automatic restoration of tires, engine, and body
  • HUD — wear bars and indicators with smooth fade-out
  • Visual effects — smoke, sparks, overheat particles
  • Sync packets 70–76 (SYNC_TIRE_WEAR, SYNC_ENGINE_TEMP, SYNC_BODY_DAMAGE, SET_SERVICE_ZONE, DAMAGE_NOTIFICATION)

🛡️ Anti-Cheat

  • AntiCheatManager — server-side validation of speed, acceleration, and teleportation
  • Graduated actions: warning → teleport to safe position → disqualification
  • Car config validation: preset and level checks
  • Economy protection: rate limiting, transfer caps, dupe detection
  • 30-second cooldown after disqualification
  • Violations logged to DB (ts_anticheat_violations)

🖥️ GUI

All interfaces are full inventory GUIs with color indicators and sounds:

GUI Size Description
ShopGui 54 slots Preset shop with categories
GarageGui 54 slots Car garage, components, actions
ProfileGui 36 slots Level, XP, balance, stats
DailyGui 27 slots Challenges, progress bars, timer
TrackGui Weather, difficulty, records, rewards
  • Command /profile [player] to view any player's profile

✨ Visual Effects & Sounds

  • Surface particles — gravel→smoke, dirt→mycelium, snow→snowflakes, wet→splashes
  • Wheel lock & drift smoke (drift detection: yawRate > 0.3 rad/s)
  • Sounds — engine (pitch scales with speed), tire squeal, impacts, surface-specific audio
  • RaceBossBarManager — track, time, weather, car; progress color: 🟢 (ahead of PB) → 🟡 → 🔴

📡 Telemetry

  • Client-side recordingTelemetryFrame (82 bytes/tick, 24 fields), GZIP compression, .ibrt files
  • Server upload — fragmented packets 80–84
  • Server-side validation — 9 mandatory checks + 3 statistical checks
  • Auto-record on race start, auto-upload on finish
  • Races without valid telemetry count for 20% rewards only

👻 Ghost Racing

  • Auto-saves ghost on personal best improvement
  • 3 display modes: LINE, BOAT, COMPETITION — with transparency and color palette
  • Real-time delta (±seconds) when overtaking / falling behind
  • Commands: /line, /line mode, /line count, /line info
  • Ghost Line button in settings GUI

🏆 Tournaments

  • 4 typesSPRINT, RALLY, ENDURANCE, BRACKET (double elimination, up to 64 players)
  • Glicko-2 rating system with 5 ranks: Bronze → Silver → Gold → Platinum → Champion
  • Season system — 3 months, F1-style points (25-18-15-12-10-8-6-4-2-1), soft reset
  • Automated weekly tournaments with result broadcasts
  • 10 /tournament subcommands
  • Expanded daily challenges (9 types, including tournament-related)

⚙️ Physics Fixes

Critical bugs in the physics engine that affected all aspects of driving:

🐛 Bug Fixes

Vanilla paddle acceleration leak updatePaddles() was adding +0.04 b/t of velocity even when the realistic physics engine was active, causing ~3.5× over-acceleration on the ground. Vanilla velocity isolation now runs on both ground and airborne states.

Bump-induced backward kick Naive frame projection during collisions could reverse the vehicle's direction. Added a clamp: vx cannot go negative while the vehicle has sufficient expected speed.

Steering return stalling near zero Exponential steering return decayed asymptotically and never fully reached center — especially at standstill. Added a linear component (0.8 rad/s centering spring): full return takes ~0.625s even at rest.

🔧 Physics Constants Retuning

12 physics constants retuned for more predictable and comfortable driving:

Constant Before → After Effect
YAW_RATE_DAMPING 0.985 → 0.978 Rotation settles ~40% faster
LATERAL_VELOCITY_DAMPING 0.985 → 0.975 Faster sideways correction
LATERAL_VELOCITY_DAMPING_ACTIVE 0.995 → 0.985 Less lateral buildup in turns
MAX_LATERAL_SPEED_RATIO 1.5 → 1.0 Tighter sideways speed cap
STEERING_REVERSAL_FORCE_RETENTION 0.3 → 0.15 Faster steering direction change
STEERING_REVERSAL_VELOCITY_RETENTION 0.5 → 0.3 Quicker lateral reset on reversal
STEERING_LINEAR_RETURN_RATE 0.5 → 0.8 Faster centering (0.625s vs 1.0s)
MAX_COLLISION_LATERAL_INJECTION 1.5 → 1.0 Less sideways kick from bumps
COLLISION_LATERAL_FORCE_DAMPING 0.5 → 0.3 Stronger force reset on collision
LANDING_LATERAL_DAMPING 0.5 → 0.3 More stable landings
LANDING_YAW_RATE_DAMPING 0.8 → 0.6 Less spin on landing
STRAIGHT_LINE_LATERAL_DAMPING 0.93 → 0.88 Better straight-line tracking

Full Changelog: https://github.com/Kanorto/IBREALISTIC/compare/v1.0.7...v1.1.0

Комментарии

Загружаем…