goodmanalex Posted September 7, 2015 Share Posted September 7, 2015 hello! How I can edit the code to generate blocks on top grass on the surface? 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); System.out.printf("Cosa generada veinti"); } } pss edit my code, many thanks! Quote Link to comment Share on other sites More sharing options...
Failender Posted September 7, 2015 Share Posted September 7, 2015 u will need to find the surface block, I am not sure if vanilla has a method for that, or if u need to iterate over the blocks in the world until u find a grass block. after that add 1 to the y pos and u are above the grass Quote Link to comment Share on other sites More sharing options...
goodmanalex Posted September 7, 2015 Author Share Posted September 7, 2015 yes... if someone bothers to edit my code, I would greatly appreciate it, i dont know how make this... Quote Link to comment Share on other sites More sharing options...
Failender Posted September 7, 2015 Share Posted September 7, 2015 show ur attempts, ask specific questions Quote Link to comment Share on other sites More sharing options...
goodmanalex Posted September 7, 2015 Author Share Posted September 7, 2015 i use the last code for the ores generator, but i need make a replicate the same code for generate blocks on the surface and on top the grass block this is the .java package com.colorescraftmod.principal.items; import java.util.Random; import net.minecraft.block.Block; 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 cpw.mods.fml.common.IWorldGenerator; public class ModWorldGen implements IWorldGenerator { private WorldGenerator multiore; //Generates Multi Ore (used in Overworld) public ModWorldGen() { this.multiore = new WorldGenSingleMinable(ModItems.multiore); // this.gen_cobblestone = new WorldGenMinable(Blocks.cobblestone, 16, Blocks.end_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.gen_multi_ore, world, random, chunkX, chunkX, 20, 0, 64); this.runGenerator(this.multiore, world, random, chunkX, chunkZ, 1120, 0, 254); 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); System.out.printf("Cosa generada veinti"); } } } Quote Link to comment Share on other sites More sharing options...
Failender Posted September 7, 2015 Share Posted September 7, 2015 so u have copy pasted code from TheBedrockMiner. Quote Link to comment Share on other sites More sharing options...
goodmanalex Posted September 7, 2015 Author Share Posted September 7, 2015 yes... but you can help me? xDD Quote Link to comment Share on other sites More sharing options...
Failender Posted September 7, 2015 Share Posted September 7, 2015 not until u understood what hes doing there and are able to ask me a specific question. im not gonna write ur mod 4 u Quote Link to comment Share on other sites More sharing options...
Atomos Posted September 7, 2015 Share Posted September 7, 2015 Are you creating a surface ore? If you are than perhaps you could create a method for your y coordinate that creates a blockPos list of all the blocks in the x z area that is randomized by your code, then iterate through it till the block type is grass, then add 1, and you should have it. Just a suggestion. Also, please know what you are saying before you post, it really helps everyone else. Quote Link to comment Share on other sites More sharing options...
goodmanalex Posted September 7, 2015 Author Share Posted September 7, 2015 only need a function for generate blocks on the surface... is only edit the last code... no make all the code i don't know program anything :C Quote Link to comment Share on other sites More sharing options...
Failender Posted September 7, 2015 Share Posted September 7, 2015 the code u posted is not even urs. study more and come back with a question Quote Link to comment Share on other sites More sharing options...
goodmanalex Posted September 7, 2015 Author Share Posted September 7, 2015 my question is on my first post... Quote Link to comment Share on other sites More sharing options...
Failender Posted September 7, 2015 Share Posted September 7, 2015 u will need to find the surface block, I am not sure if vanilla has a method for that, or if u need to iterate over the blocks in the world until u find a grass block. after that add 1 to the y pos and u are above the grass and i answered that Quote Link to comment Share on other sites More sharing options...
goodmanalex Posted September 7, 2015 Author Share Posted September 7, 2015 but this no help me because i don't know how edit the code,i don't know program anything Quote Link to comment Share on other sites More sharing options...
Failender Posted September 7, 2015 Share Posted September 7, 2015 we wont write ur mod 4 u. If u want to write ur own mod learn java. then come back. or find some1 u can pay to write ur mod. but dont expect us to help u without u learning java. Quote Link to comment Share on other sites More sharing options...
goodmanalex Posted September 7, 2015 Author Share Posted September 7, 2015 maybe someone already has something similar to what I want or can spend a tutorial Quote Link to comment Share on other sites More sharing options...
Jedispencer21 Posted September 7, 2015 Share Posted September 7, 2015 If you want to learn how to generate blocks on the surface look in WorldGenTallGrass to see how it is done there. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.