
RetroAPI
Block, Item, Recipe, Entity, Dimension Registration API for Legacy Minecraft. Supports Ornithe and Babric. Optionally Works with StationAPI.
- Загрузки
- 327
- Подписчики
- 1
- Обновлён
- 16 августа 2026 г.
- Лицензия
- MIT
Опубликован 23 марта 2026 г.
RetroAPI
RetroAPI is a content-registration library for Minecraft Beta 1.7.3 that lets mods add blocks, items, recipes, entities, dimensions and more without requiring StationAPI. It runs on Ornithe (Fabric Loader + OSL) and Babric, and transparently delegates to StationAPI when that mod is also installed.
Developer Portal
To start developing for b1.7.3 with it go here!
https://matthewperiut.github.io/retroapi/index.html
What it implements
Registration
- Custom blocks and items with automatic, stable ID assignment - block IDs are expanded well past the vanilla 256 cap, and assignments persist across loads.
- Block entities without subclassing
BlockWithBlockEntity(RetroBlockEntityType). - Inventory / menu GUIs (chest, furnace and dispenser styles) with automatic slot sync (
@SyncField). - Crafting, smelting and furnace-fuel recipes (
RetroRecipes). - Custom entities with renderers, and custom dimensions reached through walk-in portal blocks.
- Achievements and achievement pages.
- Sound autoloading and automatic lang / translation generation.
Rendering
- Expanded texture atlas plus custom block and item renderers and render types.
Vanilla-safe world storage (sidecar system)
- All modded content is written to
retroapi/sidecar files keyed by string identifiers, so a world can be opened in vanilla without crashing or losing data and reopened in RetroAPI intact. - Covers extended block IDs, modded block entities, modded items inside vanilla containers, and dropped item entities.
Multiplayer
- OSL-based networking with server-to-client ID mapping sync and extended-block chunk sync.
StationAPI compatibility (optional, bundled)
- Ships a
retroapi-stationapicompanion that loads only when StationAPI is also present and delegates registration, rendering, dimensions and world conversion to StationAPI. With it, RetroAPI worlds round-trip through StationAPI's flattened world format without data loss.
Both jars include the StationAPI compatibility layer; it activates automatically if StationAPI is installed and stays dormant otherwise.
Ченджлог
0.4.1+babricБетаb1.7.3 · 16 августа 2026 г.
StationAPI mods now get the same automatic treatment RetroAPI mods do.
Creative tabs
- Auto tabs now include mods that register through StationAPI, not just RetroAPI. A mod that has never heard of RetroAPI gets a tab named after itself.
- Spawn eggs are no longer duplicated into the owning mod's tab, since they already sit in the Spawn Eggs tab. Eggs from other mods are left where they are.
Spawn eggs
- Automatic eggs now work under StationAPI. The sweep reads vanilla's EntityRegistry, which both toolchains populate. Living entities only.
- The fallback egg is tinted from a saturation weighted average of the mob's own render texture, so eggs are distinguishable before anyone draws one. Drop a sprite at assets//textures/item/_spawn_egg.png to replace it.
Opting out without a dependency
- com.periut.retroapi.compat.RetroOptional takes only Strings, so a mod can call excludeItemGroup, excludeSpawnEggs and excludeSpawnEgg reflectively with no hard dependency on RetroAPI.
- templates/RetroCompat.java.txt is a copy in helper that wraps the mod check and the reflection, and does nothing when RetroAPI is absent.
Fixes
- The handshake length widener uses ModifyArg instead of ModifyConstant. Only one injector may claim a constant, so RetroTweaks and Glass Networking previously fought over it and whichever lost crashed on startup. Both now apply.
0.4.1Бетаb1.7.3 · 16 августа 2026 г.
StationAPI mods now get the same automatic treatment RetroAPI mods do.
Creative tabs
- Auto tabs now include mods that register through StationAPI, not just RetroAPI. A mod that has never heard of RetroAPI gets a tab named after itself.
- Spawn eggs are no longer duplicated into the owning mod's tab, since they already sit in the Spawn Eggs tab. Eggs from other mods are left where they are.
Spawn eggs
- Automatic eggs now work under StationAPI. The sweep reads vanilla's EntityRegistry, which both toolchains populate. Living entities only.
- The fallback egg is tinted from a saturation weighted average of the mob's own render texture, so eggs are distinguishable before anyone draws one. Drop a sprite at assets//textures/item/_spawn_egg.png to replace it.
Opting out without a dependency
- com.periut.retroapi.compat.RetroOptional takes only Strings, so a mod can call excludeItemGroup, excludeSpawnEggs and excludeSpawnEgg reflectively with no hard dependency on RetroAPI.
- templates/RetroCompat.java.txt is a copy in helper that wraps the mod check and the reflection, and does nothing when RetroAPI is absent.
Fixes
- The handshake length widener uses ModifyArg instead of ModifyConstant. Only one injector may claim a constant, so RetroTweaks and Glass Networking previously fought over it and whichever lost crashed on startup. Both now apply.
0.4.0+babricБетаb1.7.3 · 15 августа 2026 г.
Commands (Brigadier)
- Full Brigadier port bundled in-tree, with argument types, suggestions and command-tree sync to clients
- Built-in commands: /give, /setblock, /gamemode, /gamerule, /fly, /help and others
- Preloaded suggestions so completion is instant on servers rather than a round trip
- Text component system (retroapi.text) with translation resolution
- Command blocks: all three types, full editor with text editing and suggestions, chunk-loaded execution
Game modes
- Creative, Survival, Adventure, Spectator, with per-life persistent flight
- Modern creative screen: tabs, search, player render, page buttons, click semantics (1 / shift-64 / 1–9 hotbar), bin slot
- Creative instant break, break cadence, no durability loss, no item consumption, mobs ignore you
- Middle-click block picker returning obtainable item forms
- /fly independent of game mode, with fall-damage immunity
Config API (com.periut.retroapi.config)
- Annotation-driven configs any mod registers in one call; per-mod JSON, screen, defaults
- Options screen button renamed Configs..., with a Mods page listing every registered config
- Server sync for Scope.WORLD options, operator editing with red asterisks and a footer note
Content / registration
- Spawn eggs for all vanilla mobs, plus automatic spawn eggs for modded entities
- Automatic creative tab for mods that register content but no tab
- Achievement pages, with hidden pages and a viewer; StationAPI page mirroring
- RetroData.chunk(...) for arbitrary per-chunk sidecar data
- Tags resolving through both RetroAPI's and StationAPI's registries
RetroTweaks merged in (com.periut.retrotweaks, ~290 classes)
- The whole tweaks/fixes/QoL set HUD, inventory, blocks, entities, rendering, auth/skins, scoring
- Now breaks the standalone mod, and its config is the config API's first consumer
Packaging
- OSL modules bundled in the Ornithe jar too (previously babric only)
- StationAPI compat nested and loaded only when StationAPI is present
0.4.0Бетаb1.7.3 · 15 августа 2026 г.
Commands (Brigadier)
- Full Brigadier port bundled in-tree, with argument types, suggestions and command-tree sync to clients
- Built-in commands: /give, /setblock, /gamemode, /gamerule, /fly, /help and others
- Preloaded suggestions so completion is instant on servers rather than a round trip
- Text component system (retroapi.text) with translation resolution
- Command blocks: all three types, full editor with text editing and suggestions, chunk-loaded execution
Game modes
- Creative, Survival, Adventure, Spectator, with per-life persistent flight
- Modern creative screen: tabs, search, player render, page buttons, click semantics (1 / shift-64 / 1–9 hotbar), bin slot
- Creative instant break, break cadence, no durability loss, no item consumption, mobs ignore you
- Middle-click block picker returning obtainable item forms
- /fly independent of game mode, with fall-damage immunity
Config API (com.periut.retroapi.config)
- Annotation-driven configs any mod registers in one call; per-mod JSON, screen, defaults
- Options screen button renamed Configs..., with a Mods page listing every registered config
- Server sync for Scope.WORLD options, operator editing with red asterisks and a footer note
Content / registration
- Spawn eggs for all vanilla mobs, plus automatic spawn eggs for modded entities
- Automatic creative tab for mods that register content but no tab
- Achievement pages, with hidden pages and a viewer; StationAPI page mirroring
- RetroData.chunk(...) for arbitrary per-chunk sidecar data
- Tags resolving through both RetroAPI's and StationAPI's registries
RetroTweaks merged in (com.periut.retrotweaks, ~290 classes)
- The whole tweaks/fixes/QoL set HUD, inventory, blocks, entities, rendering, auth/skins, scoring
- Now breaks the standalone mod, and its config is the config API's first consumer
Packaging
- OSL modules bundled in the Ornithe jar too (previously babric only)
- StationAPI compat nested and loaded only when StationAPI is present
0.3.9+babricБетаb1.7.3 · 12 августа 2026 г.
Two StationAPI fixes.
- Breaking a disguised block no longer overflows the stack.
- Blocks that register their own BlockItem subclass keep it, so their placement rules work again.
0.3.9Бетаb1.7.3 · 12 августа 2026 г.
Two StationAPI fixes.
- Breaking a disguised block no longer overflows the stack.
- Blocks that register their own BlockItem subclass keep it, so their placement rules work again.
0.3.8+babricБетаb1.7.3 · 10 августа 2026 г.
Minor bug fixes.
- Fixed a server-side crash.
- Networking patches.
- Custom world height now reaches the game's own block API, and blocks can have water flow around them.
- Block items can carry an icon of their own, and the break sound the widened block id was eating is back.
- Break sounds and debris now read the position before the record, so they play at the right place.
- Breaking speed works under StationAPI through its own hook, and the disguise path no longer relies on optional injections.
- Dropped item scale works under StationAPI.
0.3.8Бетаb1.7.3 · 10 августа 2026 г.
Minor bug fixes.
- Fixed a server-side crash.
- Networking patches.
- Custom world height now reaches the game's own block API, and blocks can have water flow around them.
- Block items can carry an icon of their own, and the break sound the widened block id was eating is back.
- Break sounds and debris now read the position before the record, so they play at the right place.
- Breaking speed works under StationAPI through its own hook, and the disguise path no longer relies on optional injections.
- Dropped item scale works under StationAPI.
Комментарии
Загружаем…