Non résolu Problème génération biome
-
c’est ma classe worldtype :
import net.minecraft.world.WorldType; import net.minecraft.world.gen.layer.GenLayer; import net.minecraft.world.gen.layer.GenLayerBiome; import net.minecraft.world.gen.layer.GenLayerBiomeEdge; import net.minecraft.world.gen.layer.GenLayerZoom; public class WorldTypegiant extends WorldType{ public WorldTypegiant(int par1, String name) { super(name); } /** * Creates the GenLayerBiome used for generating the world * * @param worldSeed The world seed * @param parentLayer The parent layer to feed into any layer you return * @return A GenLayer that will return ints representing the Biomes to be generated, see GenLayerBiome */ @Override public GenLayer getBiomeLayer(long worldSeed, GenLayer parentLayer) { GenLayer ret = new GiantGenLayerBiome(200L, parentLayer, this); ret = GenLayerZoom.magnify(1000L, ret, 2); ret = new GenLayerBiomeEdge(1000L, ret); return ret; } }
-
Salut, mon biome spawn enfin, mais j’aimerais savoir un truc, comment aggrandir le biome afin de pouvoir faire plus de tests, et qu’il spawn un peu plus souvent aussi
merci beaucoup
-
A se qui me semble tu modifie les paramétte que tu a mis la
@Override public GenLayer getBiomeLayer(long worldSeed, GenLayer parentLayer) { GenLayer ret = new GiantGenLayerBiome(200L, parentLayer, this); ret = GenLayerZoom.magnify(1000L, ret, 2); ret = new GenLayerBiomeEdge(1000L, ret); return ret; }
-
merci je suppose que ….magnifiy correspond a la taille et … biomeEdge correspond à la rareté ?? donc je dois mettre un nombre faible ? en tout cas merci
-
tu es certain que c’est dans cette fonction ? en mettant des nombres des grands, je ne vois pas plus de biomes.
car de base je cherchais dans cette class :
package fr.craftesys.craftesys.generation; import java.util.ArrayList; import java.util.List; import java.util.Random; import net.minecraft.world.biome.BiomeCache; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.biome.WorldChunkManager; import net.minecraft.world.gen.layer.GenLayer; import fr.craftesys.craftesys.generation.*; import net.minecraft.crash.CrashReport; import net.minecraft.crash.CrashReportCategory; import net.minecraft.util.ReportedException; import net.minecraft.world.ChunkPosition; import net.minecraft.world.World; import net.minecraft.world.WorldType; import net.minecraft.world.biome.BiomeCache; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.biome.WorldChunkManager; import net.minecraft.world.gen.layer.GenLayer; import net.minecraft.world.gen.layer.IntCache; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.terraingen.WorldTypeEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class WorldChunkManagerCraftesysTEST extends WorldChunkManager { private GenLayer genBiomes; /** * A GenLayer containing the indices into BiomeGenBase.biomeList[] */ private GenLayer biomeIndexLayer; /** * The BiomeCache object for this world. */ private BiomeCache biomeCache; /** * A list of biomes that the player can spawn in. */ private List biomesToSpawnIn; protected WorldChunkManagerCraftesysTEST() { this.biomeCache = new BiomeCache(this); this.biomesToSpawnIn = new ArrayList(); } public WorldChunkManagerCraftesysTEST(long par1, WorldType par3WorldType) { this(); GenLayer[] agenlayer = GiantGenLayerBiome.initializeAllBiomeGenerators(par1, par3WorldType); agenlayer = getModdedBiomeGenerators(par3WorldType, par1, agenlayer); this.genBiomes = agenlayer[0]; this.biomeIndexLayer = agenlayer[1]; } public WorldChunkManagerCraftesysTEST(World par1World) { this(par1World.getSeed(), par1World.getWorldInfo().getTerrainType()); } /** * Gets the list of valid biomes for the player to spawn in. */ public List getBiomesToSpawnIn() { return this.biomesToSpawnIn; } /** * Returns the BiomeGenBase related to the x, z position on the world. */ public BiomeGenBase getBiomeGenAt(int par1, int par2) { return this.biomeCache.getBiomeGenAt(par1, par2); } /** * Returns a list of rainfall values for the specified blocks. Args: listToReuse, x, z, width, length. */ public float[] getRainfall(float[] par1ArrayOfFloat, int par2, int par3, int par4, int par5) { IntCache.resetIntCache(); if(par1ArrayOfFloat == null || par1ArrayOfFloat.length < par4 * par5) { par1ArrayOfFloat = new float[par4 * par5]; } int[] aint = this.biomeIndexLayer.getInts(par2, par3, par4, par5); for(int i1 = 0; i1 < par4 * par5; ++i1) { try { float f = (float) BiomeGenBase.getBiome(aint[i1]).getIntRainfall() / 65536.0F; if(f > 1.0F) { f = 1.0F; } par1ArrayOfFloat[i1] = f; } catch(Throwable throwable) { CrashReport crashreport = CrashReport.makeCrashReport(throwable, "Invalid Biome id"); CrashReportCategory crashreportcategory = crashreport.makeCategory("DownfallBlock"); crashreportcategory.addCrashSection("biome id", Integer.valueOf(i1)); crashreportcategory.addCrashSection("downfalls[] size", Integer.valueOf(par1ArrayOfFloat.length)); crashreportcategory.addCrashSection("x", Integer.valueOf(par2)); crashreportcategory.addCrashSection("z", Integer.valueOf(par3)); crashreportcategory.addCrashSection("w", Integer.valueOf(par4)); crashreportcategory.addCrashSection("h", Integer.valueOf(par5)); throw new ReportedException(crashreport); } } return par1ArrayOfFloat; } /** * Return an adjusted version of a given temperature based on the y height */ @SideOnly(Side.CLIENT) public float getTemperatureAtHeight(float par1, int par2) { return par1; } /** * Returns an array of biomes for the location input. */ public BiomeGenBase[] getBiomesForGeneration(BiomeGenBase[] par1ArrayOfBiomeGenBase, int par2, int par3, int par4, int par5) { IntCache.resetIntCache(); if(par1ArrayOfBiomeGenBase == null || par1ArrayOfBiomeGenBase.length < par4 * par5) { par1ArrayOfBiomeGenBase = new BiomeGenBase[par4 * par5]; } int[] aint = this.genBiomes.getInts(par2, par3, par4, par5); try { for(int i1 = 0; i1 < par4 * par5; ++i1) { par1ArrayOfBiomeGenBase[i1] = BiomeGenBase.getBiome(aint[i1]); } return par1ArrayOfBiomeGenBase; } catch(Throwable throwable) { CrashReport crashreport = CrashReport.makeCrashReport(throwable, "Invalid Biome id"); CrashReportCategory crashreportcategory = crashreport.makeCategory("RawBiomeBlock"); crashreportcategory.addCrashSection("biomes[] size", Integer.valueOf(par1ArrayOfBiomeGenBase.length)); crashreportcategory.addCrashSection("x", Integer.valueOf(par2)); crashreportcategory.addCrashSection("z", Integer.valueOf(par3)); crashreportcategory.addCrashSection("w", Integer.valueOf(par4)); crashreportcategory.addCrashSection("h", Integer.valueOf(par5)); throw new ReportedException(crashreport); } } /** * Returns biomes to use for the blocks and loads the other data like temperature and humidity onto the WorldChunkManager Args: oldBiomeList, x, z, width, depth */ public BiomeGenBase[] loadBlockGeneratorData(BiomeGenBase[] par1ArrayOfBiomeGenBase, int par2, int par3, int par4, int par5) { return this.getBiomeGenAt(par1ArrayOfBiomeGenBase, par2, par3, par4, par5, true); } /** * Return a list of biomes for the specified blocks. Args: listToReuse, x, y, width, length, cacheFlag (if false, don't check biomeCache to avoid infinite loop in BiomeCacheBlock) */ public BiomeGenBase[] getBiomeGenAt(BiomeGenBase[] par1ArrayOfBiomeGenBase, int par2, int par3, int par4, int par5, boolean par6) { IntCache.resetIntCache(); if(par1ArrayOfBiomeGenBase == null || par1ArrayOfBiomeGenBase.length < par4 * par5) { par1ArrayOfBiomeGenBase = new BiomeGenBase[par4 * par5]; } if(par6 && par4 == 16 && par5 == 16 && (par2 & 15) == 0 && (par3 & 15) == 0) { BiomeGenBase[] abiomegenbase1 = this.biomeCache.getCachedBiomes(par2, par3); System.arraycopy(abiomegenbase1, 0, par1ArrayOfBiomeGenBase, 0, par4 * par5); return par1ArrayOfBiomeGenBase; } else { int[] aint = this.biomeIndexLayer.getInts(par2, par3, par4, par5); for(int i1 = 0; i1 < par4 * par5; ++i1) { par1ArrayOfBiomeGenBase[i1] = BiomeGenBase.getBiome(aint[i1]); } return par1ArrayOfBiomeGenBase; } } /** * checks given Chunk's Biomes against List of allowed ones */ public boolean areBiomesViable(int par1, int par2, int par3, List par4List) { IntCache.resetIntCache(); int l = par1 - par3 >> 2; int i1 = par2 - par3 >> 2; int j1 = par1 + par3 >> 2; int k1 = par2 + par3 >> 2; int l1 = j1 - l + 1; int i2 = k1 - i1 + 1; int[] aint = this.genBiomes.getInts(l, i1, l1, i2); try { for(int j2 = 0; j2 < l1 * i2; ++j2) { BiomeGenBase biomegenbase = BiomeGenBase.getBiome(aint[j2]); if(!par4List.contains(biomegenbase)) { return false; } } return true; } catch(Throwable throwable) { CrashReport crashreport = CrashReport.makeCrashReport(throwable, "Invalid Biome id"); CrashReportCategory crashreportcategory = crashreport.makeCategory("Layer"); crashreportcategory.addCrashSection("Layer", this.genBiomes.toString()); crashreportcategory.addCrashSection("x", Integer.valueOf(par1)); crashreportcategory.addCrashSection("z", Integer.valueOf(par2)); crashreportcategory.addCrashSection("radius", Integer.valueOf(par3)); crashreportcategory.addCrashSection("allowed", par4List); throw new ReportedException(crashreport); } } public ChunkPosition findBiomePosition(int p_150795_1_, int p_150795_2_, int p_150795_3_, List p_150795_4_, Random p_150795_5_) { IntCache.resetIntCache(); int l = p_150795_1_ - p_150795_3_ >> 2; int i1 = p_150795_2_ - p_150795_3_ >> 2; int j1 = p_150795_1_ + p_150795_3_ >> 2; int k1 = p_150795_2_ + p_150795_3_ >> 2; int l1 = j1 - l + 1; int i2 = k1 - i1 + 1; int[] aint = this.genBiomes.getInts(l, i1, l1, i2); ChunkPosition chunkposition = null; int j2 = 0; for(int k2 = 0; k2 < l1 * i2; ++k2) { int l2 = l + k2 % l1 << 2; int i3 = i1 + k2 / l1 << 2; BiomeGenBase biomegenbase = BiomeGenBase.getBiome(aint[k2]); if(p_150795_4_.contains(biomegenbase) && (chunkposition == null || p_150795_5_.nextInt(j2 + 1) == 0)) { chunkposition = new ChunkPosition(l2, 0, i3); ++j2; } } return chunkposition; } /** * Calls the WorldChunkManager's biomeCache.cleanupCache() */ public void cleanupCache() { this.biomeCache.cleanupCache(); } public GenLayer[] getModdedBiomeGenerators(WorldType worldType, long seed, GenLayer[] original) { WorldTypeEvent.InitBiomeGens event = new WorldTypeEvent.InitBiomeGens(worldType, seed, original); MinecraftForge.TERRAIN_GEN_BUS.post(event); return event.newBiomeGens; } public int getRiverStrength(int i, int j) { // TODO Auto-generated method stub return 0; } public float calculateRiver(int i, int j, float river, float rNoise) { // TODO Auto-generated method stub return 0f; } public float getOceanValue(int i, int j) { // TODO Auto-generated method stub return 0f; } }
-
Personne n’a une idée alors pour faire spawn un build plus souvent et qu’il soit plus grand ?
-
toujours pas :((
-
Bonjour,
donc voila j’ai mes class, je lance le jeu, je fais un worldtype et j’ai des zones de ma map ressemblants à ça, donc je sais pas si c’est mon biome qui ce génère mal, ou si c’est juste minecraft qui pète un câble.Je vais donc poster mon code correspondant aux class :
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 addBiome(){ initializeBiome(); registerBiome(); } public static BiomeGenBase biomeTest; public static void initializeBiome(){ biomeTest = new BiomeTest(96).setBiomeName("biomeTest").setTemperatureRainfall(1.2F, 0.9F); } public static void registerBiome(){ BiomeDictionary.registerBiomeType(biomeTest, Type.FOREST); BiomeManager.addSpawnBiome(biomeTest); } }
class BiomeTest :
package fr.craftesys.craftesys.generation; import java.util.Random; import net.minecraft.entity.monster.EntitySkeleton; import net.minecraft.entity.monster.EntitySlime; import net.minecraft.entity.monster.EntitySpider; import net.minecraft.entity.monster.EntityZombie; import net.minecraft.init.Blocks; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.gen.feature.WorldGenTrees; import net.minecraft.world.gen.feature.WorldGenerator; public class BiomeTest extends BiomeGenBase { public BiomeTest(int id) { super(id); this.setHeight(height_Default); this.spawnableCreatureList.add(new SpawnListEntry(EntitySlime.class, 5, 2, 10)); this.spawnableCreatureList.add(new SpawnListEntry(EntityZombie.class, 6, 3, 9)); this.spawnableCreatureList.add(new SpawnListEntry(EntitySkeleton.class, 7, 4, 8)); this.spawnableCreatureList.add(new SpawnListEntry(EntitySpider.class, 8, 5, 7)); this.theBiomeDecorator.treesPerChunk = 5; this.theBiomeDecorator.grassPerChunk = 2; this.theBiomeDecorator.bigMushroomsPerChunk = 2; this.topBlock = Blocks.redstone_block; this.fillerBlock = Blocks.redstone_block; } 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))); } }
class BiomeTestLayer :
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_1_1) { 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 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; } }
class WorldTypeTest :
package fr.craftesys.craftesys.generation; import net.minecraft.world.WorldType; import net.minecraft.world.gen.layer.GenLayer; import net.minecraft.world.gen.layer.GenLayerBiomeEdge; import net.minecraft.world.gen.layer.GenLayerZoom; public class WorldTypeTest extends WorldType { public WorldTypeTest(int par1, String name) { super(name); } public GenLayer getBiomeLayer(long worldSeed, GenLayer parentLayer) { GenLayer ret = new BiomeTestLayer(2000L, parentLayer, this); ret = GenLayerZoom.magnify(100L, ret, 2); ret = new GenLayerBiomeEdge(100L, ret); return ret; } }
j’espère que vous allez pouvoir m’aider car la, je sèche
voici mon crash report aussi :
–-- Minecraft Crash Report ---- // Hi. I'm Minecraft, and I'm a crashaholic. Time: 21/06/16 19:10 Description: Exception preparing structure feature java.lang.NullPointerException: Exception preparing structure feature at fr.craftesys.craftesys.generation.BiomeTestLayer.getInts(BiomeTestLayer.java:89) 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.gen.structure.MapGenStronghold.canSpawnStructureAtCoords(MapGenStronghold.java:96) at net.minecraft.world.gen.structure.MapGenStructure.func_151538_a(MapGenStructure.java:43) at net.minecraft.world.gen.MapGenBase.func_151539_a(MapGenBase.java:33) at net.minecraft.world.gen.ChunkProviderGenerate.provideChunk(ChunkProviderGenerate.java:239) at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:190) at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:149) at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:119) at net.minecraft.world.gen.ChunkProviderServer.provideChunk(ChunkProviderServer.java:221) at net.minecraft.world.World.getChunkFromChunkCoords(World.java:482) at net.minecraft.world.World.getBlock(World.java:387) at net.minecraft.world.World.isAirBlock(World.java:410) at net.minecraft.world.World.getTopBlock(World.java:371) at net.minecraft.world.WorldProvider.canCoordinateBeSpawn(WorldProvider.java:93) at net.minecraft.world.WorldServer.createSpawnPosition(WorldServer.java:794) 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:89) 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.gen.structure.MapGenStronghold.canSpawnStructureAtCoords(MapGenStronghold.java:96) -- Feature being prepared -- Details: Is feature chunk: ~~ERROR~~ NullPointerException: null Chunk location: -8,4 Chunk pos hash: 21474836472 Structure type: net.minecraft.world.gen.structure.MapGenStronghold Stacktrace: at net.minecraft.world.gen.structure.MapGenStructure.func_151538_a(MapGenStructure.java:43) at net.minecraft.world.gen.MapGenBase.func_151539_a(MapGenBase.java:33) at net.minecraft.world.gen.ChunkProviderGenerate.provideChunk(ChunkProviderGenerate.java:239) -- Chunk to be generated -- Details: Location: 0,12 Position hash: 51539607552 Generator: RandomLevelSource Stacktrace: at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:190) at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:149) at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:119) at net.minecraft.world.gen.ChunkProviderServer.provideChunk(ChunkProviderServer.java:221) at net.minecraft.world.World.getChunkFromChunkCoords(World.java:482) -- Requested block coordinates -- Details: Found chunk: true Location: World: (8,64,192), Chunk: (at 8,4,0 in 0,12; contains blocks 0,0,192 to 15,255,207), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511) Stacktrace: at net.minecraft.world.World.getBlock(World.java:387) at net.minecraft.world.World.isAirBlock(World.java:410) at net.minecraft.world.World.getTopBlock(World.java:371) at net.minecraft.world.WorldProvider.canCoordinateBeSpawn(WorldProvider.java:93) at net.minecraft.world.WorldServer.createSpawnPosition(WorldServer.java:794) at net.minecraft.world.WorldServer.initialize(WorldServer.java:757) -- Affected level -- Details: Level name: New Worlduiyt All players: 0 total; [] Chunk stats: ServerChunkCache: 0 Drop: 0 Level seed: -1402566602145314737 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: 890643008 bytes (849 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: 8, tcache: 75, 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'
j’avais essayé de supprimer la ligne 89, mais cela ne change absolument rien :/</init></init></init></init></biomeentry></biomeentry></biomeentry></biomeentry></biomeentry></biomeentry></biomeentry></biomeentry>
-
personne ne sait ?
-
Les classes ne correspondent pas au crash report
-
pourtant j’ai la class BimeTestLayer car j’ai posté toute les class que j’ai concernant mon biome
-
D’après le crash report le problème se trouve à la ligne 89 sauf que à la ligne 89 de ta classe tu as “else if (k1 == 2)” ce qui n’est pas possible, envoi donc ta classe en entier avec la classe correspondante
-
ah oui c’est vrai, on m’avait conseillé de la supprimer, voila la 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, 40)); } 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, 40)); } } 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 { aint1[j1 + i1 * par3] = ((BiomeEntry)WeightedRandom.getItem(this.desertBiomes, (int)(this.nextLong(WeightedRandom.getTotalWeight(this.desertBiomes) / 10) * 10))).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; } } ```</biomeentry></biomeentry></biomeentry></biomeentry></biomeentry></biomeentry></biomeentry></biomeentry>
-
A chaque point fait un retour à la ligne puis envoi le crash report (le dernier) ainsi que la classe (une fois modifiée)
-
comment ça modifier la class ?? je vais faire le crash report
le crash report
–-- Minecraft Crash Report ---- // Would you like a cupcake? Time: 22/06/16 15:08 Description: Getting biome java.lang.NullPointerException: Getting biome at fr.craftesys.craftesys.generation.BiomeTestLayer.getInts(BiomeTestLayer.java:89) 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.gen.layer.GenLayerVoronoiZoom.getInts(GenLayerVoronoiZoom.java:25) at net.minecraft.world.biome.WorldChunkManager.getRainfall(WorldChunkManager.java:82) at net.minecraft.world.biome.BiomeCache$Block.<init>(BiomeCache.java:107) at net.minecraft.world.biome.BiomeCache.getBiomeCacheBlock(BiomeCache.java:37) at net.minecraft.world.biome.BiomeCache.getBiomeGenAt(BiomeCache.java:51) at net.minecraft.world.biome.WorldChunkManager.getBiomeGenAt(WorldChunkManager.java:67) at net.minecraft.world.chunk.Chunk.getBiomeGenForWorldCoords(Chunk.java:1406) at net.minecraft.world.World.getBiomeGenForCoordsBody(World.java:177) at net.minecraft.world.WorldProvider.getBiomeGenForCoords(WorldProvider.java:423) at net.minecraft.world.World.getBiomeGenForCoords(World.java:166) at net.minecraftforge.client.ForgeHooksClient.getSkyBlendColour(ForgeHooksClient.java:407) at net.minecraft.world.World.getSkyColorBody(World.java:1791) at net.minecraft.world.WorldProvider.getSkyColor(WorldProvider.java:457) at net.minecraft.world.World.getSkyColor(World.java:1769) at net.minecraft.client.renderer.EntityRenderer.updateFogColor(EntityRenderer.java:1760) at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1230) at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1087) at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1067) at net.minecraft.client.Minecraft.run(Minecraft.java:962) at net.minecraft.client.main.Main.main(Main.java:164) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) at GradleStart.main(Unknown Source) 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:89) 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.gen.layer.GenLayerVoronoiZoom.getInts(GenLayerVoronoiZoom.java:25) at net.minecraft.world.biome.WorldChunkManager.getRainfall(WorldChunkManager.java:82) at net.minecraft.world.biome.BiomeCache$Block.<init>(BiomeCache.java:107) at net.minecraft.world.biome.BiomeCache.getBiomeCacheBlock(BiomeCache.java:37) at net.minecraft.world.biome.BiomeCache.getBiomeGenAt(BiomeCache.java:51) at net.minecraft.world.biome.WorldChunkManager.getBiomeGenAt(WorldChunkManager.java:67) at net.minecraft.world.chunk.Chunk.getBiomeGenForWorldCoords(Chunk.java:1406) -- Coordinates of biome request -- Details: Location: World: (-26,0,-26), Chunk: (at 6,0,6 in -2,-2; contains blocks -32,0,-32 to -17,255,-17), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1) Stacktrace: at net.minecraft.world.World.getBiomeGenForCoordsBody(World.java:177) at net.minecraft.world.WorldProvider.getBiomeGenForCoords(WorldProvider.java:423) at net.minecraft.world.World.getBiomeGenForCoords(World.java:166) at net.minecraftforge.client.ForgeHooksClient.getSkyBlendColour(ForgeHooksClient.java:407) at net.minecraft.world.World.getSkyColorBody(World.java:1791) at net.minecraft.world.WorldProvider.getSkyColor(WorldProvider.java:457) at net.minecraft.world.World.getSkyColor(World.java:1769) at net.minecraft.client.renderer.EntityRenderer.updateFogColor(EntityRenderer.java:1760) at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1230) -- Affected level -- Details: Level name: MpServer All players: 1 total; [EntityClientPlayerMP['Player417'/292, l='MpServer', x=8,50, y=66,62, z=8,50]] Chunk stats: MultiplayerChunkCache: 0, 0 Level seed: 0 Level generator: ID 04 - giant, ver 0\. Features enabled: false Level generator options: Level spawn location: World: (183,64,262), Chunk: (at 7,4,6 in 11,16; contains blocks 176,0,256 to 191,255,271), 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: 0x00000 - Unknown? Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false) Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false Forced entities: 1 total; [EntityClientPlayerMP['Player417'/292, l='MpServer', x=8,50, y=66,62, z=8,50]] Retry entities: 0 total; [] Server brand: fml,forge Server type: Integrated singleplayer server Stacktrace: at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:415) at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2566) at net.minecraft.client.Minecraft.run(Minecraft.java:984) at net.minecraft.client.main.Main.main(Main.java:164) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) at GradleStart.main(Unknown Source) – 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: 889541640 bytes (848 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: 8, tcache: 76, allocated: 4, tallocated: 18 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: ' Vendor: 'NVIDIA Corporation' Version: '4.5.0 NVIDIA 358.91' Renderer: 'GeForce GTX 750 Ti/PCIe/SSE2' Launched Version: 1.7.10 LWJGL: 2.9.1 OpenGL: GeForce GTX 750 Ti/PCIe/SSE2 GL version 4.5.0 NVIDIA 358.91, NVIDIA Corporation GL Caps: Using GL 1.3 multitexturing. Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported. Anisotropic filtering is supported and maximum anisotropy is 16. Shaders are available because OpenGL 2.1 is supported. Is Modded: Definitely; Client brand changed to 'fml,forge' Type: Client (map_client.txt) Resource Packs: [] Current Language: English (US) Profiler Position: N/A (disabled) Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used Anisotropic Filtering: Off (1) ```</init></init>
-
A la ligne 89, dès que tu vois un “.” tu fais un retour à la ligne avant le point :
aint1[j1 + i1 * par3] = ((BiomeEntry)WeightedRandom .getItem(this .desertBiomes, (int)(this .nextLong(WeightedRandom .getTotalWeight(this .desertBiomes) / 10) * 10))) .biome .biomeID;
Ensuite tu lances ton jeu et tu envoi le crash report avec la classe correspondante
-
class biometestlayer :
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, 40)); } 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, 40)); } } 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 { aint1[j1 + i1 * par3] = ((BiomeEntry)WeightedRandom .getItem(this .desertBiomes, (int)(this .nextLong(WeightedRandom .getTotalWeight(this .desertBiomes) / 10) * 10))) .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; } }
le crash report :
–-- Minecraft Crash Report ---- // On the bright side, I bought you a teddy bear! Time: 22/06/16 15:14 Description: Exception initializing level java.lang.NullPointerException: Exception initializing level at fr.craftesys.craftesys.generation.BiomeTestLayer.getInts(BiomeTestLayer.java:96) 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:96) 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 World(t'(t All players: 0 total; [] Chunk stats: ServerChunkCache: 0 Drop: 0 Level seed: 4133433021098639630 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: 898070720 bytes (856 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' ```</init></init></init></init></biomeentry></biomeentry></biomeentry></biomeentry></biomeentry></biomeentry></biomeentry></biomeentry>
-
Apparemment c’est le biome qui est null, pour quoi faire une division par 10 puis ensuite multiplier par 10 ?
-
c’est comme ça dans la class de base, puis ches this.desertbiomes que je divise par 10 pour faire *10 sur la taille totale.
-
Du-coup maintenant il te reste à trouver pourquoi le biome est null.