Crash Minecraft a cause de Immersive intelligence

173QI

Aventurier
4 Décembre 2021
3
0
1
24
Bonjour, j'ai un problème de plantage/crash lorsque je lance mon Minecraft modée tranquillement et qui voila au point entre rentrer dans le jeu, le jeu ce ferme et le launcher me donne l'erreur suivante :

The game crashed whilst there was a severe problem during mod loading that has caused the game to fail
Error: net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Immersive Intelligence (immersiveintelligence)
Code de sortie : -1


Je pourrais supprimer ou remplacer ce mod et réglé le problème facilement sauf que j'ai besoin de ce mod car dans ma map solo j'ai des structure de immersive intelligence et je ne voudrais pas remplacer ce mod. Si quelqu'un a un moyen de réglé sa sa serait super voici le lastest.log
 

Fichiers joints

  • latest.log
    76.7 KB · Affichages: 80

robin4002

Expert en informatique et systèmes d'information
Staff
Responsable technique
Responsable forum
12 Novembre 2012
20 876
157
3 002
347
26
Alsace
www.minecraftforgefrance.fr
Bonsoir,

En version courte : supprimer le fichier de configuration du mode dans le dossier .minecraft/config devrait régler le problème ;)

Le mod est open source, j'ai donc tracé la source de l'erreur :
Caused by: java.lang.ExceptionInInitializerError
at pl.pabilo8.immersiveintelligence.common.items.mechanical.ItemIIMotorBelt.<init>(ItemIIMotorBelt.java:40)
at pl.pabilo8.immersiveintelligence.common.IIContent.<clinit>(IIContent.java:112)
at pl.pabilo8.immersiveintelligence.common.CommonProxy.preInit(CommonProxy.java:621)
at pl.pabilo8.immersiveintelligence.client.ClientProxy.preInit(ClientProxy.java:370)
[...]
Caused by: java.lang.ArrayIndexOutOfBoundsException: 2
at pl.pabilo8.immersiveintelligence.common.items.mechanical.ItemIIMotorBelt$MotorBelt.<clinit>(ItemIIMotorBelt.java:91)

On voit que la cause est un ArrayIndexOutOfBoundsException, ce qui veut dire qu'il y a un accès à l'index d'un tableau qui est supérieur à sa longue.
Par exemple le tableau suivant
3156
L'index 0 contient la valeur 3, l'index 1 contient la valeur 1 et l'index 2 contient la valeur 56 (on commence à compter à 0). L'index 3 n'existe pas, comme le tableau n'a qu'une longueur de 3. Si on tente d'y accéder, on a une erreur ArrayIndexOutOfBoundsException en Java.

L'erreur survient à la ligne 91 du fichier ItemIIMotorBelt.java, dont voici le code : https://github.com/Pabilo8/Immersiv...mon/items/mechanical/ItemIIMotorBelt.java#L91
RUBBER("light_belts", MechanicalDevices.belt_length[2], 1, 6, MechanicalDevices.belt_max_torque[2], MechanicalDevices.belt_torque_loss[2]);
On voit qu'il y a un accès à l'index 2 de la variable belt_length, belt_max_torque et belt_torque_loss, alors que ces tableaux ont une taille inférieure à 3 vu l'erreur générée.
Cela parait étrange d'avoir laissé une erreur aussi bête, donc il faut regarder où ces tableaux sont définis. C'est dans le fichier Config.java : https://github.com/Pabilo8/Immersiv...bilo8/immersiveintelligence/Config.java#L1499
@Comment({"Max length of the belt, works exactly like wires (measured in blocks).", BELTS})[/TD]
@Mapped(mapClass = Config.class, mapName = "manual_intA")[/TD]
public static int[] belt_length = new int[]{8, 16, 16};
Et on voit ici que le tableau a pourtant bien une longueur de 3 par défaut.
Donc ma théorie, c'est que tu avais installé le mod à une époque où il n'y avait que 2 valeurs dans ce tableau et donc les valeurs que tu actuellement dans ton fichier de configuration cause problème.

Conclusion : supprimer le fichier de configuration du mode dans le dossier .minecraft/config devrait régler le problème, puisque cela va réinitialiser ce dernier aux valeurs par défaut.