MFF

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

    Problème génération biome

    Planifier Épinglé Verrouillé Déplacé Non résolu 1.7.x
    1.7.10
    91 Messages 9 Publieurs 14.0k Vues 1 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.
    • Superloup10S Hors-ligne
      Superloup10 Modérateurs
      dernière édition par

      WorldServer semble être nul, d’après le crash.

      Envois la class GiantPortal.java et indique la ligne 92.

      Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

      Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

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

        très bien

        
        package fr.craftesys.craftesys.dimension;
        
        import java.util.Random;
        
        import fr.craftesys.craftesys.dimension.*;
        
        import fr.craftesys.craftesys.common.Mods;
        import net.minecraft.block.Block;
        import net.minecraft.block.BlockPortal;
        import net.minecraft.entity.Entity;
        import net.minecraft.entity.player.EntityPlayerMP;
        import net.minecraft.init.Blocks;
        import net.minecraft.server.MinecraftServer;
        import net.minecraft.util.AxisAlignedBB;
        import net.minecraft.world.World;
        
        public class GiantPortal extends BlockPortal {
        
        public GiantPortal(){
        super();
        this.setCreativeTab(Mods.giantTab);
        }
        
        /*public void updateTick(World world, int x, int y, int z, Random rand){
        
        }*/
        
        public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z){
        return null;
        }
        
        public boolean renderAsNormalBlock(){
        return false;
        }
        
        public void onNeighborBlockChange(World world, int x, int y, int z, Block block){
        
        byte b0 = 0;
        byte b1 = 1;
        
        if(world.getBlock(x - 1, y, z) == Mods.invisible || world.getBlock(x + 1, y, z) == Mods.invisible){
        b0 = 1;
        b1 = 0;
        }
        
        int i1;
        
        for(i1 = y; world.getBlock(x, i1 - 1, z) == this; –i1){
        ;
        }
        if(world.getBlock(x, i1 - 1, z) != Mods.invisible){
        world.setBlockToAir(x, y, z);
        }else{
        int j1;
        
        for(j1 = 1; j1 < 4 && world.getBlock(x, i1 + j1, z) == this; ++j1){
        ;
        }
        if(j1 == 3 && world.getBlock(x, i1 + j1, z) == Mods.invisible){
        boolean flag = world.getBlock(x - 1, y, z) == this || world.getBlock(x + 1, y, z) == this;
        boolean flag1 = world.getBlock(x, y, z - 1) == this || world.getBlock(x, y, z - 1) == this;
        
        if(flag && flag1){
        world.setBlockToAir(x, y, z);
        }else{
        if((world.getBlock(x+b0, y, z+b1) != Mods.invisible || world.getBlock(x-b0, y, z-b1) != this) && (world.getBlock(x-b0, y, z-b1) !=Mods.invisible || world.getBlock(x+b0, y, z+b1) != this)){
        world.setBlockToAir(x, y, z);
        }
        }
        }else{
        world.setBlockToAir(x, y, z);
        }
        }
        }
        
        public int quantityDropped(Random rand){
        return 0;
        
        }
        
        public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity){
        if(entity.ridingEntity == null && entity.riddenByEntity == null && entity instanceof EntityPlayerMP){
        EntityPlayerMP thePlayer = (EntityPlayerMP) entity;
        
        MinecraftServer server = MinecraftServer.getServer();
        if(entity instanceof EntityPlayerMP){
        if(thePlayer.timeUntilPortal > 0){
        thePlayer.timeUntilPortal = 10;
        
        }else if(thePlayer.dimension != DimensionRegistry.dimensionId){
        thePlayer.timeUntilPortal = 10;
        
        thePlayer.mcServer.getConfigurationManager().transferPlayerToDimension(thePlayer, DimensionRegistry.dimensionId, new TeleporterGiant(server.worldServerForDimension(DimensionRegistry.dimensionId))); // LIGNE 92
        
        }else{
        thePlayer.timeUntilPortal = 10;
        thePlayer.mcServer.getConfigurationManager().transferPlayerToDimension(thePlayer, 0, new TeleporterGiant(server.worldServerForDimension(0)));
        }
        
        }
        
        }
        }
        
        public boolean tryTroCreatePortal(World world, int x, int y, int z){
        byte b0 = 0;
        byte b1 = 0;
        if(world.getBlock(x - 1 , y, z) == Mods.invisible || world.getBlock(x + 1, y, z) == Mods.invisible){
        b0 = 1;
        }
        
        if (world.getBlock(x, y, z - 1) == Mods.invisible || world.getBlock(x, y, z + 1) == Mods.invisible){
        b1 = 1;
        }
        
        if(b0 == b1){
        return false;
        
        }
        else{
        if(world.getBlock(x - b0, y, z - b1) == Blocks.air){
        x -= b0;
        z -= b1;
        
        }
        int l;
        int i1;
        for(l = -1; l <= 2; ++l){
        for(i1 = -1; i1 <= 3; ++i1){
        boolean flag = l == -1 || l == 2 || i1 == -1 || i1 == 3;
        if( l != -1 && l != 2 || i1 != -1 && i1 !=3){
        Block j1 = world.getBlock(x + b0 * l, y + i1, z + b1 * l);
        if(flag){
        if(j1 != Mods.invisible){
        return false;
        }
        }
        else if(j1 != Blocks.air && j1 != Blocks.fire){
        return false;
        }
        }
        }
        }
        for(l = 0; l < 2; ++l){
        for(i1 = 0; i1 < 3; ++i1){
        world.setBlock(x + b0 * l, y + i1, z + b1 * l, Mods.invisible, 0, 2);
        }
        }
        return true;
        }
        }
        
        }
        
        
        1 réponse Dernière réponse Répondre Citer 0
        • Superloup10S Hors-ligne
          Superloup10 Modérateurs
          dernière édition par

          Au lieu de ```java
          thePlayer.mcServer.getConfigurationManager().transferPlayerToDimension(thePlayer, DimensionRegistry.dimensionId, new TeleporterGiant(server.worldServerForDimension(DimensionRegistry.dimensionId)));

          essaye ```java
          server.getConfigurationManager().transferPlayerToDimension(thePlayer, DimensionRegistry.dimensionId, new TeleporterGiant(server.worldServerForDimension(DimensionRegistry.dimensionId)));
          

          Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

          Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

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

            toujours un crash, je te passe le rapport de crash au cas ou :

            
            –-- Minecraft Crash Report ----
            // This is a token for 1 free hug. Redeem at your nearest Mojangsta: [~~HUG~~]
            
            Time: 10/05/16 21:21
            Description: Colliding entity with block
            
            java.lang.NullPointerException: Colliding entity with block
            at net.minecraft.world.Teleporter.<init>(Teleporter.java:32)
            at fr.craftesys.craftesys.dimension.TeleporterGiant.<init>(TeleporterGiant.java:27)
            at fr.craftesys.craftesys.dimension.GiantPortal.onEntityCollidedWithBlock(GiantPortal.java:92)
            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.Teleporter.<init>(Teleporter.java:32)
            at fr.craftesys.craftesys.dimension.TeleporterGiant.<init>(TeleporterGiant.java:27)
            at fr.craftesys.craftesys.dimension.GiantPortal.onEntityCollidedWithBlock(GiantPortal.java:92)
            
            -- Block being collided with --
            Details:
            Block type: ID #165 (tile.null // fr.craftesys.craftesys.dimension.GiantPortal)
            Block data value: 0 / 0x0 / 0b0000
            Block location: World: (61,80,228), Chunk: (at 13,5,4 in 3,14; contains blocks 48,0,224 to 63,255,239), 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: 297
            Entity Name: Player3
            Entity's Exact location: 62,11, 80,00, 228,82
            Entity's Block location: World: (62,80,228), Chunk: (at 14,5,4 in 3,14; contains blocks 48,0,224 to 63,255,239), 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@23abc7f
            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 10 (amd64) version 10.0
            Java Version: 1.8.0_91, Oracle Corporation
            Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
            Memory: 714684840 bytes (681 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: 13, tallocated: 95
            FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1558 4 mods loaded, 4 mods active
            States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
            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.1558-1.7.10.jar)
            UCHIJAAAA Forge{10.13.4.1558} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar)
            UCHIJAAAA craftesys{1.0.0} [craftesys] (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['Player3'/297, l='New Worldkljhgfd', x=62,11, y=80,00, z=228,82]]
            Type: Integrated Server (map_client.txt)
            Is Modded: Definitely; Client brand changed to 'fml,forge'
            
            ```</init></init></init></init>
            1 réponse Dernière réponse Répondre Citer 0
            • AymericRedA Hors-ligne
              AymericRed
              dernière édition par

              Print server.worldServerForDimension(…), apparemment il ne trouve le world server.

              Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk

              Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

              AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

              Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
              Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                je lance le jeu directement depuis eclipse, si ça peut aider

                1 réponse Dernière réponse Répondre Citer 0
                • Superloup10S Hors-ligne
                  Superloup10 Modérateurs
                  dernière édition par

                  Tu as bien regarder l’entièreté de ce tutoriel ?
                  Il semble que tu n’es pas défini d’id pour ta dimension.

                  Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                  Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

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

                    oui j’ai suivi ce tuto mais il est long, j’ai peut-être loupé une partie, je me focalise sur quel class du coup ?

                    1 réponse Dernière réponse Répondre Citer 0
                    • robin4002R Hors-ligne
                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                      dernière édition par

                      Appartement il faut un world type custom pour ajouter des biomes : http://www.minecraftforge.net/forum/index.php/topic,17885.msg90964.html#msg90964

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

                        j’avais le worldtype mais merci, j’avais pas mit   : WorldType CUSTOM = new WorldTypeCustom(3, “custom”);  dans la classe principale, je vais voir et je viens vous dire

                        toujours crash et ne spawn pas de façon naturelle

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

                          Tu as bien sélectionné une génération custom (là ou tu peux mettre monde plat).

                          Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk

                          Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                          AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                          Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                          Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                            je comprend pas ce que tu dis, si je creer bien un nouveau monde plat ? c’est ça ?

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

                              Non, si tu créées un WolrdType, tu pourras le sélectionner avec le bouton ou tu peux switch normal plat amplifié (comme Biome o’plenty)

                              Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk

                              Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                              AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                              Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                              Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                                c’est ma classe worldtype :

                                
                                import net.minecraft.world.WorldType;
                                import net.minecraft.world.gen.layer.GenLayer;
                                import net.minecraft.world.gen.layer.GenLayerBiome;
                                import net.minecraft.world.gen.layer.GenLayerBiomeEdge;
                                import net.minecraft.world.gen.layer.GenLayerZoom;
                                
                                public class WorldTypegiant extends WorldType{
                                
                                public WorldTypegiant(int par1, String name) {
                                super(name);
                                
                                }
                                /**
                                * Creates the GenLayerBiome used for generating the world
                                *
                                * @param worldSeed The world seed
                                * @param parentLayer The parent layer to feed into any layer you return
                                * @return A GenLayer that will return ints representing the Biomes to be generated, see GenLayerBiome
                                */
                                
                                @Override
                                public GenLayer getBiomeLayer(long worldSeed, GenLayer parentLayer)
                                {
                                GenLayer ret = new GiantGenLayerBiome(200L, parentLayer, this);
                                ret = GenLayerZoom.magnify(1000L, ret, 2);
                                ret = new GenLayerBiomeEdge(1000L, ret);
                                return ret;
                                }
                                
                                }
                                
                                
                                1 réponse Dernière réponse Répondre Citer 0
                                • S Hors-ligne
                                  sventus
                                  dernière édition par

                                  Salut, mon biome spawn enfin, mais j’aimerais savoir un truc, comment aggrandir le biome afin de pouvoir faire plus de tests, et qu’il spawn un peu plus souvent aussi

                                  merci beaucoup

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

                                    A se qui me semble tu modifie les paramétte que tu a mis la

                                    
                                    @Override
                                     public GenLayer getBiomeLayer(long worldSeed, GenLayer parentLayer)
                                        {
                                            GenLayer ret = new GiantGenLayerBiome(200L, parentLayer, this);
                                            ret = GenLayerZoom.magnify(1000L, ret, 2);
                                            ret = new GenLayerBiomeEdge(1000L, ret);
                                            return ret;
                                        }
                                    

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

                                      merci je suppose que ….magnifiy correspond a la taille et … biomeEdge correspond à la rareté ?? donc je dois mettre un nombre faible ? en tout cas merci

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

                                        tu es certain que c’est dans cette fonction ? en mettant des nombres des grands, je ne vois pas plus de biomes.

                                        car de base je cherchais dans cette class :

                                        
                                        package fr.craftesys.craftesys.generation;
                                        
                                        import java.util.ArrayList;
                                        import java.util.List;
                                        import java.util.Random;
                                        
                                        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 fr.craftesys.craftesys.generation.*;
                                        import net.minecraft.crash.CrashReport;
                                        import net.minecraft.crash.CrashReportCategory;
                                        import net.minecraft.util.ReportedException;
                                        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;
                                        import net.minecraftforge.common.MinecraftForge;
                                        import net.minecraftforge.event.terraingen.WorldTypeEvent;
                                        import cpw.mods.fml.relauncher.Side;
                                        import cpw.mods.fml.relauncher.SideOnly;
                                        
                                        public class WorldChunkManagerCraftesysTEST extends WorldChunkManager
                                        {
                                        private GenLayer genBiomes;
                                        /**
                                        * A GenLayer containing the indices into BiomeGenBase.biomeList[]
                                        */
                                        private GenLayer biomeIndexLayer;
                                        /**
                                        * The BiomeCache object for this world.
                                        */
                                        private BiomeCache biomeCache;
                                        /**
                                        * A list of biomes that the player can spawn in.
                                        */
                                        private List biomesToSpawnIn;
                                        
                                        protected WorldChunkManagerCraftesysTEST() {
                                        this.biomeCache = new BiomeCache(this);
                                        this.biomesToSpawnIn = new ArrayList();
                                        }
                                        
                                        public WorldChunkManagerCraftesysTEST(long par1, WorldType par3WorldType) {
                                        this();
                                        GenLayer[] agenlayer = GiantGenLayerBiome.initializeAllBiomeGenerators(par1, par3WorldType);
                                        agenlayer = getModdedBiomeGenerators(par3WorldType, par1, agenlayer);
                                        this.genBiomes = agenlayer[0];
                                        this.biomeIndexLayer = agenlayer[1];
                                        }
                                        
                                        public WorldChunkManagerCraftesysTEST(World par1World) {
                                        this(par1World.getSeed(), par1World.getWorldInfo().getTerrainType());
                                        }
                                        
                                        /**
                                        * Gets the list of valid biomes for the player to spawn in.
                                        */
                                        public List getBiomesToSpawnIn() {
                                        return this.biomesToSpawnIn;
                                        }
                                        
                                        /**
                                        * Returns the BiomeGenBase related to the x, z position on the world.
                                        */
                                        public BiomeGenBase getBiomeGenAt(int par1, int par2) {
                                        return this.biomeCache.getBiomeGenAt(par1, par2);
                                        }
                                        
                                        /**
                                        * Returns a list of rainfall values for the specified blocks. Args: listToReuse, x, z, width, length.
                                        */
                                        public float[] getRainfall(float[] par1ArrayOfFloat, int par2, int par3, int par4, int par5) {
                                        IntCache.resetIntCache();
                                        
                                        if(par1ArrayOfFloat == null || par1ArrayOfFloat.length < par4 * par5) {
                                        par1ArrayOfFloat = new float[par4 * par5];
                                        }
                                        
                                        int[] aint = this.biomeIndexLayer.getInts(par2, par3, par4, par5);
                                        
                                        for(int i1 = 0; i1 < par4 * par5; ++i1) {
                                        try {
                                        float f = (float) BiomeGenBase.getBiome(aint[i1]).getIntRainfall() / 65536.0F;
                                        
                                        if(f > 1.0F) {
                                        f = 1.0F;
                                        }
                                        
                                        par1ArrayOfFloat[i1] = f;
                                        } catch(Throwable throwable) {
                                        CrashReport crashreport = CrashReport.makeCrashReport(throwable, "Invalid Biome id");
                                        CrashReportCategory crashreportcategory = crashreport.makeCategory("DownfallBlock");
                                        crashreportcategory.addCrashSection("biome id", Integer.valueOf(i1));
                                        crashreportcategory.addCrashSection("downfalls[] size", Integer.valueOf(par1ArrayOfFloat.length));
                                        crashreportcategory.addCrashSection("x", Integer.valueOf(par2));
                                        crashreportcategory.addCrashSection("z", Integer.valueOf(par3));
                                        crashreportcategory.addCrashSection("w", Integer.valueOf(par4));
                                        crashreportcategory.addCrashSection("h", Integer.valueOf(par5));
                                        throw new ReportedException(crashreport);
                                        }
                                        }
                                        
                                        return par1ArrayOfFloat;
                                        }
                                        
                                        /**
                                        * Return an adjusted version of a given temperature based on the y height
                                        */
                                        @SideOnly(Side.CLIENT)
                                        public float getTemperatureAtHeight(float par1, int par2) {
                                        return par1;
                                        }
                                        
                                        /**
                                        * Returns an array of biomes for the location input.
                                        */
                                        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);
                                        
                                        try {
                                        for(int i1 = 0; i1 < par4 * par5; ++i1) {
                                        par1ArrayOfBiomeGenBase[i1] = BiomeGenBase.getBiome(aint[i1]);
                                        }
                                        
                                        return par1ArrayOfBiomeGenBase;
                                        } catch(Throwable throwable) {
                                        CrashReport crashreport = CrashReport.makeCrashReport(throwable, "Invalid Biome id");
                                        CrashReportCategory crashreportcategory = crashreport.makeCategory("RawBiomeBlock");
                                        crashreportcategory.addCrashSection("biomes[] size", Integer.valueOf(par1ArrayOfBiomeGenBase.length));
                                        crashreportcategory.addCrashSection("x", Integer.valueOf(par2));
                                        crashreportcategory.addCrashSection("z", Integer.valueOf(par3));
                                        crashreportcategory.addCrashSection("w", Integer.valueOf(par4));
                                        crashreportcategory.addCrashSection("h", Integer.valueOf(par5));
                                        throw new ReportedException(crashreport);
                                        }
                                        }
                                        
                                        /**
                                        * Returns biomes to use for the blocks and loads the other data like temperature and humidity onto the WorldChunkManager Args: oldBiomeList, x, z, width, depth
                                        */
                                        public BiomeGenBase[] loadBlockGeneratorData(BiomeGenBase[] par1ArrayOfBiomeGenBase, int par2, int par3, int par4, int par5) {
                                        return this.getBiomeGenAt(par1ArrayOfBiomeGenBase, par2, par3, par4, par5, true);
                                        }
                                        
                                        /**
                                        * Return a list of biomes for the specified blocks. Args: listToReuse, x, y, width, length, cacheFlag (if false, don't check biomeCache to avoid infinite loop in BiomeCacheBlock)
                                        */
                                        public BiomeGenBase[] getBiomeGenAt(BiomeGenBase[] par1ArrayOfBiomeGenBase, int par2, int par3, int par4, int par5, boolean par6) {
                                        IntCache.resetIntCache();
                                        
                                        if(par1ArrayOfBiomeGenBase == null || par1ArrayOfBiomeGenBase.length < par4 * par5) {
                                        par1ArrayOfBiomeGenBase = new BiomeGenBase[par4 * par5];
                                        }
                                        
                                        if(par6 && par4 == 16 && par5 == 16 && (par2 & 15) == 0 && (par3 & 15) == 0) {
                                        BiomeGenBase[] abiomegenbase1 = this.biomeCache.getCachedBiomes(par2, par3);
                                        System.arraycopy(abiomegenbase1, 0, par1ArrayOfBiomeGenBase, 0, par4 * par5);
                                        return par1ArrayOfBiomeGenBase;
                                        }
                                        else {
                                        int[] aint = this.biomeIndexLayer.getInts(par2, par3, par4, par5);
                                        
                                        for(int i1 = 0; i1 < par4 * par5; ++i1) {
                                        par1ArrayOfBiomeGenBase[i1] = BiomeGenBase.getBiome(aint[i1]);
                                        }
                                        
                                        return par1ArrayOfBiomeGenBase;
                                        }
                                        }
                                        
                                        /**
                                        * checks given Chunk's Biomes against List of allowed ones
                                        */
                                        public boolean areBiomesViable(int par1, int par2, int par3, List par4List) {
                                        IntCache.resetIntCache();
                                        int l = par1 - par3 >> 2;
                                        int i1 = par2 - par3 >> 2;
                                        int j1 = par1 + par3 >> 2;
                                        int k1 = par2 + par3 >> 2;
                                        int l1 = j1 - l + 1;
                                        int i2 = k1 - i1 + 1;
                                        int[] aint = this.genBiomes.getInts(l, i1, l1, i2);
                                        
                                        try {
                                        for(int j2 = 0; j2 < l1 * i2; ++j2) {
                                        BiomeGenBase biomegenbase = BiomeGenBase.getBiome(aint[j2]);
                                        
                                        if(!par4List.contains(biomegenbase)) {
                                        return false;
                                        }
                                        }
                                        
                                        return true;
                                        } catch(Throwable throwable) {
                                        CrashReport crashreport = CrashReport.makeCrashReport(throwable, "Invalid Biome id");
                                        CrashReportCategory crashreportcategory = crashreport.makeCategory("Layer");
                                        crashreportcategory.addCrashSection("Layer", this.genBiomes.toString());
                                        crashreportcategory.addCrashSection("x", Integer.valueOf(par1));
                                        crashreportcategory.addCrashSection("z", Integer.valueOf(par2));
                                        crashreportcategory.addCrashSection("radius", Integer.valueOf(par3));
                                        crashreportcategory.addCrashSection("allowed", par4List);
                                        throw new ReportedException(crashreport);
                                        }
                                        }
                                        
                                        public ChunkPosition findBiomePosition(int p_150795_1_, int p_150795_2_, int p_150795_3_, List p_150795_4_, Random p_150795_5_) {
                                        IntCache.resetIntCache();
                                        int l = p_150795_1_ - p_150795_3_ >> 2;
                                        int i1 = p_150795_2_ - p_150795_3_ >> 2;
                                        int j1 = p_150795_1_ + p_150795_3_ >> 2;
                                        int k1 = p_150795_2_ + p_150795_3_ >> 2;
                                        int l1 = j1 - l + 1;
                                        int i2 = k1 - i1 + 1;
                                        int[] aint = this.genBiomes.getInts(l, i1, l1, i2);
                                        ChunkPosition chunkposition = null;
                                        int j2 = 0;
                                        
                                        for(int k2 = 0; k2 < l1 * i2; ++k2) {
                                        int l2 = l + k2 % l1 << 2;
                                        int i3 = i1 + k2 / l1 << 2;
                                        BiomeGenBase biomegenbase = BiomeGenBase.getBiome(aint[k2]);
                                        
                                        if(p_150795_4_.contains(biomegenbase) && (chunkposition == null || p_150795_5_.nextInt(j2 + 1) == 0)) {
                                        chunkposition = new ChunkPosition(l2, 0, i3);
                                        ++j2;
                                        }
                                        }
                                        
                                        return chunkposition;
                                        }
                                        
                                        /**
                                        * Calls the WorldChunkManager's biomeCache.cleanupCache()
                                        */
                                        public void cleanupCache() {
                                        this.biomeCache.cleanupCache();
                                        }
                                        
                                        public GenLayer[] getModdedBiomeGenerators(WorldType worldType, long seed, GenLayer[] original) {
                                        WorldTypeEvent.InitBiomeGens event = new WorldTypeEvent.InitBiomeGens(worldType, seed, original);
                                        MinecraftForge.TERRAIN_GEN_BUS.post(event);
                                        return event.newBiomeGens;
                                        }
                                        
                                        public int getRiverStrength(int i, int j) {
                                        // TODO Auto-generated method stub
                                        return 0;
                                        }
                                        
                                        public float calculateRiver(int i, int j, float river, float rNoise) {
                                        // TODO Auto-generated method stub
                                        return 0f;
                                        }
                                        
                                        public float getOceanValue(int i, int j) {
                                        // TODO Auto-generated method stub
                                        return 0f;
                                        }
                                        }
                                        
                                        
                                        1 réponse Dernière réponse Répondre Citer 0
                                        • S Hors-ligne
                                          sventus
                                          dernière édition par

                                          Personne n’a une idée alors pour faire spawn un build plus souvent et qu’il soit plus grand ?

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

                                            toujours pas :((

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB