File Details
rspolymorph-1.0.6
- R
- Apr 9, 2026
- 39.76 KB
- 3.7K
- 1.21.1
- NeoForge
File Name
rspolymorph-1.0.6.jar
Supported Versions
- 1.21.1
Curse Maven Snippet
### Fixed
- **Pattern Grid widget not created on dedicated server** — The Polymorph widget was never created for the Pattern Grid because the result slot detection relied on class name matching (`contains("DisabledSlot")`), which fails for anonymous inner classes like `PatternGridContainerMenu$5`. Now uses `instanceof` checks instead.
- **Client-side BlockEntity discovery on dedicated server** — On a dedicated server the menu's Grid field is null (client constructor uses GridData, not the real BE). Added a proximity-based fallback that finds the nearest grid BlockEntity registered in `CONTAINER_TO_BE` from chunk sync.
- **Pattern recipe tagging on dedicated server** — `createCraftingPattern()` reads the selected recipe ID from a static volatile field that was already cleared by the time RS2's create-pattern packet arrives. Now falls back to reading from `RsGridRecipeData.selections` (persisted by `SelectRecipePacket`), ensuring patterns are correctly tagged for autocrafting.
### Correctifs
- **Widget Pattern Grid non créé sur serveur dédié** — Le widget Polymorph n'était jamais créé pour la Grille de Patrons car la détection du slot résultat utilisait la correspondance par nom de classe (`contains("DisabledSlot")`), qui échoue pour les classes anonymes internes comme `PatternGridContainerMenu$5`. Utilise maintenant des vérifications `instanceof`.
- **Découverte du BlockEntity côté client sur serveur dédié** — Sur un serveur dédié, le champ Grid du menu est null (le constructeur client utilise GridData, pas le vrai BE). Ajout d'un fallback par proximité qui trouve le BlockEntity de grille le plus proche enregistré dans `CONTAINER_TO_BE` depuis la synchronisation de chunk.
- **Tagging de recette des patrons sur serveur dédié** — `createCraftingPattern()` lisait l'ID de recette sélectionnée depuis un champ static volatile déjà effacé au moment où le paquet create-pattern de RS2 arrive. Lit maintenant depuis `RsGridRecipeData.selections` (persisté par `SelectRecipePacket`), garantissant que les patrons sont correctement tagués pour l'autocraft.

