promotional bannermobile promotional banner

ReAnimated

Animates all UI in the game.
Back to Files

ReAnimated 1.6 (1.21.11 for Neoforge)

File namereanimated-1.6-MC1.21.11-neoforge.jar
Uploader
pycodderpycodder
Uploaded
Sep 15, 2026
Downloads
12
Size
219.4 KB
Mod Loaders
NeoForge
File ID
8886123
Type
R
Release
Supported game versions
  • 1.21.11

Curse Maven Snippet

NeoForge

implementation "curse.maven:reanimated-1590279:8886123"

Learn more about Curse Maven

What's new

ReAnimated 1.6 — NeoForge

The NeoForge line stays one release number behind Fabric (1.5.0 never shipped for it), so NeoForge 1.6 is the same update as Fabric 1.7 — feature for feature.

Three moments the mod never touched before: switching from one screen to another, tooltips and toasts. Plus settings for a single screen, so one menu can behave differently from all the rest.


🇬🇧 English

🔀 Screens hand over to each other

Vanilla swaps screens instantly: the main menu disappears, Settings appears. Now the screen you are leaving slides out to the side (and/or steps back), and the new one arrives from the opposite side. Going back plays it the other way round.

Direction comes from where you actually are: the mod keeps a short history of screens you opened, because Screen has no common "parent" field to read.

  • Styles: Slide sideways, Zoom, Slide + zoom, or No transition.
  • Speed, distance and trajectory are separate from the general animation. Out of the box: 3 ticks, 24 px, Out Cubic.
  • While a transition plays, the rest of the closing animation stays quiet — the preset, the button cascade and the background dimming. Otherwise walking through menus would cost the full close plus the transition, and you would see the unfinished reverse animation jump at the hand-off.
  • Where a transition deliberately never starts: containers, screens that appear while connecting to a world, and screens that clean up after themselves in close().
  • A safety limit ends any deferred change after 2.5 s, whatever the settings say.

📖 The recipe book grows out from under the panel

  • The recipe book grows out from under the panel. Vanilla pops it into place; now it scales up from the panel's left edge with a short sideways offset — both when you open it with the button and when a screen opens with the book already unfolded. It works in every screen that has one: inventory, crafting table, furnace, smoker, blast furnace. Duration, starting size, starting offset and curve live under Popup windows, and the whole thing can be switched off there.

💬 Tooltips grow in

A tooltip now eases out of the point it is attached to — the cursor — instead of blinking into place. The hook sits at the lowest point of tooltip drawing, so item tooltips, plain text and tooltips from other mods are all covered by it.

Because a tooltip is the result of drawing the current frame rather than an object with a lifecycle, "it just appeared" is worked out from gaps between frames: moving from one item to another lets the tooltip flow across, while a different number of lines restarts it.

Settings: on/off, duration (130 ms), start scale (0.92), start offset (5 px), trajectory.

🔔 Toasts slide on your curve

Advancements, recipes and system notifications already slide in — along a fixed curve over 600 ms. The mod does not add a timer of its own: it re-maps the same point on vanilla's timeline through the trajectory you pick, so the moment a toast appears and the moment it leaves stay exactly vanilla.

With Out Back (the default) a toast slides a touch past its resting place and comes back; the overshoot is capped. Duration is adjustable between 100 and 600 ms — longer is not possible, since vanilla's own timer is reused rather than replaced.

On 1.21.1 that curve is calculated fresh every frame instead of being stored, so the mod substitutes the value on the way out; the result is the same.

🎛️ Settings for a single screen

Any screen can get its own preset, its own speed, or no animation at all.

  • Screens are stored by class name and entries are created lazily — while a screen's values match the general ones, nothing is written to the config.
  • The list contains screens you have opened this session, plus any that already have settings: there is nowhere to get a list of every screen in a modpack in advance. Screens from mods are marked.
  • The editor is a paginated list: one button per screen cycling through as general → presets → off, and a second one for its speed. Open it from the General tab.

⚙️ Where the new settings live

Two new tabs in the mod's settings screen: Transitions and Popups. The layout logic is unchanged — one section at a time, the grid picked to fit the window down to 320×240.

🧩 An API for extensions

Other mods can now add their own opening animation, tell ReAnimated to leave a screen alone (or to animate it anyway), read where the interface is right now, and put their own button into the settings. The full guide with examples is in API.md.

  • Your own animation. An extension describes not frames but where the screen is at a given progress — offset and scale. It shows up in the settings as Extension animation, and the choice survives the extension being away: while its mod is missing, screens open with the default preset, and putting it back brings the animation back too.
  • A "should this screen animate" rule. For screens ReAnimated cannot know anything about: ones that draw their own animation, hold a framebuffer, break on a shifted matrix — or, the other way round, want to be animated even though the player turned modded screens off. The player's own per-screen setting still wins over any rule.
  • Live state and events. ReAnimatedApi.state() returns the current offset, scale and progress, so another mod's overlay can travel with the screen instead of beside it; open / close / finish events are there too.
  • A button in the settings, so an extension can host its own screen inside ReAnimated's.

com.pycodder.reanimated.api pulls in neither game nor loader classes, so the same calls work on Fabric, Quilt and NeoForge across every supported version. Extensions are isolated: an exception from someone else's code is logged and swallowed, rather than crashing the game or breaking the animation of every other screen.

🎬 Four more presets, three more curves

  • Slide down — the mirror of the default: the screen arrives from above.
  • Slide from left and Slide from right — sideways entrances, independent of the screen-to-screen transitions.
  • Pop — the screen jumps out of a point with a strong overshoot.
  • New trajectories: In-Out Cubic, Out Elastic (spring) and Out Bounce, available everywhere a trajectory is picked — menus, containers, the pause menu, transitions, tooltips, toasts, the logo, tabs and lists.

⚡ Less work per frame

  • List rows. In one of vanilla's signatures the row number isn't passed, so the mod looked it up by scanning the list — for every visible row, every frame, for as long as the screen stayed open. On the Mod Menu list that is hundreds of comparisons per row per frame long after the cascade has finished. The scan now happens only while the cascade is actually playing.
  • Screen properties — chat, vanilla or modded, pause menu, short-lived loading screen — were re-derived every frame by walking the class hierarchy and comparing names. They depend only on the class, so they are now worked out once per class and cached.
  • "Now" is read once per frame instead of dozens of times, which also makes every layer inside a frame exactly synchronised rather than a fraction of a millisecond apart.

🐞 Fixes

  • EMI's sidebar columns no longer come apart while a screen animates. For speed EMI bakes the item models of its side panels into one buffer and draws it straight through RenderSystem's model-view matrix — a different matrix from the one interface transforms live in, so the slot frames, the highlight and the panel background travelled with the screen while the models themselves stayed put, and the tooltip appeared where the item really was rather than where it was drawn. EMI already has an unbatched path that goes through the draw context and honours the matrix; for the length of the animation the mod switches it over to that one, and hands batching straight back when the screen settles.
  • The blur behind a container no longer travels with the panel. The background was put back in place by a counter-transform that repeated the screen's own maths in reverse, and on 1.21.6+ that copy had lost its horizontal term: the moment an animation gained a sideways component — a screen transition, a preset that slides in from the side — the blur slid along with the window. There is no counter-transform any more. The matrix is remembered at the start of the frame, before the screen is transformed, and the background simply gets it back: nothing to repeat, nothing to invert, nothing to get wrong.
  • A cancelled transition no longer hands its direction to an unrelated screen. Pressing Esc while a menu was on its way out left the direction hanging around, and the next screen you opened slid in from the side for no reason.
  • Clicking through menus faster than they animate no longer jumps. The unfinished entry animation is now carried into the outgoing motion and dissolves over the transition, instead of being cut off at whatever position it had reached.
  • An animation that disappears together with its extension falls back to the default preset instead of leaving the screen standing still.
  • Everything drawn as a "picture in picture" now travels with the panel. Since 1.21.6 the game draws such inserts through separate calls that take raw screen coordinates and ignore the interface matrix, while their clipping rectangle does follow it. Only the first of those calls — the inventory player model — was intercepted, so the book in the enchanting table, the banner in the loom, the sign in its editor and the skin preview in the settings stayed in place and got clipped in half while the panel travelled towards them. All six calls now go through the same matrix as the panel, position and size alike.
  • The recipe book now travels with the container panel. Vanilla draws the book inside the screen's own render pass, so it normally rides along — but interface mods can lift that drawing into a layer of their own with a clean matrix, and then the inventory slides away while the book stands still (which is exactly what a review of a 250-mod pack showed). The mod now notices an identity matrix where its own transform should have been and re-applies it; when the transform is already in place, or somebody else's is, nothing is touched.

