Hi fellow forgers (ha ha, see what I did there?) Anyway, I recently started coding with forge and made my first attempt at ore generation (I was following a tutorial for guidance.) It failed. The ore does not generate, even with the obscure numbers I have set. Any help is appreciated.
Below is my ore generation class.
package com.DeadEnd78.block;
import java.util.Random;
import com.DeadEnd78.Main.MainRegistry;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.feature.WorldGenMinable;
import cpw.mods.fml.common.IWorldGenerator;
public class withiumOreGeneration implements IWorldGenerator {
@Override
public void generate(Random random, int chunkX, int chunkZ, World world,
IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
switch(world.provider.dimensionId) {
case -1:
generateInNether(world, random, chunkX*16, chunkZ*16);
break;
case 0:
generateInOverworld(world, random, chunkX*16, chunkZ*16);
break;
case 1:
generateInEnd(world, random, chunkX*16, chunkZ*16);
}
}
private void generateInEnd(World world, Random random, int x, int z) {
// TODO Auto-generated method stub
}
private void generateInOverworld(World world, Random random, int x, int z) {
// TODO Auto-generated method stub
for (int i = 0; i < 25; i++) { // means set i = 0, then if its less than 25 keep adding one to i
int chunkX = x + random.nextInt(16);
int chunkY = random.nextInt(256);
int chunkZ = z + random.nextInt(16);
new WorldGenMinable(MainRegistry.withiumOre, 50).generate(world, random, chunkX, chunkY, chunkZ);
}
}
private void generateInNether(World world, Random random, int x, int z) {
// TODO Auto-generated method stub
}
}
Next is my main registry (I know it is messy)
package com.DeadEnd78.Main;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import com.DeadEnd78.lib.RefStrings;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
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;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import com.DeadEnd78.block.*;
@Mod (modid = RefStrings.MODID , name = RefStrings.NAME , version = RefStrings.VERSION)
public class MainRegistry {
@SidedProxy(clientSide = RefStrings.CLIENTSIDE, serverSide = RefStrings.SERVERSIDE)
public static ServerProxy proxy;
@Instance(value="growaspell")
public static MainRegistry instance;
public static CreativeTabs gasTab = new CreativeTabs("Grow a Spell"){
@Override
@SideOnly(Side.CLIENT)
public Item getTabIconItem(){
return Items.stick;
}
};
public static withiumOreGeneration withiumWorldGen;
public static Block withiumOre;
public static Item withiumOreItem;
@EventHandler
public static void PreLoad(FMLPreInitializationEvent PreEvent) {
proxy.registerRenderInfo();
withiumOre = new withiumOreBlock(Material.rock).setBlockName("WithiumOre").setCreativeTab(MainRegistry.gasTab).setBlockTextureName("growaspell:withiumOre");
withiumOreItem = new withiumOreItem().setUnlocalizedName("WithiumShard").setCreativeTab(MainRegistry.gasTab).setTextureName("");
withiumWorldGen = new withiumOreGeneration();
GameRegistry.registerItem(withiumOreItem, "Withium Shard");
GameRegistry.registerBlock(withiumOre, "Withium Ore");
GameRegistry.registerWorldGenerator(withiumWorldGen, 1);
}
Much love, Dead <3