MFF

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

    Supprimer des biomes

    Planifier Épinglé Verrouillé Déplacé Résolu 1.8.x
    1.8.9
    27 Messages 5 Publieurs 5.9k 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.
    • DeletedD Hors-ligne
      Deleted
      dernière édition par

      La classe ArrayUtils devrait pouvoir t’aider 😉

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

        J’ai rajouté cette ligne avant le field.set(…) :

        ArrayUtils.add([color=#7f0055new] BiomeGenBase[256], 0, BiomeGenBase.[color=#0000c0ocean]);

        Mais le F3 me considère toujours dans le biome plaine.

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

          Je ne vois pas de ce qui a de compliqué :

          
          BiomeGenBase[] biomes = new BiomeGenBase[256];
          biomes[0] = BiomeGenBase.ocean;
          biomes[1] = <ton biome="">;
          field.set(BiomeGenBase.birchForest, biomes);
          
          ```</ton>
          1 réponse Dernière réponse Répondre Citer 0
          • E Hors-ligne
            elx9000
            dernière édition par

            Effectivement, c’est pas compliqué une fois qu’on a compris.
            Il n’y a bien que mon biome et le biome océan qui spawnent.
            Ensuite, comment faire pour que le player spawn dans mon biome et pas dans le biome océan ?
            –-----------------
            Rectification : on ne peut pas changer le fait qu’on spawn dans un monde rempli d’eau et n’avoir que le biome custom sur le monde ?

            Merci d’avance.

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

              BiomeProvider#findBiomePosition devrait trouver l’endroit le plus près du spawn où il y a ton biome. Tu peux le tp là-bas.

              Si je t'ai aidé, n'hésite pas à cliquer sur le nombre vert en dessous de mon image de profil, pour me le faire savoir. Ca me motive pour continuer …

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

                Il semblerait qu’en 1.8.9 la classe BiomeProvider n’existe pas. Comment faire ?
                Ne peut-on pas modifier la taille du biome océan ?

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

                  Pas d’idée pour changer la taille du biome océan ?

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

                    Avec un peu de recherche, j’ai réussi à trouver comment faire :

                    
                    @SubscribeEvent
                    public void onGuiOpen(GuiOpenEvent e) {
                       if(e.gui instanceof GuiCreateWorld) {
                          GuiCreateWorld guiCreateWorld = (GuiCreateWorld) e.gui;
                          guiCreateWorld.chunkProviderSettingsJson = "{\"coordinateScale\":684.412,\"heightScale\":684.412,\"lowerLimitScale\":512.0,\"upperLimitScale\":512.0,\"depthNoiseScaleX\":200.0,\"depthNoiseScaleZ\":200.0,\"depthNoiseScaleExponent\":0.5,\"mainNoiseScaleX\":80.0,\"mainNoiseScaleY\":160.0,\"mainNoiseScaleZ\":80.0,\"baseSize\":8.5,\"stretchY\":12.0,\"biomeDepthWeight\":1.0,\"biomeDepthOffset\":0.0,\"biomeScaleWeight\":1.0,\"biomeScaleOffset\":0.0,\"seaLevel\":63,\"useCaves\":true,\"useDungeons\":true,\"dungeonChance\":8,\"useStrongholds\":true,\"useVillages\":true,\"useMineShafts\":true,\"useTemples\":true,\"useMonuments\":true,\"useRavines\":true,\"useWaterLakes\":true,\"waterLakeChance\":4,\"useLavaLakes\":true,\"lavaLakeChance\":80,\"useLavaOceans\":false,\"fixedBiome\":0,\"biomeSize\":8,\"riverSize\":4,\"dirtSize\":33,\"dirtCount\":10,\"dirtMinHeight\":0,\"dirtMaxHeight\":256,\"gravelSize\":33,\"gravelCount\":8,\"gravelMinHeight\":0,\"gravelMaxHeight\":256,\"graniteSize\":33,\"graniteCount\":10,\"graniteMinHeight\":0,\"graniteMaxHeight\":80,\"dioriteSize\":33,\"dioriteCount\":10,\"dioriteMinHeight\":0,\"dioriteMaxHeight\":80,\"andesiteSize\":33,\"andesiteCount\":10,\"andesiteMinHeight\":0,\"andesiteMaxHeight\":80,\"coalSize\":17,\"coalCount\":20,\"coalMinHeight\":0,\"coalMaxHeight\":128,\"ironSize\":9,\"ironCount\":20,\"ironMinHeight\":0,\"ironMaxHeight\":64,\"goldSize\":9,\"goldCount\":2,\"goldMinHeight\":0,\"goldMaxHeight\":32,\"redstoneSize\":8,\"redstoneCount\":8,\"redstoneMinHeight\":0,\"redstoneMaxHeight\":16,\"diamondSize\":8,\"diamondCount\":1,\"diamondMinHeight\":0,\"diamondMaxHeight\":16,\"lapisSize\":7,\"lapisCount\":1,\"lapisCenterHeight\":16,\"lapisSpread\":16}";
                          ObfuscationReflectionHelper.setPrivateValue(GuiCreateWorld.class, guiCreateWorld, 4, 24);
                       }
                    }
                    
                    

                    Il faudra que tu remplaces le nombre de "fixedBiome":0 par l’ID de ton biome.
                    Aussi, même si le biome size est élevé, je n’exclue pas le fait qu’un océan puisse apparaître, mais pour avoir testé, j’en ai pas trouvé.

                    Et pour que ton joueur apparaisse sur ton biome :

                    
                    @EventHandler
                    public void preInit(FMLPreInitializationEvent event) {
                       WorldChunkManager.allowedBiomes.clear();
                       WorldChunkManager.allowedBiomes.add(<ton biome="">);
                    }
                    
                    ```</ton>
                    1 réponse Dernière réponse Répondre Citer 0
                    • E Hors-ligne
                      elx9000
                      dernière édition par

                      Je continue à spawner dans le biome océan, sur 5 test, 4 fois j’étais dans le biome océan. Aussi, j’ai mis l’event onGuiOpen dans ma classe d’event. Je pense pas que ce soit ça qui pose le problème.

                      Merci d’avance.

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

                        Pas d’idée ?

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

                          En cherchant sur internet, j’ai trouvé une autre façon de faire :

                          
                          @SubscribeEvent
                          public void onBiomeGen(WorldTypeEvent.InitBiomeGens e) {
                              GenLayer[] layers = new GenLayer[2];
                              layers[0] = new GenLayer(<id du="" biome="">L) {
                          
                                  @Override
                                  public int[] getInts(int areaX, int areaY, int areaWidth, int areaHeight) {
                                      int[] aint2 = IntCache.getIntCache(areaWidth * areaHeight);
                                      for (int i = 0; i < aint2.length; i++) 
                                          aint2* = <id du="" biome="">;
                                      return aint2;
                                  }
                              };
                              layers[1] = layers[0];
                              e.newBiomeGens = layers;
                          }
                          
                          

                          Cet event est à enregistrer sur le TERRAIN_GEN_BUS !

                          
                          @EventHandler
                          public void preInit(FMLPreInitializationEvent event) {
                             MinecraftForge.TERRAIN_GEN_BUS.register(<tu sais="" quoi="" mettre="" ici="">);
                          }
                          
                          ```</tu></id></id>
                          1 réponse Dernière réponse Répondre Citer 0
                          • E Hors-ligne
                            elx9000
                            dernière édition par

                            Super, ça fonctionne : je spawn dans mon biome et non plus dans le biome océan.

                            dans la partie préInit il y a ça :

                            
                            WorldChunkManager.allowedBiomes.clear();
                            WorldChunkManager.allowedBiomes.add(BiomeMod.biomeSurvivant);
                            MinecraftForge.TERRAIN_GEN_BUS.register(new SurvivantBiomeEvent());
                            
                            

                            Voici ce qu’il y a dans la classe SurvivantBiomeEvent :

                            
                            @SubscribeEvent
                               public void onBiomeGen(WorldTypeEvent.InitBiomeGens e)
                               {
                                   GenLayer[] layers = new GenLayer[2];
                                   layers[0] = new GenLayer(100L)
                                           {
                                               @Override
                                               public int[] getInts(int areaX, int areaY, int areaWidth, int areaHeight)
                                               {
                                                   int[] aint2 = IntCache.getIntCache(areaWidth * areaHeight);
                                                   for (int i = 0; i < aint2.length; i++)
                                                   {
                                                       aint2* = 100;
                                                   }
                                                   return aint2;
                                               }
                                           };
                                  layers[1] = layers[0];
                                  e.newBiomeGens = layers;
                               }
                            
                            

                            Juste pour être sur de comprendre, cette méthode permet de faire quoi ?
                            Merci pour tout.

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

                            MINECRAFT FORGE FRANCE © 2024

                            Powered by NodeBB