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 hier machst. 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 hier herunterladen

1 opmerking:

  1. ROBLOX is driven by an ever growing community of over 300,000 creator players who generate an infinite variety of highly immersive experiences.

    These experiences range from 3D games and contests, to interactive adventures where players can take on new personas to explore what it would be like to be a dinosaur, a miner working a mine or an astronaut out in space.

    BeantwoordenVerwijderen