MFF

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

    Génération de minerai dans le Nether

    Planifier Épinglé Verrouillé Déplacé Résolu 1.8.x
    1.8
    13 Messages 3 Publieurs 2.4k 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.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

      this.gen_onyx = new WorldGenMinable(ZeiyoBlocks.onyxOre.getDefaultState(), 9, BlockHelper.forBlock(Blocks.netherrack));
      ???
      Pourquoi BlockHelper.forBlock(Blocks.netherrack) et pas directement Blocks.netherrack ou Blocks.netherrack.getDefaultBlockState() ?

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

        Parce que dans la classe WorldGenMinable ils utilisent ça :

        
        [font=Source Code Propublic ]WorldGenMinable(IBlockState p_i45630_1_, int p_i45630_2_)
        {
           this(p_i45630_1_, p_i45630_2_, BlockHelper.*forBlock*(Blocks.*stone*))%(#cc7832)[;
        ]}
        
        public WorldGenMinable(IBlockState p_i45631_1_, int p_i45631_2_, Predicate p_i45631_3_)
        {
           this.oreBlock = p_i45631_1_%(#cc7832)[;
        ]    this.numberOfBlocks = p_i45631_2_%(#cc7832)[;
        ]    this.field_175919_c = p_i45631_3_%(#cc7832)[;
        ]}
        
        
        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

          Ah oui. Je n’ai encore jamais fait de génération en 1.8 x)
          Personnellement je ne vois pas d’erreur.
          As-tu bien enregistré ton générateur ?

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

            Beh ouai etant donné que les autres minerais marchent bien 😕

            
            [font=Source Code Propublic void ]init(FMLInitializationEvent e)      
            {
            
               GameRegistry.*registerWorldGenerator*(new ZeiyoWorldGen(), 0)%(#cc7832)[;
            ]   ZeiyoCrafting.*createCrafts*()%(#cc7832)[;
            ]  
            
            }
            
            
            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

              Autre minerai ? Je ne vois qu’un minerai dans ta classe.

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

                Je les ai masqués pour que que ce soit plus lisible ^^

                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

                  Ce qui n’est pas une bonne idée. Bon ici ça ne gène pas trop, mais quand il y a des rapports de crash avec la ligne indiqué dedans c’est bien embêtant.
                  Ajoutes du debug pour vérifier que ton code est bien appelé.

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

                    Je viens de réessayer, ça marche toujours pas dans le Nether en revanche le générer dans l’Ender et dans l’Overworld marche bien alors je trouve ça vraiment bizarre …

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

                      Rajoute des logs dans ta fonction pour voir si la génération est appelée

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

                        Etant donné que la console est flood de mon println lors de la génération, je peux te dire qu’elle est bien appellée ^

                        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


                          Avec les mêmes valeurs.
                           ```java
                          package fr.minecraftforgefrance.test;

                          import java.util.Random;

                          import net.minecraft.block.state.pattern.BlockHelper;
                          import net.minecraft.init.Blocks;
                          import net.minecraft.util.BlockPos;
                          import net.minecraft.world.World;
                          import net.minecraft.world.chunk.IChunkProvider;
                          import net.minecraft.world.gen.feature.WorldGenMinable;
                          import net.minecraft.world.gen.feature.WorldGenerator;
                          import net.minecraftforge.fml.common.IWorldGenerator;
                          import net.minecraftforge.fml.common.Mod;
                          import net.minecraftforge.fml.common.Mod.EventHandler;
                          import net.minecraftforge.fml.common.event.FMLInitializationEvent;
                          import net.minecraftforge.fml.common.registry.GameRegistry;

                          @Mod(modid = “test”, name = “Test”, version = “0.0.0”)
                          public class ModTest
                          {
                              @EventHandler
                              public void init(FMLInitializationEvent event)
                              {
                                  GameRegistry.registerWorldGenerator(new TestGenerator(), 0);
                              }

                          public static class TestGenerator implements IWorldGenerator
                              {
                                  private WorldGenerator genDiam = new WorldGenMinable(Blocks.diamond_block.getDefaultState(), 9, BlockHelper.forBlock(Blocks.netherrack));
                                  @Override
                                  public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
                                  {
                                      if(world.provider.getDimensionId() == -1)
                                      {
                                          this.runGenerator(this.genDiam, world, random, chunkX, chunkZ, 25, 0, 80);
                                      }
                                  }

                          private void runGenerator(WorldGenerator generator, World world, Random rand, int chunk_X, int chunk_Z, int chancesToSpawn, int minHeight, int maxHeight)
                                  {
                                      if(minHeight < 0 || maxHeight > 256 || minHeight > maxHeight)
                                          throw new IllegalArgumentException(“Illegal Height Arguments for WorldGenerator”);

                          int heightDiff = maxHeight - minHeight + 1;
                                      for(int i = 0; i < chancesToSpawn; i++)
                                      {
                                          int x = chunk_X * 16 + rand.nextInt(16);
                                          int y = minHeight + rand.nextInt(heightDiff);
                                          int z = chunk_Z * 16 + rand.nextInt(16);
                                          generator.generate(world, rand, new BlockPos(x, y, z));
                                      }
                                  }
                              }
                          }

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

                            Après plusieurs essais ça a finalement marché, bizarre …

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

                            MINECRAFT FORGE FRANCE © 2024

                            Powered by NodeBB