Ich weiß, das ist wahrscheinlich nicht der beste Ort, um diese Frage zu stellen, aber die Jungs in den Schmiedeforen helfen wirklich nicht so sehr und ich dachte, ich würde mein Glück hier versuchen. Ich habe Probleme mit der neuen Syntax für die Entitätsregistrierung, insbesondere beim Rendern der Entität. Zuvor haben Sie einfach die RenderingRegistry.registerEntityRenderingHandler-Zeile zu Ihrem ClientProxy hinzugefügt, und das war es. Aber jetzt, es fragt mich, RenderingRegistry.registerEntityRenderingHandler in der preInit zusammen mit einem Parameter namens IRenderFactory zu verwenden. Ich bin ein neuer Modder, also bin ich mir nicht sicher, wie IRenderFactory funktioniert oder wie ich einen erstellen kann (wenn es nötig ist), also würde ich wirklich etwas Hilfe zu schätzen wissen. Mir wurde gesagt, dass Sie eine Methodenreferenz verwenden können, um den Konstruktor der Render-Klasse (RenderMyEntity :: new) stattdessen als IRenderFactory zu übergeben, aber ich weiß wirklich nicht, wie ich das anstellen soll. Wie ich schon sagte, ich bin ein sehr neuer Programmierer und das ist alles sehr fremd für mich, aber ich würde es wirklich gerne verstehen. Ich habe alle möglichen Nachforschungen angestellt, aber nichts davon macht Sinn. Danke, also so sehr. Ich schätze das wirklich!IRenderFactory Hilfe in Minecraft Forge
Hier ist meine MobExample Klasse (die Linie RenderingRegistry.registerEntityRenderingHandler (RenderGelZombie.class, render) nur in der PreInit von MobExample Klasse arbeitet, weshalb es da ist und nicht in Clientproxy):
package com.aideux.mobexample;
import com.aideux.basemod.BaseMod;
import net.minecraft.client.model.ModelZombie;
import net.minecraftforge.fml.client.registry.RenderingRegistry;
import net.minecraftforge.fml.common.registry.EntityRegistry;
public class MobExample
{
public static int currentEntityId = 0;
public static void preInit()
{
createEntityWithEgg(EntityGelZombie.class, "CustomMob", 0x00FF00, 0xFF0000);
RenderingRegistry.registerEntityRenderingHandler(RenderGelZombie.class, renderFactory);
}
public static void init()
{
BaseMod.proxy.registerEntityRenderers();
}
public static void createEntityWithEgg(Class entityClass, String entityName, int solidColor, int spotColor)
{
int entityId = currentEntityId++;
EntityRegistry.registerModEntity(entityClass, entityName, entityId, BaseMod.instance, 250, 1, true, solidColor, spotColor);
}
}
Google sagt, es ist eine Schnittstelle, um eine RenderEntity-Instanz zurückzugeben. Hast du irgendwo so etwas? – zapl
@zapl siehe, ich benutze Java nicht so sehr, also weiß ich nicht, was eine Schnittstelle ist oder wie man eine Render-Entity-Instanz zurückgibt. Weißt du vielleicht? – Aidan
=> https://docs.oracle.com/javase/tutorial/java/concepts/interface.html (oder http://stackoverflow.com/tags/java/info für andere Ressourcen). Ich weiß, welche Schnittstellen es gibt und wie man Dinge zurückgibt, ich bin kein Modder, also habe ich keine Ahnung, was eine 'RenderEntity' ist. Aber das Unterrichten der Sprachgrundlagen ist hier meist nicht Thema oder bereits ausführlich beantwortet. – zapl