I know this has been asked before but after using advice in different threads I finally created a new generator class that compiled with no errors but it makes my client Black-screen on load... the mod works fine before i added the generation code.
[spoiler=Generator Class]
package net.minecraft.src;
import java.util.Random;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
import cpw.mods.fml.common.IWorldGenerator;
public class OreGeneration implements IWorldGenerator
{
@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
{
switch(world.provider.dimensionId)
{
case 1: generateEnd(world, random, chunkX * 16, chunkZ * 16);
break;
case 0: generateOverworld(world, random, chunkX * 16, chunkZ * 16);
break;
case -1: generateNether(world, random, chunkX * 16, chunkZ * 16);
break;
}
}
private void generateNether(World world, Random random, int X, int Z)
{
for(int i = 0; i < 1; i++)
{
int randX = X + random.nextInt(16);
int randY = random.nextInt(20);
int randZ = Z + random.nextInt(16);
(new WorldGenMinableNether(mod_soliteOre.block.blockID, 1)).generate(world, random, randX, randY, randZ);
}
}
private void generateOverworld(World world, Random random, int X, int Z)
{
}
private void generateEnd(World world, Random random, int X, int Z)
{
}
}
and then the ore that i want to generate in the nether:
[spoiler=Ore Class]
package net.minecraft.src;
import cpw.*;
import cpw.mods.*;
import cpw.mods.fml.*;
import cpw.mods.fml.client.*;
import cpw.mods.fml.client.modloader.*;
import cpw.mods.fml.client.registry.*;
import cpw.mods.fml.common.*;
import cpw.mods.fml.common.asm.*;
import cpw.mods.fml.common.asm.transformers.*;
import cpw.mods.fml.common.discovery.*;
import cpw.mods.fml.common.discovery.asm.*;
import cpw.mods.fml.common.event.*;
import cpw.mods.fml.common.functions.*;
import cpw.mods.fml.common.modloader.*;
import cpw.mods.fml.common.network.*;
import cpw.mods.fml.common.registry.*;
import cpw.mods.fml.common.toposort.*;
import cpw.mods.fml.common.versioning.*;
import cpw.mods.fml.relauncher.*;
import cpw.mods.fml.server.*;
import ibxm.*;
import net.*;
import net.minecraft.*;
import net.minecraft.block.*;
import net.minecraft.block.material.*;
import net.minecraft.client.*;
import net.minecraft.client.audio.*;
import net.minecraft.client.entity.*;
import net.minecraft.client.gui.*;
import net.minecraft.client.gui.achievement.*;
import net.minecraft.client.gui.inventory.*;
import net.minecraft.client.model.*;
import net.minecraft.client.multiplayer.*;
import net.minecraft.client.particle.*;
import net.minecraft.client.renderer.*;
import net.minecraft.client.renderer.culling.*;
import net.minecraft.client.renderer.entity.*;
import net.minecraft.client.renderer.texturefx.*;
import net.minecraft.client.renderer.tileentity.*;
import net.minecraft.client.settings.*;
import net.minecraft.client.texturepacks.*;
import net.minecraft.command.*;
import net.minecraft.crash.*;
import net.minecraft.creativetab.*;
import net.minecraft.dispenser.*;
import net.minecraft.enchantment.*;
import net.minecraft.entity.*;
import net.minecraft.entity.ai.*;
import net.minecraft.entity.boss.*;
import net.minecraft.entity.effect.*;
import net.minecraft.entity.item.*;
import net.minecraft.entity.monster.*;
import net.minecraft.entity.passive.*;
import net.minecraft.entity.player.*;
import net.minecraft.entity.projectile.*;
import net.minecraft.inventory.*;
import net.minecraft.item.*;
import net.minecraft.item.crafting.*;
import net.minecraft.nbt.*;
import net.minecraft.network.*;
import net.minecraft.network.packet.*;
import net.minecraft.network.rcon.*;
import net.minecraft.pathfinding.*;
import net.minecraft.potion.*;
import net.minecraft.profiler.*;
import net.minecraft.server.*;
import net.minecraft.server.dedicated.*;
import net.minecraft.server.gui.*;
import net.minecraft.server.integrated.*;
import net.minecraft.server.management.*;
import net.minecraft.src.*;
import net.minecraft.stats.*;
import net.minecraft.tileentity.*;
import net.minecraft.util.*;
import net.minecraft.village.*;
import net.minecraft.world.*;
import net.minecraft.world.biome.*;
import net.minecraft.world.chunk.*;
import net.minecraft.world.chunk.storage.*;
import net.minecraft.world.demo.*;
import net.minecraft.world.gen.*;
import net.minecraft.world.gen.feature.*;
import net.minecraft.world.gen.layer.*;
import net.minecraft.world.gen.structure.*;
import net.minecraft.world.storage.*;
import net.minecraftforge.*;
import net.minecraftforge.classloading.*;
import net.minecraftforge.client.*;
import net.minecraftforge.client.event.*;
import net.minecraftforge.client.event.sound.*;
import net.minecraftforge.common.*;
import net.minecraftforge.event.*;
import net.minecraftforge.event.entity.*;
import net.minecraftforge.event.entity.item.*;
import net.minecraftforge.event.entity.living.*;
import net.minecraftforge.event.entity.minecart.*;
import net.minecraftforge.event.entity.player.*;
import net.minecraftforge.event.terraingen.*;
import net.minecraftforge.event.world.*;
import net.minecraftforge.liquids.*;
import net.minecraftforge.oredict.*;
import net.minecraftforge.transformers.*;
import paulscode.*;
import paulscode.sound.*;
import paulscode.sound.codecs.*;
import java.util.Random;
public class mod_soliteOre extends BaseMod{
public mod_soliteOre(){}
public static BlockSoliteOre block;
public void load(){
ModLoader.registerBlock(block);
ModLoader.addName(block, "Solite Ore");
GameRegistry.registerWorldGenerator(new OreGeneration());
}
public String getVersion(){
return "1.0";
}
static{
block = (BlockSoliteOre)(new BlockSoliteOre(173, 1).setHardness(50.0F)
.setResistance(50.0F)
.setLightValue(0.0F)
.setBlockName("Solite Ore")
.setLightOpacity(0)
.setStepSound(Block.soundStoneFootstep)
.setCreativeTab(CreativeTabs.tabBlock)
.setRequiresSelfNotify()
);block.blockIndexInTexture=block.a1;
block.setBlockBounds(0.0F,0.0F,0.0F,1.0F,1.0F,1.0F);
MinecraftForge.setBlockHarvestLevel(block, "pickaxe", 0);
}
public void generateNether(World world, java.util.Random rand, int chunkX, int chunkZ){
for(int i = 0; i < 1; i++){
int randPosX = chunkX + rand.nextInt(16);
int randPosY = rand.nextInt(44)+0;
int randPosZ = chunkZ + rand.nextInt(16);
(new WorldGenMinableNether(mod_soliteOre.block.blockID, 16)).generate(world, rand, randPosX, randPosY, randPosZ);
}
}
static class BlockSoliteOre extends Block
{
int a1 = 0,a2 = 0,a3 = 0,a4 = 0,a5 = 0,a6 = 0;
boolean red = false;
protected BlockSoliteOre(int i, int j)
{
super(i, j, Material.iron);
a1 = 7;
a2 = 7;
a3 = 7;
a4 = 7;
a5 = 7;
a6 = 7;
}
public boolean isPoweringTo(IBlockAccess blockAccess, int i, int j, int k, int l){
return red;
}
public int getBlockTextureFromSide(int i){
if (i == 0)
return a1;
else if (i == 1)
return a2;
else if (i == 2)
return a3;
else if (i == 3)
return a4;
else if (i == 4)
return a5;
else if (i == 5)
return a6;
else
return a1;
}
public String getTextureFile(){return "/gemstones.png";}
public int getRenderType(){
return 0;
}
public int tickRate()
{
return 10;
}
public int quantityDropped(Random par1Random){
return 1;
}
public int idDropped(int par1, Random par2Random, int par3){
return mod_solitePowder.block.itemID;
}
}
}
why is this crashing my client? and how do i fix it?
it doesnt drop a log, but i tried using the "test" feature in MCPatcher (I don't normally launch my client with MCPatcher)
this is what the log says from there:
[spoiler=On Launch]