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

Polymorphic Refined Storage

Polymorph recipe selection button directly into Refined Storage 2 Crafting Grids and Pattern Grids.

Загрузки
2K
Подписчики
2
Обновлён
29 июня 2026 г.
Лицензия
GPL-3.0-only

Опубликован 3 июня 2026 г.

🔧 RS POLYMORPH — RECIPE CHOICE FOR REFINED STORAGE 🔧

⚡ Pick the recipe you actually want ⚡

A standalone recipe selector for Refined Storage — no Polymorph required.

 

Author   Discord   Website   GitHub

 

MC 1.21.1    MC 26.1.2    NeoForge    Fabric    RS 2 & 3    Standalone    LGPL-3.0    EN / FR

 

Stable v1.2.0

[EN] Free & Open Source

RS Polymorph is licensed under LGPL-3.0-or-later. You are free to use, study, modify, fork and redistribute it, including for commercial purposes, as long as derivative works credit vyrriox / Team Arcadia and link back to the upstream repository.

[FR] Libre & Open Source

RS Polymorph est sous licence LGPL-3.0-or-later. Vous êtes libre de l'utiliser, l'étudier, le modifier, le forker et le redistribuer, y compris à des fins commerciales, à condition que les travaux dérivés créditent vyrriox / Team Arcadia et pointent vers le dépôt d'origine.

 

🔌 PLUG-AND-PLAY ADDON

Drop it in your mods/ folder next to Refined Storage — no Polymorph, no configuration, no commands, no extra blocks or items to learn. A recipe-selection button just appears on RS grid screens whenever multiple recipes share your ingredients.

Fabric & NeoForge.Minecraft 1.21.1 & 26.1.2.Singleplayer & dedicated servers — server-safe by design, no client-only class leaks into common code.

🔌 ADDON PRÊT À L'EMPLOI

Posez le jar dans votre dossier mods/ à côté de Refined Storage — sans Polymorph, sans config, sans commande, aucun bloc ou item à apprendre. Un bouton de sélection de recette apparaît sur les écrans de grille RS dès que plusieurs recettes partagent vos ingrédients.

Fabric & NeoForge.Minecraft 1.21.1 & 26.1.2.Solo & serveur dédié — sûr côté serveur par design, aucune classe client ne fuit dans le code commun.

 


🇺🇸 Description (English) 🇺🇸

🌟 Stop letting Refined Storage pick the wrong recipe for you. 🌟

 

🤔 Why RS Polymorph?

🧩 Fully Standalone
RS Polymorph no longer depends on Polymorph. The selection button, the recipe popup and the per-grid persistence are all built in. A true Refined Storage add-on that works everywhere RS works.

🌍 Two MC Lines, Two Loaders
One project, ready for Minecraft 1.21.1 (NeoForge & Fabric) and Minecraft 26.1.2 (NeoForge), against Refined Storage 2 and 3. Grab the jar that matches your setup.

🛠️ Crafting Grid
The recipe button works on the RS Crafting Grid. When several recipes match your ingredients (e.g. planks → sticks vs. a variant), pick the exact one you want before crafting.

📜 Pattern Grid
Same workflow on the Pattern Grid. Your selection is stamped onto the printed pattern via a custom data component, so autocrafting always resolves the recipe you actually chose.

🎨 Redesigned Selector
A clean, native-looking popup: titled header, inset slot frames, a gold highlight on the recipe currently produced, on-screen clamping, and a single readable recipe name on hover.

🎓 First-Time Tutorial
The very first time you open an RS grid, a one-time card explains the feature in your language. Dismiss it with a click — it never nags you again.

🎯 Live Preview
The grid's output preview updates immediately when you pick a different recipe. No need to print, craft or refresh — what you see is what you get.

🔄 Smart Visibility
The button only appears when a recipe conflict actually exists. Empty matrix or single-recipe input → button stays hidden. Zero visual clutter.

🛡️ Server-Safe & Audited
Built without client-only leaks into common code, with a multi-dimensional audit (bugs, performance, server safety, visuals, accessibility) kept green. Defense in depth.

🌐 100% Bilingual EN/FR
Every user-facing string is translated. English and French lang files ship in the jar.

 

🎮 How to Use

It really is this simple:

1️⃣ Open any RS Crafting Grid or Pattern Grid screen.

2️⃣ Place ingredients that match multiple recipes.

3️⃣ Click the recipe-selection button next to the grid.

4️⃣ Pick your preferred output from the popup. Done — it's remembered per grid.

 


📦 Requirements

Minecraft Loader Java Refined Storage
1.21.1 NeoForge 21.1.219+  /  Fabric 21 RS 2 (≥ 2.0.8)
26.1.2 NeoForge 26.1.2.73+ 25 RS 3 (≥ 3.2.0)

 

Refined Storage is the only dependency. No Polymorph needed. Download the jar that matches your Minecraft version and loader.

 


🐛 Bug Reports & Support

Found a crash or unexpected behavior? We'd love to hear about it.

Report a bug   Discord

Please include your full crash log, the versions of RS Polymorph, Refined Storage, your loader (NeoForge/Fabric) and Minecraft, and clear steps to reproduce.

 


🤝 Contribute

RS Polymorph is fully open source under LGPL-3.0-or-later. Pull requests welcome.

Star on GitHub   Contributing   Changelog

 


🤝 Official Hosting Partner

Want to run your own modded server with RS Polymorph and Refined Storage? Our official US/international partner offers high-performance Minecraft hosting optimized for modpacks.

 

WabbaNode — Official Hosting Partner

 

Host with WabbaNode

 


 

🇫🇷 Description (Français) 🇫🇷

🌟 Arrêtez de laisser Refined Storage choisir la mauvaise recette à votre place. 🌟

 

🤔 Pourquoi RS Polymorph ?

🧩 Entièrement Autonome
RS Polymorph ne dépend plus de Polymorph. Le bouton de sélection, le popup de recette et la persistance par grille sont tous intégrés. Un véritable add-on Refined Storage qui fonctionne partout où RS fonctionne.

🌍 Deux Lignes MC, Deux Loaders
Un seul projet, prêt pour Minecraft 1.21.1 (NeoForge & Fabric) et Minecraft 26.1.2 (NeoForge), avec Refined Storage 2 et 3. Prenez le jar adapté à votre installation.

🛠️ Grille de Fabrication
Le bouton de recette fonctionne sur la Grille de Fabrication de RS. Quand plusieurs recettes correspondent à vos ingrédients (planches → bâtons vs. variante, par ex.), choisissez celle que vous voulez avant de crafter.

📜 Grille de Patrons
Même workflow sur la Grille de Patrons. Votre sélection est marquée sur le patron imprimé via un data component custom, donc l'autocraft résout toujours la recette que vous avez réellement choisie.

🎨 Sélecteur Redesigné
Un popup épuré, d'aspect natif : en-tête titré, slots en relief, surbrillance dorée sur la recette produite, calage à l'écran, et un seul nom de recette lisible au survol.

🎓 Tutoriel au Premier Lancement
La toute première fois que vous ouvrez une grille RS, une carte unique explique la fonctionnalité dans votre langue. Fermez-la d'un clic — elle ne réapparaît plus jamais.

🎯 Aperçu en Direct
L'aperçu de sortie de la grille se met à jour immédiatement quand vous choisissez une autre recette. Pas besoin d'imprimer, de crafter ou de rafraîchir — ce que vous voyez est ce que vous obtenez.

🔄 Visibilité Intelligente
Le bouton n'apparaît que lorsqu'un conflit de recettes existe réellement. Matrice vide ou input à une seule recette → bouton caché. Zéro encombrement visuel.

🛡️ Sûr Côté Serveur & Audité
Conçu sans fuite de classe client dans le code commun, avec un audit multi-dimensionnel (bugs, performance, sûreté serveur, visuel, accessibilité) maintenu au vert. Défense en profondeur.

🌐 100% Bilingue EN/FR
Chaque texte visible par l'utilisateur est traduit. Les fichiers de langue anglais et français sont inclus dans le jar.

 

🎮 Comment l'utiliser

C'est vraiment aussi simple que ça :

1️⃣ Ouvrez une Grille de Fabrication ou Grille de Patrons RS.

2️⃣ Placez des ingrédients qui correspondent à plusieurs recettes.

3️⃣ Cliquez sur le bouton de sélection de recette à côté de la grille.

4️⃣ Choisissez votre recette préférée dans le popup. Terminé — c'est mémorisé par grille.

 


📦 Prérequis

Minecraft Loader Java Refined Storage
1.21.1 NeoForge 21.1.219+  /  Fabric 21 RS 2 (≥ 2.0.8)
26.1.2 NeoForge 26.1.2.73+ 25 RS 3 (≥ 3.2.0)

 

Refined Storage est la seule dépendance. Pas besoin de Polymorph. Téléchargez le jar correspondant à votre version de Minecraft et à votre loader.

 


🐛 Bugs & Support

Vous avez un crash ou un comportement inattendu ? On veut bien le savoir.

Signaler un bug   Discord

Merci d'inclure votre log de crash complet, les versions de RS Polymorph, Refined Storage, votre loader (NeoForge/Fabric) et Minecraft, ainsi que des étapes claires pour reproduire.

 


🤝 Contribuer

RS Polymorph est entièrement open source sous LGPL-3.0-or-later. Les pull requests sont les bienvenues.

Star sur GitHub   Contribution   Changelog

 


🤝 Hébergeur Officiel Partenaire

Vous souhaitez héberger votre propre serveur moddé avec RS Polymorph et Refined Storage ? Notre partenaire officiel français propose un hébergement Minecraft haute performance optimisé pour les modpacks.

 

LordHosting — Hébergeur Officiel Partenaire

 

Héberger avec LordHosting

 


🌟 PLAY ARCADIA V2 — ECHOES OF POWER 🌟

⚡ Where Magic Meets Machinery ⚡

The flagship modpack RS Polymorph was built for — and ships in by default.

 

Arcadia V2 — Echoes of Power

 

490+ mods    3000+ quests    5 live servers    EN / FR    Playtime

 

🔗 True Cross-Mod Progression
Tech and magic don't live in separate silos. Late-game crafts need both ecosystems. 4 custom bridge items (Arcane Circuit, Ethereal Alloy, Industrial Heart, Rune Matrix) tie everything together.

🌐 100% Bilingual EN/FR
25,000+ translation entries across the entire pack. Quests, items, custom UIs — fully translated. Zero franglais.

🎮 Curated Server Experience
In-house mods built for Arcadia: Arcadia Pets (collectibles + PvP duels + ELO ladder), Arcadia Guard moderation, Prestige progression, Heart of Arcadia. Not mods bolted together — a tailored ecosystem.

📜 3,000+ Quest-Guided Journey
31 chapters of FTB Quests covering every mod's progression path. Whether you're fresh or a 1000-hour veteran, you always know what to do next.

 

🎮 JOIN THE ADVENTURE — 490 MODS, ONE EPIC JOURNEY 🎮

Play Arcadia V2   Join Discord   Website   Wiki

 

🇫🇷 Découvrez Arcadia V2 : Echoes of Power
Le modpack phare pour lequel RS Polymorph a été conçu — et qui l'inclut par défaut. 490+ mods, 3 000+ quêtes, 5 serveurs actifs, 100 % bilingue EN/FR. Industrie + Magie + Exploration, comptez 150 à 300 heures pour atteindre l'endgame.

 


❤️ Support the Project / Soutenir le Projet

Your support helps us keep Arcadia alive and evolving!
Votre soutien nous aide à faire vivre et évoluer Arcadia !

Donate   Partners

 

© 2026 RS Polymorph | Created by vyrriox / Team Arcadia | LGPL-3.0-or-later | Not an official Minecraft product. Not approved by or associated with Mojang or Microsoft. Refined Storage is © refinedmods. Originally derived from Polymorph (© Illusive Soulworks, LGPL-3.0).

Ченджлог

1.2.2Релиз26.1.2 · 29 июня 2026 г.

[1.2.2] - 2026-06-29

Added

  • Non-unique craft warning on the recipe button (issue #3) — When the open grid currently matches more than one recipe, the recipe-selection side button now flags it so the choice is never missed and the wrong item is not crafted by accident. It uses Refined Storage's native warning idiom — a red warning icon drawn on the button plus a red explanatory line appended to its tooltip — and additionally pulses a soft gold halo around the button to draw the eye to it (players reported not noticing the button at all). The pulse stops once the popup is open. The indicator clears automatically when the craft becomes unique. Implemented on all three jars (1.21.1 Fabric/NeoForge, 26.1.2 NeoForge).

Removed

  • Debug "Test Stick" items — The two development-only items (test_stick_1 / test_stick_2), which existed only to demonstrate the multi-recipe case, were removed from the released mod: their registration (both loaders, both MC lines), creative-tab entries, recipes, models, textures, and lang strings are gone. Real packs already provide genuine non-unique crafts, so the debug items served no purpose in a release build.

Ajouts

  • Avertissement de craft non unique sur le bouton de recette (issue #3) — Quand la grille ouverte correspond à plusieurs recettes, le bouton latéral de sélection le signale désormais pour que le choix ne soit jamais manqué et qu'un mauvais objet ne soit pas crafté par accident. Il reprend l'idiome d'avertissement natif de Refined Storage — une icône d'avertissement rouge dessinée sur le bouton plus une ligne rouge explicative ajoutée à son infobulle — et fait en plus pulser un léger halo doré autour du bouton pour attirer l'œil (des joueurs signalaient ne pas remarquer le bouton du tout). La pulsation s'arrête dès que le popup est ouvert. L'indicateur disparaît automatiquement quand le craft redevient unique. Implémenté sur les trois jars (1.21.1 Fabric/NeoForge, 26.1.2 NeoForge).

Suppressions

  • Objets de débogage « Bâton de test » — Les deux objets réservés au développement (test_stick_1 / test_stick_2), qui n'existaient que pour illustrer le cas multi-recettes, ont été retirés du mod publié : leur enregistrement (deux loaders, deux lignes MC), leurs entrées dans l'onglet créatif, leurs recettes, modèles, textures et chaînes de traduction ont disparu. Les packs réels fournissent déjà de vrais crafts non uniques, ces objets de débogage n'avaient donc aucune utilité dans un build de publication.
1.2.2Релиз1.21.1 · 29 июня 2026 г.

[1.2.2] - 2026-06-29

Added

  • Non-unique craft warning on the recipe button (issue #3) — When the open grid currently matches more than one recipe, the recipe-selection side button now flags it so the choice is never missed and the wrong item is not crafted by accident. It uses Refined Storage's native warning idiom — a red warning icon drawn on the button plus a red explanatory line appended to its tooltip — and additionally pulses a soft gold halo around the button to draw the eye to it (players reported not noticing the button at all). The pulse stops once the popup is open. The indicator clears automatically when the craft becomes unique. Implemented on all three jars (1.21.1 Fabric/NeoForge, 26.1.2 NeoForge).

Removed

  • Debug "Test Stick" items — The two development-only items (test_stick_1 / test_stick_2), which existed only to demonstrate the multi-recipe case, were removed from the released mod: their registration (both loaders, both MC lines), creative-tab entries, recipes, models, textures, and lang strings are gone. Real packs already provide genuine non-unique crafts, so the debug items served no purpose in a release build.

Ajouts

  • Avertissement de craft non unique sur le bouton de recette (issue #3) — Quand la grille ouverte correspond à plusieurs recettes, le bouton latéral de sélection le signale désormais pour que le choix ne soit jamais manqué et qu'un mauvais objet ne soit pas crafté par accident. Il reprend l'idiome d'avertissement natif de Refined Storage — une icône d'avertissement rouge dessinée sur le bouton plus une ligne rouge explicative ajoutée à son infobulle — et fait en plus pulser un léger halo doré autour du bouton pour attirer l'œil (des joueurs signalaient ne pas remarquer le bouton du tout). La pulsation s'arrête dès que le popup est ouvert. L'indicateur disparaît automatiquement quand le craft redevient unique. Implémenté sur les trois jars (1.21.1 Fabric/NeoForge, 26.1.2 NeoForge).

Suppressions

  • Objets de débogage « Bâton de test » — Les deux objets réservés au développement (test_stick_1 / test_stick_2), qui n'existaient que pour illustrer le cas multi-recettes, ont été retirés du mod publié : leur enregistrement (deux loaders, deux lignes MC), leurs entrées dans l'onglet créatif, leurs recettes, modèles, textures et chaînes de traduction ont disparu. Les packs réels fournissent déjà de vrais crafts non uniques, ces objets de débogage n'avaient donc aucune utilité dans un build de publication.
1.2.2Релиз1.21.1 · 29 июня 2026 г.

[1.2.2] - 2026-06-29

Added

  • Non-unique craft warning on the recipe button (issue #3) — When the open grid currently matches more than one recipe, the recipe-selection side button now flags it so the choice is never missed and the wrong item is not crafted by accident. It uses Refined Storage's native warning idiom — a red warning icon drawn on the button plus a red explanatory line appended to its tooltip — and additionally pulses a soft gold halo around the button to draw the eye to it (players reported not noticing the button at all). The pulse stops once the popup is open. The indicator clears automatically when the craft becomes unique. Implemented on all three jars (1.21.1 Fabric/NeoForge, 26.1.2 NeoForge).

Removed

  • Debug "Test Stick" items — The two development-only items (test_stick_1 / test_stick_2), which existed only to demonstrate the multi-recipe case, were removed from the released mod: their registration (both loaders, both MC lines), creative-tab entries, recipes, models, textures, and lang strings are gone. Real packs already provide genuine non-unique crafts, so the debug items served no purpose in a release build.

Ajouts

  • Avertissement de craft non unique sur le bouton de recette (issue #3) — Quand la grille ouverte correspond à plusieurs recettes, le bouton latéral de sélection le signale désormais pour que le choix ne soit jamais manqué et qu'un mauvais objet ne soit pas crafté par accident. Il reprend l'idiome d'avertissement natif de Refined Storage — une icône d'avertissement rouge dessinée sur le bouton plus une ligne rouge explicative ajoutée à son infobulle — et fait en plus pulser un léger halo doré autour du bouton pour attirer l'œil (des joueurs signalaient ne pas remarquer le bouton du tout). La pulsation s'arrête dès que le popup est ouvert. L'indicateur disparaît automatiquement quand le craft redevient unique. Implémenté sur les trois jars (1.21.1 Fabric/NeoForge, 26.1.2 NeoForge).

Suppressions

  • Objets de débogage « Bâton de test » — Les deux objets réservés au développement (test_stick_1 / test_stick_2), qui n'existaient que pour illustrer le cas multi-recettes, ont été retirés du mod publié : leur enregistrement (deux loaders, deux lignes MC), leurs entrées dans l'onglet créatif, leurs recettes, modèles, textures et chaînes de traduction ont disparu. Les packs réels fournissent déjà de vrais crafts non uniques, ces objets de débogage n'avaient donc aucune utilité dans un build de publication.
1.2.1Релиз1.21.1 · 14 июня 2026 г.

[1.2.1] - 2026-06-14

Fixed

  • Recipe-selection popup drawn under the grid items (z-order) — The recipe-selection popup rendered behind the crafting-grid item icons, so the grid items showed through it and the recipe icons could not be read or clicked. Cause: Minecraft renders all GUI item icons on a fixed high depth layer (renderItem translates to Z=232 on 1.21.1; the carried-item / tooltip phases composite on later strata on 26.x), so even though the popup was drawn at the screen's render tail its flat background sat below the items. On 1.21.1 the whole popup (and the first-open tutorial card) is now drawn inside a pose pushed to Z=400, above the item layer. On 26.1.2 the popup render was moved off RS's extractContents (the first of four extract phases) onto vanilla AbstractContainerScreen.extractRenderState at RETURN — the only point that runs after extractContentsextractCarriedItemextractSnapbackItemextractTooltip — via a new MixinScreenPopupRender, so the popup composites on the topmost stratum. The recipe popup is now fully on top and selectable on all three jars.

Ajouts / Correctifs / Modifications / Performance (French mirror)

Correctifs

  • Popup de sélection de recette affichée sous les items de la grille (ordre de profondeur) — La popup de sélection s'affichait derrière les icônes d'items de la grille de craft : les items transparaissaient par-dessus et les icônes de recette étaient illisibles et incliquables. Cause : Minecraft rend toutes les icônes d'items de GUI sur une couche de profondeur élevée fixe (renderItem translate en Z=232 sur 1.21.1 ; les phases item-porté / infobulle se composent sur des strates ultérieures en 26.x), donc même dessinée en fin de rendu, le fond plat de la popup restait sous les items. Sur 1.21.1, toute la popup (et la carte de tutoriel de première ouverture) est désormais dessinée dans une pose poussée à Z=400, au-dessus de la couche des items. Sur 26.1.2, le rendu de la popup a été déplacé de extractContents de RS (la première des quatre phases d'extraction) vers AbstractContainerScreen.extractRenderState vanilla en RETURN — le seul point exécuté après extractContentsextractCarriedItemextractSnapbackItemextractTooltip — via un nouveau MixinScreenPopupRender, pour que la popup se compose sur la strate la plus haute. La popup de recette est maintenant entièrement au premier plan et sélectionnable sur les trois jars.
1.2.1Релиз1.21.1 · 14 июня 2026 г.

[1.2.1] - 2026-06-14

Fixed

  • Recipe-selection popup drawn under the grid items (z-order) — The recipe-selection popup rendered behind the crafting-grid item icons, so the grid items showed through it and the recipe icons could not be read or clicked. Cause: Minecraft renders all GUI item icons on a fixed high depth layer (renderItem translates to Z=232 on 1.21.1; the carried-item / tooltip phases composite on later strata on 26.x), so even though the popup was drawn at the screen's render tail its flat background sat below the items. On 1.21.1 the whole popup (and the first-open tutorial card) is now drawn inside a pose pushed to Z=400, above the item layer. On 26.1.2 the popup render was moved off RS's extractContents (the first of four extract phases) onto vanilla AbstractContainerScreen.extractRenderState at RETURN — the only point that runs after extractContentsextractCarriedItemextractSnapbackItemextractTooltip — via a new MixinScreenPopupRender, so the popup composites on the topmost stratum. The recipe popup is now fully on top and selectable on all three jars.

Ajouts / Correctifs / Modifications / Performance (French mirror)

Correctifs

  • Popup de sélection de recette affichée sous les items de la grille (ordre de profondeur) — La popup de sélection s'affichait derrière les icônes d'items de la grille de craft : les items transparaissaient par-dessus et les icônes de recette étaient illisibles et incliquables. Cause : Minecraft rend toutes les icônes d'items de GUI sur une couche de profondeur élevée fixe (renderItem translate en Z=232 sur 1.21.1 ; les phases item-porté / infobulle se composent sur des strates ultérieures en 26.x), donc même dessinée en fin de rendu, le fond plat de la popup restait sous les items. Sur 1.21.1, toute la popup (et la carte de tutoriel de première ouverture) est désormais dessinée dans une pose poussée à Z=400, au-dessus de la couche des items. Sur 26.1.2, le rendu de la popup a été déplacé de extractContents de RS (la première des quatre phases d'extraction) vers AbstractContainerScreen.extractRenderState vanilla en RETURN — le seul point exécuté après extractContentsextractCarriedItemextractSnapbackItemextractTooltip — via un nouveau MixinScreenPopupRender, pour que la popup se compose sur la strate la plus haute. La popup de recette est maintenant entièrement au premier plan et sélectionnable sur les trois jars.
1.2.1Релиз26.1.2 · 14 июня 2026 г.

[1.2.1] - 2026-06-14

Fixed

  • Recipe-selection popup drawn under the grid items (z-order) — The recipe-selection popup rendered behind the crafting-grid item icons, so the grid items showed through it and the recipe icons could not be read or clicked. Cause: Minecraft renders all GUI item icons on a fixed high depth layer (renderItem translates to Z=232 on 1.21.1; the carried-item / tooltip phases composite on later strata on 26.x), so even though the popup was drawn at the screen's render tail its flat background sat below the items. On 1.21.1 the whole popup (and the first-open tutorial card) is now drawn inside a pose pushed to Z=400, above the item layer. On 26.1.2 the popup render was moved off RS's extractContents (the first of four extract phases) onto vanilla AbstractContainerScreen.extractRenderState at RETURN — the only point that runs after extractContentsextractCarriedItemextractSnapbackItemextractTooltip — via a new MixinScreenPopupRender, so the popup composites on the topmost stratum. The recipe popup is now fully on top and selectable on all three jars.

Ajouts / Correctifs / Modifications / Performance (French mirror)

Correctifs

  • Popup de sélection de recette affichée sous les items de la grille (ordre de profondeur) — La popup de sélection s'affichait derrière les icônes d'items de la grille de craft : les items transparaissaient par-dessus et les icônes de recette étaient illisibles et incliquables. Cause : Minecraft rend toutes les icônes d'items de GUI sur une couche de profondeur élevée fixe (renderItem translate en Z=232 sur 1.21.1 ; les phases item-porté / infobulle se composent sur des strates ultérieures en 26.x), donc même dessinée en fin de rendu, le fond plat de la popup restait sous les items. Sur 1.21.1, toute la popup (et la carte de tutoriel de première ouverture) est désormais dessinée dans une pose poussée à Z=400, au-dessus de la couche des items. Sur 26.1.2, le rendu de la popup a été déplacé de extractContents de RS (la première des quatre phases d'extraction) vers AbstractContainerScreen.extractRenderState vanilla en RETURN — le seul point exécuté après extractContentsextractCarriedItemextractSnapbackItemextractTooltip — via un nouveau MixinScreenPopupRender, pour que la popup se compose sur la strate la plus haute. La popup de recette est maintenant entièrement au premier plan et sélectionnable sur les trois jars.
1.2.0Релиз1.21.1 · 6 июня 2026 г.

[1.2.0] - 2026-06-05

Added

  • Standalone — no Polymorph dependency — RS Polymorph no longer requires the Polymorph mod. The recipe-selection UI (side button + popup) and the per-grid selection persistence are now provided entirely by RS Polymorph itself. The side button is the native Refined Storage AbstractSideButtonWidget; the popup is a self-contained RecipeSelectorPopup (own item-grid widget + render/click mixin on the grid screen); the per-grid choice is persisted on the grid block entity via loader Data Attachments (NeoForge AttachmentType / Fabric persistent attachment) behind a Services.GRID_STORE abstraction. The printed-pattern tag stays a vanilla DataComponentType. The Polymorph-only classes (RsGridRecipeData, MixinSelectionWidget, MixinRecipeManagerSafety) were removed. Result: a true Refined Storage add-on that works everywhere RS does, with no third-party recipe-selection dependency.
  • Minecraft 26.1.2 / Refined Storage 3.2.0 (NeoForge) — A parallel build targets the new Minecraft 26.1.2 (year-based versioning, Java 25) against Refined Storage 3.2.0, sharing the 1.21.1 codebase. RS 3.x kept the same com.refinedmods.refinedstorage.common.* structure, so the mixins carry over; the few MC 26.x renames (ResourceLocationIdentifier, GuiGraphicsGuiGraphicsExtractor) are applied by a build-time source remap, and the handful of files touching the reworked recipe API (server.getRecipeManager()/RS3 RecipeProvider, single-arg assemble, RecipeHolder.id() now a ResourceKey) and the new two-phase GUI render pipeline (extractRenderState/extractContents) are forked under common-261. MixinPatternResolver is re-targeted with @WrapOperation onto RS3's Platform.getClientRecipeProvider().getRecipesFor(...). Build with Gradle on JDK 25: ./gradlew :neoforge-261:build -Dorg.gradle.java.home=<jdk25>.
  • Fabric support — one mod, two loaders — RS Polymorph now ships for Fabric in addition to NeoForge, both for Minecraft 1.21.1. The project was restructured into a MultiLoader layout (common + neoforge + fabric): all gameplay logic and every mixin live in common and are shared verbatim by both loaders. Because the mixins target Refined Storage 2 and Polymorph classes (never Minecraft) with remap=false, and both RS2 and Polymorph ship their public surface in a shared cross-loader module, the injection logic resolves byte-for-byte identically on NeoForge and Fabric with no per-loader rewrite.
  • Loader-agnostic core — Introduced a small platform abstraction so common never references a loader API: Services/NetworkPlatform resolve the active loader's networking via ServiceLoader, the selected_recipe data component is registered by each loader and injected into the shared core, and SelectRecipePacket exposes a pure applyOnServer(ServerPlayer, ResourceLocation) that each loader drives from its own packet receiver (NeoForge IPayloadContext, Fabric ServerPlayNetworking).
  • Combined single jar (optional) — In addition to the two per-loader jars, an optional fused jar (rspolymorph-<version>.jar) that loads on both NeoForge and Fabric is produced via ModFusioner (./gradlew fusejars). The per-loader jars remain the primary, most robust distribution.
  • First-open tutorial card — The first time a player opens an RS grid, a one-time, bilingual card explains the recipe-selection feature (button + popup) and is dismissed by a click or by pressing Space/Enter. The "seen" flag is persisted client-side (config/rspolymorph_tutorial.flag, written off the render thread, fail-soft) so it never reappears. Screen-reader users get a one-shot narrator announcement.
  • Redesigned recipe selector popup — The selection popup was reworked to look native: a titled header, inset slot frames, a gold highlight on the recipe the grid is currently producing, on-screen clamping, item-count decorations, and a single readable recipe name on hover. Per-frame allocations in the render path were removed.

Fixed

  • Recipe selection on NeoForge — Selecting a recipe threw UnsupportedOperationException server-side: the per-grid map decoded from the attachment codec is a Guava ImmutableMap, so put/remove failed. NeoForgeGridRecipeStore.set now copies-on-write into a fresh HashMap before setData. Affected both 1.21.1 and 26.1.2 NeoForge.
  • Overlapping slot tooltip — Refined Storage's grid screens override renderTooltip per subclass (CraftingGridScreen/PatternGridScreen/AbstractGridScreen) and draw the hovered-slot tooltip themselves, so a mixin on vanilla AbstractContainerScreen.renderTooltip was bypassed and the underlying "Stick" tooltip drew over the popup. The suppression mixin now targets those RS classes and fires whenever the popup is open. The 26.x render pipeline differs, so its fork is a fail-soft no-op.
  • Per-MC-version recipe parsing — Crafting-recipe ingredient JSON differs between MC versions (1.21.1 uses object form {"item":"..."}, 26.x uses bare strings). The test recipes are split per version and merged by a build task, so the test items now craft on every target.

Changed

  • Refined Storage 2 baseline bumped to 2.0.8 — The Fabric build pulls Refined Storage 2.0.8 and Polymorph 1.1.0+1.21.1 from the Modrinth maven; the declared refinedstorage dependency floor stays >= 2.0.1. RS 2.x and RS 3.x share the same internal package structure (com.refinedmods.refinedstorage.common.*), so the mixins are forward-compatible across the RS 2.x line with no signature changes.
  • Build toolchain — Migrated to the MultiLoader-Template build (Gradle 9.5.1, Fabric Loom 1.16.3 for the Fabric module, ModDevGradle 2.0.140 for the common/NeoForge modules). The Gradle wrapper was bumped from 9.2.1 to 9.5.1 to satisfy Loom 1.16.3.

Known limitations

  • Fabric on Minecraft 26.1.2 not yet enabled — Minecraft 26.1.x ships un-obfuscated (no Mojang ProGuard mappings), which only fabric-loom 1.17.0-alpha+ supports, and that alpha conflicts with the stable Loom 1.16.3 used by the 1.21.1 Fabric module in the same build. The fabric-261 module (sources, entrypoints, metadata) is implemented but excluded from the default build; enable it on a branch that bumps Loom once a stable Loom with 26.x support lands. NeoForge 26.1.2 ships normally.

Ajouts

  • Autonome — plus de dépendance à Polymorph — RS Polymorph ne requiert plus le mod Polymorph. L'UI de sélection de recette (bouton latéral + popup) et la persistance du choix par grille sont désormais fournies entièrement par RS Polymorph. Le bouton latéral est l'AbstractSideButtonWidget natif de Refined Storage ; le popup est un RecipeSelectorPopup autonome (widget de grille d'items + mixin de rendu/clic sur l'écran de grille) ; le choix par grille est persisté sur le block entity via les Data Attachments du loader (NeoForge AttachmentType / attachment persistant Fabric) derrière une abstraction Services.GRID_STORE. Le tag du patron imprimé reste un DataComponentType vanilla. Les classes spécifiques à Polymorph (RsGridRecipeData, MixinSelectionWidget, MixinRecipeManagerSafety) ont été supprimées. Résultat : un véritable add-on Refined Storage qui fonctionne partout où RS fonctionne, sans dépendance tierce de sélection de recette.
  • Minecraft 26.1.2 / Refined Storage 3.2.0 (NeoForge) — Un build parallèle cible le nouveau Minecraft 26.1.2 (versioning par année, Java 25) avec Refined Storage 3.2.0, en partageant la base de code 1.21.1. RS 3.x a conservé la même structure com.refinedmods.refinedstorage.common.*, donc les mixins sont repris ; les quelques renommages MC 26.x (ResourceLocationIdentifier, GuiGraphicsGuiGraphicsExtractor) sont appliqués par un remap de sources au build, et les fichiers touchant l'API de recette remaniée (server.getRecipeManager()/RecipeProvider RS3, assemble à un argument, RecipeHolder.id() désormais un ResourceKey) et le nouveau pipeline de rendu GUI à deux phases (extractRenderState/extractContents) sont forkés sous common-261. MixinPatternResolver est re-ciblé avec @WrapOperation sur Platform.getClientRecipeProvider().getRecipesFor(...) de RS3. Build avec Gradle sur JDK 25 : ./gradlew :neoforge-261:build -Dorg.gradle.java.home=<jdk25>.
  • Support Fabric — un seul mod, deux loaders — RS Polymorph est désormais publié pour Fabric en plus de NeoForge, tous deux pour Minecraft 1.21.1. Le projet a été restructuré en architecture MultiLoader (common + neoforge + fabric) : toute la logique de jeu et chaque mixin vivent dans common et sont partagés à l'identique par les deux loaders. Comme les mixins ciblent des classes de Refined Storage 2 et de Polymorph (jamais de Minecraft) avec remap=false, et que RS2 comme Polymorph exposent leur surface publique dans un module commun cross-loader, la logique d'injection se résout octet pour octet de façon identique sur NeoForge et Fabric, sans réécriture par loader.
  • Noyau agnostique du loader — Ajout d'une petite abstraction de plateforme pour que common ne référence jamais une API de loader : Services/NetworkPlatform résolvent le réseau du loader actif via ServiceLoader, le data component selected_recipe est enregistré par chaque loader puis injecté dans le noyau partagé, et SelectRecipePacket expose un applyOnServer(ServerPlayer, ResourceLocation) pur que chaque loader pilote depuis son propre récepteur de paquet (NeoForge IPayloadContext, Fabric ServerPlayNetworking).
  • Jar unique combiné (optionnel) — En plus des deux jars par loader, un jar fusionné optionnel (rspolymorph-<version>.jar) chargeable sur NeoForge ET Fabric est produit via ModFusioner (./gradlew fusejars). Les jars par loader restent la distribution principale, la plus robuste.
  • Carte tuto au premier lancement — La première fois qu'un joueur ouvre une grille RS, une carte unique et bilingue explique la sélection de recette (bouton + popup) ; elle se ferme d'un clic ou en appuyant sur Espace/Entrée. Le drapeau « vu » est persisté côté client (config/rspolymorph_tutorial.flag, écrit hors du thread de rendu, fail-soft) pour ne jamais réapparaître. Les utilisateurs de lecteur d'écran reçoivent une annonce narrateur unique.
  • Popup de sélection redesigné — Le popup a été retravaillé pour un rendu natif : en-tête titré, slots en relief, surbrillance dorée sur la recette actuellement produite, calage à l'écran, décorations de quantité, et un seul nom de recette lisible au survol. Les allocations par frame du rendu ont été supprimées.

Correctifs

  • Sélection de recette sur NeoForge — La sélection levait UnsupportedOperationException côté serveur : la map par grille décodée du codec d'attachment est une ImmutableMap Guava, donc put/remove échouaient. NeoForgeGridRecipeStore.set fait désormais une copie dans un nouveau HashMap avant setData. Affectait NeoForge 1.21.1 et 26.1.2.
  • Tooltip de slot superposé — Les écrans de grille de Refined Storage overrident renderTooltip par sous-classe (CraftingGridScreen/PatternGridScreen/AbstractGridScreen) et dessinent eux-mêmes le tooltip du slot survolé ; un mixin sur le AbstractContainerScreen.renderTooltip vanilla était donc contourné et le tooltip « Stick » s'affichait par-dessus le popup. Le mixin de suppression cible désormais ces classes RS et s'active dès que le popup est ouvert. Le pipeline de rendu 26.x diffère, son fork est un no-op fail-soft.
  • Parsing des recettes par version MC — Le JSON des ingrédients de craft diffère selon la version MC (1.21.1 en objet {"item":"..."}, 26.x en chaîne brute). Les recettes de test sont séparées par version et fusionnées par une tâche de build, donc les items de test se craftent désormais sur chaque cible.

Modifications

  • Base Refined Storage 2 portée à 2.0.8 — Le build Fabric récupère Refined Storage 2.0.8 et Polymorph 1.1.0+1.21.1 depuis le maven Modrinth ; le plancher de dépendance refinedstorage déclaré reste >= 2.0.1. RS 2.x et RS 3.x partagent la même structure de packages interne (com.refinedmods.refinedstorage.common.*), donc les mixins sont compatibles ascendant sur toute la ligne RS 2.x sans changement de signature.
  • Chaîne de build — Migration vers le build MultiLoader-Template (Gradle 9.5.1, Fabric Loom 1.16.3 pour le module Fabric, ModDevGradle 2.0.140 pour les modules common/NeoForge). Le wrapper Gradle est passé de 9.2.1 à 9.5.1 pour satisfaire Loom 1.16.3.
1.2.0Релиз1.21.1 · 6 июня 2026 г.

[1.2.0] - 2026-06-05

Added

  • Standalone — no Polymorph dependency — RS Polymorph no longer requires the Polymorph mod. The recipe-selection UI (side button + popup) and the per-grid selection persistence are now provided entirely by RS Polymorph itself. The side button is the native Refined Storage AbstractSideButtonWidget; the popup is a self-contained RecipeSelectorPopup (own item-grid widget + render/click mixin on the grid screen); the per-grid choice is persisted on the grid block entity via loader Data Attachments (NeoForge AttachmentType / Fabric persistent attachment) behind a Services.GRID_STORE abstraction. The printed-pattern tag stays a vanilla DataComponentType. The Polymorph-only classes (RsGridRecipeData, MixinSelectionWidget, MixinRecipeManagerSafety) were removed. Result: a true Refined Storage add-on that works everywhere RS does, with no third-party recipe-selection dependency.
  • Minecraft 26.1.2 / Refined Storage 3.2.0 (NeoForge) — A parallel build targets the new Minecraft 26.1.2 (year-based versioning, Java 25) against Refined Storage 3.2.0, sharing the 1.21.1 codebase. RS 3.x kept the same com.refinedmods.refinedstorage.common.* structure, so the mixins carry over; the few MC 26.x renames (ResourceLocationIdentifier, GuiGraphicsGuiGraphicsExtractor) are applied by a build-time source remap, and the handful of files touching the reworked recipe API (server.getRecipeManager()/RS3 RecipeProvider, single-arg assemble, RecipeHolder.id() now a ResourceKey) and the new two-phase GUI render pipeline (extractRenderState/extractContents) are forked under common-261. MixinPatternResolver is re-targeted with @WrapOperation onto RS3's Platform.getClientRecipeProvider().getRecipesFor(...). Build with Gradle on JDK 25: ./gradlew :neoforge-261:build -Dorg.gradle.java.home=<jdk25>.
  • Fabric support — one mod, two loaders — RS Polymorph now ships for Fabric in addition to NeoForge, both for Minecraft 1.21.1. The project was restructured into a MultiLoader layout (common + neoforge + fabric): all gameplay logic and every mixin live in common and are shared verbatim by both loaders. Because the mixins target Refined Storage 2 and Polymorph classes (never Minecraft) with remap=false, and both RS2 and Polymorph ship their public surface in a shared cross-loader module, the injection logic resolves byte-for-byte identically on NeoForge and Fabric with no per-loader rewrite.
  • Loader-agnostic core — Introduced a small platform abstraction so common never references a loader API: Services/NetworkPlatform resolve the active loader's networking via ServiceLoader, the selected_recipe data component is registered by each loader and injected into the shared core, and SelectRecipePacket exposes a pure applyOnServer(ServerPlayer, ResourceLocation) that each loader drives from its own packet receiver (NeoForge IPayloadContext, Fabric ServerPlayNetworking).
  • Combined single jar (optional) — In addition to the two per-loader jars, an optional fused jar (rspolymorph-<version>.jar) that loads on both NeoForge and Fabric is produced via ModFusioner (./gradlew fusejars). The per-loader jars remain the primary, most robust distribution.
  • First-open tutorial card — The first time a player opens an RS grid, a one-time, bilingual card explains the recipe-selection feature (button + popup) and is dismissed by a click or by pressing Space/Enter. The "seen" flag is persisted client-side (config/rspolymorph_tutorial.flag, written off the render thread, fail-soft) so it never reappears. Screen-reader users get a one-shot narrator announcement.
  • Redesigned recipe selector popup — The selection popup was reworked to look native: a titled header, inset slot frames, a gold highlight on the recipe the grid is currently producing, on-screen clamping, item-count decorations, and a single readable recipe name on hover. Per-frame allocations in the render path were removed.

Fixed

  • Recipe selection on NeoForge — Selecting a recipe threw UnsupportedOperationException server-side: the per-grid map decoded from the attachment codec is a Guava ImmutableMap, so put/remove failed. NeoForgeGridRecipeStore.set now copies-on-write into a fresh HashMap before setData. Affected both 1.21.1 and 26.1.2 NeoForge.
  • Overlapping slot tooltip — Refined Storage's grid screens override renderTooltip per subclass (CraftingGridScreen/PatternGridScreen/AbstractGridScreen) and draw the hovered-slot tooltip themselves, so a mixin on vanilla AbstractContainerScreen.renderTooltip was bypassed and the underlying "Stick" tooltip drew over the popup. The suppression mixin now targets those RS classes and fires whenever the popup is open. The 26.x render pipeline differs, so its fork is a fail-soft no-op.
  • Per-MC-version recipe parsing — Crafting-recipe ingredient JSON differs between MC versions (1.21.1 uses object form {"item":"..."}, 26.x uses bare strings). The test recipes are split per version and merged by a build task, so the test items now craft on every target.

Changed

  • Refined Storage 2 baseline bumped to 2.0.8 — The Fabric build pulls Refined Storage 2.0.8 and Polymorph 1.1.0+1.21.1 from the Modrinth maven; the declared refinedstorage dependency floor stays >= 2.0.1. RS 2.x and RS 3.x share the same internal package structure (com.refinedmods.refinedstorage.common.*), so the mixins are forward-compatible across the RS 2.x line with no signature changes.
  • Build toolchain — Migrated to the MultiLoader-Template build (Gradle 9.5.1, Fabric Loom 1.16.3 for the Fabric module, ModDevGradle 2.0.140 for the common/NeoForge modules). The Gradle wrapper was bumped from 9.2.1 to 9.5.1 to satisfy Loom 1.16.3.

Known limitations

  • Fabric on Minecraft 26.1.2 not yet enabled — Minecraft 26.1.x ships un-obfuscated (no Mojang ProGuard mappings), which only fabric-loom 1.17.0-alpha+ supports, and that alpha conflicts with the stable Loom 1.16.3 used by the 1.21.1 Fabric module in the same build. The fabric-261 module (sources, entrypoints, metadata) is implemented but excluded from the default build; enable it on a branch that bumps Loom once a stable Loom with 26.x support lands. NeoForge 26.1.2 ships normally.

Ajouts

  • Autonome — plus de dépendance à Polymorph — RS Polymorph ne requiert plus le mod Polymorph. L'UI de sélection de recette (bouton latéral + popup) et la persistance du choix par grille sont désormais fournies entièrement par RS Polymorph. Le bouton latéral est l'AbstractSideButtonWidget natif de Refined Storage ; le popup est un RecipeSelectorPopup autonome (widget de grille d'items + mixin de rendu/clic sur l'écran de grille) ; le choix par grille est persisté sur le block entity via les Data Attachments du loader (NeoForge AttachmentType / attachment persistant Fabric) derrière une abstraction Services.GRID_STORE. Le tag du patron imprimé reste un DataComponentType vanilla. Les classes spécifiques à Polymorph (RsGridRecipeData, MixinSelectionWidget, MixinRecipeManagerSafety) ont été supprimées. Résultat : un véritable add-on Refined Storage qui fonctionne partout où RS fonctionne, sans dépendance tierce de sélection de recette.
  • Minecraft 26.1.2 / Refined Storage 3.2.0 (NeoForge) — Un build parallèle cible le nouveau Minecraft 26.1.2 (versioning par année, Java 25) avec Refined Storage 3.2.0, en partageant la base de code 1.21.1. RS 3.x a conservé la même structure com.refinedmods.refinedstorage.common.*, donc les mixins sont repris ; les quelques renommages MC 26.x (ResourceLocationIdentifier, GuiGraphicsGuiGraphicsExtractor) sont appliqués par un remap de sources au build, et les fichiers touchant l'API de recette remaniée (server.getRecipeManager()/RecipeProvider RS3, assemble à un argument, RecipeHolder.id() désormais un ResourceKey) et le nouveau pipeline de rendu GUI à deux phases (extractRenderState/extractContents) sont forkés sous common-261. MixinPatternResolver est re-ciblé avec @WrapOperation sur Platform.getClientRecipeProvider().getRecipesFor(...) de RS3. Build avec Gradle sur JDK 25 : ./gradlew :neoforge-261:build -Dorg.gradle.java.home=<jdk25>.
  • Support Fabric — un seul mod, deux loaders — RS Polymorph est désormais publié pour Fabric en plus de NeoForge, tous deux pour Minecraft 1.21.1. Le projet a été restructuré en architecture MultiLoader (common + neoforge + fabric) : toute la logique de jeu et chaque mixin vivent dans common et sont partagés à l'identique par les deux loaders. Comme les mixins ciblent des classes de Refined Storage 2 et de Polymorph (jamais de Minecraft) avec remap=false, et que RS2 comme Polymorph exposent leur surface publique dans un module commun cross-loader, la logique d'injection se résout octet pour octet de façon identique sur NeoForge et Fabric, sans réécriture par loader.
  • Noyau agnostique du loader — Ajout d'une petite abstraction de plateforme pour que common ne référence jamais une API de loader : Services/NetworkPlatform résolvent le réseau du loader actif via ServiceLoader, le data component selected_recipe est enregistré par chaque loader puis injecté dans le noyau partagé, et SelectRecipePacket expose un applyOnServer(ServerPlayer, ResourceLocation) pur que chaque loader pilote depuis son propre récepteur de paquet (NeoForge IPayloadContext, Fabric ServerPlayNetworking).
  • Jar unique combiné (optionnel) — En plus des deux jars par loader, un jar fusionné optionnel (rspolymorph-<version>.jar) chargeable sur NeoForge ET Fabric est produit via ModFusioner (./gradlew fusejars). Les jars par loader restent la distribution principale, la plus robuste.
  • Carte tuto au premier lancement — La première fois qu'un joueur ouvre une grille RS, une carte unique et bilingue explique la sélection de recette (bouton + popup) ; elle se ferme d'un clic ou en appuyant sur Espace/Entrée. Le drapeau « vu » est persisté côté client (config/rspolymorph_tutorial.flag, écrit hors du thread de rendu, fail-soft) pour ne jamais réapparaître. Les utilisateurs de lecteur d'écran reçoivent une annonce narrateur unique.
  • Popup de sélection redesigné — Le popup a été retravaillé pour un rendu natif : en-tête titré, slots en relief, surbrillance dorée sur la recette actuellement produite, calage à l'écran, décorations de quantité, et un seul nom de recette lisible au survol. Les allocations par frame du rendu ont été supprimées.

Correctifs

  • Sélection de recette sur NeoForge — La sélection levait UnsupportedOperationException côté serveur : la map par grille décodée du codec d'attachment est une ImmutableMap Guava, donc put/remove échouaient. NeoForgeGridRecipeStore.set fait désormais une copie dans un nouveau HashMap avant setData. Affectait NeoForge 1.21.1 et 26.1.2.
  • Tooltip de slot superposé — Les écrans de grille de Refined Storage overrident renderTooltip par sous-classe (CraftingGridScreen/PatternGridScreen/AbstractGridScreen) et dessinent eux-mêmes le tooltip du slot survolé ; un mixin sur le AbstractContainerScreen.renderTooltip vanilla était donc contourné et le tooltip « Stick » s'affichait par-dessus le popup. Le mixin de suppression cible désormais ces classes RS et s'active dès que le popup est ouvert. Le pipeline de rendu 26.x diffère, son fork est un no-op fail-soft.
  • Parsing des recettes par version MC — Le JSON des ingrédients de craft diffère selon la version MC (1.21.1 en objet {"item":"..."}, 26.x en chaîne brute). Les recettes de test sont séparées par version et fusionnées par une tâche de build, donc les items de test se craftent désormais sur chaque cible.

Modifications

  • Base Refined Storage 2 portée à 2.0.8 — Le build Fabric récupère Refined Storage 2.0.8 et Polymorph 1.1.0+1.21.1 depuis le maven Modrinth ; le plancher de dépendance refinedstorage déclaré reste >= 2.0.1. RS 2.x et RS 3.x partagent la même structure de packages interne (com.refinedmods.refinedstorage.common.*), donc les mixins sont compatibles ascendant sur toute la ligne RS 2.x sans changement de signature.
  • Chaîne de build — Migration vers le build MultiLoader-Template (Gradle 9.5.1, Fabric Loom 1.16.3 pour le module Fabric, ModDevGradle 2.0.140 pour les modules common/NeoForge). Le wrapper Gradle est passé de 9.2.1 à 9.5.1 pour satisfaire Loom 1.16.3.

Комментарии

Загружаем…