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.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

      java.lang.NullPointerException: Colliding entity with block
      at net.minecraft.world.Teleporter.<init>(Teleporter.java:32)

      public Teleporter(WorldServer p_i1963_1_)
      {
      this.worldServerInstance = p_i1963_1_;
      this.random = new Random(p_i1963_1_.getSeed()); // ligne 32
      }
      

      WorldServer est null, sûrement car ta dimension est aussi null. Vérifies que tout est bien enregistré.</init>

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

        Ouf oui je suis bête j’avais mis en commentaire les lignes qui enregistre ma dimension , BUT nouveau crash x)

        [13:51:21] [main/INFO] [GradleStart]: Extra: []
        [13:51:21] [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]
        [13:51:21] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker
        [13:51:21] [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker
        [13:51:21] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
        [13:51:21] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker
        [13:51:21] [main/INFO] [FML]: Forge Mod Loader version 7.99.16.1448 for Minecraft 1.7.10 loading
        [13:51:21] [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
        [13:51:21] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
        [13:51:21] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
        [13:51:21] [main/INFO] [GradleStart]: Injecting location in coremod cpw.mods.fml.relauncher.FMLCorePlugin
        [13:51:21] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
        [13:51:21] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
        [13:51:21] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker
        [13:51:21] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
        [13:51:21] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
        [13:51:21] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
        [13:51:21] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
        [13:51:21] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work!
        [13:51:22] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing
        [13:51:22] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
        [13:51:22] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker
        [13:51:22] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
        [13:51:22] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.TerminalTweaker
        [13:51:22] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.TerminalTweaker
        [13:51:22] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main}
        [13:51:23] [main/INFO]: Setting user: Player765
        [13:51:24] [Client thread/INFO]: LWJGL Version: 2.9.1
        [13:51:25] [Client thread/INFO] [STDOUT]: [cpw.mods.fml.client.SplashProgress:start:188]: –-- Minecraft Crash Report ----
        // I feel sad now :(
        
        Time: 22/07/15 13:51
        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: 821391888 bytes (783 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'
        [13:51:25] [Client thread/INFO] [MinecraftForge]: Attempting early MinecraftForge initialization
        [13:51:25] [Client thread/INFO] [FML]: MinecraftForge v10.13.4.1448 Initialized
        [13:51:25] [Client thread/INFO] [FML]: Replaced 183 ore recipies
        [13:51:25] [Client thread/INFO] [MinecraftForge]: Completed early MinecraftForge initialization
        [13:51:25] [Client thread/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer
        [13:51:25] [Client thread/INFO] [FML]: Searching C:\Users\Legrandfifou\Pictures\forge\eclipse\mods for mods
        [13:51:28] [Client thread/INFO] [FML]: Forge Mod Loader has identified 4 mods to load
        [13:51:28] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, modminecraft] at CLIENT
        [13:51:28] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, modminecraft] at SERVER
        [13:51:28] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Mod Minecraft
        [13:51:28] [Client thread/INFO] [FML]: Processing ObjectHolder annotations
        [13:51:28] [Client thread/INFO] [FML]: Found 341 ObjectHolder annotations
        [13:51:28] [Client thread/INFO] [FML]: Identifying ItemStackHolder annotations
        [13:51:28] [Client thread/INFO] [FML]: Found 0 ItemStackHolder annotations
        [13:51:28] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0
        [13:51:28] [Client thread/INFO] [FML]: Applying holder lookups
        [13:51:28] [Client thread/INFO] [FML]: Holder lookups applied
        [13:51:28] [Client thread/INFO] [FML]: Injecting itemstacks
        [13:51:28] [Client thread/INFO] [FML]: Itemstack injection complete
        [13:51:28] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:
        [13:51:28] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Starting up SoundSystem…
        [13:51:29] [Thread-8/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Initializing LWJGL OpenAL
        [13:51:29] [Thread-8/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org)
        [13:51:29] [Thread-8/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: OpenAL initialized.
        [13:51:29] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:
        [13:51:29] [Sound Library Loader/INFO]: Sound engine started
        [13:51:30] [Client thread/INFO]: Created: 512x256 textures/blocks-atlas
        [13:51:30] [Client thread/INFO]: Created: 256x256 textures/items-atlas
        [13:51:30] [Client thread/INFO] [STDOUT]: [mod.client.ClientProxy:registerRender:40]: render
        [13:51:30] [Client thread/INFO] [FML]: Injecting itemstacks
        [13:51:30] [Client thread/INFO] [FML]: Itemstack injection complete
        [13:51:31] [Client thread/INFO] [FML]: Forge Mod Loader has successfully loaded 4 mods
        [13:51:31] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Mod Minecraft
        [13:51:31] [Client thread/INFO]: Created: 256x256 textures/items-atlas
        [13:51:31] [Client thread/INFO]: Created: 512x256 textures/blocks-atlas
        [13:51:31] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:
        [13:51:31] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: SoundSystem shutting down…
        [13:51:31] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:importantMessage:90]: Author: Paul Lamb, www.paulscode.com
        [13:51:31] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:
        [13:51:31] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:
        [13:51:31] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Starting up SoundSystem…
        [13:51:31] [Thread-10/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Initializing LWJGL OpenAL
        [13:51:31] [Thread-10/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org)
        [13:51:31] [Thread-10/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: OpenAL initialized.
        [13:51:32] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:
        [13:51:32] [Sound Library Loader/INFO]: Sound engine started
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: The following texture errors were found.
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: ==================================================
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: DOMAIN minecraft
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: –------------------------------------------------
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: domain minecraft is missing 2 textures
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: domain minecraft has 3 locations:
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: unknown resourcepack type net.minecraft.client.resources.DefaultResourcePack : Default
        [13:51:32] [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
        [13:51:32] [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
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: –-----------------------
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: The missing resources for domain minecraft are:
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: textures/items/MISSING_ICON_ITEM_4109_activateur.png
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: textures/blocks/MISSING_ICON_BLOCK_179_portail.png
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: –-----------------------
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: No other errors exist for domain minecraft
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: ==================================================
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: ==================================================
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: DOMAIN modminecraft
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: –------------------------------------------------
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: domain modminecraft is missing 5 textures
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: domain modminecraft has 1 location:
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: mod modminecraft resources at C:\Users\Legrandfifou\Pictures\forge\bin
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: –-----------------------
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: The missing resources for domain modminecraft are:
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: textures/blocks/blockTronc_top.png
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: textures/blocks/blockTronc.png
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: textures/blocks/blockFeuille_opaque.png
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: textures/blocks/blockFeuille.png
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: textures/blocks/blockAmbre.png.png
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: –-----------------------
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: No other errors exist for domain modminecraft
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: ==================================================
        [13:51:32] [Client thread/ERROR] [TEXTURE ERRORS]: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
        [13:51:37] [Server thread/INFO]: Starting integrated minecraft server version 1.7.10
        [13:51:37] [Server thread/INFO]: Generating keypair
        [13:51:37] [Server thread/INFO] [FML]: Injecting existing block and item data into this server instance
        [13:51:37] [Server thread/INFO] [FML]: Applying holder lookups
        [13:51:37] [Server thread/INFO] [FML]: Holder lookups applied
        [13:51:37] [Server thread/INFO] [FML]: Loading dimension 0 (Presentation) (net.minecraft.server.integrated.IntegratedServer@69530d2b)
        [13:51:37] [Server thread/INFO] [FML]: Loading dimension 2 (Presentation) (net.minecraft.server.integrated.IntegratedServer@69530d2b)
        [13:51:37] [Server thread/INFO] [FML]: Loading dimension 1 (Presentation) (net.minecraft.server.integrated.IntegratedServer@69530d2b)
        [13:51:37] [Server thread/INFO] [FML]: Loading dimension -1 (Presentation) (net.minecraft.server.integrated.IntegratedServer@69530d2b)
        [13:51:37] [Server thread/INFO]: Preparing start region for level 0
        [13:51:38] [Server thread/INFO]: Changing view distance to 12, from 10
        [13:51:39] [Netty Client IO #0/INFO] [FML]: Server protocol version 2
        [13:51:39] [Netty IO #1/INFO] [FML]: Client protocol version 2
        [13:51:39] [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
        [13:51:39] [Netty IO #1/INFO] [FML]: Attempting connection with missing mods [] at CLIENT
        [13:51:39] [Netty Client IO #0/INFO] [FML]: Attempting connection with missing mods [] at SERVER
        [13:51:39] [Server thread/INFO] [FML]: [Server thread] Server side modded connection established
        [13:51:39] [Client thread/INFO] [FML]: [Client thread] Client side modded connection established
        [13:51:39] [Server thread/INFO]: Player765[local:E:c7b52bf1] logged in with entity id 184 at (10.156057570215943, 237.0, 3.8857418340711556)
        [13:51:39] [Server thread/INFO]: Player765 joined the game
        [13:51:45] [Server thread/ERROR]: Encountered an unexpected exception
        net.minecraft.util.ReportedException: Exception preparing structure feature
        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 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:?]
        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.getBlock(World.java:387) ~[World.class:?]
        at mod.common.world.structure.AncientTeleporter.placeInExistingPortal(AncientTeleporter.java:108) ~[AncientTeleporter.class:?]
        at mod.common.world.structure.AncientTeleporter.placeInPortal(AncientTeleporter.java:37) ~[AncientTeleporter.class:?]
        at net.minecraft.server.management.ServerConfigurationManager.transferEntityToWorld(ServerConfigurationManager.java:638) ~[ServerConfigurationManager.class:?]
        at net.minecraft.server.management.ServerConfigurationManager.transferPlayerToDimension(ServerConfigurationManager.java:542) ~[ServerConfigurationManager.class:?]
        at mod.common.world.structure.AncientPortail.onEntityCollidedWithBlock(AncientPortail.java:130) ~[AncientPortail.class:?]
        at net.minecraft.entity.Entity.func_145775_I(Entity.java:962) ~[Entity.class:?]
        at net.minecraft.entity.Entity.moveEntity(Entity.java:895) ~[Entity.class:?]
        at net.minecraft.network.NetHandlerPlayServer.processPlayer(NetHandlerPlayServer.java:367) ~[NetHandlerPlayServer.class:?]
        at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:37) ~[C03PacketPlayer.class:?]
        at net.minecraft.network.play.client.C03PacketPlayer$C04PacketPlayerPosition.processPacket(C03PacketPlayer.java:163) ~[C03PacketPlayer$C04PacketPlayerPosition.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
        [13:51:45] [Server thread/ERROR]: This crash report has been saved to: C:\Users\Legrandfifou\Pictures\forge\eclipse\.\crash-reports\crash-2015-07-22_13.51.45-server.txt
        [13:51:45] [Server thread/INFO]: Stopping server
        [13:51:45] [Server thread/INFO]: Saving players
        [13:51:45] [Server thread/INFO]: Saving worlds
        [13:51:45] [Server thread/INFO]: Saving chunks for level 'Presentation'/Overworld
        [13:51:45] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:388]: –-- Minecraft Crash Report ----
        // Hi. I'm Minecraft, and I'm a crashaholic.
        
        Time: 22/07/15 13:51
        Description: Exception preparing structure feature
        
        java.lang.NullPointerException: Exception preparing structure feature
        at net.minecraft.world.biome.WorldChunkManager.findBiomePosition(WorldChunkManager.java:250)
        at net.minecraft.world.gen.structure.MapGenStronghold.canSpawnStructureAtCoords(MapGenStronghold.java:96)
        at net.minecraft.world.gen.structure.MapGenStructure.func_151538_a(MapGenStructure.java:43)
        at net.minecraft.world.gen.MapGenBase.func_151539_a(MapGenBase.java:33)
        at net.minecraft.world.gen.ChunkProviderFlat.provideChunk(ChunkProviderFlat.java:162)
        at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:190)
        at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:149)
        at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:119)
        at net.minecraft.world.gen.ChunkProviderServer.provideChunk(ChunkProviderServer.java:221)
        at net.minecraft.world.World.getChunkFromChunkCoords(World.java:482)
        at net.minecraft.world.World.getBlock(World.java:387)
        at mod.common.world.structure.AncientTeleporter.placeInExistingPortal(AncientTeleporter.java:108)
        at mod.common.world.structure.AncientTeleporter.placeInPortal(AncientTeleporter.java:37)
        at net.minecraft.server.management.ServerConfigurationManager.transferEntityToWorld(ServerConfigurationManager.java:638)
        at net.minecraft.server.management.ServerConfigurationManager.transferPlayerToDimension(ServerConfigurationManager.java:542)
        at mod.common.world.structure.AncientPortail.onEntityCollidedWithBlock(AncientPortail.java:130)
        at net.minecraft.entity.Entity.func_145775_I(Entity.java:962)
        at net.minecraft.entity.Entity.moveEntity(Entity.java:895)
        at net.minecraft.network.NetHandlerPlayServer.processPlayer(NetHandlerPlayServer.java:367)
        at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:37)
        at net.minecraft.network.play.client.C03PacketPlayer$C04PacketPlayerPosition.processPacket(C03PacketPlayer.java:163)
        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 net.minecraft.world.biome.WorldChunkManager.findBiomePosition(WorldChunkManager.java:250)
        at net.minecraft.world.gen.structure.MapGenStronghold.canSpawnStructureAtCoords(MapGenStronghold.java:96)
        
        -- Feature being prepared --
        Details:
        Is feature chunk: ~~ERROR~~ NullPointerException: null
        Chunk location: -16,-16
        Chunk pos hash: -64424509456
        Structure type: net.minecraft.world.gen.structure.MapGenStronghold
        Stacktrace:
        at net.minecraft.world.gen.structure.MapGenStructure.func_151538_a(MapGenStructure.java:43)
        at net.minecraft.world.gen.MapGenBase.func_151539_a(MapGenBase.java:33)
        at net.minecraft.world.gen.ChunkProviderFlat.provideChunk(ChunkProviderFlat.java:162)
        
        -- Chunk to be generated --
        Details:
        Location: -8,-8
        Position hash: -30064771080
        Generator: FlatLevelSource
        Stacktrace:
        at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:190)
        at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:149)
        at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:119)
        at net.minecraft.world.gen.ChunkProviderServer.provideChunk(ChunkProviderServer.java:221)
        at net.minecraft.world.World.getChunkFromChunkCoords(World.java:482)
        
        -- Requested block coordinates --
        Details:
        Found chunk: true
        Location: World: (-118,255,-125), Chunk: (at 10,15,3 in -8,-8; contains blocks -128,0,-128 to -113,255,-113), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)
        Stacktrace:
        at net.minecraft.world.World.getBlock(World.java:387)
        at mod.common.world.structure.AncientTeleporter.placeInExistingPortal(AncientTeleporter.java:108)
        at mod.common.world.structure.AncientTeleporter.placeInPortal(AncientTeleporter.java:37)
        at net.minecraft.server.management.ServerConfigurationManager.transferEntityToWorld(ServerConfigurationManager.java:638)
        at net.minecraft.server.management.ServerConfigurationManager.transferPlayerToDimension(ServerConfigurationManager.java:542)
        at mod.common.world.structure.AncientPortail.onEntityCollidedWithBlock(AncientPortail.java:130)
        
        -- Block being collided with --
        Details:
        Block type: ID #177 (tile.portail // mod.common.world.structure.AncientPortail)
        Block data value: 0 / 0x0 / 0b0000
        Block location: World: (9,237,3), Chunk: (at 9,14,3 in 0,0; contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
        Stacktrace:
        at net.minecraft.entity.Entity.func_145775_I(Entity.java:962)
        
        -- Entity being checked for collision --
        Details:
        Entity Type: null (net.minecraft.entity.player.EntityPlayerMP)
        Entity ID: 184
        Entity Name: Player765
        Entity's Exact location: 10,00, 237,00, 3,00
        Entity's Block location: World: (10,237,3), Chunk: (at 10,14,3 in 0,0; contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
        Entity's Momentum: 0,00, -0,08, 0,00
        Stacktrace:
        at net.minecraft.entity.Entity.moveEntity(Entity.java:895)
        at net.minecraft.network.NetHandlerPlayServer.processPlayer(NetHandlerPlayServer.java:367)
        at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:37)
        at net.minecraft.network.play.client.C03PacketPlayer$C04PacketPlayerPosition.processPacket(C03PacketPlayer.java:163)
        at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241)
        
        -- Ticking connection --
        Details:
        Connection: net.minecraft.network.NetworkManager@3de62b77
        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: 751007600 bytes (716 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: 14, 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['Player765'/184, l='Presentation', x=10,00, y=237,00, z=3,00]]
        Type: Integrated Server (map_client.txt)
        Is Modded: Definitely; Client brand changed to 'fml,forge'
        [13:51:45] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:393]: #@!@# Game crashed! Crash report saved to: #@!@# .\crash-reports\crash-2015-07-22_13.51.45-server.txt
        [13:51:45] [Client thread/INFO] [FML]: Waiting for the server to terminate/save.
        [13:51:45] [Server thread/INFO]: Saving chunks for level 'Presentation'/Nether
        [13:51:45] [Server thread/INFO]: Saving chunks for level 'Presentation'/The End
        [13:51:45] [Server thread/INFO]: Saving chunks for level 'Presentation'/Ancient World
        [13:51:45] [Server thread/INFO] [FML]: Unloading dimension 0
        [13:51:45] [Server thread/INFO] [FML]: Unloading dimension -1
        [13:51:45] [Server thread/INFO] [FML]: Unloading dimension 1
        [13:51:45] [Server thread/INFO] [FML]: Unloading dimension 2
        [13:51:45] [Server thread/INFO] [FML]: Applying holder lookups
        [13:51:45] [Server thread/INFO] [FML]: Holder lookups applied
        [13:51:45] [Server thread/INFO] [FML]: The state engine was in incorrect state SERVER_STOPPING and forced into state SERVER_STOPPED. Errors may have been discarded.
        [13:51:45] [Client thread/INFO] [FML]: Server terminated.
        AL lib: (EE) alc_cleanup: 1 device not closed
        
        

        Oui ce gif est drôle.

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

          Il y a un problème au niveau du placement de ton portail. Envoi le code de “AncientTeleporter”.

          Site web contenant mes scripts : http://SCAREXgaming.github.io

          Pas de demandes de support par MP ni par skype SVP.
          Je n'accepte sur skype que l…

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

            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;
            }
            
            }
            
            }
            
            

            Le voici , le voila…

            Oui ce gif est drôle.

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

              Le WorldChunkManager de base de Minecraft est utilisé, çà devrait pas être le cas.

              Site web contenant mes scripts : http://SCAREXgaming.github.io

              Pas de demandes de support par MP ni par skype SVP.
              Je n'accepte sur skype que l…

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

                Ah , je vais chercher mais je suivi le tuto a la lettre pourtant O_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

                  regarde toute se qui peut se référencer au world chunk manager de base. Aussi je n’ai pas répondu, je n’étais pas là depuis 2 semaines ^^. Je vais rejeter un coup d’oeil a ton code pour regarder si tu as fait une erreur.___tu peux envoyer le WorldChunkProvider ?

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

                    Bonjour, j’essaye depuis 1 ou 2 jours de créer une dimension sans succès en 1.8. (J’ai réussis à me débrouiller pour modifier ce qu’il fallait pour la 1.8 (les getBlock par exemple) mais lorsque je lance le jeu, j’ai un crash. Voici le log et mes codes:

                    WorldProvider:
                    :::

                    public class WorldProviderTheSlimgma extends WorldProvider {
                    
                    /**
                    * creates a new world chunk manager for WorldProvider
                    */
                    public void registerWorldChunkManager()
                    {
                    this.worldChunkMgr = new WorldChunkManagerHell(ModBiomes.biomeGreenSlime, 0.0F);
                    this.isHellWorld = false;
                    this.hasNoSky = false;
                    this.dimensionId = ModDimension.dimensionId;
                    }
                    
                    /**
                    * Return Vec3D with biome specific fog color
                    */
                    @SideOnly(Side.CLIENT)
                    public Vec3 getFogColor(float p_76562_1_, float p_76562_2_)
                    {
                    return new Vec3(0.20000000298023224D, 0.029999999329447746D, 0.029999999329447746D);
                    }
                    
                    /**
                    * Creates the light to brightness table
                    */
                    protected void generateLightBrightnessTable()
                    {
                    float f = 0.1F;
                    
                    for (int i = 0; i <= 15; ++i)
                    {
                    float f1 = 1.0F - (float)i / 15.0F;
                    this.lightBrightnessTable* = (1.0F - f1) / (f1 * 3.0F + 1.0F) * (1.0F - f) + f;
                    }
                    }
                    
                    /**
                    * Returns a new chunk provider which generates chunks for this world
                    */
                    public IChunkProvider createChunkGenerator()
                    {
                    return new ChunkProviderTheSlimgma(this.worldObj, this.worldObj.getSeed(), false);
                    }
                    
                    /**
                    * Returns 'true' if in the "main surface world", but 'false' if in the Nether or End dimensions.
                    */
                    public boolean isSurfaceWorld()
                    {
                    return true;
                    }
                    
                    /**
                    * Will check if the x, z position specified is alright to be set as the map spawn point
                    */
                    public boolean canCoordinateBeSpawn(int x, int z)
                    {
                    return false;
                    }
                    
                    /**
                    * Calculates the angle of sun and moon in the sky relative to a specified time (usually worldTime)
                    */
                    public float calculateCelestialAngle(long p_76563_1_, float p_76563_3_)
                    {
                    return 0.5F;
                    }
                    
                    /**
                    * True if the player can respawn in this dimension (true = overworld, false = nether).
                    */
                    public boolean canRespawnHere()
                    {
                    return true;
                    }
                    
                    /**
                    * Returns true if the given X,Z coordinate should show environmental fog.
                    */
                    @SideOnly(Side.CLIENT)
                    public boolean doesXZShowFog(int x, int z)
                    {
                    return true;
                    }
                    
                    /**
                    * Returns the dimension's name, e.g. "The End", "Nether", or "Overworld".
                    */
                    public String getDimensionName()
                    {
                    return "TheSlimgma";
                    }
                    
                    public String getInternalNameSuffix()
                    {
                    return "_theslimgma";
                    }
                    
                    public WorldBorder getWorldBorder()
                    {
                    return new WorldBorder()
                    {
                    private static final String __OBFID = "CL_00002008";
                    public double getCenterX()
                    {
                    return super.getCenterX() / 8.0D;
                    }
                    public double getCenterZ()
                    {
                    return super.getCenterZ() / 8.0D;
                    }
                    };
                    }
                    }
                    

                    :::

                    ModDimension
                    :::

                    
                    public class ModDimension {
                    
                    public static int dimensionId = 4;
                    
                    public static Block theslimgma_portal;
                    
                    public static Item slime_bucket;
                    
                    public static void createDimension(){
                    theslimgma_portal = new TheSlimgmaPortal(Material.portal).setHardness(-1.0F).setResistance(6000000.0F);
                    slime_bucket = new ItemBucketSlime();
                    
                    GameRegistry.registerBlock(theslimgma_portal, "theslimgma_portal");
                    
                    DimensionManager.registerDimension(ModDimension.dimensionId, ModDimension.dimensionId);
                    DimensionManager.registerProviderType(ModDimension.dimensionId, WorldProviderTheSlimgma.class, false);
                    }
                    }
                    

                    :::

                    Logs
                    :::

                    
                    – System Details --
                    Details:
                    Minecraft Version: 1.8
                    Operating System: Windows 8.1 (amd64) version 6.3
                    Java Version: 1.8.0_51, Oracle Corporation
                    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
                    Memory: 718833336 bytes (685 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
                    JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
                    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
                    FML:
                    Loaded coremods (and transformers):
                    GL info: ' Vendor: 'Intel' Version: '4.0.0 - Build 10.18.10.4252' Renderer: 'Intel(R) HD Graphics'
                    [18:46:18] [Client thread/INFO] [MinecraftForge]: Attempting early MinecraftForge initialization
                    [18:46:19] [Client thread/INFO] [FML]: MinecraftForge v11.14.3.1499 Initialized
                    [18:46:19] [Client thread/INFO] [FML]: Replaced 204 ore recipies
                    [18:46:20] [Client thread/INFO] [MinecraftForge]: Completed early MinecraftForge initialization
                    [18:46:20] [Client thread/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer
                    [18:46:20] [Client thread/INFO] [FML]: Searching D:\Users\Llulu\Downloads\Modding\1.8\Forge\eclipse\mods for mods
                    [18:46:27] [Client thread/INFO] [FML]: Forge Mod Loader has identified 5 mods to load
                    [18:46:28] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, theslimgma, Baubles] at CLIENT
                    [18:46:28] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, theslimgma, Baubles] at SERVER
                    [18:46:29] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:The Slimgma, FMLFileResourcePack:Baubles
                    [18:46:30] [Client thread/INFO] [FML]: Processing ObjectHolder annotations
                    [18:46:30] [Client thread/INFO] [FML]: Found 384 ObjectHolder annotations
                    [18:46:30] [Client thread/INFO] [FML]: Identifying ItemStackHolder annotations
                    [18:46:30] [Client thread/INFO] [FML]: Found 0 ItemStackHolder annotations
                    [18:46:30] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0
                    [18:46:31] [Client thread/INFO] [FML]: Applying holder lookups
                    [18:46:31] [Client thread/INFO] [FML]: Holder lookups applied
                    [18:46:31] [Client thread/INFO] [FML]: Injecting itemstacks
                    [18:46:31] [Client thread/INFO] [FML]: Itemstack injection complete
                    [18:46:31] [Client thread/ERROR] [FML]: Fatal errors were detected during the transition from PREINITIALIZATION to INITIALIZATION. Loading cannot continue
                    [18:46:31] [Client thread/ERROR] [FML]:
                    States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
                    UCH mcp{9.05} [Minecraft Coder Pack] (minecraft.jar)
                    UCH FML{8.0.99.99} [Forge Mod Loader] (forgeSrc-1.8-11.14.3.1499.jar)
                    UCH Forge{11.14.3.1499} [Minecraft Forge] (forgeSrc-1.8-11.14.3.1499.jar)
                    UCE theslimgma{0.1} [The Slimgma] (bin)
                    UCH Baubles{1.1.1.0} [Baubles] (Baubles-1.8-1.1.1.0-deobf.jar)
                    [18:46:31] [Client thread/ERROR] [FML]: The following problems were captured during this phase
                    [18:46:31] [Client thread/ERROR] [FML]: Caught exception from theslimgma
                    java.lang.IllegalArgumentException: Failed to register dimension for id 4, provider type 4 does not exist
                    at net.minecraftforge.common.DimensionManager.registerDimension(DimensionManager.java:114) ~[forgeSrc-1.8-11.14.3.1499.jar:?]
                    at fr.slimgma.theslimgma.common.world.dimension.ModDimension.createDimension(ModDimension.java:30) ~[bin/:?]
                    at fr.slimgma.theslimgma.Main.preInit(Main.java:46) ~[bin/:?]
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51]
                    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_51]
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_51]
                    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_51]
                    at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:537) ~[forgeSrc-1.8-11.14.3.1499.jar:?]
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51]
                    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_51]
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_51]
                    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_51]
                    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?]
                    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?]
                    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?]
                    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?]
                    at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?]
                    at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) ~[forgeSrc-1.8-11.14.3.1499.jar:?]
                    at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:190) ~[forgeSrc-1.8-11.14.3.1499.jar:?]
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51]
                    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_51]
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_51]
                    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_51]
                    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?]
                    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?]
                    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?]
                    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?]
                    at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?]
                    at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:119) [LoadController.class:?]
                    at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:550) [Loader.class:?]
                    at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:249) [FMLClientHandler.class:?]
                    at net.minecraft.client.Minecraft.startGame(Minecraft.java:446) [Minecraft.class:?]
                    at net.minecraft.client.Minecraft.run(Minecraft.java:356) [Minecraft.class:?]
                    at net.minecraft.client.main.Main.main(Main.java:117) [Main.class:?]
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51]
                    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_51]
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_51]
                    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_51]
                    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
                    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
                    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
                    at GradleStart.main(Unknown Source) [start/:?]
                    [18:46:31] [Client thread/INFO] [STDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:663]: –-- Minecraft Crash Report ----
                    // Oops.
                    
                    Time: 01/08/15 18:46
                    Description: Initializing game
                    
                    java.lang.IllegalArgumentException: Failed to register dimension for id 4, provider type 4 does not exist
                    at net.minecraftforge.common.DimensionManager.registerDimension(DimensionManager.java:114)
                    at fr.slimgma.theslimgma.common.world.dimension.ModDimension.createDimension(ModDimension.java:30)
                    at fr.slimgma.theslimgma.Main.preInit(Main.java:46)
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                    at java.lang.reflect.Method.invoke(Unknown Source)
                    at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:537)
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                    at java.lang.reflect.Method.invoke(Unknown Source)
                    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
                    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
                    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
                    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
                    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
                    at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)
                    at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:190)
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                    at java.lang.reflect.Method.invoke(Unknown Source)
                    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
                    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
                    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
                    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
                    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
                    at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
                    at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:550)
                    at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:249)
                    at net.minecraft.client.Minecraft.startGame(Minecraft.java:446)
                    at net.minecraft.client.Minecraft.run(Minecraft.java:356)
                    at net.minecraft.client.main.Main.main(Main.java:117)
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                    at java.lang.reflect.Method.invoke(Unknown Source)
                    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
                    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
                    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
                    at GradleStart.main(Unknown Source)
                    
                    A detailed walkthrough of the error, its code path and all known details is as follows:
                    ---------------------------------------------------------------------------------------
                    
                    -- Head --
                    Stacktrace:
                    at net.minecraftforge.common.DimensionManager.registerDimension(DimensionManager.java:114)
                    at fr.slimgma.theslimgma.common.world.dimension.ModDimension.createDimension(ModDimension.java:30)
                    at fr.slimgma.theslimgma.Main.preInit(Main.java:46)
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                    at java.lang.reflect.Method.invoke(Unknown Source)
                    at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:537)
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                    at java.lang.reflect.Method.invoke(Unknown Source)
                    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
                    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
                    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
                    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
                    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
                    at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)
                    at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:190)
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                    at java.lang.reflect.Method.invoke(Unknown Source)
                    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
                    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
                    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
                    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
                    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
                    at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
                    at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:550)
                    at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:249)
                    at net.minecraft.client.Minecraft.startGame(Minecraft.java:446)
                    
                    -- Initialization --
                    Details:
                    Stacktrace:
                    at net.minecraft.client.Minecraft.run(Minecraft.java:356)
                    at net.minecraft.client.main.Main.main(Main.java:117)
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                    at java.lang.reflect.Method.invoke(Unknown Source)
                    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
                    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
                    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
                    at GradleStart.main(Unknown Source)
                    
                    -- System Details --
                    Details:
                    Minecraft Version: 1.8
                    Operating System: Windows 8.1 (amd64) version 6.3
                    Java Version: 1.8.0_51, Oracle Corporation
                    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
                    Memory: 821189984 bytes (783 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
                    JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
                    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
                    FML: MCP v9.10 FML v8.0.99.99 Minecraft Forge 11.14.3.1499 5 mods loaded, 5 mods active
                    States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
                    UCH mcp{9.05} [Minecraft Coder Pack] (minecraft.jar)
                    UCH FML{8.0.99.99} [Forge Mod Loader] (forgeSrc-1.8-11.14.3.1499.jar)
                    UCH Forge{11.14.3.1499} [Minecraft Forge] (forgeSrc-1.8-11.14.3.1499.jar)
                    UCE theslimgma{0.1} [The Slimgma] (bin)
                    UCH Baubles{1.1.1.0} [Baubles] (Baubles-1.8-1.1.1.0-deobf.jar)
                    Loaded coremods (and transformers):
                    GL info: ' Vendor: 'Intel' Version: '4.0.0 - Build 10.18.10.4252' Renderer: 'Intel(R) HD Graphics'
                    Launched Version: 1.8
                    LWJGL: 2.9.1
                    OpenGL: Intel(R) HD Graphics GL version 4.0.0 - Build 10.18.10.4252, Intel
                    GL Caps: Using GL 1.3 multitexturing.
                    Using GL 1.3 texture combiners.
                    Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
                    Shaders are available because OpenGL 2.1 is supported.
                    VBOs are available because OpenGL 1.5 is supported.
                    
                    Using VBOs: No
                    Is Modded: Definitely; Client brand changed to 'fml,forge'
                    Type: Client (map_client.txt)
                    Resource Packs: []
                    Current Language: English (US)
                    Profiler Position: N/A (disabled)
                    [18:46:31] [Client thread/INFO] [STDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:663]: #@!@# Game crashed! Crash report saved to: #@!@# D:\Users\Llulu\Downloads\Modding\1.8\Forge\eclipse\.\crash-reports\crash-2015-08-01_18.46.31-client.txt
                    Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release
                    
                    

                    :::

                    Merci d’avance pour vos réponses (et prévenez moi si je dois plutôt créer un sujet que de poster ici)

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

                      Il faut enregistrer les provider avant la dimension.

                      PS : quand tu donnes un crash report, penses à donner tes classes en entier (avec les imports etc.) sinon le crash report est faussé car on a pas la bonne ligne.

                      Site web contenant mes scripts : http://SCAREXgaming.github.io

                      Pas de demandes de support par MP ni par skype SVP.
                      Je n'accepte sur skype que l…

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

                        @‘SCAREX’:

                        Il faut enregistrer les provider avant la dimension.

                        PS : quand tu donnes un crash report, penses à donner tes classes en entier (avec les imports etc.) sinon le crash report est faussé car on a pas la bonne ligne.

                        Merci, ça ne crash plus désolée pour n’avoir pas donner mes classes en entier et que ça sois une erreur toute bête, sinon même si ça ne crash plus ma dimension ne semble toujours pas marché.

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

                          je vais (pense) faire un tuto pour montrer comment passer une dimension en 1.8 ^^

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

                            @‘Diangle’:

                            je vais (pense) faire un tuto pour montrer comment passer une dimension en 1.8 ^^

                            A part l’histoire des getBlock il y a pas beaucoup de choses à modifier je pense.

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

                              Pense aussi à mettre les @override, car certains paramètres ont changé (comme les coordonnées x,y,z devenu BlockPos).

                              Site web contenant mes scripts : http://SCAREXgaming.github.io

                              Pas de demandes de support par MP ni par skype SVP.
                              Je n'accepte sur skype que l…

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

                                @‘KingSlime’:

                                @‘Diangle’:

                                je vais (pense) faire un tuto pour montrer comment passer une dimension en 1.8 ^^

                                A part l’histoire des getBlock il y a pas beaucoup de choses à modifier je pense.

                                Il y a pas mal de chose qui on changer. C’est pour ça que je compte montrer comment passer de 1.7 à 1.8 :P.

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

                                  WorldProvider

                                  
                                  package mod.common.world.type;
                                  
                                  import cpw.mods.fml.relauncher.Side;
                                  import cpw.mods.fml.relauncher.SideOnly;
                                  import mod.common.world.structure.DimensionRegister;
                                  import net.minecraft.entity.Entity;
                                  import net.minecraft.init.Blocks;
                                  import net.minecraft.util.Vec3;
                                  import net.minecraft.world.WorldProvider;
                                  
                                  public class AncientWorldProvider extends WorldProvider
                                  {
                                  public void registerWorldChunkManager()
                                  {
                                  this.worldChunkMgr = new AncientWorldChunkManager(worldObj.getSeed(), terrainType);
                                  this.dimensionId = DimensionRegister.tutoDimAncient4;
                                  }
                                  
                                  public String getDimensionName()
                                  {
                                  return "Ancient World";
                                  }
                                  
                                  public String getSaveFolder()
                                  {
                                  return "AncientWorld";
                                  }
                                  public boolean canRespawnHere()
                                  {
                                  return true;
                                  }
                                  public boolean getWorldHasVoidParticles()
                                  {
                                  return true;
                                  }
                                  public int getHeight()
                                  {
                                  return 256;
                                  }
                                  
                                  public boolean canCoordinateBeSpawn(int par1, int par2)
                                  {
                                  return this.worldObj.getTopBlock(par1, par2) == Blocks.grass;
                                  }
                                  
                                  protected void generateLightBrightnessTable()
                                  {
                                  float f = 0.2F;
                                  
                                  for(int i = 0; i <= 15; ++i)
                                  {
                                  float f1 = 1.0F - (float)i / 15.0F;
                                  this.lightBrightnessTable* = (1.0F - f1) / (f1 * 3.0F + 1.0F) * (1.0F - f) + f;
                                  }
                                  }
                                  public float calculateCelestialAngle(long par1, float par2)
                                  {
                                  int j = (int)(par1 % 24000L);
                                  float f1 = ((float)j + par2) / 24000.0F - 0.25F;
                                  
                                  if(f1 < 0.0F)
                                  {
                                  ++f1;
                                  }
                                  if(f1 > 1.0F)
                                  {
                                  –f1;
                                  }
                                  float f2 = f1;
                                  f1 = 1.0F - (float)((Math.cos((double)f1 * Math.PI) + 1.0D) / 2.0D);
                                  f1 = f2 + (f1 - f2) / 3.0F;
                                  return f1;
                                  }
                                  public int getMoonPhase(long par1)
                                  {
                                  return (int)(par1 / 24000L % 8L + 8L) % 8;
                                  }
                                  public String getWelcomeMessage()
                                  {
                                  if(this instanceof AncientWorldProvider)
                                  {
                                  return "Entering the Ancient Dimension";
                                  }
                                  return null;
                                  }
                                  
                                  public String getDepartMessage()
                                  {
                                  if(this instanceof AncientWorldProvider)
                                  {
                                  return "Leaving the Ancient Dimension";
                                  }
                                  return null;
                                  }
                                  
                                  @SideOnly(Side.CLIENT)
                                  public boolean isSkyColored()
                                  {
                                  return true;
                                  }
                                  
                                  @Override
                                  public Vec3 getSkyColor(Entity cameraEntity, float partialTicks)
                                  { //à modifier pour changer la couleur
                                  return Vec3.createVectorHelper(2.8, 1.1, 1.7);
                                  }
                                  }
                                  
                                  

                                  Pareil désolé de mon absence appendicite aigue , presque péritonite pas la joie 😞

                                  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

                                    il y a pas l’ai d’avoir d’erreur ici, regarde dans tes autres classe si tu utilise le WorldChunkManager.

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

                                      Ligne 114 et 220 dans AncientChunkProvider :

                                      package mod.common.world.type;
                                      
                                      import cpw.mods.fml.relauncher.Side;
                                      import cpw.mods.fml.relauncher.SideOnly;
                                      import mod.common.world.structure.DimensionRegister;
                                      import net.minecraft.entity.Entity;
                                      import net.minecraft.init.Blocks;
                                      import net.minecraft.util.Vec3;
                                      import net.minecraft.world.WorldProvider;
                                      
                                      public class AncientWorldProvider extends WorldProvider
                                      {
                                      public void registerWorldChunkManager()
                                      {
                                      this.worldChunkMgr = new AncientWorldChunkManager(worldObj.getSeed(), terrainType);
                                      this.dimensionId = DimensionRegister.tutoDimAncient4;
                                      }
                                      
                                      public String getDimensionName()
                                      {
                                      return "Ancient World";
                                      }
                                      
                                      public String getSaveFolder()
                                      {
                                      return "AncientWorld";
                                      }
                                      public boolean canRespawnHere()
                                      {
                                      return true;
                                      }
                                      public boolean getWorldHasVoidParticles()
                                      {
                                      return true;
                                      }
                                      public int getHeight()
                                      {
                                      return 256;
                                      }
                                      
                                      public boolean canCoordinateBeSpawn(int par1, int par2)
                                      {
                                      return this.worldObj.getTopBlock(par1, par2) == Blocks.grass;
                                      }
                                      
                                      protected void generateLightBrightnessTable()
                                      {
                                      float f = 0.2F;
                                      
                                      for(int i = 0; i <= 15; ++i)
                                      {
                                      float f1 = 1.0F - (float)i / 15.0F;
                                      this.lightBrightnessTable* = (1.0F - f1) / (f1 * 3.0F + 1.0F) * (1.0F - f) + f;
                                      }
                                      }
                                      public float calculateCelestialAngle(long par1, float par2)
                                      {
                                      int j = (int)(par1 % 24000L);
                                      float f1 = ((float)j + par2) / 24000.0F - 0.25F;
                                      
                                      if(f1 < 0.0F)
                                      {
                                      ++f1;
                                      }
                                      if(f1 > 1.0F)
                                      {
                                      –f1;
                                      }
                                      float f2 = f1;
                                      f1 = 1.0F - (float)((Math.cos((double)f1 * Math.PI) + 1.0D) / 2.0D);
                                      f1 = f2 + (f1 - f2) / 3.0F;
                                      return f1;
                                      }
                                      public int getMoonPhase(long par1)
                                      {
                                      return (int)(par1 / 24000L % 8L + 8L) % 8;
                                      }
                                      public String getWelcomeMessage()
                                      {
                                      if(this instanceof AncientWorldProvider)
                                      {
                                      return "Entering the Ancient Dimension";
                                      }
                                      return null;
                                      }
                                      
                                      public String getDepartMessage()
                                      {
                                      if(this instanceof AncientWorldProvider)
                                      {
                                      return "Leaving the Ancient Dimension";
                                      }
                                      return null;
                                      }
                                      
                                      @SideOnly(Side.CLIENT)
                                      public boolean isSkyColored()
                                      {
                                      return true;
                                      }
                                      
                                      @Override
                                      public Vec3 getSkyColor(Entity cameraEntity, float partialTicks)
                                      { //à modifier pour changer la couleur
                                      return Vec3.createVectorHelper(2.8, 1.1, 1.7);
                                      }
                                      }
                                      
                                      

                                      Dans la classe WorldChunkManager du coup x) :

                                      
                                      package mod.common.world.type;
                                      
                                      import java.util.ArrayList;
                                      import java.util.Arrays;
                                      import java.util.List;
                                      import java.util.Random;
                                      
                                      import cpw.mods.fml.relauncher.Side;
                                      import cpw.mods.fml.relauncher.SideOnly;
                                      import mod.common.world.biome.BiomeRegister;
                                      import mod.common.world.generator.AncientGenLayer;
                                      import net.minecraft.world.ChunkPosition;
                                      import net.minecraft.world.World;
                                      import net.minecraft.world.WorldType;
                                      import net.minecraft.world.biome.BiomeCache;
                                      import net.minecraft.world.biome.BiomeGenBase;
                                      import net.minecraft.world.biome.WorldChunkManager;
                                      import net.minecraft.world.gen.layer.GenLayer;
                                      import net.minecraft.world.gen.layer.IntCache;
                                      
                                      public class AncientWorldChunkManager extends WorldChunkManager
                                      {
                                      /**
                                      * GenLayer = classe de GenLayer si vous utiliser un GenLayer qui n’hérite
                                      * pas de la classe GenLayer alors il faut changer par votre classe
                                      */
                                      private GenLayer genBiomes;
                                      private GenLayer biomeIndexLayer;
                                      /** L'objet du BiomeCache pour le monde */
                                      private BiomeCache biomeCache;
                                      /** List des biome ou le joueur peu spawn */
                                      private List <biomegenbase>biomesToSpawnIn;
                                      
                                      protected AncientWorldChunkManager()
                                      {
                                      this.biomeCache = new BiomeCache(this);
                                      // liste des biomes ou nous spawons
                                      this.biomesToSpawnIn = new ArrayList<biomegenbase>();
                                      // Ce biome n'est pas le biome ou vous spawner forcement, mais dans
                                      // toute les classes il devra être mis
                                      this.biomesToSpawnIn.add(BiomeGenBase.savanna);
                                      }
                                      
                                      public AncientWorldChunkManager(long par1, WorldType worldType)
                                      {
                                      this();
                                      /**
                                      * Appele la fonction makeTheWorld dans la classe TutoGenLayer, la
                                      * fonction est la fonction de génération de nos biome
                                      */
                                      GenLayer[] agenlayer = AncientGenLayer.makeTheWorld(par1);
                                      this.genBiomes = agenlayer[0];
                                      this.biomeIndexLayer = agenlayer[1];
                                      }
                                      
                                      public AncientWorldChunkManager(World world)
                                      {
                                      this(world.getSeed(), world.provider.terrainType);
                                      }
                                      
                                      /** Permet d'obtenir la list des biomes ou le joueur peut apparaitre */
                                      public List <biomegenbase>getBiomesToSpawnIn()
                                      {
                                      return this.biomesToSpawnIn;
                                      }
                                      
                                      /** Renvoie au BiomeGenBase a la position x, z relative dans le monde */
                                      public BiomeGenBase getBiomeGenAt(int x, int z)
                                      {
                                      BiomeGenBase biome = this.biomeCache.getBiomeGenAt(x, z);
                                      if(biome == null)
                                      {
                                      return BiomeGenBase.savanna;
                                      
                                      }
                                      return biome;
                                      }
                                      
                                      /**
                                      * Retourne a la list des valeurs pour la pluis… ... pour en fonction de
                                      * blocs spésifier
                                      */
                                      public float[] getRainfall(float[] par1ArrayOfFloat, int par2, int par3, int par4, int par5)
                                      {
                                      if(par1ArrayOfFloat == null || par1ArrayOfFloat.length < par4 * par5)
                                      {
                                      par1ArrayOfFloat = new float[par4 * par5];
                                      }
                                      
                                      Arrays.fill(par1ArrayOfFloat, 0, par4 * par5, 0.0F);
                                      return par1ArrayOfFloat;
                                      }
                                      
                                      /** Retourne a une température donner par raport au y */
                                      @SideOnly(Side.CLIENT)
                                      public float getTemperatureAtHeight(float par1, int par2)
                                      {
                                      return par1;
                                      }
                                      
                                      /** Retourne à un tableau pour les biomes a générer */
                                      public BiomeGenBase[] getBiomesForGeneration(BiomeGenBase[] par1ArrayOfBiomeGenBase, int par2, int par3, int par4, int par5)
                                      {
                                      IntCache.resetIntCache();
                                      
                                      if(par1ArrayOfBiomeGenBase == null || par1ArrayOfBiomeGenBase.length < par4 * par5)
                                      {
                                      par1ArrayOfBiomeGenBase = new BiomeGenBase[par4 * par5];
                                      }
                                      
                                      int[] aint = this.genBiomes.getInts(par2, par3, par4, par5);
                                      
                                      for(int i = 0; i < par4 * par5; ++i)
                                      {
                                      if(aint* >= 0)
                                      {
                                      par1ArrayOfBiomeGenBase* = BiomeGenBase.getBiome(aint*);
                                      }
                                      else
                                      {
                                      par1ArrayOfBiomeGenBase* = BiomeGenBase.forest;
                                      }
                                      }
                                      
                                      return par1ArrayOfBiomeGenBase;
                                      }
                                      
                                      /** Retourne au biome et charge les données pour les blocs */
                                      public BiomeGenBase[] loadBlockGeneratorData(BiomeGenBase[] par1ArrayOfBiomeGenBase, int par2, int par3, int par4, int par5)
                                      {
                                      return this.getBiomeGenAt(par1ArrayOfBiomeGenBase, par2, par3, par4, par5, true);
                                      }
                                      
                                      /**
                                      * Retourne a une liste de biome pour les blocs spécifiés argument : x, y,
                                      * largeur, longueur, cache.
                                      */
                                      public BiomeGenBase[] getBiomeGenAt(BiomeGenBase[] arrayOfBiomeGenBase, int x, int y, int width, int length, boolean cacheFlag)
                                      {
                                      if(arrayOfBiomeGenBase == null || arrayOfBiomeGenBase.length < width * length)
                                      {
                                      arrayOfBiomeGenBase = new BiomeGenBase[width * length];
                                      }
                                      
                                      if(cacheFlag && width == 16 && length == 16 && (x & 15) == 0 && (y & 15) == 0)
                                      {
                                      BiomeGenBase[] abiomegenbase1 = this.biomeCache.getCachedBiomes(x, y);
                                      System.arraycopy(abiomegenbase1, 0, arrayOfBiomeGenBase, 0, width * length);
                                      return arrayOfBiomeGenBase;
                                      }
                                      else
                                      {
                                      int[] aint = this.biomeIndexLayer.getInts(x, y, width, length);
                                      
                                      for(int i1 = 0; i1 < width * length; ++i1)
                                      {
                                      if(aint[i1] >= 0)
                                      {
                                      arrayOfBiomeGenBase[i1] = BiomeGenBase.getBiome(aint[i1]);
                                      }
                                      
                                      else
                                      {
                                      arrayOfBiomeGenBase[i1] = BiomeGenBase.forest;
                                      }
                                      }
                                      
                                      return arrayOfBiomeGenBase;
                                      }
                                      }
                                      
                                      /** Verifie les données du chunk */
                                      public boolean areBiomesViable(int x, int y, int z, List par4List)
                                      {
                                      IntCache.resetIntCache();
                                      int l = x - z >> 2;
                                      int i1 = y - z >> 2;
                                      int j1 = x + z >> 2;
                                      int k1 = y + z >> 2;
                                      int l1 = j1 - l + 1;
                                      int i2 = k1 - i1 + 1;
                                      int[] aint = this.genBiomes.getInts(l, i1, l1, i2);
                                      
                                      for(int j2 = 0; j2 < l1 * i2; ++j2)
                                      {
                                      BiomeGenBase biomegenbase = BiomeGenBase.getBiome(aint[j2]);
                                      
                                      if(!par4List.contains(biomegenbase))
                                      {
                                      return false;
                                      }
                                      }
                                      
                                      return true;
                                      }
                                      
                                      /** Supprime le biome dans les 30s. si il n'est pas vérifier dans la temps */
                                      public void cleanupCache()
                                      {
                                      this.biomeCache.cleanupCache();
                                      }
                                      }
                                      
                                      

                                      Ligne 13 et 15 dans AncientWorldProvider :

                                      package mod.common.world.type;
                                      
                                      import cpw.mods.fml.relauncher.Side;
                                      import cpw.mods.fml.relauncher.SideOnly;
                                      import mod.common.world.structure.DimensionRegister;
                                      import net.minecraft.entity.Entity;
                                      import net.minecraft.init.Blocks;
                                      import net.minecraft.util.Vec3;
                                      import net.minecraft.world.WorldProvider;
                                      
                                      public class AncientWorldProvider extends WorldProvider
                                      {
                                      public void registerWorldChunkManager()
                                      {
                                      this.worldChunkMgr = new AncientWorldChunkManager(worldObj.getSeed(), terrainType);
                                      this.dimensionId = DimensionRegister.tutoDimAncient4;
                                      }
                                      
                                      public String getDimensionName()
                                      {
                                      return "Ancient World";
                                      }
                                      
                                      public String getSaveFolder()
                                      {
                                      return "AncientWorld";
                                      }
                                      public boolean canRespawnHere()
                                      {
                                      return true;
                                      }
                                      public boolean getWorldHasVoidParticles()
                                      {
                                      return true;
                                      }
                                      public int getHeight()
                                      {
                                      return 256;
                                      }
                                      
                                      public boolean canCoordinateBeSpawn(int par1, int par2)
                                      {
                                      return this.worldObj.getTopBlock(par1, par2) == Blocks.grass;
                                      }
                                      
                                      protected void generateLightBrightnessTable()
                                      {
                                      float f = 0.2F;
                                      
                                      for(int i = 0; i <= 15; ++i)
                                      {
                                      float f1 = 1.0F - (float)i / 15.0F;
                                      this.lightBrightnessTable* = (1.0F - f1) / (f1 * 3.0F + 1.0F) * (1.0F - f) + f;
                                      }
                                      }
                                      public float calculateCelestialAngle(long par1, float par2)
                                      {
                                      int j = (int)(par1 % 24000L);
                                      float f1 = ((float)j + par2) / 24000.0F - 0.25F;
                                      
                                      if(f1 < 0.0F)
                                      {
                                      ++f1;
                                      }
                                      if(f1 > 1.0F)
                                      {
                                      –f1;
                                      }
                                      float f2 = f1;
                                      f1 = 1.0F - (float)((Math.cos((double)f1 * Math.PI) + 1.0D) / 2.0D);
                                      f1 = f2 + (f1 - f2) / 3.0F;
                                      return f1;
                                      }
                                      public int getMoonPhase(long par1)
                                      {
                                      return (int)(par1 / 24000L % 8L + 8L) % 8;
                                      }
                                      public String getWelcomeMessage()
                                      {
                                      if(this instanceof AncientWorldProvider)
                                      {
                                      return "Entering the Ancient Dimension";
                                      }
                                      return null;
                                      }
                                      
                                      public String getDepartMessage()
                                      {
                                      if(this instanceof AncientWorldProvider)
                                      {
                                      return "Leaving the Ancient Dimension";
                                      }
                                      return null;
                                      }
                                      
                                      @SideOnly(Side.CLIENT)
                                      public boolean isSkyColored()
                                      {
                                      return true;
                                      }
                                      
                                      @Override
                                      public Vec3 getSkyColor(Entity cameraEntity, float partialTicks)
                                      { //à modifier pour changer la couleur
                                      return Vec3.createVectorHelper(2.8, 1.1, 1.7);
                                      }
                                      }
                                      
                                      

                                      J’ai rien trouver d’autre et je vois pas d’erreur…</biomegenbase></biomegenbase></biomegenbase>

                                      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 t’es tromper de classe :D, tu pourrais envoyer le ChunkProvider ?

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

                                          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.*;
                                          import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.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);
                                          }
                                          }
                                          
                                          }
                                          
                                          

                                          Mince ! voici 🙂

                                          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 pourrais m’envoyer ton code en .zip en MP ? j’irais surement plus vite, je te dirais se qui va pas ^^.

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB