Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MOD_ FILE:
- package Tutorial;
- import net.minecraft.src.BiomeGenBase;
- import net.minecraft.src.Block;
- import net.minecraft.src.CreativeTabs;
- import net.minecraft.src.Item;
- import net.minecraft.src.ItemStack;
- import net.minecraft.src.Material;
- import net.minecraftforge.client.MinecraftForgeClient;
- import cpw.mods.fml.common.Mod;
- import cpw.mods.fml.common.Mod.Init;
- import cpw.mods.fml.common.Mod.PreInit;
- import cpw.mods.fml.common.event.FMLInitializationEvent;
- import cpw.mods.fml.common.event.FMLPreInitializationEvent;
- import cpw.mods.fml.common.network.NetworkMod;
- import cpw.mods.fml.common.registry.GameRegistry;
- import cpw.mods.fml.common.registry.LanguageRegistry;
- @Mod(modid = "Tutorial", name = "Minecraft Forge Tutorial", version = "v1.0")
- @NetworkMod(clientSideRequired = true, serverSideRequired = true)
- public class mod_tutorial
- {
- //BLOCKS
- public static Block WhiteCyan;
- public static Block DDirt;
- public static DrackiGrass DGrass;
- //ITEMS
- public static Item BlueSlimeBall;
- //BIOMES
- public static BiomeGenBase Dracki;
- @PreInit
- public void initConfig(FMLPreInitializationEvent fpe)
- {
- }
- @Init
- public void load(FMLInitializationEvent fie)
- {
- //BLOCKS
- WhiteCyan = (new ModBlock(500,0, Material.cloth).setHardness(0.8F).setStepSound(Block.soundClothFootstep).setBlockName("WhiteCyan").setRequiresSelfNotify());
- DDirt = (new ModBlock(250,5,Material.ground).setHardness(0.5F).setStepSound(Block.soundGravelFootstep).setBlockName("DDirt"));
- DGrass = (DrackiGrass)(new DrackiGrass(251,0)).setHardness(0.6F).setStepSound(Block.soundGrassFootstep).setBlockName("DGrass");
- //ITEMS
- BlueSlimeBall = (new ModItem(1000).setItemName("BlueSlimeBall").setCreativeTab(CreativeTabs.tabMisc).setIconCoord(0,0));
- //BIOMES
- Dracki = (new BiomeGenDracki(23).setBiomeName("DrackiBiome").setMinMaxHeight(0.0F,0.6F).setEnableSnow());
- registeringBlocks();
- blockNames();
- itemNames();
- recipes();
- smelting();
- biomes();
- //MINECRAFT FORGE TEXTURE FUNCTIONS
- MinecraftForgeClient.preloadTexture("/Texture/modterrain.png");
- MinecraftForgeClient.preloadTexture("/Texture/moditems.png");
- }
- public void registeringBlocks()
- {
- GameRegistry.registerBlock(WhiteCyan);
- GameRegistry.registerBlock(DDirt);
- GameRegistry.registerBlock(DGrass);
- }
- public void blockNames()
- {
- LanguageRegistry.addName(WhiteCyan, "White-Cyan Carpet");
- LanguageRegistry.addName(DDirt,"Dracki Dirt");
- LanguageRegistry.addName(DGrass,"Dracki Grass");
- }
- public void itemNames()
- {
- LanguageRegistry.addName(BlueSlimeBall, "Blue Slimeball");
- }
- public void recipes()
- {
- GameRegistry.addRecipe(new ItemStack(WhiteCyan,1), new Object[] {
- "XY","YX", 'X', new ItemStack(Block.cloth,1,1), 'Y', new ItemStack(Block.cloth,1,9)
- });
- GameRegistry.addShapelessRecipe(new ItemStack(BlueSlimeBall,5), new Object[] {
- Item.slimeBall, new ItemStack(Item.dyePowder,1,4)
- });
- }
- public void smelting()
- {
- }
- public void biomes()
- {
- GameRegistry.addBiome(Dracki);
- }
- }
- //BIOMEGEN FILE
- package Tutorial;
- import java.util.Random;
- import net.minecraft.src.BiomeGenBase;
- import net.minecraft.src.Block;
- import net.minecraft.src.World;
- public class BiomeGenDracki extends BiomeGenBase
- {
- public BiomeGenDracki(int par1)
- {
- super(par1);
- this.topBlock = (byte)mod_tutorial.DGrass.blockID;
- this.fillerBlock = (byte)mod_tutorial.DDirt.blockID;
- }
- public void decorate(World par1World, Random par2Random, int par3, int par4)
- {
- super.decorate(par1World, par2Random, par3, par4);
- }
- }
- //GRASS FILE
- package Tutorial;
- import cpw.mods.fml.common.Side;
- import cpw.mods.fml.common.asm.SideOnly;
- import java.util.Random;
- import net.minecraft.src.Block;
- import net.minecraft.src.ColorizerGrass;
- import net.minecraft.src.CreativeTabs;
- import net.minecraft.src.IBlockAccess;
- import net.minecraft.src.Material;
- import net.minecraft.src.World;
- public class DrackiGrass extends ModBlock
- {
- protected DrackiGrass(int par1,int par2)
- {
- super(par1, par2,Material.grass);
- this.blockIndexInTexture = par2;
- this.setTickRandomly(true);
- this.setCreativeTab(CreativeTabs.tabBlock);
- }
- /**
- * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata
- */
- public int getBlockTextureFromSideAndMetadata(int par1, int par2)
- {
- return par1 == 1 ? 4 : (par1 == 0 ? mod_tutorial.DDirt.blockIndexInTexture : 3);
- }
- @SideOnly(Side.CLIENT)
- /**
- * Retrieves the block texture to use based on the display side. Args: iBlockAccess, x, y, z, side
- */
- public int getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
- {
- if (par5 == 1)
- {
- return 4;
- }
- else if (par5 == 0)
- {
- return mod_tutorial.DDirt.blockIndexInTexture;
- }
- else
- {
- return 3;
- }
- }
- @SideOnly(Side.CLIENT)
- public int getBlockColor()
- {
- return 0;
- }
- @SideOnly(Side.CLIENT)
- /**
- * Returns the color this block should be rendered. Used by leaves.
- */
- public int getRenderColor(int par1)
- {
- return this.getBlockColor();
- }
- @SideOnly(Side.CLIENT)
- /**
- * Returns a integer with hex for 0xrrggbb with this color multiplied against the blocks color. Note only called
- * when first determining what to render.
- */
- /**
- * Ticks the block if it's been scheduled
- */
- public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random)
- {
- if (!par1World.isRemote)
- {
- if (par1World.getBlockLightValue(par2, par3 + 1, par4) < 4 && par1World.getBlockLightOpacity(par2, par3 + 1, par4) > 2)
- {
- par1World.setBlockWithNotify(par2, par3, par4, mod_tutorial.DDirt.blockID);
- }
- else if (par1World.getBlockLightValue(par2, par3 + 1, par4) >= 9)
- {
- for (int var6 = 0; var6 < 4; ++var6)
- {
- int var7 = par2 + par5Random.nextInt(3) - 1;
- int var8 = par3 + par5Random.nextInt(5) - 3;
- int var9 = par4 + par5Random.nextInt(3) - 1;
- int var10 = par1World.getBlockId(var7, var8 + 1, var9);
- if (par1World.getBlockId(var7, var8, var9) == mod_tutorial.DDirt.blockID && par1World.getBlockLightValue(var7, var8 + 1, var9) >= 4 && par1World.getBlockLightOpacity(var7, var8 + 1, var9) <= 2)
- {
- par1World.setBlockWithNotify(var7, var8, var9, mod_tutorial.DGrass.blockID);
- }
- }
- }
- }
- }
- /**
- * Returns the ID of the items to drop on destruction.
- */
- public int idDropped(int par1, Random par2Random, int par3)
- {
- return mod_tutorial.DDirt.idDropped(0, par2Random, par3);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment