German 1.4.7 Modding Tutorials: Basic Item Part 2

In diesem Tutorial werde ich zeigen wie du das Itemfile für dein Item machen kannst. Dazu müssen wir erst mal wieder ins Modfile. Mit diesem Modfile fang ich an:


package tutorial;

import net.minecraft.item.Item;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.LanguageRegistry;
@Mod(modid = “Tutorial_Tutorialmod”, name = “Tutorial”, version = “1.0”)
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
public class Tutorial 
{
 @SidedProxy(clientSide = “tutorial.ClientProxyTutorial”, serverSide = “tutorial.CommonProxyTutorial”)
 public static CommonProxyTutorial proxy;
 public static Item tutorialItem;
 @Init
 public void load(FMLInitializationEvent event)
 {
  proxy.registerRenderThings();
  tutorialItem = new ItemTutorial(5000).setIconIndex(0).setItemName(“tutorial”);
 
  LanguageRegistry.addName(tutorialItem, “Tutorial Item”);
 }
}

Um das Itemfile zu erstellen, fahre mit der Maus über “ItemTutorial”(Da, wo der Fehler angezeigt wird) und klicke auf “Create Class”

Es sollte eine neue Datei erstellt werden, die so aussieht:

package tutorial;

public class ItemTutorial {
}

Das erste, was wir machen müssen, ist, dafür sorgen, dass es “Item” erweitert. Das machen wir durch das hinzufügen von “extends Item” hinter den Klassennamen. Du wirst einen Fehler unter “Item” haben, diesen behebst du durchs Importieren der Datei. (ctrl+shift+O)

Nachdem du die Datei importiert hast, wirst du einen Fehler unter deinem Dateinamen bekommen. behebe diesen, indem du über ihn drüber fährst und “Add constructor” anklickst. Die Datei sollte jetzt ungefähr so aussehen:

package tutorial;

import net.minecraft.item.Item;
public class ItemTutorial extends Item
{
 public ItemTutorial(int par1) {
  super(par1);
  // TODO Auto-generated constructor stub
 }
}

Jetzt löschen wir einfach den Kommentar (Das hinter “//”) und ändern “par1″ in “id” (Bloß aus kosmetischen Gründen) und dein Item ist fertig.

Eine Sache, die ich noch machen würde, ist festzulegen, in welchem Tab im Creative-Inventory das Item auftaucht. Um das zu tun, Müssen wir diese Zeile in den constructor einbauen:

this.setCreativeTab(CreativeTabs.tabMaterials);


Das in den Klammern ist der Tab, in dem das Item angezeigt wird.

Du musst jetzt noch “CreativeTabs” importieren, und dann sind wir auch hiermit fertig.
Wenn du deine eigene Textur für das Item haben willst und du das Tutorial für eigene Blocktexturen noch nicht gelesen hast, schlage ich vor, dass du das hiermachst. Wenn du das gemacht hast, solltest du folgende Methode kennen und verstehen:

public String getTextureFile()

    {
            return “/tutorialitems.png”;
    }

Natürlich musst du auch wieder die Textur in “ClientProxy” mit dieser Zeile registrieren:


MinecraftForgeClient.preloadTexture(“/tutorialitems.png”);


“ClientProxy” sollte ungefähr so aussehen:


package tutorial;

import net.minecraftforge.client.MinecraftForgeClient;
public class ClientProxyTutorial extends CommonProxyTutorial
{
 @Override
 public void registerRenderThings()
 {
  MinecraftForgeClient.preloadTexture(“/tutorialblocks.png”);
  MinecraftForgeClient.preloadTexture(“/tutorialitems.png”);
 }
}

Dein Itemfile sollte so aussehen:


package tutorial;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
public class ItemTutorial extends Item
{
 public ItemTutorial(int id) 
 {
  super(id);
  this.setCreativeTab(CreativeTabs.tabMaterials);
 }
 public String getTextureFile()
    {
            return “/tutorialitems.png”;
    }
}

Wenn du eine gute Vorlage für ein Item-Spritesheet brauchst, schlage ich diese vor:

Das ist einfach eine 256 mal 256 große, transparente Texturendatei
Du kannst den Quellcode hierherunterladen

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">