Я знаю, что это, вероятно, не лучшее место, чтобы задать этот вопрос, но ребята на форумах forge действительно не очень помогают, и я думал, что попробую удачу здесь. У меня возникли проблемы с новым синтаксисом для реестре объектов, в частности, для создания объекта. До этого вы просто добавили строку RenderingRegistry.registerEntityRenderingHandler к вашему ClientProxy, и это было так. Но теперь он просит меня использовать RenderingRegistry.registerEntityRenderingHandler в preInit вместе с параметром IRenderFactory. Я новый модератор, поэтому я не уверен, как работает IRenderFactory, или как я могу его создать (если нужно), поэтому я действительно очень ценю некоторую помощь. Мне сказали, что вы можете использовать ссылку на метод, чтобы передать конструктор класса Render (RenderMyEntity :: new) вместо IRenderFactory, но я действительно не знаю, как это сделать. Как я уже сказал, я очень новый программист, и все это очень чуждо мне, но я бы очень хотел это понять. Я проводил все виды исследований, но ничто из этого не имеет смысла. Спасибо, что так так. Я очень ценю это!Помощь IRenderFactory в Minecraft Forge
Вот мой MobExample класс (линия RenderingRegistry.registerEntityRenderingHandler (RenderGelZombie.class, renderFactory) работает только в PreInit из MobExample класса, поэтому он там и не в 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 говорит, что это интерфейс для возврата экземпляра «RenderEntity». У вас что-то есть? – zapl
@zapl see, я не очень много использую Java, поэтому я не знаю, что такое интерфейс или как вернуть экземпляр объекта визуализации. Вы, может быть, знаете? – Aidan
=> https://docs.oracle.com/javase/tutorial/java/concepts/interface.html (или см. Http://stackoverflow.com/tags/java/info для других ресурсов). Я знаю, какие интерфейсы и как возвращать вещи, я не модем, поэтому я не знаю, что такое «RenderEntity». Но преподавание основ языка в основном не соответствует теме или уже ответственно. – zapl