Posted April 5, 201312 yr Hey everyone, I'm working on a mod and I'm on the world generation part. The issue I'm having is the way the mod will work is that I need to replace a majority of generic stone with some of my custom stone. The problem is that the only way i know how to generate it is like normal ores, but in such huge amounts that most of it replaces the stone. This is making world gen take a very long time so I'm wondering of there's a simpler way to do this because I can't find anything anywhere else. Thanks!
April 5, 201312 yr check out this page, look at Step Four Part D. Yes, my ideas can be naive. But I'm hoping that speaking my mind will inspire those who know what they are doing!
April 5, 201312 yr Author check out this page, look at Step Four Part D. Sorry, but did you forgot to add a link? There's nothing to click on.
April 5, 201312 yr /facepalm http://www.planetminecraft.com/blog/the-dummys-guide-to-modding---from-setup-to-advanced-1152101/ Yes, my ideas can be naive. But I'm hoping that speaking my mind will inspire those who know what they are doing!
April 5, 201312 yr First off, the link elantzb provided is very helpful for getting the basic world gen working, so this is kind of assuming you understand that. How I'm going about world gen is through these two files: https://github.com/Malorolam/Carbonization/blob/master/mal/carbonization/WorldgeneratorCarbonization.java https://github.com/Malorolam/Carbonization/blob/master/mal/carbonization/CarbonizationGenMinable.java and adding GameRegistry.registerWorldGenerator(new WorldgeneratorCarbonization()); to your main mod file. WorldgeneratorCarbonization is what Minecraft uses to generate things after Forge tells it that it exists with the register function, with CarbonizationGenMinable being a modified copy of WorldGenMinable. You don't need your own gen class, I have one because I had to change the gen rules a little bit for my fuels. The important part of the code for your question is for(int i = 0; i<diff;i++) { int Xcoord = blockX + random.nextInt(16); int Ycoord = yMin + random.nextInt(yDiff); int Zcoord = blockZ + random.nextInt(16); (new CarbonizationGenMinable(carbonization.instance.fuelBlock.blockID, meta, genSize, diff)).generateStone(world, random, Xcoord, Ycoord, Zcoord); } The WorldGenMinable version of the last line is parametrized exactly the same as mine. To increase the amount of the block that spawns in one vein, just increase genSize. To increase the number of veins in a chunk, diff is what you increase. Keep in mind that how the gen works is nested for loops, so you want to avoid going too crazy with those values or there will be lag everytime a new chunk is generated. From my own tweaking, using a genSize of 50 and a diff of 5 or 6 should give you a large amount of generation, although I would probably favour smaller veins with a higher diff value.
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.