package Syn.Tutorial; //Package directory
/*
* Basic importing
*/
import net.minecraft.block.Block;
import net.minecraft.item.EnumToolMaterial;
import net.minecraft.item.Item;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.EnumHelper;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
/*
* Basic needed forge stuff
*/
@Mod(modid="ModTutorial",name="Mod Tutorial",version="v1")
@NetworkMod(clientSideRequired=true,serverSideRequired=false)
public class ModTutorial {
/*
* ToolMaterial
*/
//Telling forge that we are creating these
//items
public static Item amethyst;
//tools
//Declaring Init
@Init
public void load(FMLInitializationEvent event){
// define items
amethyst = new Synitems(2000).setUnlocalizedName("amethyst");
// define blocks
//adding names
//items
LanguageRegistry.addName(amethyst, "Amethyst");
//blocks
//crafting
}
}
Ok and now after you have that and have changed it to your liking you will want to make a new class, mine is called "Synitems" you will want to paste this into it.
package Syn.Tutorial;
import net.minecraft.item.Item;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.*;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
public class Synitems extends Item {
public Synitems(int par1) {
super(par1); //Returns super constructor: par1 is ID
setCreativeTab(CreativeTabs.tabMaterials); }//Tells the game what creative mode tab it goes in
public void registerIcons(IconRegister reg) { // Make sure to import IconRegister!
if (itemID == ModTutorial.amethyst.itemID) {
this.itemIcon = reg.registerIcon("amethyst"); // You can also replace blockID and blockIcon with itemID and itemIcon
}
}
}
3.Our First Basic Block(Solid) ( 1.6.2 / 1.6.4 )
First you want to make sure that you have this imported into your main class. Skip this step if you already have it.
Now you want to make a new class, I called mine "Amethystblock"
You want to paste this into it and make the changes needed.
package Syn.Tutorial;
import java.util.Random;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.registry.LanguageRegistry;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
public class AmethystBlock extends Block {
public AmethystBlock(int par1, String texture) {
super(par1, Material.iron);
setCreativeTab(CreativeTabs.tabBlock); //place in creative tabs
}
//drops when broken with pickaxe
public int idDropped(int par1, Random par2Random, int par3)
{
return ModTutorial.amethystblock.blockID;
}
public int quantityDropped(Random random)
{
return 1;
}
public void registerIcons(IconRegister reg) { // Make sure to import IconRegister!
this.blockIcon = reg.registerIcon("amethyst_block"); // You can also replace blockID and blockIcon with itemID and itemIcon
}
4.Shapeless and Shaped Crafting ( 1.6.2 / 1.6.4 )
In this episode I will be showing you how to craft. We will be crafting our block out of our item and our item out of out block.
Basic OR Shaped Crafting
First paste this code into you "public void load()"
GameRegistry.addRecipe(new ItemStack(amethystblock,1), new Object[]{
"TTT","TTT","TTT",'T',amethyst,
});
One T = 1 amethyst
The "TTT","TTT","TTT"
like this:
"TTT","TTT","TTT"
is actually like this in crafting squares:
"123","456","789"
Shapeless Crafting
This means the item can go into the table in no special order
GameRegistry.addShapelessRecipe(new ItemStack(amethyst,1), new Object[]{
amethystblock});
5.Ores and World Gen In OverWorld ( 1.6.2 / 1.6.4 )
First we want to paste this line of code into your Main Class and under the "public void loads" brackets to register our new world gen.
Next make a new class by hovering over the "WorldGeneratorSyn" (it should be an error) and click create new class.
You will want to paste this into that class
package Syn.Tutorial;
import java.util.Random;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.feature.WorldGenMinable;
import cpw.mods.fml.common.IWorldGenerator;
import cpw.mods.fml.common.IWorldGenerator;
public class WorldGeneratorSyn implements IWorldGenerator {
@Override
public void generate(Random random, int chunkX, int chunkZ, World world,
IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
// TODO Auto-generated method stub
switch(world.provider.dimensionId){
//case -1: generateNether(world, random,chunkX*16,chunkZ*16);
case 0 : generateSurface(world, random,chunkX*16,chunkZ*16);
}
}
private void generateSurface(World world, Random random, int BlockX, int BlockZ) {
for(int i =0; i<10;i++){
int Xcoord = BlockX + random.nextInt(16);
int Zcoord = BlockZ + random.nextInt(16);
int Ycoord = random.nextInt(16);
(new WorldGenMinable(ModTutorial.AmethystOre.blockID, 4)).generate(world, random, Xcoord, Ycoord, Zcoord);
}}}
6.Smelting ( 1.6.2 / 1.6.4 )
We are making a smelting recipe which is very easy and quick. Pretty much all you need is this little line of code in your "Public void load" brackets, I usually put them underneath my crafting recipes
GameRegistry.addSmelting(ModTutorial.amethyst.itemID, new ItemStack(RefinedAmethyst, 1), 5F);
That is to make 1 Refined Amethyst 7.Publishing Our Mod ( 1.6.2 / 1.6.4 )
next we want to define the tools (Sword, Axe, Pickaxe, Shovel, Hoe)
AmethystAxe = new SynAxe(2004, AmethystTool).setUnlocalizedName("amethytst_axe");
AmethystShovel = new SynShovel(2005, AmethystTool).setUnlocalizedName("amethyst_shovel");
AmethystPickaxe = new SynPickaxe(2006, AmethystTool).setUnlocalizedName("amethyst_pickaxe");
AmethystHoe = new SynHoe(2007, AmethystTool).setUnlocalizedName("amethyst_hoe");
AmethystSword = new SynSword(2008, AmethystTool).setUnlocalizedName("amethyst_sword");
next you want to make the corresponding classes (SynAxe, SynShovel, ect..) And put in this code, changing minor things for the different tool.
package Syn.ModTutorial;
import Syn.ModTutorial;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.EnumToolMaterial;
import net.minecraft.item.ItemPickaxe;
import net.minecraft.item.ItemSword;
public class SynPickaxe extends ItemPickaxe {
public SynPickaxe(int ItemID, EnumToolMaterial material){
super(ItemID, material);
setCreativeTab(CreativeTabs.tabTools); }//Tells the game what creative mode tab it goes in
public void registerIcons(IconRegister reg) { // Make sure to import IconRegister!
if (itemID == ModTutorial.AmethystPickaxe.itemID) {
this.itemIcon = reg.registerIcon("amethyst_pickaxe"); // You can also replace blockID and blockIcon with itemID and itemIcon
}
}
}
then you want to set the name in the language registry.
GameRegistry.addRecipe(new ItemStack(AmethystPickaxe,1), new Object[]{
"TTT"," Y "," Y ",'T',amethyst,'Y',Item.stick
});
GameRegistry.addRecipe(new ItemStack(AmethystSword,1), new Object[]{
" T "," T "," Y ",'T',amethyst,'Y',Item.stick
});
GameRegistry.addRecipe(new ItemStack(AmethystAxe,1), new Object[]{
"TT ","TY "," Y ",'T',amethyst,'Y',Item.stick
});
GameRegistry.addRecipe(new ItemStack(AmethystHoe,1), new Object[]{
"TT "," Y "," Y ",'T',amethyst,'Y',Item.stick
});
GameRegistry.addRecipe(new ItemStack(AmethystShovel,1), new Object[]{
" T "," Y "," Y ",'T',amethyst,'Y',Item.stick
});
9.Armor (Our Own Armor Type)( 1.6.2 / 1.6.4 )
VIDEO WILL BE UP SHORTLY!
In this episode we are makin armor, thats right baby!
First you want to make sure you have all your imports
import net.minecraft.item.EnumArmorMaterial;
Next, you will want to also make sure you have your general item things defined
public static Item AmethystChestplate;
public static Item AmethystBoots;
public static Item AmethystLeggings;
public static Item AmethystHelmet;
Now you want to create the new armor type, so put this in by the area where you but the enumToolMaterial
public static EnumArmorMaterial AmethystArmor = EnumHelper.addArmorMaterial("AmethystArmor", 8, new int[] { 3, 7, 6, 3 }, 30);
Now you will need to quickly add the rendering registry so that when the armor is on your body you can actually see the texture and not a bunch of black blobs
Ok so now you want to declare them now, so pretty much just put this in there, just like the tools again
AmethystHelmet = new AmethystArmor(2055, AmethystArmor, 5, 0).setUnlocalizedName("amethyst_helmet");
AmethystChestplate = new AmethystArmor(2056, AmethystArmor, 5, 1).setUnlocalizedName("amethyst_chestplate");
AmethystLeggings = new AmethystArmor(2057, AmethystArmor, 5, 2).setUnlocalizedName("amethyst_leggings");
AmethystBoots = new AmethystArmor(2058, AmethystArmor, 5, 3).setUnlocalizedName("amethyst_boots");
after the "5" you want to keep the "0, 1, 2, 3" because those are what sets which type of armor it is
0 = Helmet 1 = Chestplate 2 = Leggings 3 = Boots
Then make a new class called "AmethystArmor" or whatever you want to call it,and put in this code
package Syn.Tutorial;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.entity.Entity;
import net.minecraft.item.EnumArmorMaterial;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
public class AmethystArmor extends ItemArmor {
public AmethystArmor(int par1, EnumArmorMaterial par2EnumArmorMaterial,
int par3, int par4) {
super(par1, par2EnumArmorMaterial, par3, par4);
}
public String getArmorTexture(ItemStack stack, Entity entity, int slot,
int layer) {
if (stack.itemID == ModTutorial.AmethystHelmet.itemID
|| stack.itemID == ModTutorial.AmethystChestplate.itemID
|| stack.itemID == ModTutorial.AmethystBoots.itemID) {
return "minecraft:textures/armor/AmethystArmor_1.png";
}
if (stack.itemID == ModTutorial.AmethystLeggings.itemID) {
return "minecraft:textures/armor/AmethystArmor_2.png";
} else {
return null;
}
}
public void registerIcons(IconRegister reg) { // Make sure to import IconRegister!
if (itemID == ModTutorial.AmethystChestplate.itemID) {
this.itemIcon = reg.registerIcon("amethyst_chestplate"); // You can also replace blockID and blockIcon with itemID and itemIcon
}
if (itemID == ModTutorial.AmethystLeggings.itemID) {
this.itemIcon = reg.registerIcon("amethyst_pants"); // You can also replace blockID and blockIcon with itemID and itemIcon
}
if (itemID == ModTutorial.AmethystBoots.itemID) {
this.itemIcon = reg.registerIcon("amethyst_boots"); // You can also replace blockID and blockIcon with itemID and itemIcon
}
if (itemID == ModTutorial.AmethystHelmet.itemID) {
this.itemIcon = reg.registerIcon("amethyst_helmet"); // You can also replace blockID and blockIcon with itemID and itemIcon
}
}
}
The bottom Item icon parts are just setting the texture for when the armor is inside your inventory
Now pretty much all that there is left to do is set the Language Registry and the crafting recipes
GameRegistry.addRecipe(new ItemStack(AmethystHelmet,1), new Object[]{
"TTT","T T"," ",'T',Amethyst,
});
GameRegistry.addRecipe(new ItemStack(AmethystChestplate,1), new Object[]{
"T T","TTT","TTT",'T',Amethyst,
});
GameRegistry.addRecipe(new ItemStack(AmethystLeggings,1), new Object[]{
"TTT","T T","T T",'T',Amethyst,
});
GameRegistry.addRecipe(new ItemStack(AmethystBoots,1), new Object[]{
"T T","T T"," ",'T',Amethyst,
});
Thats All! watch the video for a better explanation! 10.Creative Tabs( 1.6.2 / 1.6.4 )
VIDEO WILL BE UP SHORTLY!
Hey guys this is a really quick one, I'm probably going to be putting this one up and then another one right after it, I'm just doing a video on creative tabs because I think it is long overdue!
first you want to put in this import
import net.minecraft.creativetab.CreativeTabs;
Ok so now that you have that you want to create the tab, put this in by your armor and items and stuff
public static CreativeTabs ModTutorialTab = new ModTutorialTab(CreativeTabs.getNextID(), "Mod Tutorial Tab");
Next create the new "ModTutorialTab" Class and put this in it
package Syn.Tutorial;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.creativetab.CreativeTabs;
public final class ModTutorialTab extends CreativeTabs
{
public ModTutorialTab(int par1, String par2Str)
{
super(par1, par2Str);
}
//sets the image for the creative tab
@SideOnly(Side.CLIENT)
public int getTabIconItemIndex()
{
//there is a difference between items and blocks. will give an example of both
return ModTutorial.Amethyst.itemID;
}
//sets the title/name for the creative tab
public String getTranslatedTabLabel()
{
return "Syn Tutorial Mod";
}
}
whatever is in the quotations after return at the end is what will show up in game
And what ever the top return is set at is what block will be on the tip of the tab.
to set it as the creative tab for your items just change your item creative tab code to this
setCreativeTab(ModTutorial.ModTutorialTab); }
11.Glass ( 1.6.2 / 1.6.4 )
VIDEO WILL BE UP SHORTLY!
Glass is quite an easy one so it will be a very quick video and tutorial to make it, someone asked and I wanted to get it out of the way before I did mobs.
First you want to make the item
public static Block AmethystGlass;
next you want to define the item, as always
AmethystGlass = new AmethystGlass(2070, "amethystglass").setUnlocalizedName("amethyst_glass").setHardness(0.3F).setStepSound(Block.soundGlassFootstep).setResistance(1.0F);
GameRegistry.registerBlock(AmethystGlass, "AmethystGlass");
Now what you want to do it make the new "AmethystGlass" class and put this inside it
package Syn.Tutorial;
import java.util.Random;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.registry.LanguageRegistry;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
public class AmethystGlass extends Block {
public AmethystGlass(int par1, String texture) {
super(par1, Material.glass);
setCreativeTab(CreativeTabs.tabBlock); //place in creative tabs
}
public boolean isOpaqueCube() {
return false;
}
public boolean renderAsNormalBlock() {
return false;
}
public int getRenderType() {
return 0;
}
public int getRenderBlockPass() {
return 0;
}
protected boolean canSilkHarvest() {
return true;
}
//drops when broken with pickaxe
public int idDropped(int par1, Random par2Random, int par3)
{
return ModTutorial.AmethystGlass.blockID;
}
public int quantityDropped(Random random)
{
return 0;
}
public void registerIcons(IconRegister reg) { // Make sure to import IconRegister!
this.blockIcon = reg.registerIcon("amethyst_glass"); // You can also replace blockID and blockIcon with itemID and itemIcon
}
}
Now all that's left to do is set the language registry, crafting recipe
GameRegistry.addSmelting(ModTutorial.AmethystOre.blockID, new ItemStack(AmethystGlass, 1), 5F);
now remember for the texture the spots where you want to be able to see through you want to make transparent in your texture editing program, usually if it is little checkered sqaures in the back it is a transparent spot. I will get more into detail in the video.
12.Fixing Textures ( 1.6.2 / 1.6.4 )
VIDEO WILL BE UP SHORTLY
Ok so this is how to fix the textures so that you dont have to put them into the jar
its pretty Simple, first in your block or item class you will want to replace the register icon part with this
then what you will want to do, is go into your modding folder on your desktop or where ever you put it, and go to this area
forge>mcp>src>minecraft
You will then want to make a folder called "assets" and inside that folder, make a folder called "syn" then a folder called "textures" and then the folders like "blocks", "items" and which ever other folders which are needed.
you will then put your textures in these folders and not have to put them in the jar.
The video will explain in more detail. 13.Fences( 1.6.2 / 1.6.4 )
VIDEO WILL BE UP SHORTLY
So here we goes, I know that no one really wanted a tutorial on this but Ive got the code so I though why not.
So first you have to declare the block
public static Block AmethystFence;
next, you want to define the block
AmethystFence = new AmethystFence(2050, "amethystfence", null).setUnlocalizedName("amethyst_block").setHardness(3.0F).setStepSound(Block.soundMetalFootstep).setResistance(5.0F).setTextureName("amethyst_block");
GameRegistry.registerBlock(AmethystFence, "AmethystFence");
Hello Syn! I love you tutorials <3 I have one question...How to add more items ? I maked that i have item but dont load the texture (it is in the 1.6.4 jar file ).
hmm well have you done the public static item and declaring the item? Like this
your_item = new Synitems(2003).setUnlocalizedName("your_item");
if you have you then want to place this under your first item but leaving 1 curly bracket under the first part
if (itemID == ModTutorial.your_item.itemID) {
this.itemIcon = reg.registerIcon("your_item_texture"); // You can also replace blockID and blockIcon with itemID and itemIcon
then have your two other curly brackets underneath
I will quickly cover in part of my next video how to make another item thanks!
if (itemID == Rufted.purple.itemID) {
this.itemIcon = reg.registerIcon("purple"); // You can also replace blockID and blockIcon with itemID and itemIcon
if (itemID == Rufted.yellow.itemID) {
this.itemIcon = reg.registerIcon("yellow");
and
purple = new Rufitems(2000).setUnlocalizedName("purple");
yellow = new Rufitems(2003).setUnlocalizedName("yellow");
For purple the texture is here but for yellow it dont show it... :/
I will wait for the video
Hmm well first off all it should be like this
if (itemID == Rufted.purple.itemID) {
this.itemIcon = reg.registerIcon("purple"); // You can also replace blockID and blockIcon with itemID and itemIcon
}
if (itemID == Rufted.yellow.itemID) {
this.itemIcon = reg.registerIcon("yellow");
thats your only problem man, you just need to have that curly bracket there for it to work, trust me that part had me thinkin for a really long time. And also what is your youtube name? ive been wondering
How to add lapis lazuli to recipe ? I know the lapis lazuli is Item.dyePowder 4 but i don't know how to add the 4 .So if you can help me i will be very happy ^.^
Ok ill look into it right now, but you should really follow me on twitter, it is an easier way for me to communicate because i can do it on my phone XD @thesyansonic
But I will look into the dye thing right now, i think i know how to do it and ill let you know when I know
Also what would you like me to do next? Tools? smelting? Plants?
I will make a Twitter account just for you. Smelting looks good ! And thanks for the help You are very awesome dude !
Haha ok smelting it is and thanks but your the awesome one who actually likes my videos, I'm super happy that people actually watch my videos. If I ever got to like 50 subs id go crazy
How to add lapis lazuli to recipe ? I know the lapis lazuli is Item.dyePowder 4 but i don't know how to add the 4 .So if you can help me i will be very happy ^.^
ok here is how you do it,
(new ItemStack(Item.dyePowder,1 ,4))
put that where the name would go ok? make sense? so it would be like
GameRegistry.addRecipe(new ItemStack(amethystblock,1), new Object[]{
"TTT","TYT","TTT",'T',amethyst,'Y', (new ItemStack(Item.dyePowder,1 ,4))
});
like that if i wanted to put a piece of lapis in the middle to make a lapis block
Hey, lovin your video's Synasonic, really helpin me out. Just got a question. Is there a difference when making a block to making an ore? Cause I just used your no. 3 tutorial to make an ore instead, and Eclipse says that all my coding is right, but when I hit the Play button, the Tester crashes, and it doesn't tell me why. Any ideas? Also, which .java file is the 'main' or 'base' file? I've got 3 files: One which is what my package folder is called, one called SynItems, and one creating my first block (kinda confused cause in your tutorials, there wasn't a separate file for out first item... was there?
can someone help me. I just added a block to my mod and followed syns steps, but now whenever I try and test it by launching it, I get NullPointerException
Hey, lovin your video's Synasonic, really helpin me out. Just got a question. Is there a difference when making a block to making an ore? Cause I just used your no. 3 tutorial to make an ore instead, and Eclipse says that all my coding is right, but when I hit the Play button, the Tester crashes, and it doesn't tell me why. Any ideas? Also, which .java file is the 'main' or 'base' file? I've got 3 files: One which is what my package folder is called, one called SynItems, and one creating my first block (kinda confused cause in your tutorials, there wasn't a separate file for out first item... was there?
hmm you may want to just watch the other episode, but is it only crashing after you put the block in or before that to?
can someone help me. I just added a block to my mod and followed syns steps, but now whenever I try and test it by launching it, I get NullPointerException
1.Setting up Java JDK, MCP and Eclipse with Forge ( 1.6.2 / 1.6.4 )
Forge 1.6.4 download http://files.minecraftforge.net/ 2.Our First Basic Item ( 1.6.2 / 1.6.4 )
Ok so this is the code you will want to paste in
Ok and now after you have that and have changed it to your liking you will want to make a new class, mine is called "Synitems" you will want to paste this into it.
First you want to make sure that you have this imported into your main class. Skip this step if you already have it.
Next you want to create the block so put this into your "public static brackets"
Now you want to declare what the block is, put this now in your "public void load brackets".
Next inside your "Language registry" section put this
Now you want to make a new class, I called mine "Amethystblock"
You want to paste this into it and make the changes needed.
4.Shapeless and Shaped Crafting ( 1.6.2 / 1.6.4 )
In this episode I will be showing you how to craft. We will be crafting our block out of our item and our item out of out block.
Basic OR Shaped Crafting
First paste this code into you "public void load()"
One T = 1 amethyst
The "TTT","TTT","TTT"
like this:
is actually like this in crafting squares:
Shapeless Crafting
This means the item can go into the table in no special order
First we want to paste this line of code into your Main Class and under the "public void loads" brackets to register our new world gen.
Next make a new class by hovering over the "WorldGeneratorSyn" (it should be an error) and click create new class.
You will want to paste this into that class
6.Smelting ( 1.6.2 / 1.6.4 )
We are making a smelting recipe which is very easy and quick. Pretty much all you need is this little line of code in your "Public void load" brackets, I usually put them underneath my crafting recipes
That is to make 1 Refined Amethyst
7.Publishing Our Mod ( 1.6.2 / 1.6.4 )
Forge Installer: http://files.minecraftforge.net/
In this episode I will be showing you have to create your own tools!
First you want to make sure you have all the imports
Next you want to register the tool type
there we have our amethyst tool type set
next we want to define the tools (Sword, Axe, Pickaxe, Shovel, Hoe)
next you want to make the corresponding classes (SynAxe, SynShovel, ect..) And put in this code, changing minor things for the different tool.
then you want to set the name in the language registry.
Then you can add the crafting recipe
9.Armor (Our Own Armor Type)( 1.6.2 / 1.6.4 )
VIDEO WILL BE UP SHORTLY!
In this episode we are makin armor, thats right baby!
First you want to make sure you have all your imports
Next, you will want to also make sure you have your general item things defined
Now you want to create the new armor type, so put this in by the area where you but the enumToolMaterial
Now you will need to quickly add the rendering registry so that when the armor is on your body you can actually see the texture and not a bunch of black blobs
Ok so now you want to declare them now, so pretty much just put this in there, just like the tools again
after the "5" you want to keep the "0, 1, 2, 3" because those are what sets which type of armor it is
0 = Helmet
1 = Chestplate
2 = Leggings
3 = Boots
Then make a new class called "AmethystArmor" or whatever you want to call it,and put in this code
The bottom Item icon parts are just setting the texture for when the armor is inside your inventory
Now pretty much all that there is left to do is set the Language Registry and the crafting recipes
Language Registry:
Crafting Recipe:
Thats All! watch the video for a better explanation!
10.Creative Tabs( 1.6.2 / 1.6.4 )
VIDEO WILL BE UP SHORTLY!
Hey guys this is a really quick one, I'm probably going to be putting this one up and then another one right after it, I'm just doing a video on creative tabs because I think it is long overdue!
first you want to put in this import
Ok so now that you have that you want to create the tab, put this in by your armor and items and stuff
Next create the new "ModTutorialTab" Class and put this in it
whatever is in the quotations after return at the end is what will show up in game
And what ever the top return is set at is what block will be on the tip of the tab.
to set it as the creative tab for your items just change your item creative tab code to this
VIDEO WILL BE UP SHORTLY!
Glass is quite an easy one so it will be a very quick video and tutorial to make it, someone asked and I wanted to get it out of the way before I did mobs.
First you want to make the item
next you want to define the item, as always
Now what you want to do it make the new "AmethystGlass" class and put this inside it
Now all that's left to do is set the language registry, crafting recipe
I decided to do a smelting recipe
now remember for the texture the spots where you want to be able to see through you want to make transparent in your texture editing program, usually if it is little checkered sqaures in the back it is a transparent spot. I will get more into detail in the video.
VIDEO WILL BE UP SHORTLY
Ok so this is how to fix the textures so that you dont have to put them into the jar
its pretty Simple, first in your block or item class you will want to replace the register icon part with this
then what you will want to do, is go into your modding folder on your desktop or where ever you put it, and go to this area
forge>mcp>src>minecraft
You will then want to make a folder called "assets" and inside that folder, make a folder called "syn" then a folder called "textures" and then the folders like "blocks", "items" and which ever other folders which are needed.
you will then put your textures in these folders and not have to put them in the jar.
The video will explain in more detail.
13.Fences ( 1.6.2 / 1.6.4 )
VIDEO WILL BE UP SHORTLY
So here we goes, I know that no one really wanted a tutorial on this but Ive got the code so I though why not.
So first you have to declare the block
next, you want to define the block
and also put in the language registry
OK so now you want to move on to the main class, this is how it should be
And then here if you want you can also set a crafting recipe
http://adf.ly/Xfyx5
Donate!
http://adf.ly/bFwwA
http://adf.ly/Xfyx5
if you have you then want to place this under your first item but leaving 1 curly bracket under the first part
then have your two other curly brackets underneath
I will quickly cover in part of my next video how to make another item thanks!
-Synasonic
Hmm well first off all it should be like this
thats your only problem man, you just need to have that curly bracket there for it to work, trust me that part had me thinkin for a really long time. And also what is your youtube name? ive been wondering
Ok ill look into it right now, but you should really follow me on twitter, it is an easier way for me to communicate because i can do it on my phone XD @thesyansonic
But I will look into the dye thing right now, i think i know how to do it and ill let you know when I know
Also what would you like me to do next? Tools? smelting? Plants?
Haha ok smelting it is and thanks but your the awesome one who actually likes my videos, I'm super happy that people actually watch my videos. If I ever got to like 50 subs id go crazy
ok here is how you do it,
put that where the name would go ok? make sense? so it would be like
like that if i wanted to put a piece of lapis in the middle to make a lapis block
Lol I never noticed that, ok thanks for lettin me know, I'll fix it XD
thats the next episode!
well where are you getting this error?
Also, which .java file is the 'main' or 'base' file? I've got 3 files: One which is what my package folder is called, one called SynItems, and one creating my first block (kinda confused cause in your tutorials, there wasn't a separate file for out first item... was there?
hmm you may want to just watch the other episode, but is it only crashing after you put the block in or before that to?
Me too, but I dunno wat to do...