German 1.4.7 Modding Tutorials: Proxy’s

In diesem Tutorial werden wir Proxys zu unserer Mod hinzufügen. Diese benötigen wir, wenn wir irgend etwas mit Rendering machen wollen.(rendern = Bild Berechnen) Also wenn wir unsere eigenen Texturen für Mobs, Blöcke, Items, … haben wollen, brauchen wir diese. Ein großer teil de Codes kommt ebenfalls in das Modfile. Das hier ist die Datei, mit der wir anfangen: 


package tutorial;

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;
@Mod(modid = “Tutorial_Tutorialmod”, name = “Tutorial”, version = “1.0”)
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
public class Tutorial 
{
 @Init
 public void load(FMLInitializationEvent event)
 {
 
 }
}

Die erste Zeile, die wir zu dem Modfile hinzufügen, ist diese: 


@SidedProxy(clientSide = “tutorial.ClientProxyTutorial”, serverSide = “tuotrial.CommonProxyTutorial”)


Diese Zeile muss zwischen dem Anfang der Klasse und “@Init” sein. Es macht eigentlich keinen Unterschied, ob etwas oben drüber oder unten drunter ist, Bär es muss zwischen diesen zwei Sachen sein. Der Code, der zwischen den ersten Anführungszeichen sein muss, ist das Package + ClientProxyModname (Wobei Modname natürlich der Name der Mod ist). In die zweiten kommt fast das gleiche, wir müssen bloß “ClientProxy” mit “CommonProxy” ersetzen, sodass es “package.CommonProxyModname” ist.

Die nächste Zeile kommt unter die “@SidedProxy”-Zeile: 


public static CommonProxyTutorial proxy;


Du solltest diese Zeile genau abschreiben und bloß “Tutorial” in deinen Modnamen ändern. Du wirst einen Fehler unter “CommonProxy” bekommen, weil es diese Datei noch gar nicht gibt, darum kümmern wir uns gleich.

Es gibt noch eine Zeile, die wir zu dieser Datei hinzufügen müssen. Es muss die erste Zeile innerhalb der geschweiften Klammern der load-methode sein, oder die Texturen werden nicht richtig funktionieren. 


proxy.registerRenderThings();


“registerRenderThings()” ist eine Methode die wir gleich in den Common und den ClientProxy einbauen werden.

Das war der gesamte Code, den wir im Modfile brauchen. Jetzt machen wir unsere “CommonProxy”-Datei. Das machen wir, indem wir die Maus über “CommonProxy” fahren und kurz warten. Ein kleines Fensterchen geht auf. Klicke auf “Create Class”. Die Datei sollte erstellt werden. Sorge dafür, dass Die neue Datei so aussieht: 


package tutorial;

public class CommonProxyTutorial
{
    public void registerRenderThings()
    {
        
    }
}

Hier kommt nie wirklich etwas hin, weil das rendering eigentlich bloß vom Client ausgeführt wird. Als nächstes kommt “ClientProxy” dran. Rechtsklicke auf das Package, das wir vorhin gemacht haben (Modname.common) und wähle New -> Class. Nenne die Klasse genau so, wie das, dass du vorhin in das @SidedProxy geschrieben hast (etwa tutorialmod.common.ClientProxyTutorial). Sorge dafür, dass die Datei so aussieht:


package tutorial;

import tutorial.CommonProxyTutorial;
public class ClientProxyTutorial extends CommonProxyTutorial
{
 @Override
    public void registerRenderThings()
    {
    
    }
}

Achtung: Pass auf, dass du das “extends Tutorial.CommonProxyTutorial” nicht vergisst!

In dieser Datei werden wir später alles fürs rendering hinzufügen.
Du kannst den Quellcode hier herunterlasen.

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="">