Posted December 20, 20186 yr So Yesterday I had my ore generating just fine. Today I tried adding another block to the list of blocks to generate. They stopped generating. I tried taking it back out and they still didn't work. I don't know if I accidentally messed up something else, but here's my code: package mineqwerty.diamines.worldgen; import java.util.Random; import mineqwerty.diamines.init.ModBlocks; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.gen.feature.WorldGenMinable; import net.minecraft.world.gen.feature.WorldGenerator; import net.minecraftforge.fml.common.IWorldGenerator; public class OreGen implements IWorldGenerator{ //World generation private WorldGenerator dark_iron_overworld; private WorldGenerator light_diamond_overworld; private WorldGenerator diamine_overworld; public OreGen() { dark_iron_overworld = new WorldGenMinable(ModBlocks.darkironore.getDefaultState(), 3); light_diamond_overworld = new WorldGenMinable(ModBlocks.lightdiamondore.getDefaultState(), 3); diamine_overworld = new WorldGenMinable(ModBlocks.diamine.getDefaultState(), 8); } private void runGenerator(WorldGenerator generator, World world, Random rand, int chunk_X, int chunk_Z, int chancesToSpawn, int minHeight, int maxHeight) { if (minHeight < 0 || maxHeight > 256 || minHeight > maxHeight) throw new IllegalArgumentException("Illegal Height Arguments for WorldGenerator"); int heightDiff = maxHeight - minHeight + 1; for (int i = 0; i < chancesToSpawn; i ++) { int x = chunk_X * 16 + rand.nextInt(16); int y = minHeight + rand.nextInt(heightDiff); int z = chunk_Z * 16 + rand.nextInt(16); generator.generate(world, rand, new BlockPos(x, y, z)); } } @Override public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) { switch(world.provider.getDimension()){ case 0: this.runGenerator(dark_iron_overworld, world, random, chunkX, chunkZ, 3, 0, 16); this.runGenerator(light_diamond_overworld, world, random, chunkX, chunkZ, 3, 0, 16); this.runGenerator(diamine_overworld, world, random, chunkX, chunkZ, 3, 0, 16); } } }
December 20, 20186 yr The code you've provided looks mostly fine apart from the switch statement but that's my preference. Could you please provide more of your code, preferrably as a git repository?
December 20, 20186 yr Author The only other place I think its referenced is the commonproxy (idk if i did this right so the code is also below) https://github.com/Mineqwerty/code/blob/master/CommonProxy.java package mineqwerty.diamines.proxy; import mineqwerty.diamines.reference; import mineqwerty.diamines.tileentity.TileEntityEssenceExtractinator; import mineqwerty.diamines.worldgen.OreGen; import net.minecraftforge.fml.common.registry.GameRegistry; public class CommonProxy { public void init() { GameRegistry.registerWorldGenerator(new OreGen(), 0); } public void registerTileEntities() { GameRegistry.registerTileEntity(TileEntityEssenceExtractinator.class, reference.MODID + ":EssenceExtractinator"); } public void registerRenders() { } } Edited December 20, 20186 yr by Blaze0025_
December 21, 20186 yr 10 hours ago, Blaze0025_ said: The only other place I think its referenced is the commonproxy Well first and foremost a CommonProxy makes no sense. Proxies exist to separate sided-only code. If your code is common it goes anywhere but your proxy. Your issue might be caused by the fact that you have a Common Proxy but since you didn't provide any more code I can't tell for sure.
December 21, 20186 yr Author well heh that would explain it. moved it to my main class and it works fine, thanks for the help (sorry i'm so dense lol)
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.