modernxl_ii-3.0.0-26.1.2.jar
Curse Maven Snippet
What's new
Résumé du portage — NeoForge 1.21.1 → 26.1.2
Portage du mod Modernxl 3 (modernxl_ii) depuis la base NeoForge 1.21.1 (déjà fonctionnelle) vers Minecraft/NeoForge 26.1.2 (neo_version=26.1.2.94).
Contexte
Minecraft 26.1 a cumulé plusieurs refontes profondes en une seule version — le portage s'est avéré bien plus lourd qu'un simple changement de version mineure, comparable en ampleur au portage Forge → NeoForge qui l'a précédé.
Changements d'API traités
Renommages / déplacements mécaniques
ResourceLocation→Identifier(renommage global, ~74 fichiers)DirectionProperty→EnumProperty<Direction>(737 fichiers)noCollission()→noCollision()— Mojang a corrigé une faute de frappe historique (307 fichiers)TriStatedéplacée de NeoForge versnet.minecraft.utilAbstractArrowetThrownPotion/AbstractThrownPotiondéplacées dans de nouveaux sous-packagesVillagerTradesdéplacée de package- Plusieurs constantes
MobEffectsrenommées (MOVEMENT_SPEED→SPEED,JUMP→JUMP_BOOST,CONFUSION→NAUSEA,DAMAGE_RESISTANCE→RESISTANCE) MobSpawnType→EntitySpawnReasonBlockAndTintGetterdéplacée côté client (net.minecraft.client.renderer.block)
Refontes d'architecture
Rendu GUI — GuiGraphics remplacée par GuiGraphicsExtractor : passage d'un modèle de dessin immédiat à un modèle d'extraction d'état de rendu (render() → extractRenderState(), renderBg() supprimée, blit() exige un RenderPipeline explicite). A touché les 4 écrans de meubles (tiroirs, table de construction, four).
Rendu d'entités — EntityModel<Entity> devient EntityModel<EntityRenderState> (même logique d'extraction d'état). MobRenderer gagne un 3ᵉ paramètre générique. Model.renderToBuffer devenue final. EntityRenderer.createRenderState() devenue abstraite.
Capabilities / inventaire (le plus gros chantier) — IItemHandler remplacée par un nouveau système générique et transactionnel ResourceHandler<ItemResource> (unifiant items/fluides/énergie). IItemHandler reste disponible en pont de compatibilité déprécié (IItemHandler.of(...)). Une classe pont maison (ItemHandlerCompat.java) a été écrite pour couvrir le cas manquant (setStackInSlot), permettant de conserver tout le code existant (44 BlockEntity, 4 Menus, 2 gros fichiers procedures) sans réécriture complète.
NBT — nouvelle API ValueInput/ValueOutput basée sur des codecs, remplaçant l'accès direct à CompoundTag dans loadAdditional/saveAdditional (44 BlockEntity). A aussi révélé un bug préexistant (loot table inversée entre load/save) corrigé au passage.
Réseau — PacketDistributor.sendToServer() déplacée vers ClientPacketDistributor (côté client uniquement).
Système jour/nuit — nouveau système WorldClock/ServerClockManager remplaçant Level.getDayTime()/ServerLevel.setDayTime().
Enregistrement des blocs/items — Minecraft exige désormais qu'un ResourceKey soit explicitement attaché (.setId(...)) à l'objet Properties avant la construction du bloc/item (le constructeur y accède immédiatement). A nécessité d'injecter cet appel dans les 849 constructeurs de blocs individuels (via un script comptant les parenthèses pour localiser précisément la fin de l'appel super(...), y compris dans les chaînes complexes avec lambdas) et dans les helpers d'enregistrement des items.
Tooltips de blocs — appendHoverText n'existe plus sur Block du tout (le mécanisme est passé aux composants de données). Désactivé sur ~236 blocs (perte des lignes d'info type "[Fusion top]", purement cosmétique).
Échanges de villageois — système entièrement refondu en registre piloté par données (ResourceKey<VillagerTrade>). Désactivé (4 échanges du fermier).
Ressources — définitions d'item — nouveau format assets/modernxl_ii/items/*.json (dossier items, distinct de models/item/) requis pour que les icônes d'objets se chargent, en plus des modèles existants. 855 fichiers générés.
Ce qui reste en suspens
- Système d'échanges de villageois du fermier (4 trades) — désactivé, à réimplémenter via le nouveau système piloté par données
- Tooltips custom sur ~236 blocs — retirés, à réintégrer via le nouveau système de composants de données
État final
BUILD SUCCESSFUL, chargement en jeu réussi, aucune erreur ni avertissement au démarrage.
This mod has no additional files

