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

RetroAPI 0.3.1 для Minecraft b1.7.3 (Ornithe)

Бета26 июля 2026Minecraft b1.7.3Ornithe10 скачиваний на Modrinth
Это не последняя версия. Последняя для b1.7.3 · Ornithe — 0.4.1Открыть 0.4.1 →
Тестовая версия — возможны ошибки.

Файлы · 1

retroapi-0.3.1.jarОсновной1,38 МБСкачать
Основной · 1,38 МБ
SHA-1fa13a57f41b4bd831010b1b9b1a56c380bdb5e24SHA-512b9f18fb630a96efc4dc3db8d1476f5346badeeb8d910157bb6e7a397cd0a61869438db8fbc83a6fd6a5df46aa18afb94dfd58493789c594c839f85a41250fdbf
Скачать

Что изменилось

Crash fixes, and a suite that catches them.

0.3.0 shipped two crashes that nothing in the build could see. Update if you are on 0.3.0.

  • Fixed: the client crashed on launch. WorldRendererParticleMixin shadowed a field named minecraft; the field in WorldRenderer is client. A @Shadow is not checked at compile time — it is checked the moment the game loads the target class, and WorldRenderer is built during Minecraft.init(), so every client died at startup with InvalidMixinException: @Shadow field minecraft was not located.
  • Fixed: tags that reference other tags crashed with a StackOverflowError. Resolving a #namespace:tag entry called the public blocksIn/itemsIn, which re-enter the tag cache — and the cache is not populated until resolution finishes, so resolution restarted from the top and recursed until the stack died. Any pack whose tag files reference each other hit it. The resolver now reads code-registered membership straight from its own map.
  • Changed: contextual tool tiers receive the player — .tier((stack, block, player) -> ...), where the old form took (stack, block). The documentation always advertised "a tool that is weaker in the nether", but the lambda had no way to reach a world, so it could not actually be written. The player carries one, and both harvest hooks already had it. It is null only when a tier is asked for outside a harvest; RetroToolTier.of(stack, block) still exists and passes null.
  • New launch smoke suite: ./gradlew smokeTest (clientSmokeTest, serverSmokeTest, and both again under -Pstationapi). Each one boots the game, reads RetroAPI's mixin configs, and force-loads every class RetroAPI mixes into with initialize = false — so every mixin is applied and every injector runs, in one pass, in seconds. Mixin only validates a mixin when the game happens to load its target, which is exactly why a broken @Shadow on a render class can ship: nothing in a build, and nothing in a data-level test, ever loads it. The client run also asserts the particle registry resolves and that the world-renderer hook is present in the class. The server half runs in CI; the client half needs a display.
  • The test mod now registers a particle and ships tag files that reference other tags, so both crashes are covered by a test that would have caught them.

Full feature set: https://matthewperiut.github.io/retroapi/features-0.3.0.html

Built and validated with -Pstationapi on Ornithe (b1.7.3): all four smoke suites pass (client 56/65 and server 45/45 mixin targets applied, 60/69 and 47/47 with StationAPI), plus the headless populate self-check and the vanilla↔StationAPI conversion round-trip.

Зависимости этой версии

Ornithe Standard Librariesобязательная · 0.22.2 для b1.7.3Скачать для b1.7.3 · Ornithe

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее