Posted May 6, 201411 yr I need help with my Ore code I changed it to make it spawn more. I put the ore vain size from 4 - 8 and it spawns a lot of them and sometimes it generates 1 please help Here is my code MoreEverythingWorldGenerator.java package com.MoreEverything.Main; import cpw.mods.fml.common.IWorldGenerator; import com.MoreEverything.World.RubyOre; import com.MoreEverything.World.TinOre; 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 java.util.Random; /** * mcmodtutorial * <p/> * TutorialWorldGenerator * * @Author Martijn Woudstra */ public class MoreEverythingWorldGenerator implements IWorldGenerator { /** * Method to get what world we are generating. * For each case, we can have a different generator (0 = overworld, 1 = end, -1 = nether) * We multiply chunkX by 16, to change the 'chunknumber' to an actual coordinate. */ @Override public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) { switch(world.provider.dimensionId) { case 0: generateSurface(random, chunkX*16, chunkZ*16, world); break; case 1: generateEnd(random, chunkX*16, chunkZ*16, world); break; case -1: generateNether(random, chunkX*16, chunkZ*16, world); break; default:; } } /** * This is where you add your blocks to spawn for the overworld. * call addOreSpawn, and give these parameters: * Block: Block to generate * World: world var (see params) * Random: a random (see params) * ChunkX: The x coordinate of a chunk (see params) * ChunkZ: The z coordinate of a chunk (see params) * minVainSize: Minimal vain size * maxVainSize: The max vain size * chanceToSpawn: The chance to spawn. Dont make this extreme like 1000, keep it around at most 50, or your world wont load. * minY: Lowest point to spawn * maxY: Highest point to spawn. * * Nether and End go the same way */ public void generateSurface(Random random, int chunkX, int chunkZ, World world) { addOreSpawn(RubyOre.RubyOre, world, random, chunkX, chunkZ, 4, 8, 10, 40, 120); addOreSpawn(TinOre.TinOre, world, random, chunkX, chunkZ, 6, 10, 15, 40, 150); } public void generateEnd(Random random, int chunkX, int chunkZ, World world) { //Add End Generation } public void generateNether(Random random, int chunkX, int chunkZ, World world) { //Add Nether Generation } /** * * This method adds our block to the world. * It randomizes the coordinates, and does that as many times, as defined in spawnChance. * Then it gives all the params to WorldGenMinable, which handles the replacing of the ores for us. * *@param block The block you want to spawn *@param world The world *@param blockXPos the blockXpos of a chunk *@param blockZPos the blockZpos of a chunk *@param maxVainSize max vain *@param chancesToSpawn the chance to spawn. Usually around 2 *@param minY lowest point to spawn *@param maxY highest point to spawn */ public void addOreSpawn(Block block, World world, Random random, int blockXPos, int blockZPos, int minVainSize, int maxVainSize, int chancesToSpawn, int minY, int maxY ) { for(int i = 0; i < chancesToSpawn; i++) { int posX = blockXPos + random.nextInt(16); int posY = minY + random.nextInt(maxY - minY); int posZ = blockZPos + random.nextInt(16); new WorldGenMinable(block, (minVainSize + random.nextInt(maxVainSize - minVainSize)), Blocks.stone).generate(world, random, posX, posY, posZ); } } public static void mainRegistry() { // TODO Auto-generated method stub } } RubyOre.java package com.MoreEverything.World; import com.MoreEverything.Main.MoreEverythingWorldGenerator; import com.MoreEverything.block.RubyOreBlock; import com.MoreEverything.lib.Strings; import cpw.mods.fml.common.IWorldGenerator; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; public class RubyOre { public static void mainRegistry(){ registerBlock(); initialiseBlock(); initialiseWorldGen(); } public static void initialiseWorldGen(){ registerWorldGen(new MoreEverythingWorldGenerator(), 1); } public static void registerWorldGen(IWorldGenerator worldGenClass, int weightedProberblity){ GameRegistry.registerWorldGenerator(worldGenClass, weightedProberblity); } public static Block RubyOre; public static void initialiseBlock(){ RubyOre = new RubyOreBlock(Material.ground).setBlockName("RubyOre").setCreativeTab(CreativeTabs.tabBlock).setBlockTextureName(Strings.MODID + ":RubyOre"); } public static void registerBlock(){ GameRegistry.registerBlock(RubyOre, RubyOre.getUnlocalizedName()); } } TinOre.java package com.MoreEverything.World; import com.MoreEverything.Main.MoreEverythingWorldGenerator; import com.MoreEverything.block.TinOreBlock; import com.MoreEverything.lib.Strings; import cpw.mods.fml.common.IWorldGenerator; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; public class TinOre { public static void mainRegistry(){ initialiseBlock(); initialiseWorldGen(); registerBlock(); } public static void initialiseWorldGen(){ registerWorldGen(new MoreEverythingWorldGenerator(), 2); } public static void registerWorldGen(IWorldGenerator worldGenClass, int weightedProberblity){ GameRegistry.registerWorldGenerator(worldGenClass, weightedProberblity); } public static Block TinOre; public static void initialiseBlock(){ TinOre = new TinOreBlock(Material.ground).setBlockName("TinOre").setCreativeTab(CreativeTabs.tabBlock).setBlockTextureName(Strings.MODID + ":TinOre"); } public static void registerBlock(){ GameRegistry.registerBlock(TinOre, TinOre.getUnlocalizedName()); } } MainRegistry.java package com.MoreEverything.Main; import com.MoreEverything.World.RubyOre; import com.MoreEverything.World.TinOre; import com.MoreEverything.Main.MoreEverythingWorldGenerator; import com.MoreEverything.item.Ruby; import com.MoreEverything.lib.Strings; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; @Mod(modid = Strings.MODID, name = Strings.name, version = Strings.version) public class MainRegistry { @SidedProxy(clientSide = "com.MoreEverything.Main.ClientProxy", serverSide = "com.MoreEverything.Main.ServerProxy") public static ServerProxy proxy; /** * Loads before * @param PreEvent */ @EventHandler public static void PreLoad(FMLPreInitializationEvent PreEvent){ //Items Ruby.mainRegistry(); //Ore RubyOre.mainRegistry(); TinOre.mainRegistry(); //Proxy's proxy.registerRenderThings(); //WorldOre MoreEverythingWorldGenerator.mainRegistry(); } /** * Loads during * @param event */ @EventHandler public static void Load(FMLInitializationEvent event){ } /** * Loads after * @param PostEvent */ @EventHandler public static void PostLoad(FMLPostInitializationEvent PostEvent){ } } -------------------------------------------------- Also can you help me with my ore dropping random items I really like the idea and think it would be cool
May 6, 201411 yr I have this same problem whenever i try to do ores. I just set it up with tje settings i want and leave it at that. All my attempts to figure it out end up at a dead end. Maybe you can figure it out and if so then i will be taking notes myself.
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.