MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Ajouter une nouvelle dimension

    Planifier Épinglé Verrouillé Déplacé La génération & les dimensions
    1.7.10
    101 Messages 11 Publieurs 37.8k Vues 2 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • DiangleD Hors-ligne
      Diangle
      dernière édition par

      Fait voir la classe BiomeRegister s’il te plait.

      edit… En faite dans le tableau, tu met le tableau en : “AncienBiome[]” mais ça doit être : “BiomeGenBase[]”

      1 réponse Dernière réponse Répondre Citer 0
      • FlowF Hors-ligne
        Flow
        dernière édition par

        La voici : ```java
        package mod.common.world.biome;

        import net.minecraft.world.biome.BiomeGenBase;

        public class BiomeRegister
        {

        public static BiomeGenBase AncientBiome;

        public static void register()
        {
        AncientBiome = new AncientBiome(40).setBiomeName(“AncientBiome”).setDisableRain().setTemperatureRainfall(1.2F, 0.9F).setEnableSnow();
        }

        }

        Oui ce gif est drôle.

        1 réponse Dernière réponse Répondre Citer 0
        • DiangleD Hors-ligne
          Diangle
          dernière édition par

          @‘Legrandfifou’:

          La voici :

          package mod.common.world.biome;
          
          import net.minecraft.world.biome.BiomeGenBase;
          
          public class BiomeRegister
          {
          
          public static BiomeGenBase AncientBiome;
          
          public static void register()
             {
          AncientBiome = new AncientBiome(40).setBiomeName("AncientBiome").setDisableRain().setTemperatureRainfall(1.2F, 0.9F).setEnableSnow();
             }
          
          }
          

          Donc, je t’ai répondue avec le edit juste au dessus, mais par contre renomme la variable AncientBiome ==> ancientBiome. Regarde rapidement sur internet les conventions de nommage.

          1 réponse Dernière réponse Répondre Citer 0
          • FlowF Hors-ligne
            Flow
            dernière édition par

            Oui je connais la convention avec une variable doit etre nommé sans majuscules au début mais peut en contenir après ex uneVariable mais quand je code je n’y fais pas attention :s

            Merci Diangle et désolé je me rend compte que je suis lourd mais bon je préfère demander que de faire nimporte quoi 😕 J’ai encore beaucoup à apprendre 😕

            Oui ce gif est drôle.

            1 réponse Dernière réponse Répondre Citer 0
            • DiangleD Hors-ligne
              Diangle
              dernière édition par

              Ne t’en fait pas, on est la pour ça (et si on répond c’est que on peu) ^^

              1 réponse Dernière réponse Répondre Citer 0
              • FlowF Hors-ligne
                Flow
                dernière édition par

                J’ai l’impression d’être un boulet la xDD

                [GradleStart]: Extra: []
                [01:36:56] [main/INFO] [GradleStart]: Running with arguments: [–userProperties, {}, --accessToken, {REDACTED}, --assetIndex, 1.7.10, --assetsDir, C:/Users/Legrandfifou/.gradle/caches/minecraft/assets, --version, 1.7.10, --tweakClass, cpw.mods.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
                [01:36:56] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker
                [01:36:56] [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker
                [01:36:56] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
                [01:36:56] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker
                [01:36:56] [main/INFO] [FML]: Forge Mod Loader version 7.99.16.1448 for Minecraft 1.7.10 loading
                [01:36:56] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.7.0_75, running on Windows 8.1:amd64:6.3, installed at C:\Program Files\Java\jre7
                [01:36:56] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
                [01:36:56] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
                [01:36:56] [main/INFO] [GradleStart]: Injecting location in coremod cpw.mods.fml.relauncher.FMLCorePlugin
                [01:36:56] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
                [01:36:56] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
                [01:36:56] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker
                [01:36:56] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
                [01:36:56] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
                [01:36:56] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
                [01:36:56] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
                [01:36:56] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work!
                [01:36:57] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing
                [01:36:57] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
                [01:36:57] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker
                [01:36:57] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
                [01:36:57] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.TerminalTweaker
                [01:36:57] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.TerminalTweaker
                [01:36:57] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main}
                [01:36:58] [main/INFO]: Setting user: Player718
                [01:36:59] [Client thread/INFO]: LWJGL Version: 2.9.1
                [01:37:00] [Client thread/INFO] [STDOUT]: [cpw.mods.fml.client.SplashProgress:start:188]: –-- Minecraft Crash Report ----
                // I feel sad now :(
                
                Time: 11/07/15 1:37
                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 8.1 (amd64) version 6.3
                Java Version: 1.7.0_75, Oracle Corporation
                Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
                Memory: 818234272 bytes (780 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 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.5.0 NVIDIA 350.12' Renderer: 'GeForce GTX 770/PCIe/SSE2'
                [01:37:00] [Client thread/INFO] [MinecraftForge]: Attempting early MinecraftForge initialization
                [01:37:00] [Client thread/INFO] [FML]: MinecraftForge v10.13.4.1448 Initialized
                [01:37:00] [Client thread/INFO] [FML]: Replaced 183 ore recipies
                [01:37:00] [Client thread/INFO] [MinecraftForge]: Completed early MinecraftForge initialization
                [01:37:00] [Client thread/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer
                [01:37:00] [Client thread/INFO] [FML]: Searching C:\Users\Legrandfifou\Pictures\forge\eclipse\mods for mods
                [01:37:03] [Client thread/INFO] [FML]: Forge Mod Loader has identified 4 mods to load
                [01:37:03] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, modminecraft] at CLIENT
                [01:37:03] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, modminecraft] at SERVER
                [01:37:03] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Mod Minecraft
                [01:37:03] [Client thread/INFO] [FML]: Processing ObjectHolder annotations
                [01:37:03] [Client thread/INFO] [FML]: Found 341 ObjectHolder annotations
                [01:37:03] [Client thread/INFO] [FML]: Identifying ItemStackHolder annotations
                [01:37:03] [Client thread/INFO] [FML]: Found 0 ItemStackHolder annotations
                [01:37:03] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0
                [01:37:03] [Client thread/INFO] [FML]: Applying holder lookups
                [01:37:03] [Client thread/INFO] [FML]: Holder lookups applied
                [01:37:03] [Client thread/INFO] [FML]: Injecting itemstacks
                [01:37:03] [Client thread/INFO] [FML]: Itemstack injection complete
                [01:37:03] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:
                [01:37:03] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Starting up SoundSystem…
                [01:37:04] [Thread-8/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Initializing LWJGL OpenAL
                [01:37:04] [Thread-8/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org)
                [01:37:04] [Thread-8/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: OpenAL initialized.
                [01:37:04] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:
                [01:37:04] [Sound Library Loader/INFO]: Sound engine started
                [01:37:05] [Client thread/INFO]: Created: 512x256 textures/blocks-atlas
                [01:37:05] [Client thread/INFO]: Created: 256x256 textures/items-atlas
                [01:37:05] [Client thread/INFO] [STDOUT]: [mod.client.ClientProxy:registerRender:36]: render
                [01:37:05] [Client thread/INFO] [FML]: Injecting itemstacks
                [01:37:05] [Client thread/INFO] [FML]: Itemstack injection complete
                [01:37:05] [Client thread/INFO] [FML]: Forge Mod Loader has successfully loaded 4 mods
                [01:37:05] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Mod Minecraft
                [01:37:05] [Client thread/INFO]: Created: 256x256 textures/items-atlas
                [01:37:06] [Client thread/INFO]: Created: 512x256 textures/blocks-atlas
                [01:37:06] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:
                [01:37:06] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: SoundSystem shutting down…
                [01:37:06] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:importantMessage:90]: Author: Paul Lamb, www.paulscode.com
                [01:37:06] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:
                [01:37:06] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:
                [01:37:06] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Starting up SoundSystem…
                [01:37:06] [Thread-10/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Initializing LWJGL OpenAL
                [01:37:06] [Thread-10/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org)
                [01:37:06] [Thread-10/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: OpenAL initialized.
                [01:37:06] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:
                [01:37:06] [Sound Library Loader/INFO]: Sound engine started
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: The following texture errors were found.
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: ==================================================
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: DOMAIN minecraft
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: –------------------------------------------------
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: domain minecraft is missing 2 textures
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: domain minecraft has 3 locations:
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: unknown resourcepack type net.minecraft.client.resources.DefaultResourcePack : Default
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: mod FML resources at C:\Users\Legrandfifou\.gradle\caches\minecraft\net\minecraftforge\forge\1.7.10-10.13.4.1448-1.7.10\forgeSrc-1.7.10-10.13.4.1448-1.7.10.jar
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: mod Forge resources at C:\Users\Legrandfifou\.gradle\caches\minecraft\net\minecraftforge\forge\1.7.10-10.13.4.1448-1.7.10\forgeSrc-1.7.10-10.13.4.1448-1.7.10.jar
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: –-----------------------
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: The missing resources for domain minecraft are:
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: textures/blocks/MISSING_ICON_BLOCK_177_portail.png
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: textures/items/MISSING_ICON_ITEM_4109_activateur.png
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: –-----------------------
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: No other errors exist for domain minecraft
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: ==================================================
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: ==================================================
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: DOMAIN modminecraft
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: –------------------------------------------------
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: domain modminecraft is missing 7 textures
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: domain modminecraft has 1 location:
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: mod modminecraft resources at C:\Users\Legrandfifou\Pictures\forge\bin
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: –-----------------------
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: The missing resources for domain modminecraft are:
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: textures/blocks/blockTronc_top.png
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: textures/blocks/blockTronc.png
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: textures/blocks/blockFeuille_opaque.png
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: textures/items/itemEgg2.png
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: textures/items/itemEgg.png
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: textures/blocks/blockAmbre.png.png
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: textures/blocks/blockFeuille.png
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: –-----------------------
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: The following other errors were reported for domain modminecraft:
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: –-----------------------
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: Problem: broken aspect ratio and not an animation
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: textures/blocks/blockBarriere.png
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: ==================================================
                [01:37:07] [Client thread/ERROR] [TEXTURE ERRORS]: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
                [01:37:09] [Server thread/INFO]: Starting integrated minecraft server version 1.7.10
                [01:37:09] [Server thread/INFO]: Generating keypair
                [01:37:09] [Server thread/INFO] [FML]: Injecting existing block and item data into this server instance
                [01:37:09] [Server thread/INFO] [FML]: Applying holder lookups
                [01:37:09] [Server thread/INFO] [FML]: Holder lookups applied
                [01:37:09] [Server thread/INFO] [FML]: Loading dimension 0 (Presentation) (net.minecraft.server.integrated.IntegratedServer@4ffcf27)
                [01:37:09] [Server thread/INFO] [FML]: Loading dimension 2 (Presentation) (net.minecraft.server.integrated.IntegratedServer@4ffcf27)
                [01:37:09] [Server thread/INFO] [FML]: Loading dimension 1 (Presentation) (net.minecraft.server.integrated.IntegratedServer@4ffcf27)
                [01:37:09] [Server thread/INFO] [FML]: Loading dimension -1 (Presentation) (net.minecraft.server.integrated.IntegratedServer@4ffcf27)
                [01:37:09] [Server thread/INFO]: Preparing start region for level 0
                [01:37:10] [Server thread/INFO]: Changing view distance to 12, from 10
                [01:37:10] [Netty Client IO #0/INFO] [FML]: Server protocol version 2
                [01:37:10] [Netty IO #1/INFO] [FML]: Client protocol version 2
                [01:37:10] [Netty IO #1/INFO] [FML]: Client attempting to join with 4 mods : mcp@9.05,FML@7.10.99.99,modminecraft@1.0,Forge@10.13.4.1448
                [01:37:10] [Netty IO #1/INFO] [FML]: Attempting connection with missing mods [] at CLIENT
                [01:37:10] [Netty Client IO #0/INFO] [FML]: Attempting connection with missing mods [] at SERVER
                [01:37:10] [Server thread/INFO] [FML]: [Server thread] Server side modded connection established
                [01:37:10] [Client thread/INFO] [FML]: [Client thread] Client side modded connection established
                [01:37:10] [Server thread/INFO]: Player718[local:E:3c868163] logged in with entity id 181 at (9.0, 237.0, 9.0)
                [01:37:10] [Server thread/INFO]: Player718 joined the game
                [01:37:10] [Server thread/ERROR] [FML]: HandshakeCompletionHandler exception
                net.minecraft.util.ReportedException: Exception generating new chunk
                at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:199) ~[ChunkProviderServer.class:?]
                at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:149) ~[ChunkProviderServer.class:?]
                at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:119) ~[ChunkProviderServer.class:?]
                at net.minecraft.world.gen.ChunkProviderServer.provideChunk(ChunkProviderServer.java:221) ~[ChunkProviderServer.class:?]
                at net.minecraft.world.World.getChunkFromChunkCoords(World.java:482) ~[World.class:?]
                at net.minecraft.world.World.spawnEntityInWorld(World.java:1505) ~[World.class:?]
                at net.minecraft.server.management.ServerConfigurationManager.playerLoggedIn(ServerConfigurationManager.java:322) ~[ServerConfigurationManager.class:?]
                at net.minecraft.server.management.ServerConfigurationManager.initializeConnectionToPlayer(ServerConfigurationManager.java:170) ~[ServerConfigurationManager.class:?]
                at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeServerSideConnection(NetworkDispatcher.java:190) ~[NetworkDispatcher.class:?]
                at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeHandshake(NetworkDispatcher.java:463) ~[NetworkDispatcher.class:?]
                at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:17) ~[HandshakeCompletionHandler.class:?]
                at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:11) ~[HandshakeCompletionHandler.class:?]
                at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.class:?]
                at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
                at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
                at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [MessageToMessageDecoder.class:?]
                at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) [MessageToMessageCodec.class:?]
                at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
                at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
                at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:?]
                at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:?]
                at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.class:?]
                at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?]
                at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?]
                at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?]
                at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?]
                at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [IntegratedServer.class:?]
                at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?]
                at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?]
                Caused by: java.lang.NullPointerException
                at mod.common.world.generator.AncientGenLayerBiome.getInts(AncientGenLayerBiome.java:28) ~[AncientGenLayerBiome.class:?]
                at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23) ~[GenLayerZoom.class:?]
                at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23) ~[GenLayerZoom.class:?]
                at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23) ~[GenLayerZoom.class:?]
                at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23) ~[GenLayerZoom.class:?]
                at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23) ~[GenLayerZoom.class:?]
                at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23) ~[GenLayerZoom.class:?]
                at net.minecraft.world.gen.layer.GenLayerVoronoiZoom.getInts(GenLayerVoronoiZoom.java:25) ~[GenLayerVoronoiZoom.class:?]
                at mod.common.world.type.AncientWorldChunkManager.getBiomeGenAt(AncientWorldChunkManager.java:153) ~[AncientWorldChunkManager.class:?]
                at net.minecraft.world.biome.BiomeCache$Block.<init>(BiomeCache.java:108) ~[BiomeCache$Block.class:?]
                at net.minecraft.world.biome.BiomeCache.getBiomeCacheBlock(BiomeCache.java:37) ~[BiomeCache.class:?]
                at net.minecraft.world.biome.BiomeCache.getCachedBiomes(BiomeCache.java:86) ~[BiomeCache.class:?]
                at mod.common.world.type.AncientWorldChunkManager.getBiomeGenAt(AncientWorldChunkManager.java:147) ~[AncientWorldChunkManager.class:?]
                at mod.common.world.type.AncientWorldChunkManager.loadBlockGeneratorData(AncientWorldChunkManager.java:131) ~[AncientWorldChunkManager.class:?]
                at net.minecraft.world.gen.ChunkProviderFlat.provideChunk(ChunkProviderFlat.java:149) ~[ChunkProviderFlat.class:?]
                at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:190) ~[ChunkProviderServer.class:?]
                … 28 more
                [01:37:10] [Server thread/ERROR] [FML]: There was a critical exception handling a packet on channel FML
                net.minecraft.util.ReportedException: Exception generating new chunk
                at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:199) ~[ChunkProviderServer.class:?]
                at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:149) ~[ChunkProviderServer.class:?]
                at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:119) ~[ChunkProviderServer.class:?]
                at net.minecraft.world.gen.ChunkProviderServer.provideChunk(ChunkProviderServer.java:221) ~[ChunkProviderServer.class:?]
                at net.minecraft.world.World.getChunkFromChunkCoords(World.java:482) ~[World.class:?]
                at net.minecraft.world.World.spawnEntityInWorld(World.java:1505) ~[World.class:?]
                at net.minecraft.server.management.ServerConfigurationManager.playerLoggedIn(ServerConfigurationManager.java:322) ~[ServerConfigurationManager.class:?]
                at net.minecraft.server.management.ServerConfigurationManager.initializeConnectionToPlayer(ServerConfigurationManager.java:170) ~[ServerConfigurationManager.class:?]
                at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeServerSideConnection(NetworkDispatcher.java:190) ~[NetworkDispatcher.class:?]
                at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeHandshake(NetworkDispatcher.java:463) ~[NetworkDispatcher.class:?]
                at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:17) ~[HandshakeCompletionHandler.class:?]
                at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:11) ~[HandshakeCompletionHandler.class:?]
                at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.class:?]
                at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?]
                at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?]
                at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[MessageToMessageDecoder.class:?]
                at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?]
                at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?]
                at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?]
                at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:?]
                at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:?]
                at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.class:?]
                at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?]
                at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?]
                at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?]
                at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?]
                at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [IntegratedServer.class:?]
                at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?]
                at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?]
                Caused by: java.lang.NullPointerException
                at mod.common.world.generator.AncientGenLayerBiome.getInts(AncientGenLayerBiome.java:28) ~[AncientGenLayerBiome.class:?]
                at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23) ~[GenLayerZoom.class:?]
                at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23) ~[GenLayerZoom.class:?]
                at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23) ~[GenLayerZoom.class:?]
                at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23) ~[GenLayerZoom.class:?]
                at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23) ~[GenLayerZoom.class:?]
                at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23) ~[GenLayerZoom.class:?]
                at net.minecraft.world.gen.layer.GenLayerVoronoiZoom.getInts(GenLayerVoronoiZoom.java:25) ~[GenLayerVoronoiZoom.class:?]
                at mod.common.world.type.AncientWorldChunkManager.getBiomeGenAt(AncientWorldChunkManager.java:153) ~[AncientWorldChunkManager.class:?]
                at net.minecraft.world.biome.BiomeCache$Block.<init>(BiomeCache.java:108) ~[BiomeCache$Block.class:?]
                at net.minecraft.world.biome.BiomeCache.getBiomeCacheBlock(BiomeCache.java:37) ~[BiomeCache.class:?]
                at net.minecraft.world.biome.BiomeCache.getCachedBiomes(BiomeCache.java:86) ~[BiomeCache.class:?]
                at mod.common.world.type.AncientWorldChunkManager.getBiomeGenAt(AncientWorldChunkManager.java:147) ~[AncientWorldChunkManager.class:?]
                at mod.common.world.type.AncientWorldChunkManager.loadBlockGeneratorData(AncientWorldChunkManager.java:131) ~[AncientWorldChunkManager.class:?]
                at net.minecraft.world.gen.ChunkProviderFlat.provideChunk(ChunkProviderFlat.java:149) ~[ChunkProviderFlat.class:?]
                at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:190) ~[ChunkProviderServer.class:?]
                … 28 more
                [01:37:10] [Server thread/ERROR]: Encountered an unexpected exception
                net.minecraft.util.ReportedException: Ticking memory connection
                at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:198) ~[NetworkSystem.class:?]
                at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) ~[MinecraftServer.class:?]
                at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) ~[MinecraftServer.class:?]
                at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) ~[IntegratedServer.class:?]
                at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?]
                at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?]
                Caused by: java.lang.NullPointerException
                at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:110) ~[FMLProxyPacket.class:?]
                at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) ~[NetworkManager.class:?]
                at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) ~[NetworkSystem.class:?]
                … 5 more
                [01:37:10] [Server thread/ERROR]: This crash report has been saved to: C:\Users\Legrandfifou\Pictures\forge\eclipse\.\crash-reports\crash-2015-07-11_01.37.10-server.txt
                [01:37:10] [Server thread/INFO]: Stopping server
                [01:37:10] [Server thread/INFO]: Saving players
                [01:37:10] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:388]: –-- Minecraft Crash Report ----
                // Shall we play a game?
                
                Time: 11/07/15 1:37
                Description: Ticking memory connection
                
                java.lang.NullPointerException: Ticking memory connection
                at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:110)
                at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241)
                at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182)
                at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726)
                at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614)
                at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118)
                at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485)
                at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752)
                
                A detailed walkthrough of the error, its code path and all known details is as follows:
                ---------------------------------------------------------------------------------------
                
                -- Head --
                Stacktrace:
                at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:110)
                at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241)
                
                -- Ticking connection --
                Details:
                Connection: net.minecraft.network.NetworkManager@6563f1be
                Stacktrace:
                at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182)
                at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726)
                at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614)
                at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118)
                at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485)
                at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752)
                
                -- System Details --
                Details:
                Minecraft Version: 1.7.10
                Operating System: Windows 8.1 (amd64) version 6.3
                Java Version: 1.7.0_75, Oracle Corporation
                Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
                Memory: 749774464 bytes (715 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 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: 1
                FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1448 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
                UCHIJAAAA mcp{9.05} [Minecraft Coder Pack] (minecraft.jar)
                UCHIJAAAA FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1448-1.7.10.jar)
                UCHIJAAAA Forge{10.13.4.1448} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1448-1.7.10.jar)
                UCHIJAAAA modminecraft{1.0} [Mod Minecraft] (bin)
                GL info: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread.
                Profiler Position: N/A (disabled)
                Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
                Player Count: 1 / 8; [EntityPlayerMP['Player718'/181, l='Presentation', x=9,00, y=237,00, z=9,00]]
                Type: Integrated Server (map_client.txt)
                Is Modded: Definitely; Client brand changed to 'fml,forge'
                [01:37:10] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:393]: #@!@# Game crashed! Crash report saved to: #@!@# .\crash-reports\crash-2015-07-11_01.37.10-server.txt
                [01:37:10] [Client thread/INFO] [FML]: Waiting for the server to terminate/save.
                [01:37:10] [Server thread/INFO]: Saving worlds
                [01:37:10] [Server thread/INFO]: Saving chunks for level 'Presentation'/Overworld
                [01:37:10] [Server thread/INFO]: Saving chunks for level 'Presentation'/Nether
                [01:37:10] [Server thread/INFO]: Saving chunks for level 'Presentation'/The End
                [01:37:10] [Server thread/INFO]: Saving chunks for level 'Presentation'/Ancient World
                [01:37:11] [Server thread/INFO] [FML]: Unloading dimension 0
                [01:37:11] [Server thread/INFO] [FML]: Unloading dimension -1
                [01:37:11] [Server thread/INFO] [FML]: Unloading dimension 1
                [01:37:11] [Server thread/INFO] [FML]: Unloading dimension 2
                [01:37:11] [Server thread/INFO] [FML]: Applying holder lookups
                [01:37:11] [Server thread/INFO] [FML]: Holder lookups applied
                [01:37:11] [Server thread/INFO] [FML]: The state engine was in incorrect state SERVER_STOPPING and forced into state SERVER_STOPPED. Errors may have been discarded.
                [01:37:11] [Client thread/INFO] [FML]: Server terminated.
                AL lib: (EE) alc_cleanup: 1 device not closed
                ```</init></init>

                Oui ce gif est drôle.

                1 réponse Dernière réponse Répondre Citer 0
                • DiangleD Hors-ligne
                  Diangle
                  dernière édition par

                  Tu peux envoyer la classe principale ?

                  1 réponse Dernière réponse Répondre Citer 0
                  • FlowF Hors-ligne
                    Flow
                    dernière édition par

                    Mon ModMinecraft ```java
                    package mod;

                    import mod.common.CommonProxy;
                    import mod.common.block.BlockRegister;
                    import mod.common.block.GuiHandler;
                    import mod.common.block.entity.RegisterTileEntity;
                    import mod.common.entity.EntityRegister;
                    import mod.common.item.ItemRegister;
                    import mod.common.item.recipe.RecipeRegister;
                    import mod.common.world.biome.BiomeRegister;
                    import mod.common.world.structure.DimensionRegister;
                    import cpw.mods.fml.common.Mod;
                    import cpw.mods.fml.common.Mod.EventHandler;
                    import cpw.mods.fml.common.Mod.Instance;
                    import cpw.mods.fml.common.SidedProxy;
                    import cpw.mods.fml.common.event.FMLInitializationEvent;
                    import cpw.mods.fml.common.event.FMLPostInitializationEvent;
                    import cpw.mods.fml.common.event.FMLPreInitializationEvent;
                    import cpw.mods.fml.common.network.NetworkRegistry;
                    import cpw.mods.fml.common.registry.GameRegistry;

                    @Mod(modid = ModMinecraft.MODID, name = ModMinecraft.Name, version = ModMinecraft.Version)
                    public class ModMinecraft
                    {
                    public static final String MODID = “modminecraft”;
                    public static final String Name = “Mod Minecraft”;
                    public static final String Version = “1.0”;
                    @Instance(“modminecraft”)
                    public static ModMinecraft instance;

                    @SidedProxy(clientSide = “mod.client.ClientProxy”, serverSide = “mod.common.CommonProxy”)
                    public static CommonProxy proxy;

                    @EventHandler
                    public void preInit(FMLPreInitializationEvent event)
                    {
                    BlockRegister.register();
                    ItemRegister.register();

                    }

                    @EventHandler
                    public void init(FMLInitializationEvent event)
                    {
                    RegisterTileEntity.register();
                    RecipeRegister.register();

                    EntityRegister.register();

                    proxy.registerRender();
                    proxy.registerTileEntityRender();

                    NetworkRegistry.INSTANCE.registerGuiHandler(instance, new GuiHandler());
                    }

                    @EventHandler
                    public void postInit(FMLPostInitializationEvent event)
                    {
                    DimensionRegister.register();
                    }
                    }

                    
                    Et le DimensionRegister
                    
                    ```java
                    package mod.common.world.structure;
                    
                    import cpw.mods.fml.common.registry.GameRegistry;
                    import mod.common.world.type.AncientWorldProvider;
                    import net.minecraft.block.Block;
                    import net.minecraft.block.material.Material;
                    import net.minecraft.item.Item;
                    import net.minecraftforge.common.DimensionManager;
                    
                    public class DimensionRegister {
                    
                    public static Block AncientPortail;
                    public static Item AncientActivateur;
                    public static int tutoDimAncient4 = 2;
                    
                    public static void register()
                    {
                    AncientPortail = new AncientPortail(Material.portal).setBlockName("portail");
                    AncientActivateur = new AncientActivateur().setUnlocalizedName("activateur");
                    
                    GameRegistry.registerBlock(AncientPortail, "tuto_portail");
                    GameRegistry.registerItem(AncientActivateur, "tuto_activateur");
                    
                    DimensionManager.registerProviderType(DimensionRegister.tutoDimAncient4, AncientWorldProvider.class, false);
                    DimensionManager.registerDimension(DimensionRegister.tutoDimAncient4, DimensionRegister.tutoDimAncient4);
                    
                    }
                    }
                    
                    

                    Oui ce gif est drôle.

                    1 réponse Dernière réponse Répondre Citer 0
                    • DiangleD Hors-ligne
                      Diangle
                      dernière édition par

                      Tu enregistres pas les biomes.

                      1 réponse Dernière réponse Répondre Citer 0
                      • FlowF Hors-ligne
                        Flow
                        dernière édition par

                        Achète moi une corde et un tabouret stp

                        Si je les enregistre il vont apparaître dans le monde normal non ?

                        Oui ce gif est drôle.

                        1 réponse Dernière réponse Répondre Citer 0
                        • DiangleD Hors-ligne
                          Diangle
                          dernière édition par

                          non. et non. Il y a une fonction qui est faite pour les faire apparaître dans le monde normale (je croit que c’est que en 1.8). Ducoup, il faut juste initialisé les biomes, car quand tu tente de générer les biomes dans ta dimension il accède à une variable null donc il te fait un NPE.

                          1 réponse Dernière réponse Répondre Citer 0
                          • FlowF Hors-ligne
                            Flow
                            dernière édition par

                            Donc j’ajoute ceci

                            public static BiomeGenBase AncientBiome;
                            
                            BiomeManager.addSpawnBiome(AncientBiome);
                            

                            Si je met ca ca crash encore /:

                            Oui ce gif est drôle.

                            1 réponse Dernière réponse Répondre Citer 0
                            • DiangleD Hors-ligne
                              Diangle
                              dernière édition par

                              non, tu doit appeler la classe qui enregistrer tes biomes, dans init : “BiomeRegister.register”

                              edit: on réglera les autres problème demain. je vais me coucher.

                              1 réponse Dernière réponse Répondre Citer 0
                              • FlowF Hors-ligne
                                Flow
                                dernière édition par

                                Ah oui il me semblait l’avoir initialisé /:

                                Euh la je vois pas pourquoi j’ai regardé et je vois pas de code a moi Oo

                                [02:03:52] [main/INFO] [GradleStart]: Extra: []
                                [02:03:52] [main/INFO] [GradleStart]: Running with arguments: [–userProperties, {}, --accessToken, {REDACTED}, --assetIndex, 1.7.10, --assetsDir, C:/Users/Legrandfifou/.gradle/caches/minecraft/assets, --version, 1.7.10, --tweakClass, cpw.mods.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
                                [02:03:52] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker
                                [02:03:52] [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker
                                [02:03:52] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
                                [02:03:52] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker
                                [02:03:52] [main/INFO] [FML]: Forge Mod Loader version 7.99.16.1448 for Minecraft 1.7.10 loading
                                [02:03:52] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.7.0_75, running on Windows 8.1:amd64:6.3, installed at C:\Program Files\Java\jre7
                                [02:03:52] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
                                [02:03:52] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
                                [02:03:52] [main/INFO] [GradleStart]: Injecting location in coremod cpw.mods.fml.relauncher.FMLCorePlugin
                                [02:03:52] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
                                [02:03:52] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
                                [02:03:52] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker
                                [02:03:52] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
                                [02:03:52] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
                                [02:03:52] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
                                [02:03:52] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
                                [02:03:52] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work!
                                [02:03:53] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing
                                [02:03:53] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
                                [02:03:53] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker
                                [02:03:54] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
                                [02:03:54] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.TerminalTweaker
                                [02:03:54] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.TerminalTweaker
                                [02:03:54] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main}
                                [02:03:55] [main/INFO]: Setting user: Player515
                                [02:03:56] [Client thread/INFO]: LWJGL Version: 2.9.1
                                [02:03:57] [Client thread/INFO] [STDOUT]: [cpw.mods.fml.client.SplashProgress:start:188]: –-- Minecraft Crash Report ----
                                // Why did you do that?
                                
                                Time: 11/07/15 2:03
                                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 8.1 (amd64) version 6.3
                                Java Version: 1.7.0_75, Oracle Corporation
                                Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
                                Memory: 818121960 bytes (780 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 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.5.0 NVIDIA 350.12' Renderer: 'GeForce GTX 770/PCIe/SSE2'
                                [02:03:57] [Client thread/INFO] [MinecraftForge]: Attempting early MinecraftForge initialization
                                [02:03:57] [Client thread/INFO] [FML]: MinecraftForge v10.13.4.1448 Initialized
                                [02:03:57] [Client thread/INFO] [FML]: Replaced 183 ore recipies
                                [02:03:57] [Client thread/INFO] [MinecraftForge]: Completed early MinecraftForge initialization
                                [02:03:57] [Client thread/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer
                                [02:03:57] [Client thread/INFO] [FML]: Searching C:\Users\Legrandfifou\Pictures\forge\eclipse\mods for mods
                                [02:03:59] [Client thread/INFO] [FML]: Forge Mod Loader has identified 4 mods to load
                                [02:03:59] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, modminecraft] at CLIENT
                                [02:03:59] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, modminecraft] at SERVER
                                [02:03:59] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Mod Minecraft
                                [02:04:00] [Client thread/INFO] [FML]: Processing ObjectHolder annotations
                                [02:04:00] [Client thread/INFO] [FML]: Found 341 ObjectHolder annotations
                                [02:04:00] [Client thread/INFO] [FML]: Identifying ItemStackHolder annotations
                                [02:04:00] [Client thread/INFO] [FML]: Found 0 ItemStackHolder annotations
                                [02:04:00] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0
                                [02:04:00] [Client thread/INFO] [FML]: Applying holder lookups
                                [02:04:00] [Client thread/INFO] [FML]: Holder lookups applied
                                [02:04:00] [Client thread/INFO] [FML]: Injecting itemstacks
                                [02:04:00] [Client thread/INFO] [FML]: Itemstack injection complete
                                [02:04:00] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:
                                [02:04:00] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Starting up SoundSystem…
                                [02:04:00] [Thread-8/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Initializing LWJGL OpenAL
                                [02:04:00] [Thread-8/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:     (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
                                [02:04:00] [Thread-8/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: OpenAL initialized.
                                [02:04:00] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:
                                [02:04:00] [Sound Library Loader/INFO]: Sound engine started
                                [02:04:01] [Client thread/INFO]: Created: 512x256 textures/blocks-atlas
                                [02:04:01] [Client thread/INFO]: Created: 256x256 textures/items-atlas
                                [02:04:01] [Client thread/INFO] [STDOUT]: [mod.client.ClientProxy:registerRender:36]: render
                                [02:04:01] [Client thread/INFO] [FML]: Injecting itemstacks
                                [02:04:01] [Client thread/INFO] [FML]: Itemstack injection complete
                                [02:04:01] [Client thread/INFO] [FML]: Forge Mod Loader has successfully loaded 4 mods
                                [02:04:01] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Mod Minecraft
                                [02:04:01] [Client thread/INFO]: Created: 256x256 textures/items-atlas
                                [02:04:02] [Client thread/INFO]: Created: 512x256 textures/blocks-atlas
                                [02:04:02] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:
                                [02:04:02] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: SoundSystem shutting down…
                                [02:04:02] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:importantMessage:90]:     Author: Paul Lamb, www.paulscode.com
                                [02:04:02] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:
                                [02:04:02] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:
                                [02:04:02] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Starting up SoundSystem…
                                [02:04:02] [Thread-10/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Initializing LWJGL OpenAL
                                [02:04:02] [Thread-10/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:     (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
                                [02:04:02] [Thread-10/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: OpenAL initialized.
                                [02:04:02] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:
                                [02:04:02] [Sound Library Loader/INFO]: Sound engine started
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]: The following texture errors were found.
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]: ==================================================
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:   DOMAIN minecraft
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]: –------------------------------------------------
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:   domain minecraft is missing 2 textures
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:     domain minecraft has 3 locations:
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:       unknown resourcepack type net.minecraft.client.resources.DefaultResourcePack : Default
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:       mod FML resources at C:\Users\Legrandfifou\.gradle\caches\minecraft\net\minecraftforge\forge\1.7.10-10.13.4.1448-1.7.10\forgeSrc-1.7.10-10.13.4.1448-1.7.10.jar
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:       mod Forge resources at C:\Users\Legrandfifou\.gradle\caches\minecraft\net\minecraftforge\forge\1.7.10-10.13.4.1448-1.7.10\forgeSrc-1.7.10-10.13.4.1448-1.7.10.jar
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]: –-----------------------
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:     The missing resources for domain minecraft are:
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/MISSING_ICON_BLOCK_177_portail.png
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/items/MISSING_ICON_ITEM_4109_activateur.png
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]: –-----------------------
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:     No other errors exist for domain minecraft
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]: ==================================================
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]: ==================================================
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:   DOMAIN modminecraft
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]: –------------------------------------------------
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:   domain modminecraft is missing 7 textures
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:     domain modminecraft has 1 location:
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:       mod modminecraft resources at C:\Users\Legrandfifou\Pictures\forge\bin
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]: –-----------------------
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:     The missing resources for domain modminecraft are:
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/blockTronc_top.png
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/blockTronc.png
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/blockFeuille_opaque.png
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/items/itemEgg2.png
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/items/itemEgg.png
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/blockAmbre.png.png
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/blockFeuille.png
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]: –-----------------------
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:     The following other errors were reported for domain modminecraft:
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]: –-----------------------
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:     Problem: broken aspect ratio and not an animation
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/blockBarriere.png
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]: ==================================================
                                [02:04:03] [Client thread/ERROR] [TEXTURE ERRORS]: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
                                [02:04:10] [Server thread/INFO]: Starting integrated minecraft server version 1.7.10
                                [02:04:10] [Server thread/INFO]: Generating keypair
                                [02:04:10] [Server thread/INFO] [FML]: Injecting existing block and item data into this server instance
                                [02:04:10] [Server thread/INFO] [FML]: Applying holder lookups
                                [02:04:10] [Server thread/INFO] [FML]: Holder lookups applied
                                [02:04:10] [Server thread/INFO] [FML]: Loading dimension 0 (Presentation) (net.minecraft.server.integrated.IntegratedServer@36639951)
                                [02:04:10] [Server thread/INFO] [FML]: Loading dimension 2 (Presentation) (net.minecraft.server.integrated.IntegratedServer@36639951)
                                [02:04:10] [Server thread/INFO] [FML]: Loading dimension 1 (Presentation) (net.minecraft.server.integrated.IntegratedServer@36639951)
                                [02:04:10] [Server thread/INFO] [FML]: Loading dimension -1 (Presentation) (net.minecraft.server.integrated.IntegratedServer@36639951)
                                [02:04:10] [Server thread/INFO]: Preparing start region for level 0
                                [02:04:11] [Server thread/INFO]: Changing view distance to 12, from 10
                                [02:04:11] [Netty Client IO #0/INFO] [FML]: Server protocol version 2
                                [02:04:11] [Netty IO #1/INFO] [FML]: Client protocol version 2
                                [02:04:11] [Netty IO #1/INFO] [FML]: Client attempting to join with 4 mods : mcp@9.05,FML@7.10.99.99,modminecraft@1.0,Forge@10.13.4.1448
                                [02:04:11] [Netty IO #1/INFO] [FML]: Attempting connection with missing mods [] at CLIENT
                                [02:04:11] [Netty Client IO #0/INFO] [FML]: Attempting connection with missing mods [] at SERVER
                                [02:04:11] [Server thread/INFO] [FML]: [Server thread] Server side modded connection established
                                [02:04:11] [Client thread/INFO] [FML]: [Client thread] Client side modded connection established
                                [02:04:11] [Server thread/INFO]: Player515[local:E:78106190] logged in with entity id 181 at (9.0, 237.0, 9.0)
                                [02:04:11] [Server thread/INFO]: Player515 joined the game
                                [02:04:11] [Server thread/ERROR] [FML]: HandshakeCompletionHandler exception
                                net.minecraft.util.ReportedException: Exception preparing structure feature
                                at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:199) ~[ChunkProviderServer.class:?]
                                at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:149) ~[ChunkProviderServer.class:?]
                                at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:119) ~[ChunkProviderServer.class:?]
                                at net.minecraft.world.gen.ChunkProviderServer.provideChunk(ChunkProviderServer.java:221) ~[ChunkProviderServer.class:?]
                                at net.minecraft.world.World.getChunkFromChunkCoords(World.java:482) ~[World.class:?]
                                at net.minecraft.world.World.spawnEntityInWorld(World.java:1505) ~[World.class:?]
                                at net.minecraft.server.management.ServerConfigurationManager.playerLoggedIn(ServerConfigurationManager.java:322) ~[ServerConfigurationManager.class:?]
                                at net.minecraft.server.management.ServerConfigurationManager.initializeConnectionToPlayer(ServerConfigurationManager.java:170) ~[ServerConfigurationManager.class:?]
                                at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeServerSideConnection(NetworkDispatcher.java:190) ~[NetworkDispatcher.class:?]
                                at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeHandshake(NetworkDispatcher.java:463) ~[NetworkDispatcher.class:?]
                                at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:17) ~[HandshakeCompletionHandler.class:?]
                                at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:11) ~[HandshakeCompletionHandler.class:?]
                                at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.class:?]
                                at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
                                at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
                                at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [MessageToMessageDecoder.class:?]
                                at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) [MessageToMessageCodec.class:?]
                                at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
                                at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
                                at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:?]
                                at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:?]
                                at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.class:?]
                                at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?]
                                at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?]
                                at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?]
                                at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?]
                                at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [IntegratedServer.class:?]
                                at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?]
                                at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?]
                                Caused by: java.lang.NullPointerException
                                at net.minecraft.world.biome.WorldChunkManager.findBiomePosition(WorldChunkManager.java:250) ~[WorldChunkManager.class:?]
                                at net.minecraft.world.gen.structure.MapGenStronghold.canSpawnStructureAtCoords(MapGenStronghold.java:96) ~[MapGenStronghold.class:?]
                                at net.minecraft.world.gen.structure.MapGenStructure.func_151538_a(MapGenStructure.java:43) ~[MapGenStructure.class:?]
                                at net.minecraft.world.gen.MapGenBase.func_151539_a(MapGenBase.java:33) ~[MapGenBase.class:?]
                                at net.minecraft.world.gen.ChunkProviderFlat.provideChunk(ChunkProviderFlat.java:162) ~[ChunkProviderFlat.class:?]
                                at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:190) ~[ChunkProviderServer.class:?]
                                … 28 more
                                [02:04:11] [Server thread/ERROR] [FML]: There was a critical exception handling a packet on channel FML
                                net.minecraft.util.ReportedException: Exception preparing structure feature
                                at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:199) ~[ChunkProviderServer.class:?]
                                at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:149) ~[ChunkProviderServer.class:?]
                                at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:119) ~[ChunkProviderServer.class:?]
                                at net.minecraft.world.gen.ChunkProviderServer.provideChunk(ChunkProviderServer.java:221) ~[ChunkProviderServer.class:?]
                                at net.minecraft.world.World.getChunkFromChunkCoords(World.java:482) ~[World.class:?]
                                at net.minecraft.world.World.spawnEntityInWorld(World.java:1505) ~[World.class:?]
                                at net.minecraft.server.management.ServerConfigurationManager.playerLoggedIn(ServerConfigurationManager.java:322) ~[ServerConfigurationManager.class:?]
                                at net.minecraft.server.management.ServerConfigurationManager.initializeConnectionToPlayer(ServerConfigurationManager.java:170) ~[ServerConfigurationManager.class:?]
                                at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeServerSideConnection(NetworkDispatcher.java:190) ~[NetworkDispatcher.class:?]
                                at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeHandshake(NetworkDispatcher.java:463) ~[NetworkDispatcher.class:?]
                                at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:17) ~[HandshakeCompletionHandler.class:?]
                                at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:11) ~[HandshakeCompletionHandler.class:?]
                                at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.class:?]
                                at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?]
                                at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?]
                                at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[MessageToMessageDecoder.class:?]
                                at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?]
                                at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?]
                                at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?]
                                at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:?]
                                at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:?]
                                at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.class:?]
                                at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?]
                                at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?]
                                at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?]
                                at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?]
                                at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [IntegratedServer.class:?]
                                at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?]
                                at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?]
                                Caused by: java.lang.NullPointerException
                                at net.minecraft.world.biome.WorldChunkManager.findBiomePosition(WorldChunkManager.java:250) ~[WorldChunkManager.class:?]
                                at net.minecraft.world.gen.structure.MapGenStronghold.canSpawnStructureAtCoords(MapGenStronghold.java:96) ~[MapGenStronghold.class:?]
                                at net.minecraft.world.gen.structure.MapGenStructure.func_151538_a(MapGenStructure.java:43) ~[MapGenStructure.class:?]
                                at net.minecraft.world.gen.MapGenBase.func_151539_a(MapGenBase.java:33) ~[MapGenBase.class:?]
                                at net.minecraft.world.gen.ChunkProviderFlat.provideChunk(ChunkProviderFlat.java:162) ~[ChunkProviderFlat.class:?]
                                at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:190) ~[ChunkProviderServer.class:?]
                                … 28 more
                                [02:04:11] [Server thread/ERROR]: Encountered an unexpected exception
                                net.minecraft.util.ReportedException: Ticking memory connection
                                at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:198) ~[NetworkSystem.class:?]
                                at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) ~[MinecraftServer.class:?]
                                at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) ~[MinecraftServer.class:?]
                                at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) ~[IntegratedServer.class:?]
                                at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?]
                                at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?]
                                Caused by: java.lang.NullPointerException
                                at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:110) ~[FMLProxyPacket.class:?]
                                at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) ~[NetworkManager.class:?]
                                at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) ~[NetworkSystem.class:?]
                                … 5 more
                                [02:04:11] [Server thread/ERROR]: This crash report has been saved to: C:\Users\Legrandfifou\Pictures\forge\eclipse\.\crash-reports\crash-2015-07-11_02.04.11-server.txt
                                [02:04:11] [Server thread/INFO]: Stopping server
                                [02:04:11] [Server thread/INFO]: Saving players
                                [02:04:11] [Server thread/INFO]: Saving worlds
                                [02:04:11] [Server thread/INFO]: Saving chunks for level 'Presentation'/Overworld
                                [02:04:12] [Server thread/INFO]: Saving chunks for level 'Presentation'/Nether
                                [02:04:12] [Server thread/INFO]: Saving chunks for level 'Presentation'/The End
                                [02:04:12] [Server thread/INFO]: Saving chunks for level 'Presentation'/Ancient World
                                [02:04:12] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:388]: –-- Minecraft Crash Report ----
                                // I blame Dinnerbone.
                                
                                Time: 11/07/15 2:04
                                Description: Ticking memory connection
                                
                                java.lang.NullPointerException: Ticking memory connection
                                at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:110)
                                at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241)
                                at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182)
                                at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726)
                                at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614)
                                at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118)
                                at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485)
                                at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752)
                                
                                A detailed walkthrough of the error, its code path and all known details is as follows:
                                ---------------------------------------------------------------------------------------
                                
                                -- Head --
                                Stacktrace:
                                at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:110)
                                at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241)
                                
                                -- Ticking connection --
                                Details:
                                Connection: net.minecraft.network.NetworkManager@48844a5c
                                Stacktrace:
                                at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182)
                                at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726)
                                at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614)
                                at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118)
                                at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485)
                                at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752)
                                
                                -- System Details --
                                Details:
                                Minecraft Version: 1.7.10
                                Operating System: Windows 8.1 (amd64) version 6.3
                                Java Version: 1.7.0_75, Oracle Corporation
                                Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
                                Memory: 742047584 bytes (707 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 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: 1, tcache: 27, allocated: 0, tallocated: 0
                                FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1448 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
                                UCHIJAAAA mcp{9.05} [Minecraft Coder Pack] (minecraft.jar)
                                UCHIJAAAA FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1448-1.7.10.jar)
                                UCHIJAAAA Forge{10.13.4.1448} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1448-1.7.10.jar)
                                UCHIJAAAA modminecraft{1.0} [Mod Minecraft] (bin)
                                GL info: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread.
                                Profiler Position: N/A (disabled)
                                Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
                                Player Count: 1 / 8; [EntityPlayerMP['Player515'/181, l='Presentation', x=9,00, y=237,00, z=9,00]]
                                Type: Integrated Server (map_client.txt)
                                Is Modded: Definitely; Client brand changed to 'fml,forge'
                                [02:04:12] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:393]: #@!@# Game crashed! Crash report saved to: #@!@# .\crash-reports\crash-2015-07-11_02.04.11-server.txt
                                [02:04:12] [Client thread/INFO] [FML]: Waiting for the server to terminate/save.
                                [02:04:12] [Server thread/INFO] [FML]: Unloading dimension 0
                                [02:04:12] [Server thread/INFO] [FML]: Unloading dimension -1
                                [02:04:12] [Server thread/INFO] [FML]: Unloading dimension 1
                                [02:04:12] [Server thread/INFO] [FML]: Unloading dimension 2
                                [02:04:12] [Server thread/INFO] [FML]: Applying holder lookups
                                [02:04:12] [Server thread/INFO] [FML]: Holder lookups applied
                                [02:04:12] [Server thread/INFO] [FML]: The state engine was in incorrect state SERVER_STOPPING and forced into state SERVER_STOPPED. Errors may have been discarded.
                                [02:04:12] [Client thread/INFO] [FML]: Server terminated.
                                AL lib: (EE) alc_cleanup: 1 device not closed
                                

                                EDIT  : Jpeut même plus créer de nouveau monde

                                Oui ce gif est drôle.

                                1 réponse Dernière réponse Répondre Citer 0
                                • DiangleD Hors-ligne
                                  Diangle
                                  dernière édition par

                                  Tu peux me renvoyer :
                                  -classe principale
                                  -gen layer
                                  -biome gen layer

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • FlowF Hors-ligne
                                    Flow
                                    dernière édition par

                                    Oui voici , ( désolé j’ai été absent toute la journée d’hier )

                                    Classe principale

                                    package mod.common.world.structure;
                                    
                                    import cpw.mods.fml.common.registry.GameRegistry;
                                    import mod.common.world.type.AncientWorldProvider;
                                    import net.minecraft.block.Block;
                                    import net.minecraft.block.material.Material;
                                    import net.minecraft.item.Item;
                                    import net.minecraft.world.biome.BiomeCache;
                                    import net.minecraft.world.biome.BiomeGenBase;
                                    import net.minecraftforge.common.BiomeManager;
                                    import net.minecraftforge.common.DimensionManager;
                                    
                                    public class DimensionRegister {
                                    
                                    public static Block AncientPortail;
                                    public static Item AncientActivateur;
                                    public static int tutoDimAncient4 = 2;
                                    
                                    public static void register()
                                    {
                                    AncientPortail = new AncientPortail(Material.portal).setBlockName("portail");
                                    AncientActivateur = new AncientActivateur().setUnlocalizedName("activateur");
                                    
                                    GameRegistry.registerBlock(AncientPortail, "tuto_portail");
                                    GameRegistry.registerItem(AncientActivateur, "tuto_activateur");
                                    
                                    DimensionManager.registerProviderType(DimensionRegister.tutoDimAncient4, AncientWorldProvider.class, false);
                                    DimensionManager.registerDimension(DimensionRegister.tutoDimAncient4, DimensionRegister.tutoDimAncient4);
                                    
                                    }
                                    }
                                    
                                    

                                    GenLayer

                                    
                                    package mod.common.world.generator;
                                    
                                    import net.minecraft.world.gen.layer.GenLayer;
                                    import net.minecraft.world.gen.layer.GenLayerVoronoiZoom;
                                    import net.minecraft.world.gen.layer.GenLayerZoom;
                                    
                                    public abstract class AncientGenLayer extends GenLayer
                                    
                                    {
                                    public AncientGenLayer(long par1)
                                    {
                                    super(par1);
                                    }
                                    
                                    public static GenLayer[] makeTheWorld(long l)
                                    {
                                    GenLayer biomes = new AncientGenLayerBiome(1L);
                                    
                                    biomes = new GenLayerZoom(1000L, biomes);
                                    biomes = new GenLayerZoom(1001L, biomes);
                                    biomes = new GenLayerZoom(1002L, biomes);
                                    biomes = new GenLayerZoom(1003L, biomes);
                                    biomes = new GenLayerZoom(1004L, biomes);
                                    biomes = new GenLayerZoom(1005L, biomes);
                                    
                                    GenLayer genlayervoronoizoom = new GenLayerVoronoiZoom(10L, biomes);
                                    biomes.initWorldGenSeed(l);
                                    genlayervoronoizoom.initWorldGenSeed(l);
                                    
                                    return new GenLayer[] {biomes, genlayervoronoizoom};
                                    }
                                    }
                                    
                                    

                                    GenLayerBiome

                                    package mod.common.world.generator;
                                    
                                    import mod.common.world.biome.AncientBiome;
                                    import mod.common.world.biome.BiomeRegister;
                                    import net.minecraft.world.biome.BiomeGenBase;
                                    import net.minecraft.world.gen.layer.GenLayer;
                                    import net.minecraft.world.gen.layer.IntCache;
                                    
                                    public class AncientGenLayerBiome extends GenLayer
                                    {
                                    protected BiomeGenBase[] baseBiome = {BiomeRegister.AncientBiome};
                                    
                                    public AncientGenLayerBiome(long seed)
                                    {
                                    super(seed);
                                    }
                                    
                                    @Override
                                    public int[] getInts(int coordX, int coordZ, int width, int depth)
                                    {
                                    int[] dest = IntCache.getIntCache(width * depth);
                                    
                                    for(int dz = 0; dz < depth; dz++)
                                    {
                                    for(int dx = 0; dx < width; dx++)
                                    {
                                    this.initChunkSeed(dx + coordX, dz + coordZ);
                                    dest[(dx + dz * width)] = this.baseBiome[nextInt(this.baseBiome.length)].biomeID;
                                    }
                                    }
                                    return dest;
                                    }
                                    
                                    }
                                    
                                    

                                    Oui ce gif est drôle.

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • FlowF Hors-ligne
                                      Flow
                                      dernière édition par

                                      Ah j’ai aussi les erreurs sur ICE , etc j’ai essayé de les réglers mais je n’y arrive mais et

                                      //si le biome n'est pas un désert, une montagne du désert, et que la rand.nextIn(4) ne fait pas 0 alors nous avons un lac
                                      if (biomegenbase != BiomeGenBase.desert && biomegenbase != BiomeGenBase.desertHills && !flag && this.rand.nextInt(4) == 0
                                      && TerrainGen.populate(chunkProvider, worldObj, rand, x, z, flag, LAKE))
                                      {
                                      x2 = x1 + this.rand.nextInt(16) + 8;
                                      z2 = this.rand.nextInt(256);
                                      i2 = z1 + this.rand.nextInt(16) + 8;
                                      //Le blocs de génération du lac
                                      (new WorldGenLakes(Blocks.water)).generate(this.worldObj, this.rand, x2, z2, i2);
                                      }
                                      
                                      //la condition est la même que en haut, sans les biomes
                                      if (TerrainGen.populate(chunkProvider, worldObj, rand, x, z, flag, LAVA) && !flag && this.rand.nextInt(8) == 0)
                                      {
                                      x2 = x1 + this.rand.nextInt(16) + 8;
                                      //nous définissons les x, y, z
                                      z2 = this.rand.nextInt(this.rand.nextInt(248) + 8);
                                      i2 = z1 + this.rand.nextInt(16) + 8;
                                      
                                      if (z2 < 63 || this.rand.nextInt(10) == 0)
                                      { //changer le par le blocs de votre choix
                                      (new WorldGenLakes(Blocks.lava)).generate(this.worldObj, this.rand, x2, z2, i2);
                                      }
                                      }
                                      
                                      //sa nous permet de générer des donjons, comme plus haut changer la classe par la votre pour générer vos donjons
                                      boolean doGen = TerrainGen.populate(chunkProvider, worldObj, rand, x, z, flag, DUNGEON);
                                      for (x2 = 0; doGen && x2 < 8; ++x2)
                                      {
                                      z2 = x1 + this.rand.nextInt(16) + 8;
                                      i2 = this.rand.nextInt(256);
                                      int j2 = z1 + this.rand.nextInt(16) + 8;
                                      //changer la classe par votre classe
                                      (new WorldGenDungeons()).generate(this.worldObj, this.rand, z2, i2, j2);
                                      }
                                      
                                      biomegenbase.decorate(this.worldObj, this.rand, x1, z1);
                                      //sa ajoute des mobs
                                      if (TerrainGen.populate(chunkProvider, worldObj, rand, x, z, flag, ANIMALS))
                                      {
                                      SpawnerAnimals.performWorldGenSpawning(this.worldObj, biomegenbase, x1 + 8, z1 + 8, 16, 16, this.rand);
                                      }
                                      x1 += 8;
                                      z1 += 8;
                                      
                                      //sa remplace la génération de l'eau par de la glasse, et ajoute la tomber de neige
                                      doGen = TerrainGen.populate(chunkProvider, worldObj, rand, x, z, flag, ICE);
                                      for (x2 = 0; doGen && x2 < 16; ++x2)
                                      {
                                      for (z2 = 0; z2 < 16; ++z2)
                                      {
                                      i2 = this.worldObj.getPrecipitationHeight(x1 + x2, z1 + z2);
                                      
                                      if (this.worldObj.isBlockFreezable(x2 + x1, i2 - 1, z2 + z1))
                                      {
                                      this.worldObj.setBlock(x2 + x1, i2 - 1, z2 + z1, Blocks.ice, 0, 2);
                                      }
                                      
                                      if (this.worldObj.func_147478_e(x2 + x1, i2, z2 + z1, true))
                                      {
                                      this.worldObj.setBlock(x2 + x1, i2, z2 + z1, Blocks.snow_layer, 0, 2);
                                      }
                                      }
                                      }
                                      

                                      Et dans ceci je dois mettre quoi ?

                                      class AncientPortalPosition extends ChunkCoordinates
                                      {
                                      public long time;
                                      final AncientTeleporter teleporter;
                                      
                                      public AncientPortalPosition(AncientTeleporter teleporter, int x, int y, int z, long creationTime)
                                      {
                                      super(x, y, z);
                                      this.teleporter = teleporter;
                                      this.time = creationTime;
                                      }
                                      
                                      @Override
                                      public int compareTo(Object o)
                                      {
                                      
                                      }
                                      
                                      }
                                      

                                      Oui ce gif est drôle.

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • DiangleD Hors-ligne
                                        Diangle
                                        dernière édition par

                                        Je répond en premier à ton second message, pour le premier problème je n’ai rien compris se qui t’arrive. Tu dit erreur ? lesquelles ?
                                        Ensuite pour le second tu as rien à changer. Pourquoi ?
                                        Pour le premier. Met en commentaire le code qui enregistre la dimension. Dit moi si ça crash. Ensuite envoies moi le code de toute tes classe (chunk provider, chunk manager…)hors mis les deux gens layer et la classe principale. Met les de préférence dans un onglet spoiler.

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • FlowF Hors-ligne
                                          Flow
                                          dernière édition par

                                          Alors pour ceci

                                          //si le biome n'est pas un désert, une montagne du désert, et que la rand.nextIn(4) ne fait pas 0 alors nous avons un lac
                                                 if (biomegenbase != BiomeGenBase.desert && biomegenbase != BiomeGenBase.desertHills && !flag && this.rand.nextInt(4) == 0
                                                     && TerrainGen.populate(chunkProvider, worldObj, rand, x, z, flag, LAKE))
                                                 {
                                                     x2 = x1 + this.rand.nextInt(16) + 8;
                                                     z2 = this.rand.nextInt(256);
                                                     i2 = z1 + this.rand.nextInt(16) + 8;
                                                      //Le blocs de génération du lac
                                                     (new WorldGenLakes(Blocks.water)).generate(this.worldObj, this.rand, x2, z2, i2);
                                                 }
                                          
                                                 //la condition est la même que en haut, sans les biomes
                                                 if (TerrainGen.populate(chunkProvider, worldObj, rand, x, z, flag, LAVA) && !flag && this.rand.nextInt(8) == 0)
                                                 {
                                                     x2 = x1 + this.rand.nextInt(16) + 8;
                                                     //nous définissons les x, y, z
                                                     z2 = this.rand.nextInt(this.rand.nextInt(248) + 8);
                                                     i2 = z1 + this.rand.nextInt(16) + 8;
                                          
                                                     if (z2 < 63 || this.rand.nextInt(10) == 0)
                                                     { //changer le par le blocs de votre choix
                                                         (new WorldGenLakes(Blocks.lava)).generate(this.worldObj, this.rand, x2, z2, i2);
                                                     }
                                                 }
                                          
                                                 //sa nous permet de générer des donjons, comme plus haut changer la classe par la votre pour générer vos donjons
                                                 boolean doGen = TerrainGen.populate(chunkProvider, worldObj, rand, x, z, flag, DUNGEON);
                                                 for (x2 = 0; doGen && x2 < 8; ++x2)
                                                 {
                                                     z2 = x1 + this.rand.nextInt(16) + 8;
                                                     i2 = this.rand.nextInt(256);
                                                     int j2 = z1 + this.rand.nextInt(16) + 8;
                                                     //changer la classe par votre classe
                                                     (new WorldGenDungeons()).generate(this.worldObj, this.rand, z2, i2, j2);
                                                 }
                                          
                                                 biomegenbase.decorate(this.worldObj, this.rand, x1, z1);
                                                 //sa ajoute des mobs
                                                 if (TerrainGen.populate(chunkProvider, worldObj, rand, x, z, flag, ANIMALS))
                                                 {
                                                 SpawnerAnimals.performWorldGenSpawning(this.worldObj, biomegenbase, x1 + 8, z1 + 8, 16, 16, this.rand);
                                                 }
                                                 x1 += 8;
                                                 z1 += 8;
                                          
                                                 //sa remplace la génération de l'eau par de la glasse, et ajoute la tomber de neige
                                                 doGen = TerrainGen.populate(chunkProvider, worldObj, rand, x, z, flag, ICE);
                                                 for (x2 = 0; doGen && x2 < 16; ++x2)
                                                 {
                                                     for (z2 = 0; z2 < 16; ++z2)
                                                     {
                                                         i2 = this.worldObj.getPrecipitationHeight(x1 + x2, z1 + z2);
                                          
                                                         if (this.worldObj.isBlockFreezable(x2 + x1, i2 - 1, z2 + z1))
                                                         {
                                                             this.worldObj.setBlock(x2 + x1, i2 - 1, z2 + z1, Blocks.ice, 0, 2);
                                                         }
                                          
                                                         if (this.worldObj.func_147478_e(x2 + x1, i2, z2 + z1, true))
                                                         {
                                                             this.worldObj.setBlock(x2 + x1, i2, z2 + z1, Blocks.snow_layer, 0, 2);
                                                         }
                                                     }
                                                 }
                                          

                                          Les attributs type LAVA , DUNGEONS, ANIMALS,  ICE apparaissent en erreurs et je n’arrive pas a les importé 😕

                                          Pour ceci j’ai l’erreurs sur le

                                          compareTo(Object o)
                                          
                                          class AncientPortalPosition extends ChunkCoordinates
                                          {
                                          public long time;
                                          final AncientTeleporter teleporter;
                                          
                                          public AncientPortalPosition(AncientTeleporter teleporter, int x, int y, int z, long creationTime)
                                          {
                                          super(x, y, z);
                                          this.teleporter = teleporter;
                                          this.time = creationTime;
                                          }
                                          
                                          @Override
                                          public int compareTo(Object o)
                                          {
                                          
                                          }
                                          
                                          }
                                          

                                          Si j’enlève les DimensionManager qui enregistre la dimension , plus de crash je peut créer des nouveaux mondes , sauf la dimension

                                          :::

                                          DimensionRegister

                                          package mod.common.world.structure;
                                          
                                          import cpw.mods.fml.common.registry.GameRegistry;
                                          import mod.common.world.type.AncientWorldProvider;
                                          import net.minecraft.block.Block;
                                          import net.minecraft.block.material.Material;
                                          import net.minecraft.item.Item;
                                          import net.minecraft.world.biome.BiomeCache;
                                          import net.minecraft.world.biome.BiomeGenBase;
                                          import net.minecraftforge.common.BiomeManager;
                                          import net.minecraftforge.common.DimensionManager;
                                          
                                          public class DimensionRegister {
                                          
                                          public static Block AncientPortail;
                                          public static Item AncientActivateur;
                                          public static int tutoDimAncient4 = 2;
                                          
                                          public static void register()
                                          {
                                          AncientPortail = new AncientPortail(Material.portal).setBlockName("portail");
                                          AncientActivateur = new AncientActivateur().setUnlocalizedName("activateur");
                                          
                                          GameRegistry.registerBlock(AncientPortail, "tuto_portail");
                                          GameRegistry.registerItem(AncientActivateur, "tuto_activateur");
                                          
                                          DimensionManager.registerProviderType(DimensionRegister.tutoDimAncient4, AncientWorldProvider.class, false);
                                          DimensionManager.registerDimension(DimensionRegister.tutoDimAncient4, DimensionRegister.tutoDimAncient4);
                                          
                                          }
                                          }
                                          

                                          ChunkProvider

                                          package mod.common.world.type;
                                          
                                          import java.util.List;
                                          import java.util.Random;
                                          
                                          import mod.common.world.biome.AncientBiome;
                                          import net.minecraft.block.Block;
                                          import net.minecraft.block.BlockFalling;
                                          import net.minecraft.entity.EnumCreatureType;
                                          import net.minecraft.init.Blocks;
                                          import net.minecraft.util.MathHelper;
                                          import net.minecraft.world.ChunkPosition;
                                          import net.minecraft.world.SpawnerAnimals;
                                          import net.minecraft.world.World;
                                          import net.minecraft.world.WorldType;
                                          import net.minecraft.world.biome.BiomeGenBase;
                                          import net.minecraft.world.biome.BiomeGenPlains;
                                          import net.minecraft.world.chunk.Chunk;
                                          import net.minecraft.world.chunk.IChunkProvider;
                                          import net.minecraft.world.gen.MapGenBase;
                                          import net.minecraft.world.gen.MapGenCaves;
                                          import net.minecraft.world.gen.MapGenRavine;
                                          import net.minecraft.world.gen.NoiseGenerator;
                                          import net.minecraft.world.gen.NoiseGeneratorOctaves;
                                          import net.minecraft.world.gen.NoiseGeneratorPerlin;
                                          import net.minecraft.world.gen.feature.WorldGenDungeons;
                                          import net.minecraft.world.gen.feature.WorldGenLakes;
                                          import net.minecraft.world.gen.structure.MapGenMineshaft;
                                          import net.minecraft.world.gen.structure.MapGenScatteredFeature;
                                          import net.minecraftforge.common.MinecraftForge;
                                          import net.minecraftforge.event.terraingen.ChunkProviderEvent;
                                          import net.minecraftforge.event.terraingen.PopulateChunkEvent;
                                          import net.minecraftforge.event.terraingen.TerrainGen;
                                          import cpw.mods.fml.common.eventhandler.Event.Result;
                                          import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.*;
                                          
                                          public abstract class AncientChunkProvider implements IChunkProvider {
                                          
                                          private Random rand;
                                             private NoiseGeneratorOctaves noiseGen1;//les noises
                                             private NoiseGeneratorOctaves noiseGen2;
                                             private NoiseGeneratorOctaves noiseGen3;
                                             private NoiseGeneratorPerlin noiseGen4;
                                             public NoiseGeneratorOctaves noiseGen5;
                                             public NoiseGeneratorOctaves noiseGen6;
                                             public NoiseGeneratorOctaves mobSpawnerNoise;
                                             private World worldObj;
                                             private WorldType worldType;
                                             private final double[] noiseArray;
                                             private final float[] parabolicField;
                                             private final boolean mapFeaturesEnabled;
                                          
                                             private MapGenBase caveGenerator = new MapGenCaves();//la génération des caves, remplacer par votre ravin si vous utiliser une autre stone
                                             private MapGenMineshaft mineshaftGenerator = new MapGenMineshaft();//la génération des mineshaft, ""        ""                     ""
                                             private MapGenScatteredFeature scatteredFeatureGenerator = new MapGenScatteredFeature();
                                             private MapGenBase ravineGenerator = new MapGenRavine();//la structure du ravin,          ""             ""                     ""
                                          
                                             private double[] stoneNoise = new double[256];
                                             private BiomeGenBase[] biomesForGeneration;
                                             double[] noiseData1; //les noises data
                                             double[] noiseData2;
                                             double[] noiseData3;
                                             double[] noiseData4;
                                          
                                             {
                                                 caveGenerator = TerrainGen.getModdedMapGen(caveGenerator, CAVE);
                                                 mineshaftGenerator = (MapGenMineshaft) TerrainGen.getModdedMapGen(mineshaftGenerator, MINESHAFT);
                                                 scatteredFeatureGenerator = (MapGenScatteredFeature) TerrainGen.getModdedMapGen(scatteredFeatureGenerator, SCATTERED_FEATURE);
                                                 ravineGenerator = TerrainGen.getModdedMapGen(ravineGenerator, RAVINE);
                                             }
                                          
                                             public AncientChunkProvider(World world, long seed, boolean features)
                                             {
                                              this.worldObj = world;
                                                  this.mapFeaturesEnabled = features;
                                                  this.worldType = world.getWorldInfo().getTerrainType();
                                                  this.rand = new Random(seed);
                                                  this.noiseGen1 = new NoiseGeneratorOctaves(this.rand, 16);
                                                  this.noiseGen2 = new NoiseGeneratorOctaves(this.rand, 16);
                                                  this.noiseGen3 = new NoiseGeneratorOctaves(this.rand, 8);
                                                  this.noiseGen4 = new NoiseGeneratorPerlin(this.rand, 4);
                                                  this.noiseGen5 = new NoiseGeneratorOctaves(this.rand, 10);
                                                  this.noiseGen6 = new NoiseGeneratorOctaves(this.rand, 16);
                                                  this.mobSpawnerNoise = new NoiseGeneratorOctaves(this.rand, 8);
                                                  this.noiseArray = new double[825];
                                                  this.parabolicField = new float[25];
                                          
                                                  for (int j = -2; j <= 2; ++j)
                                                  {
                                                      for (int k = -2; k <= 2; ++k)
                                                      {
                                                          float f = 10.0F / MathHelper.sqrt_float((float)(j * j + k * k) + 0.2F);
                                                          this.parabolicField[j + 2 + (k + 2) * 5] = f;
                                                      }
                                                  }
                                          
                                                  NoiseGenerator[] noiseGens = {noiseGen1, noiseGen2, noiseGen3, noiseGen4, noiseGen5, noiseGen6, mobSpawnerNoise};
                                                  noiseGens = TerrainGen.getModdedNoiseGenerators(world, this.rand, noiseGens);
                                                  this.noiseGen1 = (NoiseGeneratorOctaves)noiseGens[0];
                                                  this.noiseGen2 = (NoiseGeneratorOctaves)noiseGens[1];
                                                  this.noiseGen3 = (NoiseGeneratorOctaves)noiseGens[2];
                                                  this.noiseGen4 = (NoiseGeneratorPerlin)noiseGens[3];
                                                  this.noiseGen5 = (NoiseGeneratorOctaves)noiseGens[4];
                                                  this.noiseGen6 = (NoiseGeneratorOctaves)noiseGens[5];
                                                  this.mobSpawnerNoise = (NoiseGeneratorOctaves)noiseGens[6];
                                             }
                                          
                                             public void func_147424_a(int Xchunks, int Zchunks, Block[] topBlock)
                                             {
                                                 byte b0 = 63;
                                                 this.biomesForGeneration = this.worldObj.getWorldChunkManager().getBiomesForGeneration(this.biomesForGeneration, Xchunks * 4 - 2, Zchunks * 4 - 2, 10, 10);
                                                 this.func_147423_a(Xchunks * 4, 0, Zchunks * 4);
                                          
                                                 final Random rand = new Random();
                                          
                                                 for (int k = 0; k < 4; ++k)
                                                 {
                                                     int l = k * 5;
                                                     int i1 = (k + 1) * 5;
                                          
                                                     for (int j1 = 0; j1 < 4; ++j1)
                                                     {
                                                         int k1 = (l + j1) * 33;
                                                         int l1 = (l + j1 + 1) * 33;
                                                         int i2 = (i1 + j1) * 33;
                                                         int j2 = (i1 + j1 + 1) * 33;
                                          
                                                         for (int k2 = 0; k2 < 32; ++k2)
                                                         {
                                                             double d0 = 0.105D;
                                                             double d1 = this.noiseArray[k1 + k2];
                                                             double d2 = this.noiseArray[l1 + k2];
                                                             double d3 = this.noiseArray[i2 + k2];
                                                             double d4 = this.noiseArray[j2 + k2];
                                                             double d5 = (this.noiseArray[k1 + k2 + 1] - d1) * d0;
                                                             double d6 = (this.noiseArray[l1 + k2 + 1] - d2) * d0;
                                                             double d7 = (this.noiseArray[i2 + k2 + 1] - d3) * d0;
                                                             double d8 = (this.noiseArray[j2 + k2 + 1] - d4) * d0;
                                          
                                                             for (int l2 = 0; l2 < 8; ++l2)
                                                             {
                                                                 double d9 = 0.25D;
                                                                 double d10 = d1;
                                                                 double d11 = d2;
                                                                 double d12 = (d3 - d1) * d9;
                                                                 double d13 = (d4 - d2) * d9;
                                          
                                                                 for (int i3 = 0; i3 < 4; ++i3)
                                                                 {
                                                                     int j3 = i3 + k * 4 << 12 | 0 + j1 * 4 << 8 | k2 * 8 + l2;
                                                                     short short1 = 256;
                                                                     j3 -= short1;
                                                                     double d14 = 0.25D;
                                                                     double d16 = (d11 - d10) * d14;
                                                                     double d15 = d10 - d16;
                                          
                                                                     for (int k3 = 0; k3 < 4; ++k3)
                                                                     {
                                                                         if ((d15 += d16) > 0.0D)
                                                                         {
                                                                             topBlock[j3 += short1] = Blocks.stone;
                                                                         }
                                                                         else if (k2 * 8 + l2 < b0)
                                                                         {
                                                                             topBlock[j3 += short1] = Blocks.water;
                                                                         }
                                                                         else
                                                                         {
                                                                             topBlock[j3 += short1] = null;
                                                                         }
                                                                     }
                                          
                                                                     d10 += d12;
                                                                     d11 += d13;
                                                                 }
                                          
                                                                 d1 += d5;
                                                                 d2 += d6;
                                                                 d3 += d7;
                                                                 d4 += d8;
                                                             }
                                                         }
                                                     }
                                                 }
                                             }
                                          
                                             public void replaceBlocksForBiome(int coordX, int coordZ, Block[] block, byte[] arrayOfByte, BiomeGenBase[] biomeList)
                                             {
                                                 ChunkProviderEvent.ReplaceBiomeBlocks event = new ChunkProviderEvent.ReplaceBiomeBlocks(this, coordX, coordZ, block, biomeList);
                                                 MinecraftForge.EVENT_BUS.post(event);
                                                 if (event.getResult() == Result.DENY) return;
                                          
                                                 double d0 = 0.03125D;
                                                 this.stoneNoise = this.noiseGen4.func_151599_a(this.stoneNoise, (double)(coordX * 16), (double)(coordZ * 16), 16, 16, d0 * 2.0D, d0 * 2.0D, 1.0D);
                                          
                                                 for (int k = 0; k < 16; ++k)
                                                 {
                                                     for (int l = 0; l < 16; ++l)
                                                     {
                                                      AncientBiome biomegenbase = (AncientBiome /*TODO ce biome est a remplacer par le votre*/)biomeList[l + k * 16];
                                          biomegenbase.genTerrainBlocks(this.worldObj, this.rand, block, arrayOfByte, coordX * 16 + k, coordZ * 16 + l, this.stoneNoise[l + k * 16]);
                                          }
                                                 }
                                             }
                                          
                                             public Chunk loadChunk(int par1, int par2)
                                             {
                                                 return this.provideChunk(par1, par2);
                                             }
                                          
                                             public Chunk provideChunk(int par1, int par2)
                                             {
                                                 this.rand.setSeed((long)par1 * 341873128712L + (long)par2 * 132897987541L);
                                                 Block[] ablock = new Block[65536];
                                                 byte[] abyte = new byte[65536];
                                                 this.func_147424_a(par1, par2, ablock);
                                                 this.biomesForGeneration = this.worldObj.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, par1 * 16, par2 * 16, 16, 16);
                                                 this.replaceBlocksForBiome(par1, par2, ablock, abyte, this.biomesForGeneration);
                                                 this.caveGenerator.func_151539_a(this, this.worldObj, par1, par2, ablock);
                                                 this.ravineGenerator.func_151539_a(this, this.worldObj, par1, par2, ablock);
                                          
                                                 if (this.mapFeaturesEnabled)
                                                 {
                                                     this.mineshaftGenerator.func_151539_a(this, this.worldObj, par1, par2, ablock);
                                                     this.scatteredFeatureGenerator.func_151539_a(this, this.worldObj, par1, par2, ablock);
                                                 }
                                          
                                                 Chunk chunk = new Chunk(this.worldObj, ablock, abyte, par1, par2);
                                                 byte[] abyte1 = chunk.getBiomeArray();
                                          
                                                 for (int k = 0; k < abyte1.length; ++k)
                                                 {
                                                     abyte1[k] = (byte)this.biomesForGeneration[k].biomeID;
                                                 }
                                          
                                                 chunk.generateSkylightMap();
                                                 return chunk;
                                             }
                                          
                                             private void func_147423_a(int x, int y, int z)
                                             {
                                                 double d0 = 684.412D;
                                                 double d1 = 684.412D;
                                                 double d2 = 512.0D;
                                                 double d3 = 512.0D;
                                                 this.noiseData4 = this.noiseGen6.generateNoiseOctaves(this.noiseData4, x, z, 5, 5, 200.0D, 200.0D, 0.5D);
                                          this.noiseData1 = this.noiseGen3.generateNoiseOctaves(this.noiseData1, x, y, z, 5, 33, 5, 8.555150000000001D, 4.277575000000001D, 8.555150000000001D);
                                          this.noiseData2 = this.noiseGen1.generateNoiseOctaves(this.noiseData2, x, y, z, 5, 33, 5, 684.412D, 684.412D, 684.412D);
                                          this.noiseData3 = this.noiseGen2.generateNoiseOctaves(this.noiseData3, x, y, z, 5, 33, 5, 684.412D, 684.412D, 684.412D);
                                          boolean flag1 = false;
                                                 boolean flag = false;
                                                 int l = 0;
                                                 int i1 = 0;
                                                 double d4 = 8.5D;
                                          
                                                 for (int j1 = 0; j1 < 5; ++j1)
                                                 {
                                                     for (int k1 = 0; k1 < 5; ++k1)
                                                     {
                                                         float f = 0.0F;
                                                         float f1 = 0.0F;
                                                         float f2 = 0.0F;
                                                         byte b0 = 2;
                                                         BiomeGenBase biomegenbase = this.biomesForGeneration[j1 + 2 + (k1 + 2) * 10];
                                          
                                                         for (int l1 = -b0; l1 <= b0; ++l1)
                                                         {
                                                             for (int i2 = -b0; i2 <= b0; ++i2)
                                                             {
                                                                 BiomeGenBase biomegenbase1 = this.biomesForGeneration[j1 + l1 + 2 + (k1 + i2 + 2) * 10];
                                                                 float f3 = biomegenbase1.rootHeight;
                                                                 float f4 = biomegenbase1.heightVariation;
                                          
                                                                 float f5 = this.parabolicField[l1 + 2 + (i2 + 2) * 5] / (f3 + 2.0F);
                                          
                                                                 if (biomegenbase1.rootHeight > biomegenbase.rootHeight)
                                                                 {
                                                                     f5 /= 2.0F;
                                                                 }
                                          
                                                                 f += f4 * f5;
                                                                 f1 += f3 * f5;
                                                                 f2 += f5;
                                                             }
                                                         }
                                          
                                                         f /= f2;
                                                         f1 /= f2;
                                                         f = f * 0.9F + 0.1F;
                                                         f1 = (f1 * 4.0F - 1.0F) / 8.0F;
                                                         double d13 = this.noiseData4[i1] / 8000.0D;
                                          
                                                         if (d13 < 0.0D)
                                                         {
                                                             d13 = -d13 * 0.3D;
                                                         }
                                          
                                                         d13 = d13 * 3.0D - 2.0D;
                                          
                                                         if (d13 < 0.0D)
                                                         {
                                                             d13 /= 2.0D;
                                          
                                                             if (d13 < -1.0D)
                                                             {
                                                                 d13 = -1.0D;
                                                             }
                                          
                                                             d13 /= 1.4D;
                                                             d13 /= 2.0D;
                                                         }
                                                         else
                                                         {
                                                             if (d13 > 1.0D)
                                                             {
                                                                 d13 = 1.0D;
                                                             }
                                          
                                                             d13 /= 8.0D;
                                                         }
                                          
                                                         ++i1;
                                                         double d12 = (double)f1;
                                                         double d14 = (double)f;
                                                         d12 += d13 * 0.2D;
                                                         d12 = d12 * 8.5D / 8.0D;
                                                         double d5 = 8.5D + d13 * 4.0D;
                                          
                                                         for (int j2 = 0; j2 < 33; ++j2)
                                                         {
                                                             double d6 = ((double)j2 - d5) * 12.0D * 128.0D / 256.0D / d14;
                                          
                                                             if (d6 < 0.0D)
                                                             {
                                                                 d6 *= 4.0D;
                                                             }
                                          
                                                             double d7 = this.noiseData2[l] / 512.0D;
                                                             double d8 = this.noiseData3[l] / 512.0D;
                                                             double d9 = (this.noiseData1[l] / 10.0D + 1.0D) / 2.0D;
                                                             double d10 = MathHelper.denormalizeClamp(d7, d8, d9) - d6;
                                          
                                                             if (j2 > 29)
                                                             {
                                                                 double d11 = (double)((float)(j2 - 29) / 3.0F);
                                                                 d10 = d10 * (1.0D - d11) + -10.0D * d11;
                                                             }
                                          
                                                             this.noiseArray[l] = d10;
                                                             ++l;
                                                         }
                                                     }
                                                 }
                                             }
                                          
                                             public boolean chunkExists(int par1, int par2)
                                             {
                                                 return true;
                                             }
                                          
                                             public void populate(IChunkProvider chunkProvider, int x, int z)
                                             {
                                                 BlockFalling.fallInstantly = true;
                                                 int x1 = x * 16;
                                                 int z1 = z * 16;
                                                 BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(x1 + 16, z1 + 16);
                                                 this.rand.setSeed(this.worldObj.getSeed());
                                                 long i1 = this.rand.nextLong() / 2L * 2L + 1L;
                                                 long j1 = this.rand.nextLong() / 2L * 2L + 1L;
                                                 this.rand.setSeed((long)x * i1 + (long)z * j1 ^ this.worldObj.getSeed());
                                                 boolean flag = false;
                                          
                                                 MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(chunkProvider, worldObj, rand, x, z, flag));
                                          
                                                 // si l'option de génération des structures est activer alors nous générons le mineshaft et l'autre structure
                                          
                                                 if (this.mapFeaturesEnabled)
                                                 {
                                                     this.mineshaftGenerator.generateStructuresInChunk(this.worldObj, this.rand, x, z);
                                                     this.scatteredFeatureGenerator.generateStructuresInChunk(this.worldObj, this.rand, x, z);
                                                 }
                                          
                                                 int x2;
                                                 int z2;
                                                 int i2;
                                          
                                                 //si le biome n'est pas un désert, une montagne du désert, et que la rand.nextIn(4) ne fait pas 0 alors nous avons un lac
                                                 if (biomegenbase != BiomeGenBase.desert && biomegenbase != BiomeGenBase.desertHills && !flag && this.rand.nextInt(4) == 0
                                                     && TerrainGen.populate(chunkProvider, worldObj, rand, x, z, flag, LAKE))
                                                 {
                                                     x2 = x1 + this.rand.nextInt(16) + 8;
                                                     z2 = this.rand.nextInt(256);
                                                     i2 = z1 + this.rand.nextInt(16) + 8;
                                                      //Le blocs de génération du lac
                                                     (new WorldGenLakes(Blocks.water)).generate(this.worldObj, this.rand, x2, z2, i2);
                                                 }
                                          
                                                 //la condition est la même que en haut, sans les biomes
                                                 if (TerrainGen.populate(chunkProvider, worldObj, rand, x, z, flag, LAVA) && !flag && this.rand.nextInt(8) == 0)
                                                 {
                                                     x2 = x1 + this.rand.nextInt(16) + 8;
                                                     //nous définissons les x, y, z
                                                     z2 = this.rand.nextInt(this.rand.nextInt(248) + 8);
                                                     i2 = z1 + this.rand.nextInt(16) + 8;
                                          
                                                     if (z2 < 63 || this.rand.nextInt(10) == 0)
                                                     { //changer le par le blocs de votre choix
                                                         (new WorldGenLakes(Blocks.lava)).generate(this.worldObj, this.rand, x2, z2, i2);
                                                     }
                                                 }
                                          
                                                 //sa nous permet de générer des donjons, comme plus haut changer la classe par la votre pour générer vos donjons
                                                 boolean doGen = TerrainGen.populate(chunkProvider, worldObj, rand, x, z, flag, DUNGEON);
                                                 for (x2 = 0; doGen && x2 < 8; ++x2)
                                                 {
                                                     z2 = x1 + this.rand.nextInt(16) + 8;
                                                     i2 = this.rand.nextInt(256);
                                                     int j2 = z1 + this.rand.nextInt(16) + 8;
                                                     //changer la classe par votre classe
                                                     (new WorldGenDungeons()).generate(this.worldObj, this.rand, z2, i2, j2);
                                                 }
                                          
                                                 biomegenbase.decorate(this.worldObj, this.rand, x1, z1);
                                                 //sa ajoute des mobs
                                                 if (TerrainGen.populate(chunkProvider, worldObj, rand, x, z, flag, ANIMALS))
                                                 {
                                                 SpawnerAnimals.performWorldGenSpawning(this.worldObj, biomegenbase, x1 + 8, z1 + 8, 16, 16, this.rand);
                                                 }
                                                 x1 += 8;
                                                 z1 += 8;
                                          
                                                 //sa remplace la génération de l'eau par de la glasse, et ajoute la tomber de neige
                                                 doGen = TerrainGen.populate(chunkProvider, worldObj, rand, x, z, flag, ICE);
                                                 for (x2 = 0; doGen && x2 < 16; ++x2)
                                                 {
                                                     for (z2 = 0; z2 < 16; ++z2)
                                                     {
                                                         i2 = this.worldObj.getPrecipitationHeight(x1 + x2, z1 + z2);
                                          
                                                         if (this.worldObj.isBlockFreezable(x2 + x1, i2 - 1, z2 + z1))
                                                         {
                                                             this.worldObj.setBlock(x2 + x1, i2 - 1, z2 + z1, Blocks.ice, 0, 2);
                                                         }
                                          
                                                         if (this.worldObj.func_147478_e(x2 + x1, i2, z2 + z1, true))
                                                         {
                                                             this.worldObj.setBlock(x2 + x1, i2, z2 + z1, Blocks.snow_layer, 0, 2);
                                                         }
                                                     }
                                                 }
                                          
                                                 MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Post(chunkProvider, worldObj, rand, x, z, flag));
                                          
                                                 BlockFalling.fallInstantly = false;
                                             }
                                          
                                             public String makeString()
                                             {
                                                 return "RandomLevelSource";
                                             }
                                          
                                             public List getPossibleCreatures(EnumCreatureType par1EnumCreatureType, int par2, int par3, int par4)
                                             {
                                              /*TODO*/AncientBiome biomegenbase = (/*TODO*/AncientBiome)this.worldObj.getBiomeGenForCoords(par2, par4);
                                              return par1EnumCreatureType == EnumCreatureType.monster && this.scatteredFeatureGenerator.func_143030_a(par2, par3, par4) ? this.scatteredFeatureGenerator.getScatteredFeatureSpawnList() : biomegenbase.getSpawnableList(par1EnumCreatureType);
                                             }
                                          
                                             public ChunkPosition func_147416_a(World world, String strg, int x, int y, int z)
                                             {
                                                 return null;
                                             }
                                          
                                             public int getLoadedChunkCount()
                                             {
                                                 return 0;
                                             }
                                          
                                             public void recreateStructures(int par1, int par2)
                                             {
                                                 if (this.mapFeaturesEnabled)
                                                 {
                                                     this.mineshaftGenerator.func_151539_a(this, this.worldObj, par1, par2, (Block[])null);
                                                     this.scatteredFeatureGenerator.func_151539_a(this, this.worldObj, par1, par2, (Block[])null);
                                                 }
                                             }
                                          
                                          }
                                          

                                          Mon biome ( au cas ou )

                                          package mod.common.world.biome;
                                          
                                          import java.util.List;
                                          import java.util.Random;
                                          
                                          import net.minecraft.block.Block;
                                          import net.minecraft.block.material.Material;
                                          import net.minecraft.entity.passive.EntityHorse;
                                          import net.minecraft.init.Blocks;
                                          import net.minecraft.world.World;
                                          import net.minecraft.world.biome.BiomeGenBase;
                                          import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry;
                                          import net.minecraft.world.biome.BiomeGenPlains;
                                          import net.minecraft.world.gen.NoiseGeneratorPerlin;
                                          import net.minecraft.world.gen.feature.WorldGenAbstractTree;
                                          import net.minecraft.world.gen.feature.WorldGenDoublePlant;
                                          import net.minecraft.world.gen.feature.WorldGenTrees;
                                          
                                          public class AncientBiome extends BiomeGenBase
                                          {
                                           public AncientBiome(int par1)
                                           {
                                             super(par1);
                                             setTemperatureRainfall(0.8F, 0.4F);
                                             setHeight(height_LowPlains);
                                             this.spawnableCreatureList.add(new BiomeGenBase.SpawnListEntry(EntityHorse.class, 5, 2, 6));
                                             this.theBiomeDecorator.treesPerChunk = -999;
                                             this.theBiomeDecorator.flowersPerChunk = 4;
                                             this.theBiomeDecorator.grassPerChunk = 10;
                                             this.flowers.clear();
                                             addFlower(Blocks.red_flower, 4, 3);
                                             addFlower(Blocks.red_flower, 5, 3);
                                             addFlower(Blocks.red_flower, 6, 3);
                                             addFlower(Blocks.red_flower, 7, 3);
                                             addFlower(Blocks.red_flower, 0, 20);
                                             addFlower(Blocks.red_flower, 3, 20);
                                             addFlower(Blocks.red_flower, 8, 20);
                                             addFlower(Blocks.yellow_flower, 0, 30);
                                           }
                                          
                                           public String func_150572_a(Random p_150572_1_, int p_150572_2_, int p_150572_3_, int p_150572_4_)
                                           {
                                             double d0 = plantNoise.func_151601_a(p_150572_2_ / 200.0D, p_150572_4_ / 200.0D);
                                          
                                             if (d0 < -0.8D)
                                             {
                                               int l = p_150572_1_.nextInt(4);
                                               return net.minecraft.block.BlockFlower.field_149859_a[(4 + l)];
                                             }
                                             if (p_150572_1_.nextInt(3) > 0)
                                             {
                                               int l = p_150572_1_.nextInt(3);
                                               return l == 1 ? net.minecraft.block.BlockFlower.field_149859_a[3] : l == 0 ? net.minecraft.block.BlockFlower.field_149859_a[0] : net.minecraft.block.BlockFlower.field_149859_a[8];
                                             }
                                          
                                             return net.minecraft.block.BlockFlower.field_149858_b[0];
                                           }
                                          
                                           public void decorate(World par1World, Random par2Random, int par3, int par4)
                                           {
                                             double d0 = plantNoise.func_151601_a((par3 + 8) / 200.0D, (par4 + 8) / 200.0D);
                                          
                                             if (d0 < -0.8D)
                                             {
                                               this.theBiomeDecorator.flowersPerChunk = 15;
                                               this.theBiomeDecorator.grassPerChunk = 5;
                                             }
                                             else
                                             {
                                               this.theBiomeDecorator.flowersPerChunk = 4;
                                               this.theBiomeDecorator.grassPerChunk = 10;
                                               genTallFlowers.func_150548_a(2);
                                          
                                               for (int k = 0; k < 7; k++)
                                               {
                                                 int l = par3 + par2Random.nextInt(16) + 8;
                                                 int i1 = par4 + par2Random.nextInt(16) + 8;
                                                 int j1 = par2Random.nextInt(par1World.getHeightValue(l, i1) + 32);
                                                 genTallFlowers.generate(par1World, par2Random, l, j1, i1);
                                               }
                                          
                                             }
                                          
                                             super.decorate(par1World, par2Random, par3, par4);
                                           }
                                          
                                           public BiomeGenBase createMutation()
                                           {
                                             BiomeGenPlains biomegenplains = new BiomeGenPlains(this.biomeID + 128);
                                             biomegenplains.setBiomeName("Sunflower Plains");
                                             biomegenplains.setColor(9286496);
                                             biomegenplains.field_150609_ah = 14273354;
                                             return biomegenplains;
                                           }
                                          
                                           public int getBiomeGrassColor()
                                           {
                                          
                                           return 0xFFFFFF;
                                           }
                                          }
                                          

                                          AncientTeleporter

                                          package mod.common.world.structure;
                                          
                                          import java.util.ArrayList;
                                          import java.util.List;
                                          import java.util.Random;
                                          
                                          import net.minecraft.entity.Entity;
                                          import net.minecraft.init.Blocks;
                                          import net.minecraft.util.ChunkCoordinates;
                                          import net.minecraft.util.Direction;
                                          import net.minecraft.util.LongHashMap;
                                          import net.minecraft.util.MathHelper;
                                          import net.minecraft.world.ChunkCoordIntPair;
                                          import net.minecraft.world.Teleporter;
                                          import net.minecraft.world.WorldServer;
                                          
                                          public class AncientTeleporter extends Teleporter
                                          {
                                          private final WorldServer worldServerInstance;
                                          private final Random random;
                                          private final LongHashMap destinationCoordinateCache = new LongHashMap();
                                          
                                          private final List destinationCoordinateKeys = new ArrayList();
                                          
                                          public AncientTeleporter(WorldServer worldServer)
                                          {
                                          super(worldServer);
                                          this.worldServerInstance = worldServer;
                                          this.random = new Random(worldServer.getSeed());
                                          
                                          }
                                          
                                          public void placeInPortal(Entity entity, double x, double y, double z, float rotationYaw)
                                          {
                                          if(this.worldServerInstance.provider.dimensionId != 1)
                                          {
                                          if(!this.placeInExistingPortal(entity, x, y, z, rotationYaw))
                                          {
                                          this.makePortal(entity);
                                          this.placeInExistingPortal(entity, x, y, z, rotationYaw);
                                          }
                                          }
                                          else
                                          {
                                          int i = MathHelper.floor_double(entity.posX);//position x
                                          int j = MathHelper.floor_double(entity.posY) - 1;//position y
                                          int k = MathHelper.floor_double(entity.posZ);//position z
                                          byte b0 = 1;
                                          byte b1 = 0;
                                          for(int l = -2; l <= 2; ++l)
                                          {
                                          for(int i1 = -2; i1 <= 2; ++i1)
                                          {
                                          for(int j1 = -1; j1 < 3; ++j1)
                                          {
                                          int k1 = i + i1 * b0 + l * b1;
                                          int l1 = j + j1;
                                          int i2 = k + i1 * b1 - l * b0;
                                          boolean flag = j1 < 0;
                                          
                                          //set la structure
                                          this.worldServerInstance.setBlock(k1, l1, i2, flag ? Blocks.stone : Blocks.air);
                                          }
                                          }
                                          }
                                          entity.setLocationAndAngles((double)i, (double)j, (double)k, entity.rotationYaw, 0.0F);
                                          entity.motionX = entity.motionY = entity.motionZ = 0.0D;
                                          }
                                             }
                                          
                                          public boolean placeInExistingPortal(Entity entity, double x, double y, double z, float rotationYaw)
                                          {
                                          short short1 = 128;
                                          double d3 = -1.0D;
                                          int i = 0;
                                          int j = 0;
                                          int k = 0;
                                          int l = MathHelper.floor_double(entity.posX);// position x
                                          int i1 = MathHelper.floor_double(entity.posZ);// position z
                                          long j1 = ChunkCoordIntPair.chunkXZ2Int(l, i1);// convertit en un nombre
                                          // entier pour le hach
                                          boolean flag = true;
                                          double d4;
                                          int k1;
                                          
                                          if(this.destinationCoordinateCache.containsItem(j1))
                                          {
                                          PortalPosition portalposition = (PortalPosition)this.destinationCoordinateCache.getValueByKey(j1);
                                          d3 = 0.0D;
                                          i = portalposition.posX;// position x
                                          j = portalposition.posY;// position y
                                          k = portalposition.posZ;// position z
                                          portalposition.lastUpdateTime = this.worldServerInstance.getTotalWorldTime();
                                          flag = false;
                                          }
                                          
                                          else
                                          {
                                          for(k1 = l - short1; k1 <= l + short1; ++k1)
                                          {
                                          double d5 = (double)k1 + 0.5D - entity.posX;
                                          for(int l1 = i1 - short1; l1 <= i1 + short1; ++l1)
                                          {
                                          double d6 = (double)l1 + 0.5D - entity.posZ;
                                          // renvoie a la hauteur du monde
                                          for(int i2 = this.worldServerInstance.getActualHeight() - 1; i2 >= 0; –i2)
                                          {
                                          if(this.worldServerInstance.getBlock(k1, i2, l1) == DimensionRegister.AncientPortail)
                                          {
                                          while(this.worldServerInstance.getBlock(k1, i2 - 1, l1) == DimensionRegister.AncientPortail)
                                          {
                                          --i2;
                                          }
                                          d4 = (double)i2 + 0.5D - entity.posY;
                                          double d7 = d5 * d5 + d4 * d4 + d6 * d6;
                                          if(d3 < 0.0D || d7 < d3)
                                          {
                                          d3 = d7;
                                          i = k1;
                                          j = i2;
                                          k = l1;
                                          }
                                          }
                                          }
                                          }
                                          }
                                          }
                                          
                                          if(d3 >= 0.0D)
                                          {
                                          if(flag)
                                          { // ajoute des valeurs au LongHashMap
                                          this.destinationCoordinateCache.add(j1, new AncientPortalPosition(this, i, j, k, this.worldServerInstance.getTotalWorldTime()));
                                          this.destinationCoordinateKeys.add(Long.valueOf(j1));
                                          }
                                          double d8 = (double)i + 0.5D;
                                          double d9 = (double)j + 0.5D;
                                          d4 = (double)k + 0.5D;
                                          int j2 = -1;
                                          if(this.worldServerInstance.getBlock(i - 1, j, k) == DimensionRegister.AncientPortail)
                                          {
                                          j2 = 2;
                                          }
                                          if(this.worldServerInstance.getBlock(i + 1, j, k) == DimensionRegister.AncientPortail)
                                          {
                                          j2 = 0;
                                          }
                                          if(this.worldServerInstance.getBlock(i, j, k - 1) == DimensionRegister.AncientPortail)
                                          {
                                          j2 = 3;
                                          }
                                          if(this.worldServerInstance.getBlock(i, j, k + 1) == DimensionRegister.AncientPortail)
                                          {
                                          j2 = 1;
                                          }
                                          int k2 = entity.getTeleportDirection();
                                          if(j2 > -1)
                                          { // la position de l'entité dans le monde après avoir passer le
                                          // portail
                                          int l2 = Direction.rotateLeft[j2];
                                          int i3 = Direction.offsetX[j2];
                                          int j3 = Direction.offsetZ[j2];
                                          int k3 = Direction.offsetX[l2];
                                          int l3 = Direction.offsetZ[l2];
                                          boolean flag1 = !this.worldServerInstance.isAirBlock(i + i3 + k3, j, k + j3 + l3) || !this.worldServerInstance.isAirBlock(i + i3 + k3, j + 1, k + j3 + l3);
                                          boolean flag2 = !this.worldServerInstance.isAirBlock(i + i3, j, k + j3) || !this.worldServerInstance.isAirBlock(i + i3, j + 1, k + j3);
                                          if(flag1 && flag2)
                                          {
                                          j2 = Direction.rotateOpposite[j2];
                                          l2 = Direction.rotateOpposite[l2];
                                          i3 = Direction.offsetX[j2];
                                          j3 = Direction.offsetZ[j2];
                                          k3 = Direction.offsetX[l2];
                                          l3 = Direction.offsetZ[l2];
                                          k1 = i - k3;
                                          d8 -= (double)k3;
                                          int i4 = k - l3;
                                          d4 -= (double)l3;
                                          flag1 = !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j, i4 + j3 + l3) || !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j + 1, i4 + j3 + l3);
                                          flag2 = !this.worldServerInstance.isAirBlock(k1 + i3, j, i4 + j3) || !this.worldServerInstance.isAirBlock(k1 + i3, j + 1, i4 + j3);
                                          }
                                          float f1 = 0.5F;
                                          float f2 = 0.5F;
                                          if(!flag1 && flag2)
                                          {
                                          f1 = 1.0F;
                                          }
                                          else if(flag1 && !flag2)
                                          {
                                          f1 = 0.0F;
                                          }
                                          else if(flag1 && flag2)
                                          {
                                          f2 = 0.0F;
                                          }
                                          d8 += (double)((float)k3 * f1 + f2 * (float)i3);
                                          d4 += (double)((float)l3 * f1 + f2 * (float)j3);
                                          float f3 = 0.0F;
                                          float f4 = 0.0F;
                                          float f5 = 0.0F;
                                          float f6 = 0.0F;
                                          if(j2 == k2)
                                          {
                                          f3 = 1.0F;
                                          f4 = 1.0F;
                                          }
                                          else if(j2 == Direction.rotateOpposite[k2])
                                          {
                                          f3 = -1.0F;
                                          f4 = -1.0F;
                                          }
                                          else if(j2 == Direction.rotateRight[k2])
                                          {
                                          f5 = 1.0F;
                                          f6 = -1.0F;
                                          }
                                          else
                                          {
                                          f5 = -1.0F;
                                          f6 = 1.0F;
                                          }
                                          double d10 = entity.motionX;
                                          double d11 = entity.motionZ;
                                          entity.motionX = d10 * (double)f3 + d11 * (double)f6;
                                          entity.motionZ = d10 * (double)f5 + d11 * (double)f4;
                                          entity.rotationYaw = rotationYaw - (float)(k2 * 90) + (float)(j2 * 90);
                                          }
                                          else
                                          {
                                          entity.motionX = entity.motionY = entity.motionZ = 0.0D;
                                          }
                                          entity.setLocationAndAngles(d8, d9, d4, entity.rotationYaw, entity.rotationPitch);
                                          return true;
                                          }
                                          else
                                          {
                                          return false;
                                          }
                                                 }
                                          
                                          public boolean makePortal(Entity entity)
                                                 {
                                          byte b0 = 16;
                                          double d0 = -1.0D;
                                          int x = MathHelper.floor_double(entity.posX);// position x
                                          int y = MathHelper.floor_double(entity.posY);// position y
                                          int z = MathHelper.floor_double(entity.posZ);// position z
                                          int l = x;
                                          int i1 = y;
                                          int j1 = z;
                                          int k1 = 0;
                                          int l1 = this.random.nextInt(4);
                                          int i2;
                                          double d1;
                                          int k2;
                                          double d2;
                                          int i3;
                                          int j3;
                                          int k3;
                                          int l3;
                                          int i4;
                                          int j4;
                                          int k4;
                                          int l4;
                                          int i5;
                                          double d3;
                                          double d4;
                                          
                                          for(i2 = x - b0; i2 <= x + b0; ++i2)
                                          {
                                          d1 = (double)i2 + 0.5D - entity.posX;
                                          
                                          for(k2 = z - b0; k2 <= z + b0; ++k2)
                                          {
                                          d2 = (double)k2 + 0.5D - entity.posZ;
                                          label274:
                                          
                                          for(i3 = this.worldServerInstance.getActualHeight() - 1; i3 >= 0; –i3)
                                          {
                                          // si le blocs et un bloc d'air
                                          if(this.worldServerInstance.isAirBlock(i2, i3, k2))
                                          {
                                          while(i3 > 0 && this.worldServerInstance.isAirBlock(i2, i3 - 1, k2))
                                          {
                                          --i3;
                                          }
                                          
                                          for(j3 = l1; j3 < l1 + 4; ++j3)
                                          {
                                          k3 = j3 % 2;
                                          l3 = 1 - k3;
                                          
                                          if(j3 % 4 >= 2)
                                          {
                                          k3 = -k3;
                                          l3 = -l3;
                                          }
                                          
                                          for(i4 = 0; i4 < 3; ++i4)
                                          {
                                          for(j4 = 0; j4 < 4; ++j4)
                                          {
                                          for(k4 = -1; k4 < 4; ++k4)
                                          {
                                          l4 = i2 + (j4 - 1) * k3 + i4 * l3;
                                          i5 = i3 + k4;
                                          int j5 = k2 + (j4 - 1) * l3 - i4 * k3;
                                          
                                          // si k4 et inférieur a 0 et que le
                                          // blocs n'est pas solide ou si k4 et
                                          // égale ou inférieur a 0 et que le bloc
                                          // est pas d'air nous retournons ou
                                          // label274 plus haut
                                          if(k4 < 0 && !this.worldServerInstance.getBlock(l4, i5, j5).getMaterial().isSolid() || k4 >= 0 && !this.worldServerInstance.isAirBlock(l4, i5, j5))
                                          {
                                          continue label274;
                                          }
                                          }
                                          }
                                          }
                                          
                                          d3 = (double)i3 + 0.5D - entity.posY;
                                          d4 = d1 * d1 + d3 * d3 + d2 * d2;
                                          
                                          if(d0 < 0.0D || d4 < d0)
                                          {
                                          d0 = d4;
                                          l = i2;
                                          i1 = i3;
                                          j1 = k2;
                                          k1 = j3 % 4;
                                          }
                                          }
                                          }
                                          }
                                          }
                                          }
                                          
                                          if(d0 < 0.0D)
                                          {
                                          for(i2 = x - b0; i2 <= x + b0; ++i2)
                                          {
                                          d1 = (double)i2 + 0.5D - entity.posX;
                                          
                                          for(k2 = z - b0; k2 <= z + b0; ++k2)
                                          {
                                          d2 = (double)k2 + 0.5D - entity.posZ;
                                          label222:
                                          
                                          for(i3 = this.worldServerInstance.getActualHeight() - 1; i3 >= 0; --i3)
                                          {
                                          if(this.worldServerInstance.isAirBlock(i2, i3, k2))
                                          {
                                          while(i3 > 0 && this.worldServerInstance.isAirBlock(i2, i3 - 1, k2))
                                          {
                                          --i3;
                                          }
                                          
                                          for(j3 = l1; j3 < l1 + 2; ++j3)
                                          {
                                          k3 = j3 % 2;
                                          l3 = 1 - k3;
                                          
                                          for(i4 = 0; i4 < 4; ++i4)
                                          {
                                          for(j4 = -1; j4 < 4; ++j4)
                                          {
                                          k4 = i2 + (i4 - 1) * k3;
                                          l4 = i3 + j4;
                                          i5 = k2 + (i4 - 1) * l3;
                                          // si k4 et inférieur a 0 et que le
                                          // blocs n'est pas solide ou si k4 et
                                          // égale ou inférieur a 0 et que le bloc
                                          // est pas d'air nous retournons ou
                                          // label222 plus haut
                                          if(j4 < 0 && !this.worldServerInstance.getBlock(k4, l4, i5).getMaterial().isSolid() || j4 >= 0 && !this.worldServerInstance.isAirBlock(k4, l4, i5))
                                          {
                                          continue label222;
                                          }
                                          }
                                          }
                                          
                                          d3 = (double)i3 + 0.5D - entity.posY;
                                          d4 = d1 * d1 + d3 * d3 + d2 * d2;
                                          
                                          if(d0 < 0.0D || d4 < d0)
                                          {
                                          d0 = d4;
                                          l = i2;
                                          i1 = i3;
                                          j1 = k2;
                                          k1 = j3 % 2;
                                          }
                                          }
                                          }
                                          }
                                          }
                                          }
                                          }
                                          
                                          int k5 = l;
                                          int j2 = i1;
                                          k2 = j1;
                                          int l5 = k1 % 2;
                                          int l2 = 1 - l5;
                                          
                                          if(k1 % 4 >= 2)
                                          {
                                          l5 = -l5;
                                          l2 = -l2;
                                          }
                                          
                                          boolean flag;
                                          
                                          if(d0 < 0.0D)
                                          {
                                          if(i1 < 70)
                                          {
                                          i1 = 70;
                                          }
                                          
                                          if(i1 > this.worldServerInstance.getActualHeight() - 10)
                                          {
                                          i1 = this.worldServerInstance.getActualHeight() - 10;
                                          }
                                          
                                          j2 = i1;
                                          
                                          for(i3 = -1; i3 <= 1; ++i3)
                                          {
                                          for(j3 = 1; j3 < 3; ++j3)
                                          {
                                          for(k3 = -1; k3 < 3; ++k3)
                                          {
                                          l3 = k5 + (j3 - 1) * l5 + i3 * l2;
                                          i4 = j2 + k3;
                                          j4 = k2 + (j3 - 1) * l2 - i3 * l5;
                                          flag = k3 < 0;
                                          // permet de set des blocs de stone et air au bonne
                                          // endroit
                                          this.worldServerInstance.setBlock(l3, i4, j4, flag ? Blocks.stone : Blocks.air);
                                          }
                                          }
                                          }
                                          }
                                          
                                          for(i3 = 0; i3 < 4; ++i3)
                                          {
                                          for(j3 = 0; j3 < 4; ++j3)
                                          {
                                          for(k3 = -1; k3 < 4; ++k3)
                                          {
                                          l3 = k5 + (j3 - 1) * l5;
                                          i4 = j2 + k3;
                                          j4 = k2 + (j3 - 1) * l2;
                                          flag = j3 == 0 || j3 == 3 || k3 == -1 || k3 == 3;
                                          // permet de set des blocs de stone et portail au bonne
                                          // endroit
                                          this.worldServerInstance.setBlock(l3, i4, j4, (flag ? Blocks.stone : DimensionRegister.AncientPortail), 0, 2);
                                          }
                                          }
                                          
                                          for(j3 = 0; j3 < 4; ++j3)
                                          {
                                          for(k3 = -1; k3 < 4; ++k3)
                                          {
                                          l3 = k5 + (j3 - 1) * l5;
                                          i4 = j2 + k3;
                                          j4 = k2 + (j3 - 1) * l2;
                                          this.worldServerInstance.notifyBlocksOfNeighborChange(l3, i4, j4, this.worldServerInstance.getBlock(l3, i4, j4));
                                          }
                                          }
                                          }
                                          
                                          return true;
                                          }
                                          
                                          class AncientPortalPosition extends ChunkCoordinates
                                          {
                                          public long time;
                                          final AncientTeleporter teleporter;
                                          
                                          public AncientPortalPosition(AncientTeleporter teleporter, int x, int y, int z, long creationTime)
                                          {
                                          super(x, y, z);
                                          this.teleporter = teleporter;
                                          this.time = creationTime;
                                          }
                                          
                                          @Override
                                          public int compareTo(Object o)
                                          {
                                          
                                          }
                                          
                                          }
                                          
                                          }
                                          
                                          

                                          AncientActivateur

                                          package mod.common.world.structure;
                                          
                                          import mod.common.block.BlockRegister;
                                          import mod.common.world.type.AncientChunkProvider;
                                          import mod.common.world.type.AncientWorldChunkManager;
                                          import mod.common.world.type.AncientWorldProvider;
                                          import net.minecraft.entity.player.EntityPlayer;
                                          import net.minecraft.init.Blocks;
                                          import net.minecraft.item.Item;
                                          import net.minecraft.item.ItemStack;
                                          import net.minecraft.world.World;
                                          
                                          public class AncientActivateur extends Item
                                          {
                                          public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float par8, float par9, float par10)
                                          {
                                          if(world.getBlock(x, y, z).equals(BlockRegister.BlockAmbre))
                                          {
                                          if(world.getBlock(x + 1, y, z).equals(BlockRegister.BlockAmbre))
                                          {
                                          
                                                                 }
                                          
                                          if(world.getBlock(x - 1, y, z).equals(BlockRegister.BlockAmbre))
                                          {
                                          
                                                                 }
                                          
                                          if(world.getBlock(x, y, z + 1).equals(BlockRegister.BlockAmbre))
                                          {
                                          
                                                                 }
                                          
                                          if(world.getBlock(x, y, z - 1).equals(BlockRegister.BlockAmbre))
                                          {
                                          
                                                                 }
                                          
                                          if(world.getBlock(x, y + 4, z).equals(BlockRegister.BlockAmbre))
                                          {
                                          if(world.getBlock(x + 1, y + 4, z).equals(BlockRegister.BlockAmbre))
                                          {
                                          if(world.getBlock(x - 1, y + 1, z).equals(BlockRegister.BlockAmbre))
                                          {
                                          if(world.getBlock(x - 1, y + 2, z).equals(BlockRegister.BlockAmbre))
                                          {
                                          if(world.getBlock(x - 1, y + 3, z).equals(BlockRegister.BlockAmbre))
                                          {
                                          if(world.getBlock(x + 2, y + 1, z).equals(BlockRegister.BlockAmbre))
                                          {
                                          if(world.getBlock(x + 2, y + 2, z).equals(BlockRegister.BlockAmbre))
                                          {
                                          if(world.getBlock(x + 2, y + 3, z).equals(BlockRegister.BlockAmbre))
                                          {
                                          
                                          }
                                          }
                                          }
                                          }
                                          }
                                          }
                                          }
                                          }
                                          
                                          for(int l = 0; l < 2; l++)
                                          {
                                          for(int h = 0; h < 3; h++)
                                          {
                                          world.setBlock(x + l, y + 1 + h, z, DimensionRegister.AncientPortail);
                                          }
                                          }
                                                 }
                                          
                                                         return false;
                                                 }
                                          
                                          }
                                          

                                          AncientTeleporter

                                          package mod.common.world.structure;
                                          
                                          import java.util.ArrayList;
                                          import java.util.List;
                                          import java.util.Random;
                                          
                                          import net.minecraft.entity.Entity;
                                          import net.minecraft.init.Blocks;
                                          import net.minecraft.util.ChunkCoordinates;
                                          import net.minecraft.util.Direction;
                                          import net.minecraft.util.LongHashMap;
                                          import net.minecraft.util.MathHelper;
                                          import net.minecraft.world.ChunkCoordIntPair;
                                          import net.minecraft.world.Teleporter;
                                          import net.minecraft.world.WorldServer;
                                          
                                          public class AncientTeleporter extends Teleporter
                                          {
                                          private final WorldServer worldServerInstance;
                                          private final Random random;
                                          private final LongHashMap destinationCoordinateCache = new LongHashMap();
                                          
                                          private final List destinationCoordinateKeys = new ArrayList();
                                          
                                          public AncientTeleporter(WorldServer worldServer)
                                          {
                                          super(worldServer);
                                          this.worldServerInstance = worldServer;
                                          this.random = new Random(worldServer.getSeed());
                                          
                                          }
                                          
                                          public void placeInPortal(Entity entity, double x, double y, double z, float rotationYaw)
                                          {
                                          if(this.worldServerInstance.provider.dimensionId != 1)
                                          {
                                          if(!this.placeInExistingPortal(entity, x, y, z, rotationYaw))
                                          {
                                          this.makePortal(entity);
                                          this.placeInExistingPortal(entity, x, y, z, rotationYaw);
                                          }
                                          }
                                          else
                                          {
                                          int i = MathHelper.floor_double(entity.posX);//position x
                                          int j = MathHelper.floor_double(entity.posY) - 1;//position y
                                          int k = MathHelper.floor_double(entity.posZ);//position z
                                          byte b0 = 1;
                                          byte b1 = 0;
                                          for(int l = -2; l <= 2; ++l)
                                          {
                                          for(int i1 = -2; i1 <= 2; ++i1)
                                          {
                                          for(int j1 = -1; j1 < 3; ++j1)
                                          {
                                          int k1 = i + i1 * b0 + l * b1;
                                          int l1 = j + j1;
                                          int i2 = k + i1 * b1 - l * b0;
                                          boolean flag = j1 < 0;
                                          
                                          //set la structure
                                          this.worldServerInstance.setBlock(k1, l1, i2, flag ? Blocks.stone : Blocks.air);
                                          }
                                          }
                                          }
                                          entity.setLocationAndAngles((double)i, (double)j, (double)k, entity.rotationYaw, 0.0F);
                                          entity.motionX = entity.motionY = entity.motionZ = 0.0D;
                                          }
                                             }
                                          
                                          public boolean placeInExistingPortal(Entity entity, double x, double y, double z, float rotationYaw)
                                          {
                                          short short1 = 128;
                                          double d3 = -1.0D;
                                          int i = 0;
                                          int j = 0;
                                          int k = 0;
                                          int l = MathHelper.floor_double(entity.posX);// position x
                                          int i1 = MathHelper.floor_double(entity.posZ);// position z
                                          long j1 = ChunkCoordIntPair.chunkXZ2Int(l, i1);// convertit en un nombre
                                          // entier pour le hach
                                          boolean flag = true;
                                          double d4;
                                          int k1;
                                          
                                          if(this.destinationCoordinateCache.containsItem(j1))
                                          {
                                          PortalPosition portalposition = (PortalPosition)this.destinationCoordinateCache.getValueByKey(j1);
                                          d3 = 0.0D;
                                          i = portalposition.posX;// position x
                                          j = portalposition.posY;// position y
                                          k = portalposition.posZ;// position z
                                          portalposition.lastUpdateTime = this.worldServerInstance.getTotalWorldTime();
                                          flag = false;
                                          }
                                          
                                          else
                                          {
                                          for(k1 = l - short1; k1 <= l + short1; ++k1)
                                          {
                                          double d5 = (double)k1 + 0.5D - entity.posX;
                                          for(int l1 = i1 - short1; l1 <= i1 + short1; ++l1)
                                          {
                                          double d6 = (double)l1 + 0.5D - entity.posZ;
                                          // renvoie a la hauteur du monde
                                          for(int i2 = this.worldServerInstance.getActualHeight() - 1; i2 >= 0; --i2)
                                          {
                                          if(this.worldServerInstance.getBlock(k1, i2, l1) == DimensionRegister.AncientPortail)
                                          {
                                          while(this.worldServerInstance.getBlock(k1, i2 - 1, l1) == DimensionRegister.AncientPortail)
                                          {
                                          --i2;
                                          }
                                          d4 = (double)i2 + 0.5D - entity.posY;
                                          double d7 = d5 * d5 + d4 * d4 + d6 * d6;
                                          if(d3 < 0.0D || d7 < d3)
                                          {
                                          d3 = d7;
                                          i = k1;
                                          j = i2;
                                          k = l1;
                                          }
                                          }
                                          }
                                          }
                                          }
                                          }
                                          
                                          if(d3 >= 0.0D)
                                          {
                                          if(flag)
                                          { // ajoute des valeurs au LongHashMap
                                          this.destinationCoordinateCache.add(j1, new AncientPortalPosition(this, i, j, k, this.worldServerInstance.getTotalWorldTime()));
                                          this.destinationCoordinateKeys.add(Long.valueOf(j1));
                                          }
                                          double d8 = (double)i + 0.5D;
                                          double d9 = (double)j + 0.5D;
                                          d4 = (double)k + 0.5D;
                                          int j2 = -1;
                                          if(this.worldServerInstance.getBlock(i - 1, j, k) == DimensionRegister.AncientPortail)
                                          {
                                          j2 = 2;
                                          }
                                          if(this.worldServerInstance.getBlock(i + 1, j, k) == DimensionRegister.AncientPortail)
                                          {
                                          j2 = 0;
                                          }
                                          if(this.worldServerInstance.getBlock(i, j, k - 1) == DimensionRegister.AncientPortail)
                                          {
                                          j2 = 3;
                                          }
                                          if(this.worldServerInstance.getBlock(i, j, k + 1) == DimensionRegister.AncientPortail)
                                          {
                                          j2 = 1;
                                          }
                                          int k2 = entity.getTeleportDirection();
                                          if(j2 > -1)
                                          { // la position de l'entité dans le monde après avoir passer le
                                          // portail
                                          int l2 = Direction.rotateLeft[j2];
                                          int i3 = Direction.offsetX[j2];
                                          int j3 = Direction.offsetZ[j2];
                                          int k3 = Direction.offsetX[l2];
                                          int l3 = Direction.offsetZ[l2];
                                          boolean flag1 = !this.worldServerInstance.isAirBlock(i + i3 + k3, j, k + j3 + l3) || !this.worldServerInstance.isAirBlock(i + i3 + k3, j + 1, k + j3 + l3);
                                          boolean flag2 = !this.worldServerInstance.isAirBlock(i + i3, j, k + j3) || !this.worldServerInstance.isAirBlock(i + i3, j + 1, k + j3);
                                          if(flag1 && flag2)
                                          {
                                          j2 = Direction.rotateOpposite[j2];
                                          l2 = Direction.rotateOpposite[l2];
                                          i3 = Direction.offsetX[j2];
                                          j3 = Direction.offsetZ[j2];
                                          k3 = Direction.offsetX[l2];
                                          l3 = Direction.offsetZ[l2];
                                          k1 = i - k3;
                                          d8 -= (double)k3;
                                          int i4 = k - l3;
                                          d4 -= (double)l3;
                                          flag1 = !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j, i4 + j3 + l3) || !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j + 1, i4 + j3 + l3);
                                          flag2 = !this.worldServerInstance.isAirBlock(k1 + i3, j, i4 + j3) || !this.worldServerInstance.isAirBlock(k1 + i3, j + 1, i4 + j3);
                                          }
                                          float f1 = 0.5F;
                                          float f2 = 0.5F;
                                          if(!flag1 && flag2)
                                          {
                                          f1 = 1.0F;
                                          }
                                          else if(flag1 && !flag2)
                                          {
                                          f1 = 0.0F;
                                          }
                                          else if(flag1 && flag2)
                                          {
                                          f2 = 0.0F;
                                          }
                                          d8 += (double)((float)k3 * f1 + f2 * (float)i3);
                                          d4 += (double)((float)l3 * f1 + f2 * (float)j3);
                                          float f3 = 0.0F;
                                          float f4 = 0.0F;
                                          float f5 = 0.0F;
                                          float f6 = 0.0F;
                                          if(j2 == k2)
                                          {
                                          f3 = 1.0F;
                                          f4 = 1.0F;
                                          }
                                          else if(j2 == Direction.rotateOpposite[k2])
                                          {
                                          f3 = -1.0F;
                                          f4 = -1.0F;
                                          }
                                          else if(j2 == Direction.rotateRight[k2])
                                          {
                                          f5 = 1.0F;
                                          f6 = -1.0F;
                                          }
                                          else
                                          {
                                          f5 = -1.0F;
                                          f6 = 1.0F;
                                          }
                                          double d10 = entity.motionX;
                                          double d11 = entity.motionZ;
                                          entity.motionX = d10 * (double)f3 + d11 * (double)f6;
                                          entity.motionZ = d10 * (double)f5 + d11 * (double)f4;
                                          entity.rotationYaw = rotationYaw - (float)(k2 * 90) + (float)(j2 * 90);
                                          }
                                          else
                                          {
                                          entity.motionX = entity.motionY = entity.motionZ = 0.0D;
                                          }
                                          entity.setLocationAndAngles(d8, d9, d4, entity.rotationYaw, entity.rotationPitch);
                                          return true;
                                          }
                                          else
                                          {
                                          return false;
                                          }
                                                 }
                                          
                                          public boolean makePortal(Entity entity)
                                                 {
                                          byte b0 = 16;
                                          double d0 = -1.0D;
                                          int x = MathHelper.floor_double(entity.posX);// position x
                                          int y = MathHelper.floor_double(entity.posY);// position y
                                          int z = MathHelper.floor_double(entity.posZ);// position z
                                          int l = x;
                                          int i1 = y;
                                          int j1 = z;
                                          int k1 = 0;
                                          int l1 = this.random.nextInt(4);
                                          int i2;
                                          double d1;
                                          int k2;
                                          double d2;
                                          int i3;
                                          int j3;
                                          int k3;
                                          int l3;
                                          int i4;
                                          int j4;
                                          int k4;
                                          int l4;
                                          int i5;
                                          double d3;
                                          double d4;
                                          
                                          for(i2 = x - b0; i2 <= x + b0; ++i2)
                                          {
                                          d1 = (double)i2 + 0.5D - entity.posX;
                                          
                                          for(k2 = z - b0; k2 <= z + b0; ++k2)
                                          {
                                          d2 = (double)k2 + 0.5D - entity.posZ;
                                          label274:
                                          
                                          for(i3 = this.worldServerInstance.getActualHeight() - 1; i3 >= 0; –i3)
                                          {
                                          // si le blocs et un bloc d'air
                                          if(this.worldServerInstance.isAirBlock(i2, i3, k2))
                                          {
                                          while(i3 > 0 && this.worldServerInstance.isAirBlock(i2, i3 - 1, k2))
                                          {
                                          --i3;
                                          }
                                          
                                          for(j3 = l1; j3 < l1 + 4; ++j3)
                                          {
                                          k3 = j3 % 2;
                                          l3 = 1 - k3;
                                          
                                          if(j3 % 4 >= 2)
                                          {
                                          k3 = -k3;
                                          l3 = -l3;
                                          }
                                          
                                          for(i4 = 0; i4 < 3; ++i4)
                                          {
                                          for(j4 = 0; j4 < 4; ++j4)
                                          {
                                          for(k4 = -1; k4 < 4; ++k4)
                                          {
                                          l4 = i2 + (j4 - 1) * k3 + i4 * l3;
                                          i5 = i3 + k4;
                                          int j5 = k2 + (j4 - 1) * l3 - i4 * k3;
                                          
                                          // si k4 et inférieur a 0 et que le
                                          // blocs n'est pas solide ou si k4 et
                                          // égale ou inférieur a 0 et que le bloc
                                          // est pas d'air nous retournons ou
                                          // label274 plus haut
                                          if(k4 < 0 && !this.worldServerInstance.getBlock(l4, i5, j5).getMaterial().isSolid() || k4 >= 0 && !this.worldServerInstance.isAirBlock(l4, i5, j5))
                                          {
                                          continue label274;
                                          }
                                          }
                                          }
                                          }
                                          
                                          d3 = (double)i3 + 0.5D - entity.posY;
                                          d4 = d1 * d1 + d3 * d3 + d2 * d2;
                                          
                                          if(d0 < 0.0D || d4 < d0)
                                          {
                                          d0 = d4;
                                          l = i2;
                                          i1 = i3;
                                          j1 = k2;
                                          k1 = j3 % 4;
                                          }
                                          }
                                          }
                                          }
                                          }
                                          }
                                          
                                          if(d0 < 0.0D)
                                          {
                                          for(i2 = x - b0; i2 <= x + b0; ++i2)
                                          {
                                          d1 = (double)i2 + 0.5D - entity.posX;
                                          
                                          for(k2 = z - b0; k2 <= z + b0; ++k2)
                                          {
                                          d2 = (double)k2 + 0.5D - entity.posZ;
                                          label222:
                                          
                                          for(i3 = this.worldServerInstance.getActualHeight() - 1; i3 >= 0; --i3)
                                          {
                                          if(this.worldServerInstance.isAirBlock(i2, i3, k2))
                                          {
                                          while(i3 > 0 && this.worldServerInstance.isAirBlock(i2, i3 - 1, k2))
                                          {
                                          --i3;
                                          }
                                          
                                          for(j3 = l1; j3 < l1 + 2; ++j3)
                                          {
                                          k3 = j3 % 2;
                                          l3 = 1 - k3;
                                          
                                          for(i4 = 0; i4 < 4; ++i4)
                                          {
                                          for(j4 = -1; j4 < 4; ++j4)
                                          {
                                          k4 = i2 + (i4 - 1) * k3;
                                          l4 = i3 + j4;
                                          i5 = k2 + (i4 - 1) * l3;
                                          // si k4 et inférieur a 0 et que le
                                          // blocs n'est pas solide ou si k4 et
                                          // égale ou inférieur a 0 et que le bloc
                                          // est pas d'air nous retournons ou
                                          // label222 plus haut
                                          if(j4 < 0 && !this.worldServerInstance.getBlock(k4, l4, i5).getMaterial().isSolid() || j4 >= 0 && !this.worldServerInstance.isAirBlock(k4, l4, i5))
                                          {
                                          continue label222;
                                          }
                                          }
                                          }
                                          
                                          d3 = (double)i3 + 0.5D - entity.posY;
                                          d4 = d1 * d1 + d3 * d3 + d2 * d2;
                                          
                                          if(d0 < 0.0D || d4 < d0)
                                          {
                                          d0 = d4;
                                          l = i2;
                                          i1 = i3;
                                          j1 = k2;
                                          k1 = j3 % 2;
                                          }
                                          }
                                          }
                                          }
                                          }
                                          }
                                          }
                                          
                                          int k5 = l;
                                          int j2 = i1;
                                          k2 = j1;
                                          int l5 = k1 % 2;
                                          int l2 = 1 - l5;
                                          
                                          if(k1 % 4 >= 2)
                                          {
                                          l5 = -l5;
                                          l2 = -l2;
                                          }
                                          
                                          boolean flag;
                                          
                                          if(d0 < 0.0D)
                                          {
                                          if(i1 < 70)
                                          {
                                          i1 = 70;
                                          }
                                          
                                          if(i1 > this.worldServerInstance.getActualHeight() - 10)
                                          {
                                          i1 = this.worldServerInstance.getActualHeight() - 10;
                                          }
                                          
                                          j2 = i1;
                                          
                                          for(i3 = -1; i3 <= 1; ++i3)
                                          {
                                          for(j3 = 1; j3 < 3; ++j3)
                                          {
                                          for(k3 = -1; k3 < 3; ++k3)
                                          {
                                          l3 = k5 + (j3 - 1) * l5 + i3 * l2;
                                          i4 = j2 + k3;
                                          j4 = k2 + (j3 - 1) * l2 - i3 * l5;
                                          flag = k3 < 0;
                                          // permet de set des blocs de stone et air au bonne
                                          // endroit
                                          this.worldServerInstance.setBlock(l3, i4, j4, flag ? Blocks.stone : Blocks.air);
                                          }
                                          }
                                          }
                                          }
                                          
                                          for(i3 = 0; i3 < 4; ++i3)
                                          {
                                          for(j3 = 0; j3 < 4; ++j3)
                                          {
                                          for(k3 = -1; k3 < 4; ++k3)
                                          {
                                          l3 = k5 + (j3 - 1) * l5;
                                          i4 = j2 + k3;
                                          j4 = k2 + (j3 - 1) * l2;
                                          flag = j3 == 0 || j3 == 3 || k3 == -1 || k3 == 3;
                                          // permet de set des blocs de stone et portail au bonne
                                          // endroit
                                          this.worldServerInstance.setBlock(l3, i4, j4, (flag ? Blocks.stone : DimensionRegister.AncientPortail), 0, 2);
                                          }
                                          }
                                          
                                          for(j3 = 0; j3 < 4; ++j3)
                                          {
                                          for(k3 = -1; k3 < 4; ++k3)
                                          {
                                          l3 = k5 + (j3 - 1) * l5;
                                          i4 = j2 + k3;
                                          j4 = k2 + (j3 - 1) * l2;
                                          this.worldServerInstance.notifyBlocksOfNeighborChange(l3, i4, j4, this.worldServerInstance.getBlock(l3, i4, j4));
                                          }
                                          }
                                          }
                                          
                                          return true;
                                          }
                                          
                                          class AncientPortalPosition extends ChunkCoordinates
                                          {
                                          public long time;
                                          final AncientTeleporter teleporter;
                                          
                                          public AncientPortalPosition(AncientTeleporter teleporter, int x, int y, int z, long creationTime)
                                          {
                                          super(x, y, z);
                                          this.teleporter = teleporter;
                                          this.time = creationTime;
                                          }
                                          
                                          @Override
                                          public int compareTo(Object o)
                                          {
                                          
                                          }
                                          
                                          }
                                          
                                          }
                                          
                                          

                                          :::

                                          Oui ce gif est drôle.

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • FlowF Hors-ligne
                                            Flow
                                            dernière édition par

                                            Up , juste pour que Diangle voit que j’ai répondu , mais je lui laisse tout le temps de me répondre 🙂

                                            Oui ce gif est drôle.

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 1 / 6
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB