Création d'un Chest Detector
-
Bonjour, il y a quelque chose que j’aimerais faire mais que je ne sais pas faire, alors, j’aimerais que vous m’aidiez.
Je vous explique ce que je veux faire, un item qui, lorsqu’on le tient dans la main affiche un compteur avec une flèche en haut de l’écran qui change en fonction du nombre de TileEntity (même celle rajouté par les mods) présent dans le chunk ou se trouve le joueur ainsi que ceux autour puis encore autour. Une TileEntity ajoute 0.5 au compteur et si il y en a 200 il est a 100% ce qui fait que la flèche est à son maximum, si il y en a 0 ou une, la flèche reste au minimum, si il y en a 100, la flèche est au milieu etc…
J’espère que vous pouvez m’aider. -
Commence par dire où tu bloques
-
Enfaite, j’ai rajouter l’item et la texture mais je ne sais pas faire plus.
-
Pour savoir le nombre de TileEntity dans une zone de 5x5 chunks autour du joueur il faut que tu commence par récupérer toute les TE du monde et que pour chaque tu vérifie si elle est dans la zone, si c’est le cas, tu incrémente un variable. Pour récupérer les TE d’un monde, tu peux le faire via une variable de type World.
Ensuite quand tu aura le nombre, il te faudra l’afficher sur l’écran du joueur. Il me semble que le client n’as pas forcément accès à toutes les TE du monde, donc soit tu te dit que les TE dans une zone de 5x5 autour du joueur seront chargée par le client car il est proche, soit tu fait l’opération côté serveur et t’envoie la variable par un paquet. Pour ce qui est de l’affichage, c’est tout simplement un overlay (pleins de sujet existent, cherche sur le forum) et d’un calcul mathématique pour savoir où placer ta flèche. -
Merci de ton aide, je vais essayer de faire tout ça demain.___J’ai essayer mais je n’y arrive pas, je comprend pas ce que je dois faire (je suis un débutant total, c’est mon premier mod)
-
Peut-être un peu trop ambitieux pour un premier mod
-
c’est peut être un mod difficile mais ce mod j’en ai besoin pour faire mon serveur faction et sans, ce sera difficile pour les joueurs de trouver les bases unclaim dans la map.
-
Très bien, alors commençons par le début. Tu souhaites que ton item, seulement en main, affiche un compteur. Pour ce faire il faut override la fonction onUpdate, et vérifier si son argument boolean (check si le joueur l’a en main), renvoit true. Je te laisse faire ça, ce n’est pas bien compliqué
-
Comment on fait? (Dsl, si je comprend rien, je suis un vrai débutant dans le modding.)
-
Tu as la classe de ton Item prête ? (Item qui ne fait rien pour le moment)
Si c’est le cas, tu override la méthode onUpdate, ce qui revient à ré-écrire la fonction onUpdate dans la classe de ton Item :public ClassDeTonItem extends Item { //Ici tu as peut-être ton constructeur, je ne le met pas ici, c'est pas obligatoire, si tu l'as garde le @Override public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean held) { //Il me semble que les argument correspondent à ça, j'ai pas les bon mapping if(held) { //Si le joueur a l'objet dans sa main //Ici grâce à l'argument world tu peux récupérer les TE du monde qui sont, attention, chargées, si tu veux aussi avoir accès à celles qui ne sont pas chargées, tu vas devoir utiliser la réfléction List <tileentity>tiles = world.loadedTileEntityList; //Import java.util.List ArrayList <tileentity>tilesNear = new ArrayList<tileentity>(); //On va y stocker les TE proches ChunkCoordIntPair entityChunk = world.getChunkFromBlockCoords((int)entity.posX, (int)entity.posZ).getChunkCoordIntPair(); //Les coordonnées de chunk du joueur for(TileEntity tile : tiles) { ChunkCoordIntPair tileChunk = world.getChunkFromBlockCoords(tile.xCoord, tile.zCoord).getChunkCoordIntPair(); //Les coordonnées de chunk de la TE if(tileChunk.chunkXPos >= entityChunk.chunkXPos - 2 && tileChunk.chunkXPos <= entity.chunkCoordX + 2 && tileChunk.chunkZPos >= entity.chunkCoordZ - 2 && tileChunk.chunkZPos <= entity.chunkCoordZ + 2) { tilesNear.add(tile); } } } } ```</tileentity></tileentity></tileentity>
-
Merci de ta réponse, seulement, je ne comprend pas à quoi sert le “extends Item” que tu a mis car moi je ne le met pas sur les items que je crée, peux tu m’expliquer à quoi ça sert.
-
Si ton item n’est pas extends Item, c’est déjà qu’il y a un problème.
Envoies ton code actuelle.
-
D’accord, voilà mon code actuel
package ErderionPackage.init; import ErderionPackage.Reference; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; public class itemMod { public static Item chest_detector; public static void init() { chest_detector = new Item().setCreativeTab(CreativeTabs.tabMisc).setUnlocalizedName("chest_detector").setTextureName(Reference.MOD_ID + ":chest_detector"); } public static void register() { GameRegistry.registerItem(chest_detector, "chest_detector"); } }
-
Dans Minecraft, tu as plusieurs choses :
- Les blocs : ils sont représentés par la classe Block
- Les objets : ils sont représentés par la classe Item
- Les entités : elles sont représentés par la classe Entity
- Les entités de bloc : elles sont représentés par la classe TileEntity
- Et peut-être d’autres choses mais à je n’ai rien d’autre qui me vient en tête
Donc si tu veux créer un bloc, tu dois créer une instance de la classe Block et l’enregistrer via le GameRegistry.
Si tu veux créer un objet, tu dois créer une instance de la classe Item et l’enregister via le GameRegistry
Si tu veux créer un entité, c’est plus complexeDans ton cas tu veux créer un objet, mais pas n’importe quel objet, tu devais peut être avoir ça avant :
public static Item monItem; @EventHandler public void preInit(FMLPreInitialization event) { monItem = new Item().setUnlocalizedName("nomNonLocalisé"); GameRegistry.registerItem(monItem, "monItem"); }
Or ici, il va falloir créer un Item spécial, le ne vais pas t’expliquer ce qu’est extends car c’est du Java tout simplement. Pour créer cette Item, on va créer un nouvelle classe qui héritera de la classe Item :
public ItemTileEntityFinder extends Item { }
Tu aura donc ta classe ItemTileEntityFinder qui sera un Item aussi, ainsi lorsque tu enregistrera ton objet via le GameRegistry tu n’aura pas d’erreur. Le fait de faire hériter ta classe de Item te permet aussi de personnaliser les différentes fonctions de cette classe qui seront appelées par le jeu, comme nous l’avons fait plus haut avec onUpdate.
Tu aura donc ensuite :
monItem = new ItemTileEntityFinder();
-
mais es ce qu’il faut créer la classe Item?
-
Non, la classe Item est une classe déjà existante qui se trouve dans le package net.minecraft.item, tu devrais avoir :
public class ItemTileEntityFinder extends Item { @Override public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean held) { if(held) { List <tileentity>tiles = world.loadedTileEntityList; ArrayList <tileentity>tilesNear = new ArrayList<tileentity>(); ChunkCoordIntPair entityChunk = world.getChunkFromBlockCoords((int)entity.posX, (int)entity.posZ).getChunkCoordIntPair(); for(TileEntity tile : tiles) { ChunkCoordIntPair tileChunk = world.getChunkFromBlockCoords(tile.xCoord, tile.zCoord).getChunkCoordIntPair(); if(tileChunk.chunkXPos >= entityChunk.chunkXPos - 2 && tileChunk.chunkXPos <= entity.chunkCoordX + 2 && tileChunk.chunkZPos >= entity.chunkCoordZ - 2 && tileChunk.chunkZPos <= entity.chunkCoordZ + 2) { tilesNear.add(tile); } } } } }
Et :
public static Item tileEntityFinder; @EventHandler public void preInit(FMLPreInitialization event) { tileEntityFinder= new ItemTileEntityFinder().setUnlocalizedName("tileEntityFinder"); GameRegistry.registerItem(tileEntityFinder, "tileEntityFinder"); } ```</tileentity></tileentity></tileentity>
-
C’est bon j’ai compris mais quand j’ai essayer de mettre ton code dans eclipse ça à crash.
-
Envoie-nous le rapport de crash
-
Ce que tu dois faire, c’est une nouvelle classe ItemTileEntityFinder qui est une classe fille de Item (dont il faut mettre extends Item).
Et ensuite ici :
chest_detector = new Item().setCreativeTab(CreativeTabs.tabMisc).setUnlocalizedName(“chest_detector”).setTextureName(Reference.MOD_ID + “:chest_detector”);
il faut remplacer par :
chest_detector = new ItemTileEntityFinder().setCreativeTab(CreativeTabs.tabMisc).setUnlocalizedName(“chest_detector”).setTextureName(Reference.MOD_ID + “:chest_detector”);Un peu de lecture : https://www.minecraftforgefrance.fr/showthread.php?tid=2766
-
Ok
[14:14:26] [main/INFO] [GradleStart]: Extra: [] [14:14:26] [main/INFO] [GradleStart]: Running with arguments: [–userProperties, {}, --assetsDir, C:/Users/user/.gradle/caches/minecraft/assets, --assetIndex, 1.7.10, --accessToken, {REDACTED}, --version, 1.7.10, --tweakClass, cpw.mods.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker] [14:14:26] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker [14:14:26] [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker [14:14:26] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker [14:14:26] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker [14:14:26] [main/INFO] [FML]: Forge Mod Loader version 7.99.36.1558 for Minecraft 1.7.10 loading [14:14:26] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_112, running on Windows 7:amd64:6.1, installed at D:\Java [14:14:26] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation [14:14:26] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker [14:14:26] [main/INFO] [GradleStart]: Injecting location in coremod cpw.mods.fml.relauncher.FMLCorePlugin [14:14:26] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin [14:14:26] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [14:14:26] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker [14:14:26] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker [14:14:26] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [14:14:26] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [14:14:26] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [14:14:26] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work! [14:14:26] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing [14:14:26] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [14:14:26] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker [14:14:27] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker [14:14:27] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.TerminalTweaker [14:14:27] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.TerminalTweaker [14:14:27] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main} [14:14:27] [main/INFO]: Setting user: Player621 [14:14:28] [Client thread/INFO]: LWJGL Version: 2.9.1 [14:14:28] [Client thread/INFO] [STDOUT]: [tv.twitch.StandardCoreAPI:<init>:16]: If on Windows, make sure to provide all of the necessary dll's as specified in the twitchsdk README. Also, make sure to set the PATH environment variable to point to the directory containing the dll's. [14:14:28] [Client thread/ERROR]: Couldn't initialize twitch stream [14:14:28] [Client thread/INFO] [STDOUT]: [cpw.mods.fml.client.SplashProgress:start:188]: –-- Minecraft Crash Report ---- // Don't do that. Time: 28/10/16 14:14 Description: Loading screen debug info This is just a prompt for computer specs to be printed. THIS IS NOT A ERROR A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- System Details -- Details: Minecraft Version: 1.7.10 Operating System: Windows 7 (amd64) version 6.1 Java Version: 1.8.0_112, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 772277328 bytes (736 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.4.0 NVIDIA 344.65' Renderer: 'GeForce GTX 750 Ti/PCIe/SSE2' [14:14:28] [Client thread/INFO] [MinecraftForge]: Attempting early MinecraftForge initialization [14:14:28] [Client thread/INFO] [FML]: MinecraftForge v10.13.4.1558 Initialized [14:14:28] [Client thread/INFO] [FML]: Replaced 183 ore recipies [14:14:28] [Client thread/INFO] [MinecraftForge]: Completed early MinecraftForge initialization [14:14:29] [Client thread/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer [14:14:29] [Client thread/INFO] [FML]: Searching D:\Forge 1.7.2\forge-1.7.10-10.13.4.1558-1.7.10-src\eclipse\mods for mods [14:14:32] [Client thread/INFO] [FML]: Forge Mod Loader has identified 4 mods to load [14:14:32] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, Erderion] at CLIENT [14:14:32] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, Erderion] at SERVER [14:14:33] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Erderion [14:14:33] [Client thread/INFO] [FML]: Processing ObjectHolder annotations [14:14:33] [Client thread/INFO] [FML]: Found 341 ObjectHolder annotations [14:14:33] [Client thread/INFO] [FML]: Identifying ItemStackHolder annotations [14:14:33] [Client thread/INFO] [FML]: Found 0 ItemStackHolder annotations [14:14:33] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0 [14:14:33] [Client thread/INFO] [FML]: Applying holder lookups [14:14:33] [Client thread/INFO] [FML]: Holder lookups applied [14:14:33] [Client thread/INFO] [FML]: Injecting itemstacks [14:14:33] [Client thread/INFO] [FML]: Itemstack injection complete [14:14:33] [Client thread/ERROR] [FML]: Fatal errors were detected during the transition from PREINITIALIZATION to INITIALIZATION. Loading cannot continue [14:14:33] [Client thread/ERROR] [FML]: States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored UCH mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) UCH FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar) UCH Forge{10.13.4.1558} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar) UCE Erderion{0.1} [Erderion] (bin) [14:14:33] [Client thread/ERROR] [FML]: The following problems were captured during this phase [14:14:33] [Client thread/ERROR] [FML]: Caught exception from Erderion java.lang.Error: Unresolved compilation problems: itemMod cannot be resolved itemMod cannot be resolved at ErderionPackage.Erderion.preInit(Erderion.java:25) ~[bin/:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_112] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_112] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_112] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_112] at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532) ~[forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_112] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_112] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_112] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_112] at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?] at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?] at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) ~[forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar:?] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) ~[forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_112] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_112] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_112] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_112] at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?] at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) [LoadController.class:?] at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:556) [Loader.class:?] at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:243) [FMLClientHandler.class:?] at net.minecraft.client.Minecraft.startGame(Minecraft.java:522) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:942) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_112] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_112] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_112] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_112] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?] at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?] at GradleStart.main(Unknown Source) [start/:?] [14:14:33] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:388]: –-- Minecraft Crash Report ---- // You're mean. Time: 28/10/16 14:14 Description: There was a severe problem during mod loading that has caused the game to fail cpw.mods.fml.common.LoaderException: java.lang.Error: Unresolved compilation problems: itemMod cannot be resolved itemMod cannot be resolved at cpw.mods.fml.common.LoadController.transition(LoadController.java:163) at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:559) at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:243) at net.minecraft.client.Minecraft.startGame(Minecraft.java:522) at net.minecraft.client.Minecraft.run(Minecraft.java:942) at net.minecraft.client.main.Main.main(Main.java:164) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) at GradleStart.main(Unknown Source) Caused by: java.lang.Error: Unresolved compilation problems: itemMod cannot be resolved itemMod cannot be resolved at ErderionPackage.Erderion.preInit(Erderion.java:25) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:556) ... 12 more A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- System Details -- Details: Minecraft Version: 1.7.10 Operating System: Windows 7 (amd64) version 6.1 Java Version: 1.8.0_112, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 811501360 bytes (773 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1558 4 mods loaded, 4 mods active States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored UCH mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) UCH FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar) UCH Forge{10.13.4.1558} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar) UCE Erderion{0.1} [Erderion] (bin) GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.4.0 NVIDIA 344.65' Renderer: 'GeForce GTX 750 Ti/PCIe/SSE2' [14:14:33] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:398]: #@!@# Game crashed! Crash report saved to: #@!@# D:\Forge 1.7.2\forge-1.7.10-10.13.4.1558-1.7.10-src\eclipse\.\crash-reports\crash-2016-10-28_14.14.33-client.txt Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release ```</init>