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

      this.topBlock = Blocks.red_stone;

      GameRegistry.addBiome(giantBiome);
      n’existe plus en 1.7, il faut passer en effet par le biome manager

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

        merci robin,  je dois faire d’autres class pour pouvoir le trouver mon biome ? en sachant que j’aimerais avoir des immenses arbres dans ce biome.

        j’ai aucune erreur (enfin eclipse me le dit pas ^^)

        voila celle que j’ai pour le moment :

        class principale :

        public static BiomeGenBase giantBiome;

        giantBiome = new GiantBiome(40).setBiomeName(“Giant”);
                BiomeDictionary.registerBiomeType(giantBiome, Type.MOUNTAIN);
                BiomeManager.addSpawnBiome(giantBiome);

        class GiantBiome :

        
        package fr.craftesys.crftesys.biome;
        
        import java.util.Random;
        
        import net.minecraft.block.Block;
        import net.minecraft.entity.monster.EntityCreeper;
        import net.minecraft.entity.monster.EntityEnderman;
        import net.minecraft.entity.monster.EntitySkeleton;
        import net.minecraft.entity.monster.EntitySlime;
        import net.minecraft.entity.monster.EntitySpider;
        import net.minecraft.entity.monster.EntityWitch;
        import net.minecraft.entity.monster.EntityZombie;
        import net.minecraft.entity.passive.EntityBat;
        import net.minecraft.entity.passive.EntityChicken;
        import net.minecraft.entity.passive.EntityCow;
        import net.minecraft.entity.passive.EntityPig;
        import net.minecraft.entity.passive.EntitySheep;
        import net.minecraft.entity.passive.EntitySquid;
        import net.minecraft.init.Blocks;
        import net.minecraft.world.World;
        import net.minecraft.world.biome.BiomeGenBase;
        import net.minecraft.world.gen.feature.WorldGenBigTree;
        import net.minecraft.world.gen.feature.WorldGenTrees;
        import net.minecraft.world.gen.feature.WorldGenerator;
        
        public class GiantBiome extends BiomeGenBase {
             public Block topBlock;
            private int grassPerChunk;
        
            public GiantBiome(int par1) {
                super(par1);
                this.topBlock = Blocks.redstone_ore;
                this.theBiomeDecorator.treesPerChunk = 10;
                this.waterColorMultiplier = 0x00FFFF;
                this.grassPerChunk = 1;
                this.topBlock = Blocks.wool;
                this.worldGeneratorBigTree = new WorldGenBigTree(false);
                this.theBiomeDecorator = this.createBiomeDecorator();
                this.spawnableCreatureList.add(new BiomeGenBase.SpawnListEntry(EntitySheep.class, 12, 4, 4));
                this.spawnableCreatureList.add(new BiomeGenBase.SpawnListEntry(EntityPig.class, 10, 4, 4));
                this.spawnableCreatureList.add(new BiomeGenBase.SpawnListEntry(EntityChicken.class, 10, 4, 4));
                this.spawnableCreatureList.add(new BiomeGenBase.SpawnListEntry(EntityCow.class, 8, 4, 4));
                this.spawnableMonsterList.add(new BiomeGenBase.SpawnListEntry(EntitySpider.class, 100, 4, 4));
                this.spawnableMonsterList.add(new BiomeGenBase.SpawnListEntry(EntityZombie.class, 100, 4, 4));
                this.spawnableMonsterList.add(new BiomeGenBase.SpawnListEntry(EntitySkeleton.class, 100, 4, 4));
                this.spawnableMonsterList.add(new BiomeGenBase.SpawnListEntry(EntityCreeper.class, 100, 4, 4));
                this.spawnableMonsterList.add(new BiomeGenBase.SpawnListEntry(EntitySlime.class, 100, 4, 4));
                this.spawnableMonsterList.add(new BiomeGenBase.SpawnListEntry(EntityEnderman.class, 10, 1, 4));
                this.spawnableMonsterList.add(new BiomeGenBase.SpawnListEntry(EntityWitch.class, 5, 1, 1));
                this.spawnableWaterCreatureList.add(new BiomeGenBase.SpawnListEntry(EntitySquid.class, 10, 4, 4));
                this.spawnableCaveCreatureList.add(new BiomeGenBase.SpawnListEntry(EntityBat.class, 10, 8, 8));
                this.addDefaultFlowers();
                this.setMinMaxHeight(0.2F, .9F);
            }
            private void setMinMaxHeight(float f, float g) {
                // TODO Auto-generated method stub
        
            }
            public int getBiomeGrassColor()
            {
        
            return 0xFF0C00;
            }
            public void decorate(World par1World, Random par2Random, int par3, int par4)
            {
                super.decorate(par1World, par2Random, par3, par4);
                if (par2Random.nextInt(1000) == 0)
                {
                    int k = par3 + par2Random.nextInt(16) + 25;
                    int l = par4 + par2Random.nextInt(16) + 25;
                    }
            }
             public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
                {
                   return (WorldGenerator)(par1Random.nextInt(5) == 0 ? new WorldGenTrees(false, 30, 2, 2, false) : (par1Random.nextInt(10) == 0 ? this.worldGeneratorBigTree : new WorldGenTrees(false, 40, 0, 0, false)));
                }
        }
        
        
        1 réponse Dernière réponse Répondre Citer 0
        • S Hors-ligne
          sventus
          dernière édition par

          j’ai donc refait la class comme demandé, je n’ai donc pas d’erreur mais je n’arrive toujours pas à trouver mon biome

          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

            Ça fait longtemps que je n’ai plus fait de biome donc franchement aucune idée x)

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

              😮 le grand robin qui ne sait pas ? tu m’impressionnes vraiment

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

                Tu as bien register le biome ? Essaye d’augmenter le proba qu’il apparaisse.
                (Après je sais pas, je sais juste ajouter des biomes dans une dimension custom, mais pas dans celles de mc).

                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

                  public static BiomeGenBase giantBiome;

                  giantBiome = new GiantBiome(40).setBiomeName(“Giant”);
                  BiomeDictionary.registerBiomeType(giantBiome, Type.MOUNTAIN);
                  BiomeManager.addSpawnBiome(giantBiome);

                  c’est tout ce que j’ai dans ma class principale car le simpe gameregistry ne marche plus, pour la probabilité, je vois pas comment l’augmenter 😕

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

                    Utilise BiomeManager.addBiome(le type, new BiomeEntry(ton biome, la probabilité)) ;
                    Et en laissant le addSpawn.

                    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

                      cela ne fonctionne pas

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

                        Ah…. Je ne sais pas alors…
                        Essaye de voir les sources d’un mod comme Biomes o’plenty (si elles existent).

                        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

                          ok je vais voir demain, demain réveil Xd, bonne nuit merci

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

                            Au pire des cas tu fais une dimension et tu fais juste spawn ton biome déja voir si il marche ou un truc flat, normal (j’ai plus le nom) =/

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

                              tout ça, juste pour voir s’il spawn ? ça va être long alors ^^

                              j’ai essayé de faire un truc,  mais toujours rien, je poste les nouvelles class :

                              class GiantBiome :

                              
                              package fr.craftesys.craftesys.generation;
                              
                              import fr.craftesys.craftesys.common.*;
                              
                              import net.minecraft.block.Block;
                              
                              import java.util.Random;
                              
                              import fr.craftesys.craftesys.blocs.*;
                              import fr.craftesys.craftesys.generation.*;
                              import net.minecraft.entity.monster.EntitySkeleton;
                              import net.minecraft.entity.monster.EntityZombie;   
                              import net.minecraft.init.Blocks;
                              import net.minecraft.item.ItemBlock;
                              import net.minecraft.world.biome.BiomeGenBase;
                              import net.minecraft.world.gen.feature.WorldGenTrees;
                              import net.minecraft.world.gen.feature.WorldGenerator;
                              
                              public class GiantBiome extends BiomeGenBase
                              {
                                  public GiantBiome(int id)
                                  {
                                      super(id);
                              
                                      this.setBiomeName("giant");
                                      this.topBlock = Blocks.diamond_ore;
                                      this.fillerBlock = Blocks.redstone_ore;
                              
                                      this.theBiomeDecorator.treesPerChunk = 3;
                                      this.theBiomeDecorator.waterlilyPerChunk = 100;
                                      this.theBiomeDecorator.bigMushroomsPerChunk = 10;
                              
                                      this.spawnableCreatureList.add(new SpawnListEntry(EntitySkeleton.class, 5, 3, 3));
                                      this.spawnableCreatureList.add(new SpawnListEntry(EntityZombie.class, 5, 3, 3));
                                      this.spawnableWaterCreatureList.clear();
                                      this.spawnableMonsterList.clear();
                              
                                      this.addFlower(Blocks.red_flower, 4, 3);
                                      this.addFlower(Blocks.red_flower, 5, 3);       
                                      this.addFlower(Blocks.red_flower, 7, 3);       
                                      this.addFlower(Blocks.red_flower, 0, 20);       
                                      this.addFlower(Blocks.yellow_flower, 0, 30);
                              
                                      this.setMinMaxHeight(0.2F, 3.9F);
                                      this.setTemperatureRainfall(0.8F, 1.4F);
                              
                                  }
                              
                                  private void setMinMaxHeight(float f, float g) {
                              
                                  }
                                   public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
                                      {
                                         return (WorldGenerator)(par1Random.nextInt(5) == 0 ? new WorldGenTrees(false, 4, 2, 2, false) : (par1Random.nextInt(10) == 0 ? this.worldGeneratorBigTree : new WorldGenTrees(false, 4, 0, 0, false)));
                                      }
                              }
                              
                              

                              cass  GiantGenLayerBiome :

                              
                              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;
                              import net.minecraftforge.common.BiomeDictionary;
                              
                              public class GiantGenLayerBiome extends GenLayer
                              {
                                  private List<biomeentry>[] biomes = new ArrayList[BiomeManager.BiomeType.values().length];
                              
                                  private static final String __OBFID = "CL_00000555";
                              
                                  public GiantGenLayerBiome(long p_i2122_1_, GenLayer p_i2122_3_, WorldType p_i2122_4_)
                                  {
                                      super(p_i2122_1_);
                              
                                      this.parent = p_i2122_3_;
                              
                                      for (BiomeManager.BiomeType type : BiomeManager.BiomeType.values())
                                      {
                                          com.google.common.collect.ImmutableList <biomeentry>biomesToAdd = BiomeManager.getBiomes(type);
                                          int idx = type.ordinal();
                              
                                          if (biomes[idx] == null) biomes[idx] = new ArrayList<biomeentry>();
                                          if (biomesToAdd != null) biomes[idx].addAll(biomesToAdd);
                                      }
                              
                                      int desertIdx = BiomeManager.BiomeType.DESERT.ordinal();
                              
                                      if (p_i2122_4_ == WorldType.DEFAULT_1_1)
                                      {
                                          biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.desert, 10));
                                          biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.forest, 10));
                                          biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.extremeHills, 10));
                                          biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.swampland, 10));
                                          biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.plains, 10));
                                          biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.taiga, 10));
                                          biomes[desertIdx].add(new BiomeEntry(BiomeRegistry.giantbiome, 157));
                              
                                      }
                                      else
                                      {
                                          biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.desert, 30));
                                          biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.savanna, 20));
                                          biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.plains, 10));
                                          biomes[desertIdx].add(new BiomeEntry(BiomeRegistry.giantbiome, 157));
                              
                                      }
                                  }
                              
                                  /**
                                   * Returns a list of integer values generated by this layer. These may be interpreted as temperatures, rainfall
                                   * amounts, or biomeList[] indices based on the particular GenLayer subclass.
                                   */
                                 public int[] getInts(int p_75904_1_, int p_75904_2_, int p_75904_3_, int p_75904_4_)
                                  {
                                      int[] aint = this.parent.getInts(p_75904_1_, p_75904_2_, p_75904_3_, p_75904_4_);
                                      int[] aint1 = IntCache.getIntCache(p_75904_3_ * p_75904_4_);
                              
                                      for (int i1 = 0; i1 < p_75904_4_; ++i1)
                                      {
                                          for (int j1 = 0; j1 < p_75904_3_; ++j1)
                                          {
                                              this.initChunkSeed((long)(j1 + p_75904_1_), (long)(i1 + p_75904_2_));
                                              int k1 = aint[j1 + i1 * p_75904_3_];
                                              int l1 = (k1 & 3840) >> 8;
                                              k1 &= -3841;
                              
                                              if (isBiomeOceanic(k1))
                                              {
                                                  aint1[j1 + i1 * p_75904_3_] = k1;
                                              }
                                              else if (k1 == BiomeGenBase.mushroomIsland.biomeID)
                                              {
                                                  aint1[j1 + i1 * p_75904_3_] = k1;
                                              }
                                              else if (k1 == 1)
                                              {
                                                  if (l1 > 0)
                                                  {
                                                      if (this.nextInt(3) == 0)
                                                      {
                                                          aint1[j1 + i1 * p_75904_3_] = BiomeGenBase.mesaPlateau.biomeID;
                                                      }
                                                      else
                                                      {
                                                          aint1[j1 + i1 * p_75904_3_] = BiomeGenBase.mesaPlateau_F.biomeID;
                                                      }
                                                  }
                                                  else
                                                  {
                                                      aint1[j1 + i1 * p_75904_3_] = getWeightedBiomeEntry(BiomeManager.BiomeType.DESERT).biome.biomeID;
                                                  }
                                              }
                                              else if (k1 == 2)
                                              {
                                                  if (l1 > 0)
                                                  {
                                                      aint1[j1 + i1 * p_75904_3_] = BiomeGenBase.jungle.biomeID;
                                                  }
                                                  else
                                                  {
                                                      aint1[j1 + i1 * p_75904_3_] = getWeightedBiomeEntry(BiomeManager.BiomeType.WARM).biome.biomeID;
                                                  }
                                              }
                                              else if (k1 == 3)
                                              {
                                                  if (l1 > 0)
                                                  {
                                                      aint1[j1 + i1 * p_75904_3_] = BiomeGenBase.megaTaiga.biomeID;
                                                  }
                                                  else
                                                  {
                                                      aint1[j1 + i1 * p_75904_3_] = getWeightedBiomeEntry(BiomeManager.BiomeType.COOL).biome.biomeID;
                                                  }
                                              }
                                              else if (k1 == 4)
                                              {
                                                  aint1[j1 + i1 * p_75904_3_] = getWeightedBiomeEntry(BiomeManager.BiomeType.ICY).biome.biomeID;
                                              }
                                              else
                                              {
                                                  aint1[j1 + i1 * p_75904_3_] = BiomeGenBase.mushroomIsland.biomeID;
                                              }
                                          }
                                      }
                              
                                      return aint1;
                                  }
                              
                                  protected BiomeEntry getWeightedBiomeEntry(BiomeManager.BiomeType type)
                                  {
                                      List <biomeentry>biomeList = biomes[type.ordinal()];
                                      int totalWeight = WeightedRandom.getTotalWeight(biomeList);
                                      int weight = BiomeManager.isTypeListModded(type)?nextInt(totalWeight):nextInt(totalWeight / 10) * 10;
                                      return (BiomeEntry)WeightedRandom.getItem(biomeList, weight);
                                  }
                              }
                              
                              

                              class BiomeRegistry :

                              
                              package fr.craftesys.craftesys.generation;
                              
                              import net.minecraft.world.biome.BiomeGenBase;
                              import net.minecraftforge.common.BiomeDictionary;
                              import net.minecraftforge.common.BiomeDictionary.Type;
                              import net.minecraftforge.common.BiomeManager;
                              
                              public class BiomeRegistry {
                              
                                  public static void mainRegsitry(){
                                      initializeBiome();
                                      registerBiome();
                                  }
                              
                                  public static BiomeGenBase giantbiome;
                              
                                  public static void initializeBiome(){
                              
                                      giantbiome = new GiantBiome(157).setBiomeName("test").setTemperatureRainfall(1.2F, 0.9F);
                              
                                  }
                              
                                  public static void registerBiome(){
                                      BiomeDictionary.registerBiomeType(giantbiome, Type.PLAINS);
                                      BiomeManager.addSpawnBiome(giantbiome);
                              
                                  }
                              
                              }
                              
                              

                              class WorldTypeGiant :

                              
                              package fr.craftesys.craftesys.generation;
                              
                              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 id, 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;
                                  }
                              
                              }
                              
                              

                              voila, si quelqu’un à une idée  car aucune erreur, mais toujours rien</biomeentry></biomeentry></biomeentry></biomeentry>

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

                                j’ai essayé de faire le système de dimension,   j’ai l’onglet, je pose l’item et quand il est posé, j’essaye de rentrer dedans et le jeu crash avec cette erreur :

                                
                                –-- Minecraft Crash Report ----
                                // Hey, that tickles! Hehehe!
                                
                                Time: 10/05/16 20:14
                                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: (93,72,246), Chunk: (at 13,4,6 in 5,15; contains blocks 80,0,240 to 95,255,255), 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: 276
                                    Entity Name: Player745
                                    Entity's Exact location: 92,75, 72,00, 246,92
                                    Entity's Block location: World: (92,72,246), Chunk: (at 12,4,6 in 5,15; contains blocks 80,0,240 to 95,255,255), 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@285af420
                                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: 697735104 bytes (665 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['Player745'/276, l='New Worldhjgfd', x=92,75, y=72,00, z=246,92]]
                                    Type: Integrated Server (map_client.txt)
                                    Is Modded: Definitely; Client brand changed to 'fml,forge'
                                
                                

                                comme il y a beaucoup de class, dites moi celle qui vous serez utiles d’avoir pour comprendre, car, bah je sais pas moi :D.

                                merci les loulou</init></init></init></init>

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

                                  [20:14:21] [Server thread/ERROR]: This crash report has been saved to: C:\Users\antho\Desktop\forge2\eclipse.\crash-reports\crash-2016-05-10_20.14.21-server.txt

                                  -> Envoi le rapport complet

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

                                    je viens d’édit 🙂

                                    je comprend le principe de collision mais je vois pas comment le résoudre

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

                                      Envois la class TeleporterGiant.java et indique nous où se trouve la ligne 27.

                                      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

                                        ok

                                        
                                        package fr.craftesys.craftesys.dimension;
                                        
                                        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.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;
                                        
                                        import fr.craftesys.craftesys.common.Mods;
                                        
                                        public class TeleporterGiant extends Teleporter {
                                        
                                        private final WorldServer worldServerInstance;
                                        private final Random random;
                                        private final LongHashMap destinationCoordinateCache = new LongHashMap();
                                        private final List destinationCoordinateKeys = new ArrayList();
                                        
                                        public TeleporterGiant(WorldServer worldserver) {
                                        
                                        super(worldserver); //ligne 27
                                        
                                        this.worldServerInstance = worldserver;
                                        this.random = new Random(worldserver.getSeed());
                                        
                                        }
                                        
                                        public void placeInPortal(Entity entity, double par2, double par4, double par6, float par8){
                                        
                                        if(this.worldServerInstance.provider.dimensionId != 1){
                                        if(!this.placeInExistingPortal(entity, par2, par4, par6, par8)){
                                        this.makePortal(entity);
                                        this.placeInExistingPortal(entity, par2, par4, par6, par8);
                                        }
                                        }
                                        
                                        else{
                                        int i = MathHelper.floor_double(entity.posX);
                                        int j = MathHelper.floor_double(entity.posY) - 1;
                                        int k = MathHelper.floor_double(entity.posZ);
                                        byte b0 = 1;
                                        byte b1 = 0;
                                        
                                        for(int l = -2; l <= 2; ++l){
                                        for(int i1 = -2; i1 <= 2; ++i1){
                                        for(int j1 = -1; j < 3; ++j1){
                                        int k1 = i + i1 * b0 + l * b1;
                                        int l1 = j + j1;
                                        int i2 = k + i1 * b1 - l * b0;
                                        boolean flag = j1 < 0;
                                        this.worldServerInstance.setBlock(k1, l1, i2, flag ? Mods.rubisBloc : 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 par2, double par4, double par6, float par8){
                                        short short1 = 128;
                                        double d3 = -1.0D;
                                        int i = 0;
                                        int j = 0;
                                        int k = 0;
                                        int l = MathHelper.floor_double(entity.posX);
                                        int i1 = MathHelper.floor_double(entity.posZ);
                                        long j1 = ChunkCoordIntPair.chunkXZ2Int(l, i1);
                                        boolean flag = true;
                                        double d7;
                                        int l3;
                                        
                                        if(this.destinationCoordinateCache.containsItem(j1)){
                                        TeleporterGiant.PortalPosition portalposition = (Teleporter.PortalPosition)this.destinationCoordinateCache.getValueByKey(j1);
                                        d3 = 0.0D;
                                        i = portalposition.posX;
                                        j = portalposition.posY;
                                        k = portalposition.posZ;
                                        portalposition.lastUpdateTime = this.worldServerInstance.getTotalWorldTime();
                                        flag = false;
                                        }
                                        else{
                                        for(l3 = l - short1; l3 <= 1 + 128; ++l3){
                                        double d4 = (double)l3 + 0.5D - entity.posX;
                                        for(int l1 = i1 - short1; l1 <= i1 + short1; ++l1){
                                        double d5 = (double)l1 + 0.5D - entity.posZ;
                                        
                                        for(int i2 = this.worldServerInstance.getActualHeight() -1; i2 >=0; –i2){
                                        if(this.worldServerInstance.getBlock(l3, i2, l1) == Mods.GiantPortal){
                                        while (this.worldServerInstance.getBlock(l3, i2 - 1, l1) == Mods.GiantPortal){
                                        --i2;
                                        }
                                        d7 = (double) i2 + 0.5D - entity.posY;
                                        double d8 = d4 * d4 + d7 * d7 + d5 * d5;
                                        
                                        if (d3 < 0.0D || d8 < d3){
                                        d3 = d8;
                                        i = l3;
                                        j = i2;
                                        k = l1;
                                        }
                                        
                                        }
                                        }
                                        }
                                        }
                                        }
                                        
                                        if (d3 >= 0.0D){
                                        if(flag){
                                        this.destinationCoordinateCache.add(j1, new TeleporterGiant.PortalPosition(i, j, k, this.worldServerInstance.getTotalWorldTime()));
                                        this.destinationCoordinateKeys.add(Long.valueOf(j1));
                                        System.out.println("Location " + j1);
                                        }
                                        
                                        double d11 = (double)i + 0.5D;
                                        double d6 = (double)j + 0.5D;
                                        d7 = (double)k + 0.5D;
                                        int i4 = -1;
                                        
                                        if(this.worldServerInstance.getBlock(i - 1, j, k) == Mods.GiantPortal){
                                        i4 = 2;
                                        }
                                        
                                        if(this.worldServerInstance.getBlock(i + 1, j, k) == Mods.GiantPortal){
                                        i4 = 0;
                                        }
                                        
                                        if(this.worldServerInstance.getBlock(i, j, k - 1) == Mods.GiantPortal){
                                        i4 = 3;
                                        }
                                        
                                        if(this.worldServerInstance.getBlock(i, j, k + 1) == Mods.GiantPortal){
                                        i4 = 1;
                                        }
                                        
                                        int j2 = entity.getTeleportDirection();
                                        
                                        if(i4 > -1){
                                        int k2 = Direction.rotateLeft[i4];
                                        int l2 = Direction.offsetX[i4];
                                        int i3 = Direction.offsetZ[i4];
                                        int j3 = Direction.offsetX[k2];
                                        int k3 = Direction.offsetZ[k2];
                                        boolean flag1 = !this.worldServerInstance.isAirBlock(i + l2 + j3, j, k + i3 + k3) || !this.worldServerInstance.isAirBlock(i + l2 + j3, j + 1, k + i3 + k3);
                                        boolean flag2 = !this.worldServerInstance.isAirBlock(i + l2 + j3, j, k + i3) || !this.worldServerInstance.isAirBlock(i + l2 + j3, j + 1, k + i3);
                                        
                                        if(flag1 && flag2){
                                        i4 = Direction.rotateOpposite[i4];
                                        k2 = Direction.rotateOpposite[k2];
                                        l2 = Direction.offsetX[i4];
                                        i3 = Direction.offsetZ[i4];
                                        j3 = Direction.offsetX[k2];
                                        k3 = Direction.offsetZ[k2];
                                        l3 = i - j3;
                                        d11 -= (double)j3;
                                        int k1 = k - k3;
                                        d7 -= (double)k3;
                                        flag1 = !this.worldServerInstance.isAirBlock(i + l2 + j3, j, k + i3 + k3) || !this.worldServerInstance.isAirBlock(i + l2 + j3, j + 1, k + i3 + k3);
                                        flag2 = !this.worldServerInstance.isAirBlock(i + l2 + j3, j, k + i3) || !this.worldServerInstance.isAirBlock(i + l2 + j3, j + 1, k + i3);
                                        
                                        }
                                        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;
                                        }
                                        
                                        d11 += (double)((float)j3 * f1 + f2 * (float)l2);
                                        d7 += (double)((float)k3 * f1 + f2 * (float)i3);
                                        float f3 = 0.0F;
                                        float f4 = 0.0F;
                                        float f5 = 0.0F;
                                        float f6 = 0.0F;
                                        
                                        if(i4 == j2){
                                        f3 = 1.0F;
                                        f4 = 1.0F;
                                        }
                                        else if(i4 == Direction.rotateOpposite[j2]){
                                        f3 = -1.0F;
                                        f4 = -1.0F;
                                        }
                                        else if(i4 == Direction.rotateRight[j2]){
                                        f5 = 1.0F;
                                        f6 = -1.0F;
                                        }
                                        else{
                                        f5 = -1.0F;
                                        f6 = 1.0F;
                                        
                                        }
                                        
                                        double d9 = entity.motionX;
                                        double d10 = entity.motionZ;
                                        entity.motionX = d9 * (double)f3 + d10 * (double)f6;
                                        entity.motionZ = d9 * (double)f5 + d10 * (double)f4;
                                        entity.rotationYaw = par8 - (float)(j2 * 90) + (float)(i4 *90);
                                        
                                        }
                                        else{
                                        entity.motionX = entity.motionY = entity.motionZ = 0.0D;
                                        }
                                        
                                        entity.setLocationAndAngles(d11, d6, d7, entity.rotationYaw, entity.rotationPitch);
                                        return true;
                                        
                                        }
                                        else{
                                        return false;
                                        }
                                        
                                        }
                                        
                                        }
                                        
                                        
                                        1 réponse Dernière réponse Répondre Citer 0
                                        • 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
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 1 / 5
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB