Here's all the classes I think would matter.
[code/]
package myMinecraftMod.tutorial;
import myMinecraftMod.tutorial.Blocks.Cellulos;
import myMinecraftMod.tutorial.Items.CellulosItem;
import myMinecraftMod.tutorial.Recipies.Crafting;
import myMinecraftMod.tutorial.WorldGen.EventManager;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
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;
@Mod(modid = Tutorial.MODID, version = Tutorial.VERSION)
public class Tutorial
{
public static final String MODID = "tutorial";
public static final String VERSION = "1.0";
public static Item cellulosItem;
public static Block cellulosBlock;
public static Item cellulosplankItem;
public static Block cellulosplankBlock;
public EventManager eventManager;
@EventHandler
public void init(FMLInitializationEvent event)
{
}
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
//loads all new blocks/items
cellulosBlock = new Cellulos(Material.wood).setBlockName("cellulosblock").setHardness(2.0F).setStepSound(new Block.SoundType("wood", 1.0F, 1.0F));
cellulosplankBlock = new Cellulos(Material.wood).setBlockName("cellulosplankblock").setHardness(2.0F).setStepSound(new Block.SoundType("wood", 1.0F, 1.0F));
GameRegistry.registerBlock(cellulosBlock,MODID +(cellulosBlock.getUnlocalizedName().substring(5)));
GameRegistry.registerBlock(cellulosplankBlock,MODID +(cellulosplankBlock.getUnlocalizedName().substring(5)));
cellulosplankItem = new CellulosItem().setUnlocalizedName("cellulosplankitem");
cellulosItem = new CellulosItem().setUnlocalizedName("cellulositem");
GameRegistry.registerItem(cellulosplankItem, "cellulosplankitem");
GameRegistry.registerItem(cellulosItem, "cellulositem");
myMinecraftMod.tutorial.Recipies.Crafting.loadRecipes();
eventManager=new EventManager();
GameRegistry.registerWorldGenerator(eventManager, 0);
}
@EventHandler
public void postInit(FMLPostInitializationEvent event) {
/** TODO Hack to get our textures for items and blocks to show, remove when the bug is
* fixed in an update. If this is not done, then the player must manually refresh
* the texture packs. */
}
}
[code/]
package myMinecraftMod.tutorial.WorldGen;
import java.util.Random;
import myMinecraftMod.tutorial.Blocks.Cellulos;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.feature.WorldGenerator;
import cpw.mods.fml.common.IWorldGenerator;
public class EventManager implements IWorldGenerator{
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
{
switch (world.provider.dimensionId)
{
case -1:
generateNether(world, random, chunkX * 16, chunkZ * 16);
case 0:
generateSurface(world, random, chunkX * 16, chunkZ * 16);
case 1:
generateEnd(world, random, chunkX * 16, chunkZ * 16);
}
}
private void generateEnd(World world, Random random, int x, int z)
{
}
private void generateSurface(World world, Random random, int chunk_X, int chunk_Z)
{
int x,z,y;
int mushInChunk=random.nextInt(20);
for(int j=0;j<mushInChunk;j++)
{
x=chunk_X+random.nextInt(16);
z=chunk_Z+random.nextInt(16);
Block block1,block2;
for(int i=0;i<127;i++)
{
block1=world.getBlock(x,i,z);
block2=world.getBlock(x,i+1,z);
//if(!block1.isAir(world, x, i, z)&&block2.isAir(world, x, i+1, z))
//{
(new WorldGenBigNetherMushroom(new Cellulos(Material.wood).setBlockName("cellulosblock").setHardness(2.0F).setStepSound(new Block.SoundType("wood", 1.0F, 1.0F)))).generate(world,random,x,world.getTopSolidOrLiquidBlock(x, z),z);
//}
}
}
}
private void generateNether(World world, Random random, int chunk_X, int chunk_Z)
{
int x,z,y;
int mushInChunk=random.nextInt(5);
for(int j=0;j<mushInChunk;j++)
{
x=chunk_X+random.nextInt(16);
z=chunk_Z+random.nextInt(16);
Block block1,block2;
for(int i=0;i<127;i++)
{
block1=world.getBlock(x,i,z);
block2=world.getBlock(x,i+1,z);
if(!block1.isAir(world, x, i, z)&&block2.isAir(world, x, i+1, z))
{
(new WorldGenBigNetherMushroom(new Cellulos(Material.wood).setBlockName("cellulosblock").setHardness(2.0F).setStepSound(new Block.SoundType("wood", 1.0F, 1.0F)))).generate(world,random,x,i,z);
}
}
}
}
}
[code]
[code/]
package myMinecraftMod.tutorial.WorldGen;
import java.util.Random;
import myMinecraftMod.tutorial.Blocks.Cellulos;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.init.Blocks;
import net.minecraft.world.World;
import net.minecraft.world.gen.feature.WorldGenerator;
public class WorldGenBigNetherMushroom extends WorldGenerator {
private int mushroomType = -1;
private static final String __OBFID = "CL_00000415";
private static Block mushBlock;
public WorldGenBigNetherMushroom(Block block) {
super(false);
mushBlock=block;
}
public WorldGenBigNetherMushroom(Block block,int par1) {
super(true);
this.mushroomType = par1;
mushBlock=block;
}
@Override
public boolean generate(World world, Random random, int x, int y, int z)
{
//mushBlock=new Cellulos();
//mushBlock=new Cellulos(Material.wood).setBlockName("cellulosblock").setHardness(2.0F).setStepSound(new Block.SoundType("wood", 1.0F, 1.0F));
int stalkHeight=random.nextInt(3)+10;
for(int i=1;i<0+stalkHeight;i++)
{
world.setBlock(x,i,z,mushBlock,1,2);
}
return true;
}
}
[code]
also here is my crafting code, which doesn't seem to load
[code/]
package myMinecraftMod.tutorial.Recipies;
import myMinecraftMod.tutorial.Tutorial;
import myMinecraftMod.tutorial.Blocks.Cellulos;
import myMinecraftMod.tutorial.Blocks.CellulosPlank;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.FurnaceRecipes;
import cpw.mods.fml.common.registry.GameRegistry;
public class Crafting {
public static void loadRecipes()
{
System.out.println("loading recipies for cellulos");
GameRegistry.addRecipe(new ItemStack(new CellulosPlank(),4), new Object[]{
"X",
'X', new Cellulos()});
}
}
[code]