Versions

There's a separate download for each Minecraft version. Jars are reanimated-1.6-MC<version>-neoforge.jar, built against Mojang official mappings — drop straight into mods/.

Minecraft 1.21.1, 1.21.3, 1.21.4, 1.21.5, 1.21.8, 1.21.10, 1.21.11
Loader NeoForge

Client-side only — not required on servers. Your config carries over untouched: the new keys (transition*, tooltip*, toast*, recipeBook*, screenOverrides) appear with their defaults on first launch, and the file is interchangeable with the Fabric builds through Export / Import.

Everything from 1.5 is unchanged: button press, the pause menu's own settings, config sharing, the background dim fade, animated lists, the settings screen layout, and the mod's button staying off Sodium's screen.

💬 What's planned in future updates:

    1. Add support for most mods
    1. Performance update
    1. Bug fixes.

🇷🇺 Русский

Линейка NeoForge отстаёт от Fabric на один номер (версия 1.5.0 для неё не выходила), поэтому NeoForge 1.6 — это то же обновление, что Fabric 1.7, возможность в возможность.

Три момента, которых мод раньше не касался: смена одного экрана другим, подсказки и уведомления. Плюс настройки для отдельного экрана — чтобы одно меню вело себя не так, как все остальные.

🔀 Экраны передают друг другу эстафету

Ваниль меняет экран мгновенно: главное меню исчезло, настройки появились. Теперь экран, из которого вы уходите, уезжает в сторону (и/или отступает вглубь), а новый приходит с противоположной. На возврате всё зеркально.

Направление берётся из того, где вы находитесь на самом деле: мод ведёт короткую историю открытых экранов — общего поля «родитель» у Screen нет.

  • Стили: сдвиг вбок, масштаб, сдвиг + масштаб или без перехода.
  • Скорость, дистанция и траектория отдельные от общей анимации. По умолчанию — 3 тика, 24 px, Out Cubic.
  • Пока играет переход, остальная анимация ухода молчит — пресет, каскад кнопок и затемнение фона. Иначе проход по меню стоил бы полной длительности закрытия плюс перехода, а на стыке был бы виден скачок недоигранной обратной анимации.
  • Где перехода намеренно не будет: контейнеры, экраны подключения к миру и экраны, которые прибираются за собой в close().
  • Страховка: отложенная смена в любом случае завершается через 2.5 с.

📖 Книга рецептов вырастает из-под панели

  • Окно книги рецептов вырастает из-под панели. Ваниль показывает его разом; теперь оно масштабируется от левого края панели с коротким сдвигом вбок — и когда книгу раскрывают кнопкой, и когда экран открылся с уже раскрытой книгой. Работает в каждом окне, где книга есть: инвентарь, верстак, печь, коптильня, плавильня. Длительность, стартовый размер, стартовый сдвиг и кривая — в разделе Всплывающие окна, там же анимация выключается целиком.

💬 Подсказки вырастают

Подсказка теперь плавно вырастает из точки, к которой привязана — из-под курсора, — а не возникает рывком. Хук стоит в самой нижней точке отрисовки подсказок, поэтому подсказки предметов, простой текст и подсказки из других модов покрыты одним хуком.

Подсказка — результат отрисовки текущего кадра, а не объект с жизненным циклом, поэтому «она только что появилась» определяется по разрывам между кадрами: переход с предмета на предмет даёт ей перетечь, а смена числа строк перезапускает анимацию.

Настройки: вкл/выкл, длительность (130 мс), начальный масштаб (0.92), начальный сдвиг (5 px), траектория.

🔔 Уведомления выезжают по вашей кривой

