Jump to content

PixelRafael

Members
  • Posts

    12
  • Joined

  • Last visited

Converted

  • Gender
    Undisclosed
  • Personal Text
    I am new!

PixelRafael's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  1. Take a look at this: https://github.com/Jimmy04Creeper/Tutorial-GutHub/tree/master/com This can help you
  2. package com.darknessmod.world; import java.util.List; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.BlockFalling; import net.minecraft.block.material.Material; import net.minecraft.entity.EnumCreatureType; import net.minecraft.init.Blocks; import net.minecraft.util.IProgressUpdate; import net.minecraft.util.MathHelper; import net.minecraft.world.ChunkPosition; import net.minecraft.world.SpawnerAnimals; import net.minecraft.world.World; import net.minecraft.world.WorldType; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.chunk.Chunk; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.gen.MapGenBase; import net.minecraft.world.gen.NoiseGenerator; import net.minecraft.world.gen.NoiseGeneratorOctaves; import net.minecraft.world.gen.NoiseGeneratorPerlin; import net.minecraft.world.gen.feature.WorldGenLakes; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.terraingen.ChunkProviderEvent; import net.minecraftforge.event.terraingen.PopulateChunkEvent; import net.minecraftforge.event.terraingen.TerrainGen; import com.darknessmod.blocks.DBlocks; import cpw.mods.fml.common.eventhandler.Event.Result; public class ChunkProviderDarkness implements IChunkProvider { private Random rand; private NoiseGeneratorOctaves field_147431_j; private NoiseGeneratorOctaves field_147432_k; private NoiseGeneratorOctaves field_147429_l; private NoiseGeneratorPerlin field_147430_m; public NoiseGeneratorOctaves noiseGen5; public NoiseGeneratorOctaves noiseGen6; public NoiseGeneratorOctaves mobSpawnerNoise; private World worldObj; private final boolean mapFeaturesEnabled; private WorldType field_147435_p; private final double[] field_147434_q; private final float[] parabolicField; private double[] stoneNoise = new double[256]; private BiomeGenBase[] biomesForGeneration; private MapGenBase caveGenerator = new MapGenDarkCaves(); double[] field_147427_d; double[] field_147428_e; double[] field_147425_f; double[] field_147426_g; int[][] field_73219_j = new int[32][32]; public int field_150604_aj; public ChunkProviderDarkness(World par1World, long par2, boolean par4) { this.worldObj = par1World; this.mapFeaturesEnabled = par4; this.field_147435_p = par1World.getWorldInfo().getTerrainType(); this.rand = new Random(par2); this.field_147431_j = new NoiseGeneratorOctaves(this.rand, 16); this.field_147432_k = new NoiseGeneratorOctaves(this.rand, 16); this.field_147429_l = new NoiseGeneratorOctaves(this.rand, ; this.field_147430_m = new NoiseGeneratorPerlin(this.rand, 4); this.noiseGen5 = new NoiseGeneratorOctaves(this.rand, 10); this.noiseGen6 = new NoiseGeneratorOctaves(this.rand, 16); this.mobSpawnerNoise = new NoiseGeneratorOctaves(this.rand, ; this.field_147434_q = new double[825]; this.parabolicField = new float[25]; for (int j = -2; j <= 2; ++j) { for (int k = -2; k <= 2; ++k) { float f = 10.0F / MathHelper.sqrt_float((float)(j * j + k * k) + 0.2F); this.parabolicField[j + 2 + (k + 2) * 5] = f; } } NoiseGenerator[] noiseGens = {field_147431_j, field_147432_k, field_147429_l, field_147430_m, noiseGen5, noiseGen6, mobSpawnerNoise}; noiseGens = TerrainGen.getModdedNoiseGenerators(par1World, this.rand, noiseGens); this.field_147431_j = (NoiseGeneratorOctaves)noiseGens[0]; this.field_147432_k = (NoiseGeneratorOctaves)noiseGens[1]; this.field_147429_l = (NoiseGeneratorOctaves)noiseGens[2]; this.field_147430_m = (NoiseGeneratorPerlin)noiseGens[3]; this.noiseGen5 = (NoiseGeneratorOctaves)noiseGens[4]; this.noiseGen6 = (NoiseGeneratorOctaves)noiseGens[5]; this.mobSpawnerNoise = (NoiseGeneratorOctaves)noiseGens[6]; } public void func_147424_a(int p_147424_1_, int p_147424_2_, Block[] p_147424_3_) { byte b0 = 63; this.biomesForGeneration = this.worldObj.getWorldChunkManager().getBiomesForGeneration(this.biomesForGeneration, p_147424_1_ * 4 - 2, p_147424_2_ * 4 - 2, 10, 10); this.func_147423_a(p_147424_1_ * 4, 0, p_147424_2_ * 4); for (int k = 0; k < 4; ++k) { int l = k * 5; int i1 = (k + 1) * 5; for (int j1 = 0; j1 < 4; ++j1) { int k1 = (l + j1) * 33; int l1 = (l + j1 + 1) * 33; int i2 = (i1 + j1) * 33; int j2 = (i1 + j1 + 1) * 33; for (int k2 = 0; k2 < 32; ++k2) { double d0 = 0.125D; double d1 = this.field_147434_q[k1 + k2]; double d2 = this.field_147434_q[l1 + k2]; double d3 = this.field_147434_q[i2 + k2]; double d4 = this.field_147434_q[j2 + k2]; double d5 = (this.field_147434_q[k1 + k2 + 1] - d1) * d0; double d6 = (this.field_147434_q[l1 + k2 + 1] - d2) * d0; double d7 = (this.field_147434_q[i2 + k2 + 1] - d3) * d0; double d8 = (this.field_147434_q[j2 + k2 + 1] - d4) * d0; for (int l2 = 0; l2 < 8; ++l2) { double d9 = 0.25D; double d10 = d1; double d11 = d2; double d12 = (d3 - d1) * d9; double d13 = (d4 - d2) * d9; for (int i3 = 0; i3 < 4; ++i3) { int j3 = i3 + k * 4 << 12 | 0 + j1 * 4 << 8 | k2 * 8 + l2; short short1 = 256; j3 -= short1; double d14 = 0.25D; double d16 = (d11 - d10) * d14; double d15 = d10 - d16; for (int k3 = 0; k3 < 4; ++k3) { if ((d15 += d16) > 0.0D) { p_147424_3_[j3 += short1] = DarknessWorldConfig.DarknessWorldStone; } else if (k2 * 8 + l2 < b0) { p_147424_3_[j3 += short1] = Blocks.water; } else { p_147424_3_[j3 += short1] = Blocks.air; } } d10 += d12; d11 += d13; } d1 += d5; d2 += d6; d3 += d7; d4 += d8; } } } } } public void replaceBlocksForBiome(int p_147422_1_, int p_147422_2_, Block[] p_147422_3_, byte[] p_147422_4_, BiomeGenBase[] p_147422_5_) { ChunkProviderEvent.ReplaceBiomeBlocks event = new ChunkProviderEvent.ReplaceBiomeBlocks(this, p_147422_1_, p_147422_2_, p_147422_3_, p_147422_5_); MinecraftForge.EVENT_BUS.post(event); if (event.getResult() == Result.DENY) return; double d0 = 0.03125D; this.stoneNoise = this.field_147430_m.func_151599_a(this.stoneNoise, (double)(p_147422_1_ * 16), (double)(p_147422_2_ * 16), 16, 16, d0 * 2.0D, d0 * 2.0D, 1.0D); for (int k = 0; k < 16; ++k) { for (int l = 0; l < 16; ++l) { genTerrainBlocksDarkness(this.worldObj, this.rand, p_147422_3_, p_147422_4_, p_147422_1_ * 16 + k, p_147422_2_ * 16 + l, this.stoneNoise[l + k * 16]); } } } public final void genTerrainBlocksDarkness(World p_150560_1_, Random p_150560_2_, Block[] p_150560_3_, byte[] p_150560_4_, int p_150560_5_, int p_150560_6_, double p_150560_7_) { this.field_150604_aj = 0; boolean flag = true; Block block = DBlocks.DarkGrass; byte b0 = (byte)(this.field_150604_aj & 255); Block block1 = DBlocks.DarkDirt; int k = -1; int l = (int)(p_150560_7_ / 3.0D + 3.0D + p_150560_2_.nextDouble() * 0.25D); int i1 = p_150560_5_ & 15; int j1 = p_150560_6_ & 15; int k1 = p_150560_3_.length / 256; for (int l1 = 255; l1 >= 0; --l1) { int i2 = (j1 * 16 + i1) * k1 + l1; if (l1 <= 0 + p_150560_2_.nextInt(5)) { p_150560_3_[i2] = Blocks.bedrock; } else { Block block2 = p_150560_3_[i2]; if (block2 != null && block2.getMaterial() != Material.air) { if (block2 == DarknessWorldConfig.DarknessWorldStone) { if (k == -1) { if (l <= 0) { block = null; b0 = 0; block1 = DarknessWorldConfig.DarknessWorldStone; } k = l; if (l1 >= 62) { p_150560_3_[i2] = block; p_150560_4_[i2] = b0; } else { p_150560_3_[i2] = block1; } } else if (k > 0) { --k; p_150560_3_[i2] = block1; } } } else { k = -1; } } } } public Chunk loadChunk(int par1, int par2) { return this.provideChunk(par1, par2); } public Chunk provideChunk(int par1, int par2) { this.rand.setSeed((long)par1 * 341873128712L + (long)par2 * 132897987541L); Block[] ablock = new Block[65536]; byte[] abyte = new byte[65536]; this.func_147424_a(par1, par2, ablock); this.biomesForGeneration = this.worldObj.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, par1 * 16, par2 * 16, 16, 16); this.replaceBlocksForBiome(par1, par2, ablock, abyte, this.biomesForGeneration); caveGenerator.func_151539_a(this, worldObj, par1, par2, ablock); if (this.mapFeaturesEnabled) { } Chunk chunk = new Chunk(this.worldObj, ablock, abyte, par1, par2); byte[] abyte1 = chunk.getBiomeArray(); for (int k = 0; k < abyte1.length; ++k) { abyte1[k] = (byte)this.biomesForGeneration[k].biomeID; } chunk.generateSkylightMap(); return chunk; } private void func_147423_a(int p_147423_1_, int p_147423_2_, int p_147423_3_) { double d0 = 684.412D; double d1 = 684.412D; double d2 = 512.0D; double d3 = 512.0D; this.field_147426_g = this.noiseGen6.generateNoiseOctaves(this.field_147426_g, p_147423_1_, p_147423_3_, 5, 5, 200.0D, 200.0D, 0.5D); this.field_147427_d = this.field_147429_l.generateNoiseOctaves(this.field_147427_d, p_147423_1_, p_147423_2_, p_147423_3_, 5, 33, 5, 8.555150000000001D, 4.277575000000001D, 8.555150000000001D); this.field_147428_e = this.field_147431_j.generateNoiseOctaves(this.field_147428_e, p_147423_1_, p_147423_2_, p_147423_3_, 5, 33, 5, 684.412D, 684.412D, 684.412D); this.field_147425_f = this.field_147432_k.generateNoiseOctaves(this.field_147425_f, p_147423_1_, p_147423_2_, p_147423_3_, 5, 33, 5, 684.412D, 684.412D, 684.412D); boolean flag1 = false; boolean flag = false; int l = 0; int i1 = 0; double d4 = 8.5D; for (int j1 = 0; j1 < 5; ++j1) { for (int k1 = 0; k1 < 5; ++k1) { float f = 0.0F; float f1 = 0.0F; float f2 = 0.0F; byte b0 = 2; BiomeGenBase biomegenbase = this.biomesForGeneration[j1 + 2 + (k1 + 2) * 10]; for (int l1 = -b0; l1 <= b0; ++l1) { for (int i2 = -b0; i2 <= b0; ++i2) { BiomeGenBase biomegenbase1 = this.biomesForGeneration[j1 + l1 + 2 + (k1 + i2 + 2) * 10]; float f3 = biomegenbase1.rootHeight; float f4 = biomegenbase1.heightVariation; if (this.field_147435_p == WorldType.AMPLIFIED && f3 > 0.0F) { f3 = 1.0F + f3 * 2.0F; f4 = 1.0F + f4 * 4.0F; } float f5 = this.parabolicField[l1 + 2 + (i2 + 2) * 5] / (f3 + 2.0F); if (biomegenbase1.rootHeight > biomegenbase.rootHeight) { f5 /= 2.0F; } f += f4 * f5; f1 += f3 * f5; f2 += f5; } } f /= f2; f1 /= f2; f = f * 0.9F + 0.1F; f1 = (f1 * 4.0F - 1.0F) / 8.0F; double d13 = this.field_147426_g[i1] / 8000.0D; if (d13 < 0.0D) { d13 = -d13 * 0.3D; } d13 = d13 * 3.0D - 2.0D; if (d13 < 0.0D) { d13 /= 2.0D; if (d13 < -1.0D) { d13 = -1.0D; } d13 /= 1.4D; d13 /= 2.0D; } else { if (d13 > 1.0D) { d13 = 1.0D; } d13 /= 8.0D; } ++i1; double d12 = (double)f1; double d14 = (double)f; d12 += d13 * 0.2D; d12 = d12 * 8.5D / 8.0D; double d5 = 8.5D + d12 * 4.0D; for (int j2 = 0; j2 < 33; ++j2) { double d6 = ((double)j2 - d5) * 12.0D * 128.0D / 256.0D / d14; if (d6 < 0.0D) { d6 *= 4.0D; } double d7 = this.field_147428_e[l] / 512.0D; double d8 = this.field_147425_f[l] / 512.0D; double d9 = (this.field_147427_d[l] / 10.0D + 1.0D) / 2.0D; double d10 = MathHelper.denormalizeClamp(d7, d8, d9) - d6; if (j2 > 29) { double d11 = (double)((float)(j2 - 29) / 3.0F); d10 = d10 * (1.0D - d11) + -10.0D * d11; } this.field_147434_q[l] = d10; ++l; } } } } public boolean chunkExists(int par1, int par2) { return true; } public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { BlockFalling.fallInstantly = true; int k = par2 * 16; int l = par3 * 16; BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(k + 16, l + 16); this.rand.setSeed(this.worldObj.getSeed()); long i1 = this.rand.nextLong() / 2L * 2L + 1L; long j1 = this.rand.nextLong() / 2L * 2L + 1L; this.rand.setSeed((long)par2 * i1 + (long)par3 * j1 ^ this.worldObj.getSeed()); boolean flag = false; int i = par2 * 16; int j = par3 * 16; if (rand.nextInt(10) == 0 && !flag) { int var12 = k + rand.nextInt(16) + 8; int var13 = rand.nextInt(256); int var14 = l + rand.nextInt(16) + 8; new WorldGenLakes(DBlocks.DarkSoil).generate(worldObj, rand, var12, var13, var14); new WorldGenTowers().generate(worldObj, rand, var12, var13, var14); } if (this.mapFeaturesEnabled) { } int k1; int l1; int i2; biomegenbase.decorate(this.worldObj, this.rand, k, l); SpawnerAnimals.performWorldGenSpawning(this.worldObj, biomegenbase, k + 8, l + 8, 16, 16, this.rand); k += 8; l += 8; BlockFalling.fallInstantly = false; } public boolean saveChunks(boolean par1, IProgressUpdate par2IProgressUpdate) { return true; } public void saveExtraData() {} public boolean unloadQueuedChunks() { return false; } public boolean canSave() { return true; } public String makeString() { return "RandomLevelSource"; } public List getPossibleCreatures(EnumCreatureType par1EnumCreatureType, int par2, int par3, int par4) { BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(par2, par4); return biomegenbase.getSpawnableList(par1EnumCreatureType); } public ChunkPosition func_147416_a(World p_147416_1_, String p_147416_2_, int p_147416_3_, int p_147416_4_, int p_147416_5_) { return null; } public int getLoadedChunkCount() { return 0; } public void recreateStructures(int par1, int par2) { if (this.mapFeaturesEnabled) { } } } package com.darknessmod.world; import java.util.Random; import net.minecraft.world.World; import com.darknessmod.blocks.DBlocks; public class WorldGenTowers extends DarkGenerator{ public WorldGenTowers(){ } @Override public boolean generate(World var1, Random var2, int var3, int var4, int var5){ int circle_radius = 5; int circle_height = 10; int i; int j; int k = 0; int l; double distance_to_centre; if (isAreaClear(var1, var2, var3, var4, var5, circle_radius, circle_height, circle_radius)) { for (l=0;l<=circle_height;i++){ for (i=0;i<=2*circle_radius;i++){ for (j = 0; j <= 2*circle_radius; j++){ distance_to_centre = Math.sqrt((i - circle_radius)*(i - circle_radius)+(j - circle_radius)*(j - circle_radius)); if (distance_to_centre > circle_radius-0.5 && distance_to_centre < circle_radius+0.5){ this.setBlockAndNotifyAdequately(var1, var3+i, var4+k, var5+j, DBlocks.DarkCobblestone, 0); }else{ } } } k+=1; } } return true; } } Error: [22:56:41] [server thread/WARN]: Unable to find spawn biome =C
  3. Hi, i made a Biome for a dimension, but it is generating on normal world, but i dont wanna this. I want just generate on my dimension. CODE: BiomeGenDarkness.java package com.darknessmod.world; import java.util.List; import java.util.Random; import com.darknessmod.blocks.DBlocks; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.gen.feature.WorldGenAbstractTree; public class BiomeGenDarkness extends BiomeGenBase{ public BiomeGenDarkness(int par1) { super(par1); this.spawnableMonsterList.clear(); this.spawnableCreatureList.clear(); this.spawnableCaveCreatureList.clear(); this.spawnableWaterCreatureList.clear(); this.topBlock = DBlocks.DarkGrass; this.fillerBlock = DBlocks.DarkDirt; this.waterColorMultiplier = 0x000000; this.theBiomeDecorator=new BiomeDecoratorDark(); } @SideOnly(Side.CLIENT) public int getSkyColorByTemp(float par1) { return 0; } public WorldGenAbstractTree func_150567_a(Random random) { return new WorldGenDarkTrees(false, 5, DBlocks.DarkLog, DBlocks.DarkLeaves); } } DarknessMod.java package com.darknessmod; import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.BiomeDictionary; import net.minecraftforge.common.DimensionManager; import net.minecraftforge.common.MinecraftForge; import com.darknessmod.blocks.DBlocks; import com.darknessmod.blocks.DBlocksRecipes; import com.darknessmod.items.DItems; import com.darknessmod.items.DItemsRecipes; import com.darknessmod.world.DarknessWorldConfig; import com.darknessmod.world.WorldProviderDarkness; import com.darknessmod.world.BiomeGenDarkness; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; @Mod(modid=DarknessMod.MODID, name=DarknessMod.MODNAME, version=DarknessMod.VERSION) public class DarknessMod { public static final String MODID = "darknessmod"; public static final String MODNAME = "Into Darkness Mod"; public static final String VERSION = "1.0.0"; public static final String CLIENTPROXYLOCATION = "com." + MODID + ".ClientProxy"; public static final String COMMONPROXYLOCATION = "com." + MODID + ".CommonProxy"; @Mod.Instance("darknessmod") public static DarknessMod darknessmod; @SidedProxy(clientSide = DarknessMod.CLIENTPROXYLOCATION, serverSide = DarknessMod.COMMONPROXYLOCATION) public static CommonProxy proxy; public static BiomeGenBase BiomeGenDarkness = new BiomeGenDarkness(35).setBiomeName("Darkness");; @Mod.EventHandler public void preInit(FMLPreInitializationEvent event) { DBlocks.registerBlocks(); DItems.registerItems(); DBlocksRecipes.init(); DItemsRecipes.init(); DimensionManager.registerProviderType(DarknessWorldConfig.DimID, WorldProviderDarkness.class, true); DimensionManager.registerDimension(DarknessWorldConfig.DimID, DarknessWorldConfig.DimID); } }
  4. I dont know what is the error: ---- Minecraft Crash Report ---- // I'm sorry, Dave. Time: 23/04/14 16:56 Description: Initializing game java.lang.NoSuchFieldError: spawnableMonsterList at com.darknessmod.world.BiomeGenDarkness.<init>(BiomeGenDarkness.java:28) at com.darknessmod.DarknessMod.<clinit>(DarknessMod.java:38) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:443) 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 com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74) at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) at com.google.common.eventbus.EventBus.post(EventBus.java:267) at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:209) at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:188) 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 com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74) at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) at com.google.common.eventbus.EventBus.post(EventBus.java:267) at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) at cpw.mods.fml.common.Loader.loadMods(Loader.java:487) at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:194) at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:495) at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:850) at net.minecraft.client.main.Main.main(SourceFile:103) 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:134) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at com.darknessmod.world.BiomeGenDarkness.<init>(BiomeGenDarkness.java:28) at com.darknessmod.DarknessMod.<clinit>(DarknessMod.java:38) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:443) 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 com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74) at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) at com.google.common.eventbus.EventBus.post(EventBus.java:267) at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:209) at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:188) 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 com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74) at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) at com.google.common.eventbus.EventBus.post(EventBus.java:267) at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) at cpw.mods.fml.common.Loader.loadMods(Loader.java:487) at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:194) at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:495) -- Initialization -- Details: Stacktrace: at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:850) at net.minecraft.client.main.Main.main(SourceFile:103) 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:134) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) -- System Details -- Details: Minecraft Version: 1.7.2 Operating System: Windows 7 (x86) version 6.1 Java Version: 1.7.0_51, Oracle Corporation Java VM Version: Java HotSpot(TM) Client VM (mixed mode, sharing), Oracle Corporation Memory: 36930856 bytes (35 MB) / 151674880 bytes (144 MB) up to 518979584 bytes (494 MB) JVM Flags: 2 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx512M AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP v9.01-pre FML v7.2.116.1024 Minecraft Forge 10.12.0.1024 4 mods loaded, 4 mods active mcp{8.09} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed FML{7.2.116.1024} [Forge Mod Loader] (forge-1.7.2-10.12.0.1024.jar) Unloaded->Constructed Forge{10.12.0.1024} [Minecraft Forge] (forge-1.7.2-10.12.0.1024.jar) Unloaded->Constructed darknessmod{1.0.0} [into Darkness Mod] (Darkness-1.7.2(Alpha).jar) Unloaded Launched Version: 1.7.2-Forge10.12.0.1024 LWJGL: 2.9.0 OpenGL: GeForce GT625M/PCIe/SSE2 GL version 4.4.0, NVIDIA Corporation 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: ~~ERROR~~ NullPointerException: null Anisotropic Filtering: Off (1) DarknessMod.java:38 package com.darknessmod; import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.BiomeDictionary; import net.minecraftforge.common.DimensionManager; import com.darknessmod.blocks.DBlocks; import com.darknessmod.blocks.DBlocksRecipes; import com.darknessmod.items.DItems; import com.darknessmod.items.DItemsRecipes; import com.darknessmod.world.DarknessWorldConfig; import com.darknessmod.world.WorldGenDarkTrees; import com.darknessmod.world.WorldProviderDarkness; import com.darknessmod.world.BiomeGenDarkness; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; @Mod(modid=DarknessMod.MODID, name=DarknessMod.MODNAME, version=DarknessMod.VERSION) public class DarknessMod { public static final String MODID = "darknessmod"; public static final String MODNAME = "Into Darkness Mod"; public static final String VERSION = "1.0.0"; public static final String CLIENTPROXYLOCATION = "com." + MODID + ".ClientProxy"; public static final String COMMONPROXYLOCATION = "com." + MODID + ".CommonProxy"; @Mod.Instance("darknessmod") public static DarknessMod darknessmod; @SidedProxy(clientSide = DarknessMod.CLIENTPROXYLOCATION, serverSide = DarknessMod.COMMONPROXYLOCATION) public static CommonProxy proxy; public static final BiomeGenBase BiomeGenDarkness = (new BiomeGenDarkness(150)); @Mod.EventHandler public void initConfig(FMLPreInitializationEvent event) { BiomeDictionary.registerBiomeType(BiomeGenDarkness, new BiomeDictionary.Type[] { BiomeDictionary.Type.FOREST }); DBlocks.registerBlocks(); DItems.registerItems(); DBlocksRecipes.init(); DItemsRecipes.init(); DimensionManager.registerProviderType(DarknessWorldConfig.DimID, WorldProviderDarkness.class, true); DimensionManager.registerDimension(DarknessWorldConfig.DimID, DarknessWorldConfig.DimID); } } BiomeGenDarkness.java:28 package com.darknessmod.world; import java.util.List; import java.util.Random; import com.darknessmod.blocks.DBlocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.IBlockAccess; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.biome.BiomeDecorator; import net.minecraft.world.gen.feature.WorldGenerator; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry; import com.darknessmod.world.*; import com.darknessmod.blocks.*; import com.darknessmod.items.*; public class BiomeGenDarkness extends BiomeGenBase{ public BiomeGenDarkness(int par1) { super(par1); this.spawnableMonsterList.clear(); this.spawnableCreatureList.clear(); this.spawnableCaveCreatureList.clear(); this.spawnableWaterCreatureList.clear(); this.topBlock = DBlocks.DarkGrass; this.fillerBlock = DBlocks.DarkDirt; this.setBiomeName("Darkness"); this.waterColorMultiplier = 0x000000; } public WorldGenDarkTrees getRandomWorldGenForTrees(Random random) { return new WorldGenDarkTrees(false, 5, DBlocks.DarkLog, Blocks.leaves); } } HELP! D=
  5. Hi, I make a biome but is generating flowers etc, but I dont want this, I want to reset BiomeDecorator! I tried remove mushroomBrownGen and mushroomRedGen but isnt working. Take a look: package com.darknessmod.world; import java.util.Random; import com.darknessmod.blocks.DBlocks; import net.minecraft.world.biome.BiomeDecorator; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.gen.feature.WorldGenAbstractTree; import net.minecraft.world.gen.feature.WorldGenFlowers; import net.minecraft.world.gen.feature.WorldGenTrees; public class BiomeGenDarkness extends BiomeGenBase{ protected WorldGenDarkTrees worldGeneratorDarkTrees; public BiomeDecorator theBiomeDecorator; public BiomeGenDarkness(int par1) { super(par1); this.theBiomeDecorator = this.createBiomeDecorator(); this.theBiomeDecorator.treesPerChunk = 10; this.theBiomeDecorator.mushroomBrownGen = new WorldGenFlowers(null); this.theBiomeDecorator.mushroomRedGen = new WorldGenFlowers(null); this.worldGeneratorDarkTrees = new WorldGenDarkTrees(false, 5); this.spawnableMonsterList.clear(); this.spawnableCreatureList.clear(); this.spawnableCaveCreatureList.clear(); this.spawnableWaterCreatureList.clear(); this.topBlock = DBlocks.DarkGrass; this.fillerBlock = DBlocks.DarkDirt; this.setBiomeName("Darkness"); this.waterColorMultiplier = 0x000000; } public WorldGenDarkTrees func_150567_a(Random random) { return (WorldGenDarkTrees)worldGeneratorDarkTrees; } } I tried remove with: this.theBiomeDecorator.mushroomBrownGen = new WorldGenFlowers(null); this.theBiomeDecorator.mushroomRedGen = new WorldGenFlowers(null); and: this.theBiomeDecorator.mushroomBrownGen = null; this.theBiomeDecorator.mushroomRedGen = null; But keeps generating... =S Sorry about my english
  6. Hi, I want know how to edit the class files of minecraft.jar. I tried create a project, import minecraft.jar as library and create a .java file with a code of a .class of minecraft.jar that I opened on JD GUI. But eclipse say that code have errors =( Sorry about my english, im brazilian
  7. Hello, I am a beginner developer, but I have some doubts about the forge and minecraft. 1 - If a create a mod that creates a block, put the mod on my minecraft and on minecraft of my friend and I create a world and open the LAN, we'll get to play with this new block? 2 - How to create a mod and use it with bukkit? 3 - What is the latest version of minecraft? Because a while ago when version 1.5.2 was released, in Thepiratebay already had 1.7. 4 - What is SSP, SMP, SP and MP? 5 - Before everyone created Mods with Modloader, now just with Forge, what happened with ModLoader? That's it D=
  8. Hi guys, i'm making a world type, i tried everything to choose which biomes to spawn on it, but is not working =( For example, on this code, i tried choose only the biome desert: Everything is working except the biomes, is generating all biomes. But I want only the desert, for example. And sorry about my english, im brazilian
  9. I want make a World Type, but i dont want dungeons, mines etc. And I want put my biomes on it.
  10. Ops, im sorry, i make a mistake, its when i change to "p_147424_3_[j3 += short1] = ModTest.BlockSide;" , the world looks like this: http://puu.sh/86v25.jpg D== And i think its something wrong with the blockside, because if I change to "p_147424_3_[j3 += short1] = ModTest.BlockDirte;", its works fine. ( Its all blocks kk ) here all sources: http://puu.sh/86v5H.rar
  11. Here: package com.example.examplemod; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.client.renderer.entity.RenderPlayer; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityList; import net.minecraft.entity.EnumCreatureType; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.world.WorldType; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; @Mod(modid = ModTest.MODID, name = ModTest.MODNAME, version = ModTest.VERSION) public class ModTest { public static final String MODID = "examplemod"; public static final String VERSION = "1.0.0"; public static final String MODNAME = "Modding Tutorial"; public static Block BlockSide; public static Block BlockDirte; public static Block BlockGrasse; public static BiomeGenNovo BiomeNovo; public static CustomWorldType novoMundo; @Instance(MODID) public static ModTest instance; public static CreativeTabs scratchTab = new CreativeTabs("Mod"){ public Item getTabIconItem(){ return Items.emerald; } }; @EventHandler public void init(FMLPreInitializationEvent event){ BlockSide = new BlockSide().setBlockName("teste").setCreativeTab(scratchTab).setBlockTextureName("examplemod:stone"); BlockDirte = new BlockDirte().setBlockName("dirt").setCreativeTab(scratchTab); BlockGrasse = new BlockGrasse().setBlockName("grasse").setCreativeTab(scratchTab).setBlockTextureName("examplemod:grass1"); GameRegistry.registerBlock(BlockSide, "teste"); GameRegistry.registerBlock(BlockDirte, "dirt"); GameRegistry.registerBlock(BlockGrasse, "grasse"); BiomeNovo = new BiomeGenNovo(200); novoMundo = new CustomWorldType("new_world").setGUIName("New World"); registerEntity(EntityTest.class, "entityTest"); NetworkRegistry.INSTANCE.registerGuiHandler(instance, new GUIHandler()); } public static void registerEntity(Class entityClass, String name){ int entityID = EntityRegistry.findGlobalUniqueEntityId(); long seed = name.hashCode(); Random rand = new Random(seed); int primaryColor = rand.nextInt() * 16777215; int secondaryColor = rand.nextInt() * 16777215; EntityRegistry.registerGlobalEntityID(entityClass, name, entityID); EntityRegistry.registerModEntity(entityClass, name, entityID, instance, 64, 1, true); EntityList.entityEggs.put(Integer.valueOf(entityID), new EntityList.EntityEggInfo(entityID, primaryColor, secondaryColor)); } }
  12. I create a WorldType and a ChunckProvider for it. Is working well, but when I change: p_147424_3_[j3 += short1] = Blocks.stone; for it: p_147424_3_[j3 += short1] = ModTest.BlockDirte; The ChunckProvider dont generate the world Take a look on the source code: CustomWorldType.java: package com.example.examplemod; import java.util.Arrays; import java.util.Set; import com.google.common.collect.Sets; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.WorldType; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.biome.BiomeGenOcean; import net.minecraft.world.biome.WorldChunkManager; import net.minecraft.world.biome.WorldChunkManagerHell; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.gen.ChunkProviderGenerate; public class CustomWorldType extends WorldType { String WorldTypeName; BiomeGenBase[] biomesForWorldType = null; public CustomWorldType(String name) { super(name); } public CustomWorldType setGUIName(String name){ WorldTypeName=name; return null; } public WorldChunkManager getChunkManager(World world) { return new WorldChunkManagerHell(ModTest.BiomeNovo, 0.5F); } public IChunkProvider getChunkGenerator(World world, String generatorOptions) { return new ChunkProviderTest(world, world.getSeed(), world.getWorldInfo().isMapFeaturesEnabled()); } public String getTranslateName() { return this.WorldTypeName; } } ChunkProviderTest.java: package com.example.examplemod; import java.util.List; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.BlockFalling; import net.minecraft.entity.EnumCreatureType; import net.minecraft.init.Blocks; import net.minecraft.util.IProgressUpdate; import net.minecraft.util.MathHelper; import net.minecraft.world.ChunkPosition; import net.minecraft.world.SpawnerAnimals; import net.minecraft.world.World; import net.minecraft.world.gen.NoiseGenerator; import net.minecraft.world.WorldType; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.chunk.Chunk; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.gen.MapGenBase; import net.minecraft.world.gen.MapGenCaves; import net.minecraft.world.gen.MapGenRavine; import net.minecraft.world.gen.NoiseGeneratorOctaves; import net.minecraft.world.gen.NoiseGeneratorPerlin; import net.minecraft.world.gen.feature.WorldGenDungeons; import net.minecraft.world.gen.feature.WorldGenLakes; import net.minecraft.world.gen.structure.MapGenMineshaft; import net.minecraft.world.gen.structure.MapGenScatteredFeature; import net.minecraft.world.gen.structure.MapGenStronghold; import net.minecraft.world.gen.structure.MapGenVillage; import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.*; import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.*; import net.minecraftforge.common.*; import cpw.mods.fml.common.eventhandler.Event.*; import net.minecraftforge.event.terraingen.*; public class ChunkProviderTest implements IChunkProvider { /** * RNG. */ private Random rand; private NoiseGeneratorOctaves field_147431_j; private NoiseGeneratorOctaves field_147432_k; private NoiseGeneratorOctaves field_147429_l; private NoiseGeneratorPerlin field_147430_m; /** * A NoiseGeneratorOctaves used in generating terrain */ public NoiseGeneratorOctaves noiseGen5; /** * A NoiseGeneratorOctaves used in generating terrain */ public NoiseGeneratorOctaves noiseGen6; public NoiseGeneratorOctaves mobSpawnerNoise; /** * Reference to the World object. */ private World worldObj; /** * are map structures going to be generated (e.g. strongholds) */ private final boolean mapFeaturesEnabled; private WorldType field_147435_p; private final double[] field_147434_q; private final float[] parabolicField; private double[] stoneNoise = new double[256]; private MapGenMineshaft mineshaftGenerator = new MapGenMineshaft(); private MapGenScatteredFeature scatteredFeatureGenerator = new MapGenScatteredFeature(); private BiomeGenBase[] biomesForGeneration; double[] field_147427_d; double[] field_147428_e; double[] field_147425_f; double[] field_147426_g; int[][] field_73219_j = new int[32][32]; private static final String __OBFID = "CL_00000396"; public ChunkProviderTest(World par1World, long par2, boolean par4) { this.worldObj = par1World; this.mapFeaturesEnabled = par4; this.field_147435_p = par1World.getWorldInfo().getTerrainType(); this.rand = new Random(par2); this.field_147431_j = new NoiseGeneratorOctaves(this.rand, 16); this.field_147432_k = new NoiseGeneratorOctaves(this.rand, 16); this.field_147429_l = new NoiseGeneratorOctaves(this.rand, ; this.field_147430_m = new NoiseGeneratorPerlin(this.rand, 4); this.noiseGen5 = new NoiseGeneratorOctaves(this.rand, 10); this.noiseGen6 = new NoiseGeneratorOctaves(this.rand, 16); this.mobSpawnerNoise = new NoiseGeneratorOctaves(this.rand, ; this.field_147434_q = new double[825]; this.parabolicField = new float[25]; for (int j = -2; j <= 2; ++j) { for (int k = -2; k <= 2; ++k) { float f = 10.0F / MathHelper.sqrt_float((float)(j * j + k * k) + 0.2F); this.parabolicField[j + 2 + (k + 2) * 5] = f; } } NoiseGenerator[] noiseGens = {field_147431_j, field_147432_k, field_147429_l, field_147430_m, noiseGen5, noiseGen6, mobSpawnerNoise}; noiseGens = TerrainGen.getModdedNoiseGenerators(par1World, this.rand, noiseGens); this.field_147431_j = (NoiseGeneratorOctaves)noiseGens[0]; this.field_147432_k = (NoiseGeneratorOctaves)noiseGens[1]; this.field_147429_l = (NoiseGeneratorOctaves)noiseGens[2]; this.field_147430_m = (NoiseGeneratorPerlin)noiseGens[3]; this.noiseGen5 = (NoiseGeneratorOctaves)noiseGens[4]; this.noiseGen6 = (NoiseGeneratorOctaves)noiseGens[5]; this.mobSpawnerNoise = (NoiseGeneratorOctaves)noiseGens[6]; } public void func_147424_a(int p_147424_1_, int p_147424_2_, Block[] p_147424_3_) { byte b0 = 63; this.biomesForGeneration = this.worldObj.getWorldChunkManager().getBiomesForGeneration(this.biomesForGeneration, p_147424_1_ * 4 - 2, p_147424_2_ * 4 - 2, 10, 10); this.func_147423_a(p_147424_1_ * 4, 0, p_147424_2_ * 4); for (int k = 0; k < 4; ++k) { int l = k * 5; int i1 = (k + 1) * 5; for (int j1 = 0; j1 < 4; ++j1) { int k1 = (l + j1) * 33; int l1 = (l + j1 + 1) * 33; int i2 = (i1 + j1) * 33; int j2 = (i1 + j1 + 1) * 33; for (int k2 = 0; k2 < 32; ++k2) { double d0 = 0.125D; double d1 = this.field_147434_q[k1 + k2]; double d2 = this.field_147434_q[l1 + k2]; double d3 = this.field_147434_q[i2 + k2]; double d4 = this.field_147434_q[j2 + k2]; double d5 = (this.field_147434_q[k1 + k2 + 1] - d1) * d0; double d6 = (this.field_147434_q[l1 + k2 + 1] - d2) * d0; double d7 = (this.field_147434_q[i2 + k2 + 1] - d3) * d0; double d8 = (this.field_147434_q[j2 + k2 + 1] - d4) * d0; for (int l2 = 0; l2 < 8; ++l2) { double d9 = 0.25D; double d10 = d1; double d11 = d2; double d12 = (d3 - d1) * d9; double d13 = (d4 - d2) * d9; for (int i3 = 0; i3 < 4; ++i3) { int j3 = i3 + k * 4 << 12 | 0 + j1 * 4 << 8 | k2 * 8 + l2; short short1 = 256; j3 -= short1; double d14 = 0.25D; double d16 = (d11 - d10) * d14; double d15 = d10 - d16; for (int k3 = 0; k3 < 4; ++k3) { if ((d15 += d16) > 0.0D) { p_147424_3_[j3 += short1] = Blocks.stone; } else if (k2 * 8 + l2 < b0) { p_147424_3_[j3 += short1] = Blocks.water; } else { p_147424_3_[j3 += short1] = null; } } d10 += d12; d11 += d13; } d1 += d5; d2 += d6; d3 += d7; d4 += d8; } } } } } public void replaceBlocksForBiome(int p_147422_1_, int p_147422_2_, Block[] p_147422_3_, byte[] p_147422_4_, BiomeGenBase[] p_147422_5_) { ChunkProviderEvent.ReplaceBiomeBlocks event = new ChunkProviderEvent.ReplaceBiomeBlocks(this, p_147422_1_, p_147422_2_, p_147422_3_, p_147422_5_); MinecraftForge.EVENT_BUS.post(event); if (event.getResult() == Result.DENY) return; double d0 = 0.03125D; this.stoneNoise = this.field_147430_m.func_151599_a(this.stoneNoise, (double)(p_147422_1_ * 16), (double)(p_147422_2_ * 16), 16, 16, d0 * 2.0D, d0 * 2.0D, 1.0D); for (int k = 0; k < 16; ++k) { for (int l = 0; l < 16; ++l) { BiomeGenBase biomegenbase = p_147422_5_[l + k * 16]; biomegenbase.genTerrainBlocks(this.worldObj, this.rand, p_147422_3_, p_147422_4_, p_147422_1_ * 16 + k, p_147422_2_ * 16 + l, this.stoneNoise[l + k * 16]); } } } /** * loads or generates the chunk at the chunk location specified */ public Chunk loadChunk(int par1, int par2) { return this.provideChunk(par1, par2); } /** * Will return back a chunk, if it doesn't exist and its not a MP client it will generates all the blocks for the * specified chunk from the map seed and chunk seed */ public Chunk provideChunk(int par1, int par2) { this.rand.setSeed((long)par1 * 341873128712L + (long)par2 * 132897987541L); Block[] ablock = new Block[65536]; byte[] abyte = new byte[65536]; this.func_147424_a(par1, par2, ablock); this.biomesForGeneration = this.worldObj.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, par1 * 16, par2 * 16, 16, 16); this.replaceBlocksForBiome(par1, par2, ablock, abyte, this.biomesForGeneration); Chunk chunk = new Chunk(this.worldObj, ablock, abyte, par1, par2); byte[] abyte1 = chunk.getBiomeArray(); for (int k = 0; k < abyte1.length; ++k) { abyte1[k] = (byte)this.biomesForGeneration[k].biomeID; } chunk.generateSkylightMap(); return chunk; } private void func_147423_a(int p_147423_1_, int p_147423_2_, int p_147423_3_) { double d0 = 684.412D; double d1 = 684.412D; double d2 = 512.0D; double d3 = 512.0D; this.field_147426_g = this.noiseGen6.generateNoiseOctaves(this.field_147426_g, p_147423_1_, p_147423_3_, 5, 5, 200.0D, 200.0D, 0.5D); this.field_147427_d = this.field_147429_l.generateNoiseOctaves(this.field_147427_d, p_147423_1_, p_147423_2_, p_147423_3_, 5, 33, 5, 8.555150000000001D, 4.277575000000001D, 8.555150000000001D); this.field_147428_e = this.field_147431_j.generateNoiseOctaves(this.field_147428_e, p_147423_1_, p_147423_2_, p_147423_3_, 5, 33, 5, 684.412D, 684.412D, 684.412D); this.field_147425_f = this.field_147432_k.generateNoiseOctaves(this.field_147425_f, p_147423_1_, p_147423_2_, p_147423_3_, 5, 33, 5, 684.412D, 684.412D, 684.412D); boolean flag1 = false; boolean flag = false; int l = 0; int i1 = 0; double d4 = 8.5D; for (int j1 = 0; j1 < 5; ++j1) { for (int k1 = 0; k1 < 5; ++k1) { float f = 0.0F; float f1 = 0.0F; float f2 = 0.0F; byte b0 = 2; BiomeGenBase biomegenbase = this.biomesForGeneration[j1 + 2 + (k1 + 2) * 10]; for (int l1 = -b0; l1 <= b0; ++l1) { for (int i2 = -b0; i2 <= b0; ++i2) { BiomeGenBase biomegenbase1 = this.biomesForGeneration[j1 + l1 + 2 + (k1 + i2 + 2) * 10]; float f3 = biomegenbase1.rootHeight; float f4 = biomegenbase1.heightVariation; if (this.field_147435_p == WorldType.AMPLIFIED && f3 > 0.0F) { f3 = 1.0F + f3 * 2.0F; f4 = 1.0F + f4 * 4.0F; } float f5 = this.parabolicField[l1 + 2 + (i2 + 2) * 5] / (f3 + 2.0F); if (biomegenbase1.rootHeight > biomegenbase.rootHeight) { f5 /= 2.0F; } f += f4 * f5; f1 += f3 * f5; f2 += f5; } } f /= f2; f1 /= f2; f = f * 0.9F + 0.1F; f1 = (f1 * 4.0F - 1.0F) / 8.0F; double d13 = this.field_147426_g[i1] / 8000.0D; if (d13 < 0.0D) { d13 = -d13 * 0.3D; } d13 = d13 * 3.0D - 2.0D; if (d13 < 0.0D) { d13 /= 2.0D; if (d13 < -1.0D) { d13 = -1.0D; } d13 /= 1.4D; d13 /= 2.0D; } else { if (d13 > 1.0D) { d13 = 1.0D; } d13 /= 8.0D; } ++i1; double d12 = (double)f1; double d14 = (double)f; d12 += d13 * 0.2D; d12 = d12 * 8.5D / 8.0D; double d5 = 8.5D + d12 * 4.0D; for (int j2 = 0; j2 < 33; ++j2) { double d6 = ((double)j2 - d5) * 12.0D * 128.0D / 256.0D / d14; if (d6 < 0.0D) { d6 *= 4.0D; } double d7 = this.field_147428_e[l] / 512.0D; double d8 = this.field_147425_f[l] / 512.0D; double d9 = (this.field_147427_d[l] / 10.0D + 1.0D) / 2.0D; double d10 = MathHelper.denormalizeClamp(d7, d8, d9) - d6; if (j2 > 29) { double d11 = (double)((float)(j2 - 29) / 3.0F); d10 = d10 * (1.0D - d11) + -10.0D * d11; } this.field_147434_q[l] = d10; ++l; } } } } /** * Checks to see if a chunk exists at x, y */ public boolean chunkExists(int par1, int par2) { return true; } /** * Populates chunk with ores etc etc */ public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { BlockFalling.fallInstantly = true; int k = par2 * 16; int l = par3 * 16; BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(k + 16, l + 16); this.rand.setSeed(this.worldObj.getSeed()); long i1 = this.rand.nextLong() / 2L * 2L + 1L; long j1 = this.rand.nextLong() / 2L * 2L + 1L; this.rand.setSeed((long)par2 * i1 + (long)par3 * j1 ^ this.worldObj.getSeed()); boolean flag = false; MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(par1IChunkProvider, worldObj, rand, par2, par3, flag)); int k1; int l1; int i2; if (TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, LAVA) && !flag && this.rand.nextInt( == 0) { k1 = k + this.rand.nextInt(16) + 8; l1 = this.rand.nextInt(this.rand.nextInt(248) + ; i2 = l + this.rand.nextInt(16) + 8; if (l1 < 63 || this.rand.nextInt(10) == 0) { (new WorldGenLakes(Blocks.lava)).generate(this.worldObj, this.rand, k1, l1, i2); } } boolean doGen = TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, DUNGEON); for (k1 = 0; doGen && k1 < 8; ++k1) { l1 = k + this.rand.nextInt(16) + 8; i2 = this.rand.nextInt(256); int j2 = l + this.rand.nextInt(16) + 8; (new WorldGenDungeons()).generate(this.worldObj, this.rand, l1, i2, j2); } biomegenbase.decorate(this.worldObj, this.rand, k, l); SpawnerAnimals.performWorldGenSpawning(this.worldObj, biomegenbase, k + 8, l + 8, 16, 16, this.rand); k += 8; l += 8; doGen = TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, ICE); for (k1 = 0; doGen && k1 < 16; ++k1) { for (l1 = 0; l1 < 16; ++l1) { i2 = this.worldObj.getPrecipitationHeight(k + k1, l + l1); if (this.worldObj.isBlockFreezable(k1 + k, i2 - 1, l1 + l)) { this.worldObj.setBlock(k1 + k, i2 - 1, l1 + l, Blocks.ice, 0, 2); } if (this.worldObj.func_147478_e(k1 + k, i2, l1 + l, true)) { this.worldObj.setBlock(k1 + k, i2, l1 + l, Blocks.snow_layer, 0, 2); } } } MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Post(par1IChunkProvider, worldObj, rand, par2, par3, flag)); BlockFalling.fallInstantly = false; } /** * Two modes of operation: if passed true, save all Chunks in one go. If passed false, save up to two chunks. * Return true if all chunks have been saved. */ public boolean saveChunks(boolean par1, IProgressUpdate par2IProgressUpdate) { return true; } /** * Save extra data not associated with any Chunk. Not saved during autosave, only during world unload. Currently * unimplemented. */ public void saveExtraData() {} /** * Unloads chunks that are marked to be unloaded. This is not guaranteed to unload every such chunk. */ public boolean unloadQueuedChunks() { return false; } /** * Returns if the IChunkProvider supports saving. */ public boolean canSave() { return true; } /** * Converts the instance data to a readable string. */ public String makeString() { return "RandomLevelSource"; } /** * Returns a list of creatures of the specified type that can spawn at the given location. */ public List getPossibleCreatures(EnumCreatureType par1EnumCreatureType, int par2, int par3, int par4) { BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(par2, par4); return par1EnumCreatureType == EnumCreatureType.monster && this.scatteredFeatureGenerator.func_143030_a(par2, par3, par4) ? this.scatteredFeatureGenerator.getScatteredFeatureSpawnList() : biomegenbase.getSpawnableList(par1EnumCreatureType); } public ChunkPosition func_147416_a(World p_147416_1_, String p_147416_2_, int p_147416_3_, int p_147416_4_, int p_147416_5_) { return null; } public int getLoadedChunkCount() { return 0; } public void recreateStructures(int par1, int par2) { } } And sorry about my english, im brazilian =d
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.