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.
    • S Hors-ligne
      sventus
      dernière édition par

      toujours pas ::(

      –-- Minecraft Crash Report ----
      // I'm sorry, Dave.
      
      Time: 23/06/16 17:37
      Description: Exception initializing level
      
      java.lang.NullPointerException: Exception initializing level
      at fr.craftesys.craftesys.generation.BiomeTestLayer.getInts(BiomeTestLayer.java:97)
      at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23)
      at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23)
      at net.minecraft.world.gen.layer.GenLayerBiomeEdge.getInts(GenLayerBiomeEdge.java:21)
      at net.minecraft.world.gen.layer.GenLayerHills.getInts(GenLayerHills.java:26)
      at net.minecraft.world.gen.layer.GenLayerRareBiome.getInts(GenLayerRareBiome.java:21)
      at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23)
      at net.minecraft.world.gen.layer.GenLayerAddIsland.getInts(GenLayerAddIsland.java:23)
      at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23)
      at net.minecraft.world.gen.layer.GenLayerShore.getInts(GenLayerShore.java:23)
      at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23)
      at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23)
      at net.minecraft.world.gen.layer.GenLayerSmooth.getInts(GenLayerSmooth.java:23)
      at net.minecraft.world.gen.layer.GenLayerRiverMix.getInts(GenLayerRiverMix.java:35)
      at net.minecraft.world.biome.WorldChunkManager.findBiomePosition(WorldChunkManager.java:250)
      at net.minecraft.world.WorldServer.createSpawnPosition(WorldServer.java:777)
      at net.minecraft.world.WorldServer.initialize(WorldServer.java:757)
      at net.minecraft.world.World.<init>(World.java:296)
      at net.minecraft.world.WorldServer.<init>(WorldServer.java:102)
      at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:63)
      at net.minecraft.server.integrated.IntegratedServer.startServer(IntegratedServer.java:96)
      at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:445)
      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 fr.craftesys.craftesys.generation.BiomeTestLayer.getInts(BiomeTestLayer.java:97)
      at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23)
      at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23)
      at net.minecraft.world.gen.layer.GenLayerBiomeEdge.getInts(GenLayerBiomeEdge.java:21)
      at net.minecraft.world.gen.layer.GenLayerHills.getInts(GenLayerHills.java:26)
      at net.minecraft.world.gen.layer.GenLayerRareBiome.getInts(GenLayerRareBiome.java:21)
      at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23)
      at net.minecraft.world.gen.layer.GenLayerAddIsland.getInts(GenLayerAddIsland.java:23)
      at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23)
      at net.minecraft.world.gen.layer.GenLayerShore.getInts(GenLayerShore.java:23)
      at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23)
      at net.minecraft.world.gen.layer.GenLayerZoom.getInts(GenLayerZoom.java:23)
      at net.minecraft.world.gen.layer.GenLayerSmooth.getInts(GenLayerSmooth.java:23)
      at net.minecraft.world.gen.layer.GenLayerRiverMix.getInts(GenLayerRiverMix.java:35)
      at net.minecraft.world.biome.WorldChunkManager.findBiomePosition(WorldChunkManager.java:250)
      at net.minecraft.world.WorldServer.createSpawnPosition(WorldServer.java:777)
      at net.minecraft.world.WorldServer.initialize(WorldServer.java:757)
      
      -- Affected level --
      Details:
      Level name: New Worldgergg
      All players: 0 total; []
      Chunk stats: ServerChunkCache: 0 Drop: 0
      Level seed: 5599626093747522092
      Level generator: ID 04 - giant, ver 0\. Features enabled: true
      Level generator options: 
      Level spawn location: World: (0,0,0), Chunk: (at 0,0,0 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)
      Level time: 0 game time, 0 day time
      Level dimension: 0
      Level storage version: 0x04ABD - Anvil
      Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
      Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: true
      Stacktrace:
      at net.minecraft.world.World.<init>(World.java:296)
      at net.minecraft.world.WorldServer.<init>(WorldServer.java:102)
      at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:63)
      at net.minecraft.server.integrated.IntegratedServer.startServer(IntegratedServer.java:96)
      at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:445)
      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: 888162432 bytes (847 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: 4, tallocated: 19
      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
      UCHIJAA mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) 
      UCHIJAA FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar) 
      UCHIJAA Forge{10.13.4.1558} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar) 
      UCHIJAA craftesys{1.0.0} [craftesys] (bin) 
      GL info: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread.
      Profiler Position: N/A (disabled)
      Player Count: 0 / 8; []
      Type: Integrated Server (map_client.txt)
      Is Modded: Definitely; Client brand changed to 'fml,forge'
      

      et ma class :

      package fr.craftesys.craftesys.generation;
      
      import java.util.ArrayList;
      import java.util.List;
      
      import net.minecraft.util.WeightedRandom;
      import net.minecraft.world.WorldType;
      import net.minecraft.world.biome.BiomeGenBase;
      import net.minecraft.world.gen.layer.GenLayer;
      import net.minecraft.world.gen.layer.IntCache;
      import net.minecraftforge.common.BiomeManager;
      import net.minecraftforge.common.BiomeManager.BiomeEntry;
      
      public class BiomeTestLayer extends GenLayer
      {
          private List <biomeentry>desertBiomes = new ArrayList<biomeentry>();
          private List <biomeentry>warmBiomes = new ArrayList<biomeentry>();
          private List <biomeentry>coolBiomes = new ArrayList<biomeentry>();
          private List <biomeentry>icyBiomes = new ArrayList<biomeentry>();
      
          public BiomeTestLayer(long par1, GenLayer layer, WorldType worldType)
          {
              super(par1);
      
              this.parent = layer;
      
             this.desertBiomes.addAll(BiomeManager.desertBiomes);
              this.warmBiomes.addAll(BiomeManager.warmBiomes);
              this.coolBiomes.addAll(BiomeManager.coolBiomes);
              this.icyBiomes.addAll(BiomeManager.icyBiomes);
      
              if (worldType == WorldType.DEFAULT)
              {
                  desertBiomes.add(new BiomeEntry(BiomeGenBase.desert, 10));
                  desertBiomes.add(new BiomeEntry(BiomeGenBase.forest, 10));
                  desertBiomes.add(new BiomeEntry(BiomeGenBase.extremeHills, 10));
                  desertBiomes.add(new BiomeEntry(BiomeGenBase.swampland, 10));
                  desertBiomes.add(new BiomeEntry(BiomeGenBase.plains, 10));
                  desertBiomes.add(new BiomeEntry(BiomeGenBase.taiga, 10));
                  desertBiomes.add(new BiomeEntry(BiomeRegistry.biomeTest, 50));
              }
              else
              {
                  desertBiomes.add(new BiomeEntry(BiomeGenBase.desert, 30));
                  desertBiomes.add(new BiomeEntry(BiomeGenBase.savanna, 20));
                  desertBiomes.add(new BiomeEntry(BiomeGenBase.plains, 10));
                  desertBiomes.add(new BiomeEntry(BiomeRegistry.biomeTest, 50));
              }
          }
      
          public int[] getInts(int par1, int par2, int par3, int par4)
          {
              int[] aint = this.parent.getInts(par1, par2, par3, par4);
              int[] aint1 = IntCache.getIntCache(par3 * par4);
      
              for (int i1 = 0; i1 < par4; ++i1)
              {
                  for (int j1 = 0; j1 < par3; ++j1)
                  {
                      this.initChunkSeed((long)(j1 + par1), (long)(i1 + par2));
                      int k1 = aint[j1 + i1 * par3];
                      int l1 = (k1 & 3840) >> 8;
                      k1 &= -3841;
      
                      if (isBiomeOceanic(k1))
                      {
                          aint1[j1 + i1 * par3] = k1;
                      }
                      else if (k1 == BiomeGenBase.mushroomIsland.biomeID)
                      {
                          aint1[j1 + i1 * par3] = k1;
                      }
                      else if (k1 == 1)
                      {
                          if (l1 > 0)
                          {
                              if (this.nextInt(3) == 0)
                              {
                                  aint1[j1 + i1 * par3] = BiomeGenBase.mesaPlateau.biomeID;
                              }
                              else
                              {
                                  aint1[j1 + i1 * par3] = BiomeGenBase.mesaPlateau_F.biomeID;
                              }
                          }
                          else
                          {
                           System.out.println(desertBiomes);
                             aint1[j1 + i1 * par3] = ((BiomeEntry)WeightedRandom
                            .getItem(this
                            .desertBiomes, (int)(this
                          .nextLong(WeightedRandom
                          .getTotalWeight(this
                           .desertBiomes)))))
                            .biome
                            .biomeID;
      
                          }
                      }
                      else if (k1 == 2)
                      {
                          if (l1 > 0)
                          {
                              aint1[j1 + i1 * par3] = BiomeGenBase.jungle.biomeID;
                          }
                          else
                          {
                              aint1[j1 + i1 * par3] = ((BiomeEntry)WeightedRandom.getItem(this.warmBiomes, (int)(this.nextLong(WeightedRandom.getTotalWeight(this.warmBiomes) / 10) * 10))).biome.biomeID;
                          }
                      }
                      else if (k1 == 3)
                      {
                          if (l1 > 0)
                          {
                              aint1[j1 + i1 * par3] = BiomeGenBase.megaTaiga.biomeID;
                          }
                          else
                          {
                              aint1[j1 + i1 * par3] = ((BiomeEntry)WeightedRandom.getItem(this.coolBiomes, (int)(this.nextLong(WeightedRandom.getTotalWeight(this.coolBiomes) / 10) * 10))).biome.biomeID;
                          }
                      }
                      else if (k1 == 4)
                      {
                          aint1[j1 + i1 * par3] = ((BiomeEntry)WeightedRandom.getItem(this.icyBiomes, (int)(this.nextLong(WeightedRandom.getTotalWeight(this.icyBiomes) / 10) * 10))).biome.biomeID;
                      }
                      else
                      {
                          aint1[j1 + i1 * par3] = BiomeGenBase.mushroomIsland.biomeID;
                      }
                  }
              }
      
              return aint1;
          }
      
      }
      
      

      note à l’avenir, ne pas register deux fois le même biome dans deux class différentes 😄

      autre petite question, j’ai ajouté cela dans ma class :

      public int getBiomeGrassColor()
          {

      return 0xFF0C00;
          }

      mais l’herbe ne change pas de couleur</biomeentry></biomeentry></biomeentry></biomeentry></biomeentry></biomeentry></biomeentry></biomeentry></init></init></init></init>

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

        Fais une recherche sur le forum, plusieurs personnes ont déjà eu ce problème

        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
        • AymericRedA Hors-ligne
          AymericRed
          dernière édition par

          Change ça :

          System.out.println(desertBiomes);
          aint1[j1 + i1 * par3] = ((BiomeEntry)WeightedRandom
          .getItem(this
          .desertBiomes, (int)(this
          .nextLong(WeightedRandom
          .getTotalWeight(this
          .desertBiomes)))))
          .biome
          .biomeID;
          

          par ça :

          BiomeGenBase biome = ((BiomeEntry)WeightedRandom.getItem(this.desertBiomes, (int)(this.nextLong(WeightedRandom.getTotalWeight(this.desertBiomes))))).biome;
          if(biome == null) biome = leBiomeQueTuVeuxMettreSiçaRisqueDePlanter(MetUnBiomeDeLaCatégorieDesDésets).biomeID;
          aint1[j1 + i1 * par3] = biome.biomeID;
          

          Et pour la couleur, met un @Override au dessus de la fonction.

          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

            sauf que quand je met le override,  la fonction ne passe pas et me dit de supprimer le @Override 😕

            si je met ça :

            BiomeGenBase biome = ((BiomeEntry)WeightedRandom.getItem(this.desertBiomes, (int)(this.nextLong(WeightedRandom.getTotalWeight(this.desertBiomes))))).biome;
                                if(biome == null) biome = (BiomeGenBase)(desertBiomes).biomeID;
                                aint1[j1 + i1 * par3] = biome.biomeID;

            alors le biomeID est en erreur 😕

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

              “(BiomeGenBase)(desertBiomes)”, il faut que tu remplace ça par un biome fasant partie de la catégorie des déserts, donc BiomeGenBase.desert par exemple.

              L’erreur sur le Override indique que tu as mal écrit la fonction, déjà vérifies que t’es dans la classe de ton biome, puis, fais ctrl+space et commence à écrire le nom de la fonction.

              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

                si j’écris ça : if(biome == null) biome = BiomeGenBase.desert.biomeID;

                ça me demande de changer le type en “int”  et ma fonction est écrite comme cela :

                @Override
                public int getBiomeGrassColor(int p_150558_1_, int p_150558_2_, int p_150558_3_) {

                return super.getBiomeGrassColor(p_150558_1_, p_150558_2_, p_150558_3_);
                }

                voila ce que ça me dit, mais je vois pas a quoi correspondent les trois variables ^^

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

                  Retire le .biomeID, je me suis trompé.
                  Les variables sont x, y et z.

                  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

                    X y z pour des couleurs ?

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

                      x y et z sont toujours des coordonnées de blocs ou d’entités

                      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
                      • AymericRedA Hors-ligne
                        AymericRed
                        dernière édition par

                        La fonction à X, y et z comme paramètre pour que tu puisse retourner une couleur en fonction de la position si tu le souhaites.

                        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

                          Mais avec les coordonnés, je vois pas le rapport avec la couleur du bloc 😕

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

                            Va demander à Mojang.
                            Je pense que dans des rares cas c’est utile, je crois que c’est utilisé pour le “dégradé entre les biomes”.

                            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

                              @Override
                              public int getModdedBiomeGrassColor(int i )
                              {
                              return 0x76785A;
                              }

                              voila la fonction que je devais utilisé, (je laisse ce topic ouvert pour mes futurs autres problèmes concernant le biome :D)

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

                                Nan il ne faut mieux pas le laisser ouvert pour plusieurs raisons. premièrement le titre n’est pas explicite, et il me semble que tu as rencontré plusieurs problèmes différents en rapport avec ton biome, n’est-ce pas ? Alors comment veux-tu que quelqu’un ayant un ou les mêmes probs que toi le retrouve ?? Il faut renommer le titre. D’autre part il fait 9 pages, ce qui est déjà beaucoup pour un poste dans “support pour les moddeurs” (enfin on a déjà vu pire, je te rassure x))
                                Alors si tu as d’autres problèmes, faudra mieux recréer un autre poste comportant un titre bien précis, plutôt que de continuer sur celui-ci, au risque qu’il ne devienne + un roman qu’une simple demande d’aide ^^’

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

                                  Merci Plaigon, tu m’as éviter de rédiger un petit paragraphe d’explication 😄
                                  (je pense que je vais ajouter ça dans le règlement de la section).

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

                                  MINECRAFT FORGE FRANCE © 2024

                                  Powered by NodeBB