Plusieurs problèmes de mise à jour [v2]
-
Tu ne dois pas créer une nouvelle instance mais modifier les instance existante.
Sinon ça ne risque pas de fonctionner.ObfuscationReflectionHelper.setPrivateValue(Biome.class, Biomes.PLAINS, true, “enableSnow”);
-
Salut
J’avais cru qu’il fallait prendre l’instance de Biome et modifier la valeur par défaut de enableSnow. C’est pour ça que je ne savais pas comment faire pour la tempérautre. Mais en fait, il faut prendre l’instance de chaque biome et les modifier. Merci
Du coup, j’ai fait comme ça :
ObfuscationReflectionHelper.setPrivateValue(Biome.class, Biomes.PLAINS, true, "enableSnow"); ObfuscationReflectionHelper.setPrivateValue(Biome.class, Biomes.PLAINS, 0.0F, "temperature");Je pense que tu seras d’accord avec moi sur le fait qu’avant c’était plus simple de modifier un biome.
Du coup, mes deux problèmes sont résolus. Merci à tous
-
Bah là, deux lignes, c’est pas très compliqué
-
Oui, c’est vrai, une fois qu’on a compris comment faire. Mais avant y’avais juste à faire ```java
BiomeGenBase.forest.temperature = 0.0F;
BiomeGenBase.forest.setEnableSnow(); -
Par contre ce que tu as fait là ne fonctionnera que sur eclipse.
Sur le jeu lancé depuis le launcher les variables sont obfusqué et ont comme nom field_xxx
Du-coup :ObfuscationReflectionHelper.setPrivateValue(Biome.class, Biomes.PLAINS, true, "enableSnow", "field_76766_R"); ObfuscationReflectionHelper.setPrivateValue(Biome.class, Biomes.PLAINS, 0.0F, "temperature", "field_76750_F"); -
A ce propos, j’ai ça :
GuiScreen parent = (GuiScreen)ObfuscationReflectionHelper.getPrivateValue(GuiModList.class, gui, "mainMenu");GuiModList.class étant une classe de fml, ses variables seront-elles obusquées aussi, et si oui, comment avoir le nom obfusqué ?
EDIT : Ou alors j’utilise la méthode avec le fieldIndex
-
Non les variables de fml/forge ne sont pas obfusqué.
-
@‘robin4002’:
Par contre ce que tu as fait là ne fonctionnera que sur eclipse.
Sur le jeu lancé depuis le launcher les variables sont obfusqué et ont comme nom field_xxx
Du-coup :ObfuscationReflectionHelper.setPrivateValue(Biome.class, Biomes.PLAINS, true, "enableSnow", "field_76766_R"); ObfuscationReflectionHelper.setPrivateValue(Biome.class, Biomes.PLAINS, 0.0F, "temperature", "field_76750_F");Ok merci, mais comment as-tu fait pour trouver les noms obfusqués ? Y’a t-il un fichier où sont inscrit les correspondances des noms obfusqués-déobfusqués ?
-
Soit tu utilise le logiciel de SCAREX : https://www.minecraftforgefrance.fr/showthread.php?tid=2774
Soit tu va ici : .gradle\caches\minecraft\de\oceanlabs\mcp\mcp_snapshot\ -
Ok merci
