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

ROBLOX is driven by an ever growing community of over 300,000 creator players who generate an infinite variety of highly immersive experiences.
BeantwoordenVerwijderenThese 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.