https://mcforge-cn.readthedocs.io/zh/latest/rendering/teisr/
要使用TEISR,物品首先必须其模型的IBakedModel#isBuiltInRenderer返回true 一旦返回true,将访问Item的TEISR进行渲染。 如果它没有,它将使用默认的TileEntityItemStackRenderer.instance。
"物品首先必须其模型的IBakedModel#isBuiltInRenderer返回true 一旦返回true"
我没有理解这段话 该怎么让它返回true
我写的代码
public static Item firstItem;
@SubscribeEvent
public static void registerItem(RegistryEvent.Register<Item> event) {
firstItem = new Item();
firstItem.setUnlocalizedName("my_mod:example_item");
firstItem.setRegistryName(new ResourceLocation("my_mod", "bladebrandier1"));
firstItem.setCreativeTab(EXAMPLE_CREATIVE_TAB);
event.getRegistry().register(firstItem);
}
@SubscribeEvent
public static void onModelRegistration(ModelRegistryEvent event) {
ModelLoader.setCustomModelResourceLocation(firstItem, 0, new ModelResourceLocation(firstItem.getRegistryName(), "inventory"));
firstItem.setTileEntityItemStackRenderer(new TEISER());
}
public class TEISER extends TileEntityItemStackRenderer {
@Override
public void renderByItem(ItemStack itemStackIn) {
System.out.println("itemStackIn: " + itemStackIn); 这里并没有被输出 ""
}
}
或者大佬能不能帮我简短写一个例子 需要的功能就是 加载.obj模型到物品上 然后实现能用GL11 glTranslatef / glScalef /glRotatef