Nederlands Minecraft Forum

Minecraft => Tutorials => Topic gestart door: Bowserite op 22 december 2012, 10:48:21

Titel: [TUT]Leren Modden in Minecraft! Deel 2 : Eerste block!
Bericht door: Bowserite op 22 december 2012, 10:48:21
Hallo iedereen!
Hopelijk hebben jullie eerst Deel 1 gelezen.
Dus als Eclipse klaar staat kunnen we beginnen!
Stap 1 : Druk op het pijltje naast Minecraft in eclipse, er verschijnen dingen, en druk op het pijltje van src, en druk op het pijltje van net.minecraft.src .
Dan verschijnen superveel dingen.
Doe rechterklik op net.minecraft.src en dan doe je New en dan Class.
Geef je mod een naam maar het moet beginnen met mod_(naam).
Dan staat er "public class mod_Test". (Test is gewoon om te gebruiken nu, jij mag een andere schrijven)
Je moet dat veranderen naar "public class mod_Test extends BaseMod" pas op : bij BaseMod moet de b groot zijn en de m ook.
Dan verschijnt er een rood lijntje onder de naam van je mod, je klikt erop en wacht tot er iets verschijnt en druk op "Add unimplemented methods", dan is het rood lijntje weg.
Je schrijft dan "public mod_Test () {

}"
Stap 2 :  je schrijft in die public mod_Test "public static final Block Test = new BlockTest(2500, 0).setBlockName("Test").setHardness(2.0F);Dus ik ga alles uitleggen :
2500 : ID van de block, code van block, nummer.
.setBlockName : dit is NIET de naam van in-game, doe gewoon de naam de block.
.setHardness : hoe hard de block is.
new BlockTest : is de naam van de class van de block, Test mag je veranderen
0 : is de texture, maar wij doen iets anders.
Stap 3 : Nu gaan we de NAAM IN-GAME doen.
Je schrijft : "ModLoader.addName(Test "Block van de Test");"
Dit ga ik uitleggen :
ModLoader.addName : we vragen aan modloader die in minecraft forge is om een naam te zitten aan onze block Test.
OK, nu de textures.
Je schrijft "Test.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/mod/Test.png");
Je maakt een texture van een block die 16x16 pixels is.
Dan doe je hem in de map mod.
De map mod zet je in de map mcp, eclipse, bin, en dan plak je hier je mod map met de texture die in .png is.
Nu gaan we de block registeren.
Schrijf ModLoader.registerBlock(Test);
Nu ga ik die 3 zinnen uitleggen in 1 keer :
Test.blockIndexInTexture = ModLoader.addOverride : we vragen aan ModLoader om in de plaats van in terrain.png te zoeken, en de map mod de texture Test.png van de block Test.
ModLoader.registerBlock : we vragen aan ModLoader om onze block te registeren.
Stap 4 : OK, we hebben alles, nu maken we een nieuwe class die BlockTest heet.
Dan staat er public class BlockTest, verander dat in public class BlockTest extends Block .
Er gaat geen rood lijntje verschijnen.
Plak dit tussen de {
}
van BlockTest :
protected BlockTest(int par1, int par2)
    {
        super(par1, par2, Material.iron);
        this.setCreativeTab(CreativeTabs.tabBlock);
    }
Dit ga ik uitleggen, want this.setCreativeTab
 this.setCreativeTab(CreativeTabs.tabBlock); : We gaan onze block in de categorie Block doen, je mag dit veranderen.
super(par1, par2, Material.iron); : we zitten een material aan onze block, hier is het ijzer.
Stap 5 : WE GAAN ONZE BLOCK TESTEN!
Zoek boven naar een pijltje die in een groen bolletje staat.
Doe run as a application.
Maak een nieuwe wereld in creative en zoek je block.
Stap 6 : Een recept maken.
Ga terug naar je mod_Test en plak dit erin ook tussen die {

}
Plak dit :
ModLoader.addRecipe(new ItemStack( Test, 1), new Object[]
{
             " X ", 'X', Block.dirt
           });
Dit leg ik ook uit :
ModLoader.addRecipe : We gaan met dat een recept maken dus vragen wij dat aan ModLoader.
1 : hoeveel blocken of items je krijgt.
Test weer minecraft, soms kan hij crashen, dan moet je weer de textures zitten.
Probeer eens een dirt block in de crafting table, dan moet je normaal gezien de block hebben.
Proficiat met je Eerste Block!!!
Titel: Re: [alle versies]Leren Modden in Minecraft! Deel 2 : Eerste block!
Bericht door: umbrarush op 22 december 2012, 14:02:56
Tip: gebruik de [code][/code] tags

Veel overzichtelijker
nog een tip gebruik één topic voor je tutorial, neem een voorbeeld aan de vele andere

http://minecraftforum.nl/index.php/topic,17355.0.html
http://minecraftforum.nl/index.php/topic,17932.0.html
http://minecraftforum.nl/index.php/topic,14672.0.html
http://minecraftforum.nl/index.php/topic,14543.0.html
http://minecraftforum.nl/index.php/topic,12065.0.html