Достижения, рецепты и системные сообщения выезжают и в ванили — по жёсткой кривой за 600 мс. Мод не заводит своего таймера: он перекладывает ту же точку ванильного таймлайна на выбранную траекторию, поэтому момент появления и момент ухода остаются ванильными.

На Out Back (по умолчанию) уведомление чуть перелетает точку покоя и возвращается; перелёт ограничен. Длительность настраивается от 100 до 600 мс — дольше нельзя, ванильный таймер переиспользуется, а не подменяется.

На 1.21.1 эта доля не хранится, а считается каждый кадр заново, поэтому там мод подменяет значение на выходе — результат тот же.

🎛️ Настройки отдельного экрана

Любому экрану можно задать свой пресет, свою скорость или отсутствие анимации.

  • Экраны хранятся по имени класса, записи заводятся лениво — пока значения совпадают с общими, в конфиг ничего не пишется.
  • В списке — экраны, которые вы открывали в этом запуске, плюс те, для которых настройки уже заданы: перечислить все экраны сборки заранее неоткуда. Экраны из модов помечены.
  • Редактор — постраничный список: на каждый экран кнопка, перебирающая как общее → пресеты → выключено, и вторая кнопка для скорости. Открывается со вкладки Общее.

⚙️ Где лежат новые настройки

Две новые вкладки в экране настроек: Переходы и Всплывающее. Логика раскладки прежняя — одна секция за раз, сетка подбирается под размер окна вплоть до 320×240.

🧩 API для расширений

Другие моды теперь могут добавить свою анимацию появления, подсказать ReAnimated не трогать конкретный экран (или, наоборот, анимировать его), узнать, куда прямо сейчас сдвинут интерфейс, и повесить свою кнопку в настройки. Полное руководство с примерами — в API.md.

  • Своя анимация. Расширение описывает не кадры, а положение экрана в произвольный момент — сдвиг и масштаб. Она появляется в настройках строкой «Анимация расширения», а выбор переживает отсутствие расширения: пока его мода нет, экраны открываются пресетом по умолчанию, вернут мод — вернётся и анимация.
  • Правило «анимировать ли этот экран». Для экранов, о которых ReAnimated не может знать: они рисуют свою анимацию, держат кадровый буфер, ломаются от смещённой матрицы — или, наоборот, хотят анимироваться, хотя игрок отключил анимацию модовых экранов. Настройка конкретного экрана, сделанная игроком, всё равно сильнее любого правила.
  • Состояние и события. ReAnimatedApi.state() отдаёт текущий сдвиг, масштаб и прогресс — оверлей другого мода может ехать вместе с экраном, а не рядом с ним; события открытия, закрытия и завершения тоже есть.
  • Кнопка в настройках, чтобы расширение могло держать свой экран внутри настроек ReAnimated.

Пакет com.pycodder.reanimated.api не тянет за собой ни классов игры, ни классов загрузчика: одни и те же вызовы работают на Fabric, Quilt и NeoForge и на всех поддерживаемых версиях. Расширения изолированы: исключение из чужого кода логируется и гасится, а не роняет игру и не ломает анимацию остальных экранов.

🎬 Ещё четыре пресета и три кривые

  • Выезд сверху — зеркало обычного: экран приходит сверху.
  • Выезд слева и выезд справа — боковые появления, независимые от переходов между экранами.
  • Pop — экран выскакивает из точки с сильным отскоком.
  • Новые траектории: In-Out Cubic, Out Elastic (пружина) и Out Bounce. Доступны везде, где выбирается траектория, — меню, контейнеры, меню паузы, переходы, подсказки, уведомления, логотип, вкладки и списки.

⚡ Меньше работы на кадр

  • Строки списков. В одной из ванильных сигнатур номера строки нет, и мод искал его перебором по списку — для каждой видимой строки, каждый кадр, всё время, пока экран открыт. На списке модов это сотни сравнений на строку в кадре спустя долгое время после того, как каскад доиграл. Теперь перебор идёт только пока каскад действительно играет.
  • Свойства экрана — чат, ванильный или модовый, меню паузы, экран-«однодневка» — выяснялись каждый кадр обходом иерархии классов со сравнением имён. Они зависят только от класса, поэтому теперь считаются один раз на класс и кэшируются.
  • «Сейчас» читается один раз на кадр, а не десятки; заодно все слои внутри кадра считаются от одного момента, а не расползаются на доли миллисекунды.

🐞 Исправления

  • Колонки EMI больше не разъезжаются во время анимации экрана. Ради скорости EMI запекает модели предметов боковых панелей в один буфер и рисует его напрямую матрицей RenderSystem — а это другая матрица, не та, в которой живут трансформации интерфейса. Из-за этого рамки слотов, подсветка и фон панели ехали вместе с экраном, а сами модели оставались стоять, и подсказка появлялась там, где предмет на самом деле, а не там, где он нарисован. Непакетный путь у EMI уже есть — он рисует через контекст отрисовки и матрицу учитывает; на время анимации мод переключает EMI на него и возвращает пакетную отрисовку, как только экран встал на место.
  • Блюр за панелью контейнера больше не уезжает вместе с ней. Фон возвращали на место встречной трансформацией, которая повторяла математику экрана в обратном порядке, — и на 1.21.6+ в этой копии потерялся горизонтальный сдвиг: как только у анимации появлялась составляющая вбок (переход между экранами, пресет со сдвигом), блюр ехал вместе с окном. Встречной трансформации больше нет вовсе: матрица запоминается в начале кадра, до трансформации экрана, и фон просто получает её обратно — повторять и обращать нечего, ошибиться негде.
  • Отменённый переход больше не передаёт направление постороннему экрану. Если нажать Esc, пока меню уезжало, направление оставалось висеть, и следующий открытый экран без причины въезжал сбоку.
  • Быстрые клики по меню больше не дают скачка. Недоигранная анимация входа теперь подхватывается уходом и плавно рассасывается за время перехода, а не обрывается на той точке, где её застали.
  • Анимация, исчезнувшая вместе с расширением, откатывается к пресету по умолчанию, а не оставляет экран стоять на месте.
  • Всё, что рисуется «картинкой в картинке», едет вместе с панелью. С 1.21.6 игра рисует такие вставки отдельными вызовами, которые принимают сырые экранные координаты и игнорируют матрицу интерфейса, а вот обрезку по матрице прогоняют. Перехвачен был только первый такой вызов — модель игрока в инвентаре, — поэтому книга в столе зачарований, знамя в ткацком станке, табличка в редакторе и превью скина в настройках оставались стоять на месте и обрезались наполовину, пока панель до них ехала. Теперь через ту же матрицу, что и панель, проходят все шесть вызовов — и положение, и размер.
  • Книга рецептов едет вместе с панелью контейнера. Ваниль рисует её внутри отрисовки экрана, то есть под общим трансформом, — но моды на интерфейс умеют выносить эту отрисовку в свой слой с чистой матрицей, и тогда инвентарь уезжает, а книга остаётся стоять (ровно это видно в обзоре сборки на 250+ модов). Теперь мод замечает единичную матрицу там, где должен был лежать его трансформ, и накладывает его сам; если трансформ на месте или его подменил другой мод, ничего не трогается.

Версии

Для каждой версии Minecraft — свой файл. Файлы называются reanimated-1.6-MC<версия>-neoforge.jar, собраны под официальные маппинги Mojang — кладите прямо в mods/.

Minecraft 1.21.1, 1.21.3, 1.21.4, 1.21.5, 1.21.8, 1.21.10, 1.21.11
Загрузчик NeoForge

Мод клиентский, на сервере не нужен. Конфиг переносится как есть — новые ключи (transition*, tooltip*, toast*, recipeBook*, screenOverrides) при первом запуске получают значения по умолчанию, а сам файл взаимозаменяем со сборками Fabric через Копировать / Вставить.

Всё из 1.5 на месте: нажатие кнопок, свои настройки меню паузы, обмен конфигом, плавное затемнение фона, анимация списков, раскладка экрана настроек и кнопка мода, не наезжающая на экран Sodium.

💬 Что запланировано в следующих обновлениях:

    1. Добавление поддержки кучи модов
    1. Улучшение производительности
    1. Фикс багов

This mod has no additional files