Posted January 10, 20169 yr I tried to make my ores generate in a new world. Although the values are even higher than the ones from coal ore, I can't find the ore. This is my world generator: package XFactHD.thermalreactors.common.world; import XFactHD.thermalreactors.common.TRContent; import cpw.mods.fml.common.IWorldGenerator; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.gen.feature.WorldGenMinable; import net.minecraft.world.gen.feature.WorldGenerator; import java.util.Random; public class TROreGen implements IWorldGenerator { private WorldGenerator genOreUranium; private WorldGenerator genOreZirconium; private WorldGenerator genOreBoron; public TROreGen() { this.genOreBoron = new WorldGenMinable(TRContent.blockOre, 3, 16, Blocks.stone); this.genOreUranium = new WorldGenMinable(TRContent.blockOre, 1, 16, Blocks.stone); this.genOreZirconium = new WorldGenMinable(TRContent.blockOre, 2, 16, Blocks.stone); } @Override public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) { switch (world.provider.dimensionId) { case 0: //Overworld this.runGenerator(this.genOreBoron, world, random, chunkX, chunkZ, 50, 0, 128); this.runGenerator(this.genOreUranium, world, random, chunkX, chunkZ, 50, 0, 128); this.runGenerator(this.genOreZirconium, world, random, chunkX, chunkZ, 50, 0, 128); break; case -1: //Nether break; case 1: //End break; } } 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, x, y, z); } } } The generator is registered in the common proxy in FMLInitializationEvent. Am I just not searching long enough or am I doing something wrong?
January 10, 20169 yr I realize this has nothing to do with your question, but what is with people moving all of their FML event code into the common proxy? All I can figure is that you guys all read some tutorial where the author did that "for reasons" that were never explained just because it was their style. Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
January 10, 20169 yr I am orienting myself on other modders and their code on github, but actually you are right, we are just doing it because someone said it.
January 10, 20169 yr Set breakpoints in the methods you think are relevant, and then run in the debugger to see what's happening. If the ores appear to be generating somewhere, write down the block coords and then go see what's actually there. The debugger is a powerful and necessary tool in any IDE, so learn how to use it. You'll be able to tell us more and get better help here if you investigate your runtime problems in the debugger before posting.
January 11, 20169 yr I tried putting some log output of the coordinates into the runGenerator() method and it still didn't work, then I put the registration in the main mod class and it worked. Seems that my proxy is broken or I am being to dump to fire the start-up events in the proxy. Anyway, it works now. Thank you all for your help.
January 11, 20169 yr Aha, for methods in CommonProxy to always execute, you must make sure that ClientProxy and (in your case) ServerProxy call their supers from any methods that they override. Otherwise the overrides intercept the calls so that they never reach common. Welcome to O-O programming The debugger is a powerful and necessary tool in any IDE, so learn how to use it. You'll be able to tell us more and get better help here if you investigate your runtime problems in the debugger before posting.
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.