Что-то не так с рендером

Версия Minecraft
1.12.2
21
1
Ранее столкнулся с неизвестной ошибкой в рендере:
2018-06-17_14.56.14.png
Я не нашёл другого решения, так что создал по учебнику новый мод. Но там то же самое. Всё делал правильно. Вот структура файлов и их содержимое:
Безымянный.png
Java:
package moremod;

import moremod.proxy.CommonProxy;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;

@Mod(modid = "more", useMetadata = true)
public class MainClass {
   
    @SidedProxy(clientSide = "moremod.proxy.ClientProxy", serverSide = "moremod.proxy.CommonProxy")
    public static CommonProxy proxy;

    @EventHandler
    public void preInit(FMLPreInitializationEvent event)
    {
        proxy.preInit(event);
    }

    @EventHandler
    public void init(FMLInitializationEvent event)
    {
        proxy.init(event);
    }

    @EventHandler
    public void postInit(FMLPostInitializationEvent event)
    {
        proxy.postInit(event);
    }
}
Java:
package moremod;

import net.minecraft.item.Item;

public class Sandwich extends Item
{
    public Sandwich(String name)
    {
        this.setRegistryName("sandwich");
        this.setUnlocalizedName("Sandwich");
    }
}
Java:
package moremod;

import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.ForgeRegistries;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

public class ItemsRegister
{
    public static Item SANDWICH = new Sandwich("sandwich");

    public static void register()
    {
        setRegister(SANDWICH);
    }

    @SideOnly(Side.CLIENT)
    public static void registerRender()
    {
        setRender(SANDWICH);
    }

    private static void setRegister(Item item)
    {
        ForgeRegistries.ITEMS.register(item);
    }

    @SideOnly(Side.CLIENT)
    private static void setRender(Item item)
    {
        Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory"));
    }
}
Java:
package moremod.proxy;

import moremod.ItemsRegister;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;

public class CommonProxy
{
    public void preInit(FMLPreInitializationEvent event)
    {
        ItemsRegister.register();
    }

    public void init(FMLInitializationEvent event)
    {

    }

    public void postInit(FMLPostInitializationEvent event) {

    }

}
Java:
package moremod.proxy;

import moremod.ItemsRegister;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;

public class ClientProxy extends CommonProxy
{
    @Override
    public void preInit(FMLPreInitializationEvent event)
    {
        super.preInit(event);
    }

    @Override
    public void init(FMLInitializationEvent event)
    {
        super.init(event);
        ItemsRegister.registerRender();
    }

    @Override
    public void postInit(FMLPostInitializationEvent event)
    {
        super.postInit(event);
    }
}

Вряд ли это важно, но у меня файл mcmod.info написан с кодировкой "UTF-8 без BOM"
 
Решение
Во первых есть не критическая ошибка. В классе ItemsRegister в поле public static Item SANDWICH = new Sandwich("sandwich"); не нужно было указывать имя "sandwich", так как ты его уже указал в поле this.setRegistryName("sandwich"); класса Sandwich, нужно было просто оставить пустые дужки в полях public static Item SANDWICH = new Sandwich("sandwich"); класса ItemsRegister и public Sandwich(String name) класса Sandwich.
Во вторых в проблеме с рендером вероятно виновата видеокарта, возможно в её настройках активирована какая-то функция, которая так влияет на рендер игры. У меня идентичная проблема возникает если в настройках видеокарты nVidia включить параметр "Затенение фонового освещения". Не факт что...
1,031
19
87
Во первых есть не критическая ошибка. В классе ItemsRegister в поле public static Item SANDWICH = new Sandwich("sandwich"); не нужно было указывать имя "sandwich", так как ты его уже указал в поле this.setRegistryName("sandwich"); класса Sandwich, нужно было просто оставить пустые дужки в полях public static Item SANDWICH = new Sandwich("sandwich"); класса ItemsRegister и public Sandwich(String name) класса Sandwich.
Во вторых в проблеме с рендером вероятно виновата видеокарта, возможно в её настройках активирована какая-то функция, которая так влияет на рендер игры. У меня идентичная проблема возникает если в настройках видеокарты nVidia включить параметр "Затенение фонового освещения". Не факт что у тебя так же, но вполне вероятно. Рекомендую покопаться в параметрах видеокарты и обратить внимание на параметры затенения освещения, анизотропной фильтрации или сглаживания.
 
21
1
Во первых есть не критическая ошибка. В классе ItemsRegister в поле public static Item SANDWICH = new Sandwich("sandwich"); не нужно было указывать имя "sandwich", так как ты его уже указал в поле this.setRegistryName("sandwich"); класса Sandwich, нужно было просто оставить пустые дужки в полях public static Item SANDWICH = new Sandwich("sandwich"); класса ItemsRegister и public Sandwich(String name) класса Sandwich.
Во вторых в проблеме с рендером вероятно виновата видеокарта, возможно в её настройках активирована какая-то функция, которая так влияет на рендер игры. У меня идентичная проблема возникает если в настройках видеокарты nVidia включить параметр "Затенение фонового освещения". Не факт что у тебя так же, но вполне вероятно. Рекомендую покопаться в параметрах видеокарты и обратить внимание на параметры затенения освещения, анизотропной фильтрации или сглаживания.
Большое спасибо, оказалось, дело в уровнях детализации - после их отключения всё стало работать нормально.
 
Сверху