Posted July 27, 201510 yr I'm currently trying to make trees spawn in my world, so I made a new class to write it in (below). package com.PSmithgamer.Alkia.WorldGeneration; import java.util.Random; import net.minecraft.init.Blocks; import net.minecraft.util.BlockPos; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; public class WorldGenTree extends WorldGenerator{ public boolean generate1(World par1World, Random par2Random, int par3, int par4, int par5) { while (par1World.isAirBlock(pos(par3, par4, par5)) && par4 > 2) { --par4; } par1World.setBlockState(pos(par3, par4, par5), Blocks.log.getDefaultState()); par1World.setBlockState(pos(par3, par4+1, par5), Blocks.log.getDefaultState()); par1World.setBlockState(pos(par3,par4+2,par5), Blocks.log.getDefaultState()); return true; } private BlockPos pos(int par3, int par4, int par5) { BlockPos pos = new BlockPos(par3, par4, par5); return null; } } It keeps coming up with errors, and I'm really confused by it. I know the code might not be very efficient, I'm still fairly new so if its something really easy and I'm missing it - sorry. The error is connected to the class name (public class WorldGenTree extends WorldGenerator), "The type WorldGenTree must implement the inherited abstract method WorldGenerator.generate(World, Random, BlockPos)" Below is also the file I actually generate it in. package com.PSmithgamer.Alkia.WorldGeneration; import java.util.Random; import com.PSmithgamer.Alkia.init.AlkiaBlocks; import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; import net.minecraft.util.BlockPos; import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.gen.feature.WorldGenMinable; import net.minecraftforge.fml.common.IWorldGenerator; public class WorldOreGen implements IWorldGenerator { @Override public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator,IChunkProvider chunkProvider) { switch(world.provider.getDimensionId()){ case -1: GeneratorNether(world, chunkX * 16, chunkZ * 16, random); break; case 0: GeneratorOverworld(world, chunkX * 16, chunkZ * 16, random); break; case 1: GeneratorEnd(world, chunkX * 16, chunkZ * 16, random); break; } } private void addOre(Block block, Block blockspawn, Random random, World world, int posX, int posZ, int minY, int maxY, int minVain, int maxVain, int spawnChance) { for(int i = 0; i < spawnChance; i++) { int defaultChunkSize = 16; int Xpos = posX + random.nextInt(defaultChunkSize); int Ypos = minY + random.nextInt(maxY - minY); int Zpos = posZ + random.nextInt(defaultChunkSize); IBlockState state = block.getDefaultState(); BlockPos blockPos = new BlockPos(Xpos, Ypos, Zpos); new WorldGenMinable(state, maxVain).generate(world, random, blockPos); } } private void addtree(Block blockspawn, Random random, World world, int posX, int posZ, int spawnChance) { int defaultChunkSize = 16; int Xpos = posX + random.nextInt(defaultChunkSize); int Ypos = random.nextInt(80); int Zpos = posZ + random.nextInt(defaultChunkSize); (new WorldGenTree()).generate1(world, random, Xpos, Ypos, Zpos); } private void GeneratorEnd(World world, int i, int j, Random random) { } private void GeneratorOverworld(World world, int i, int j, Random random) { addOre(AlkiaBlocks.sodalite_ore, net.minecraft.init.Blocks.stone, random, world, i, j, 10, 45, 4, 10, 20); addtree(net.minecraft.init.Blocks.air, random, world, i, j, 50); } private void GeneratorNether(World world, int i, int j, Random random) { } }
July 27, 201510 yr Hint of The day :learn Java. Google The error and you should find around 3k answers
July 27, 201510 yr Author Hint of The day :learn Java. Google The error and you should find around 3k answers Already currently learning it :3
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.