Posted September 7, 201510 yr 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!
September 7, 201510 yr 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
September 7, 201510 yr Author yes... if someone bothers to edit my code, I would greatly appreciate it, i dont know how make this...
September 7, 201510 yr Author 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"); } } }
September 7, 201510 yr 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
September 7, 201510 yr 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.
September 7, 201510 yr Author 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
September 7, 201510 yr 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
September 7, 201510 yr Author but this no help me because i don't know how edit the code,i don't know program anything
September 7, 201510 yr 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.
September 7, 201510 yr Author maybe someone already has something similar to what I want or can spend a tutorial
September 7, 201510 yr If you want to learn how to generate blocks on the surface look in WorldGenTallGrass to see how it is done there.
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.