Подключение моделей .obj

Версия Minecraft
1.12
192
2
9
Здравствуйте, ребята! Говорят мне опытные люди этого форума, что в 1.12 все же есть возможность подключать .obj модели. Как это делается? Подскажите пожалуйста. В новой версии нифига толком с этим .json не могу разобраться :(

Мне нужен пример подключения модели для блока, итема, брони.

Хотя, если есть какой-либо учебник по работе с .json, я бы не отказался его изучить, ибо в нем больше удобства - так говорят...
 
192
2
9
Dahaka написал(а):
В общем, в ключ "model" можно всунуть obj модель

Попробовал в общем по первому варианту, вижу, что майн пытается искать не obj модель, а всё так же json

Модель расположена в пакете assets.main.obj.blocks с именем object.obj

Вот что мне выдает в лог:
Код:
Exception loading model main:cosmobase001#normal with loader VariantLoader.INSTANCE, skippin
Код:
Caused by: net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model main:block/obj/obj with loader VanillaLoader.INSTANCE, skipping
Код:
Caused by: java.io.FileNotFoundException: main:models/block/obj/obj.json

Буду ждать предложений далее, а пока попробую поискать еще варианты самостоятельно.

Кстати, да... Модель подключал в файле блока в пакете blockstates
Таким путем
Код:
{
  "variants":
  {
    "normal": { "model": "main:obj/blocks/object" }
  }
}
 
192
2
9
Agravaine написал(а):
Так и надо. Чтобы он знал де модель искать.
Ну если посмотреть на комменты выше, то была попытка подключения модели через key name в blockstate, которая не венчалась успехом.
Можно теперь более подробнее о том, как работать с OBJLoader.INSTANCE.addDomain? Буду благодарен)


Самое что печальное, ребята знают некоторые, как в 1.12 всё осуществлять и черпали навыки так же с форумов, а теперь другим так же помочь не желают, проходят мимо поста(
 
2,505
81
397
Pycckuu_gap написал(а):
а теперь другим так же помочь не желают, проходят мимо поста(
Немного не так. Нету таких ребят. По крайней мере я не помню, чтобы кто-то на этом форуме загружал obj модели в 1.10+ (при помощи форума). Все лепят воксельные через json.
 
192
2
9
Dahaka написал(а):
Немного не так. Нету таких ребят. По крайней мере я не помню, чтобы кто-то на этом форуме загружал obj модели в 1.10+ (при помощи форума). Все лепят воксельные через json.
Тогда могу только извиниться за громкое заявление, что в общем-то и делаю)
Извините друзья, извините. Если есть советы, всегда рад увидеть что-то новенькое)
 
5,022
47
784
я тоже фанат. Но я превращаюсь в квадратного Liahim'а и думаю, что слепить из кубиков быстрее и более вписывается в тематику
 
192
2
9
Такс... Нашлось наконец время, снова полез к делам
Подключаю модель через .json в ключике "model" и к счастью майн в консоль не ругается, модель нашел и запустил, но...
Теперь ситуация немного иная) Модели нет, есть на её месте просто белый блок.
Как я понял, касается рендера, который я как раз не поставил

Сам блок
Код:
public class TestBlock extends Block {
 
    public TestBlock(String name)
    {
        super(Material.ROCK);
        this.setRegistryName(name);
        this.setUnlocalizedName(name);
        this.setCreativeTab(TabList.LIGHTING);
        this.setLightLevel(1F);
        this.setHardness(150F);
    }
    
    @Override
    public boolean isOpaqueCube(IBlockState state)
    {
        return false;
    }

    @Override
    public boolean isFullCube(IBlockState state)
    {
        return false;
    }
}

Регистрация блока
Код:
public class BlocksRegister
{
 
    public static Block TESTBLOCK = new OreDenseCoal("testblock");

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

    @SideOnly(Side.CLIENT)
    public static void registerRender()
    {

 setRender(TESTBLOCK);
        
    }
    
    

    private static void setRegister(Block block)
    {
        ForgeRegistries.BLOCKS.register(block);
        ForgeRegistries.ITEMS.register(new ItemBlock(block).setRegistryName(block.getRegistryName()));
    }

    @SideOnly(Side.CLIENT)
    private static void setRender(Block block)
    {
     Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock(block), 0, new ModelResourceLocation(block.getRegistryName(), "inventory"));
    }
}

ПроксиКлиент
Код:
public class ClientProxy extends CommonProxy

{
    @Override
    public void preInit(FMLPreInitializationEvent e)
    {
        super.preInit(e);
    }

    @Override
    public void init(FMLInitializationEvent e)
    {
        super.init(e);
        BlocksRegister.registerRender();

    }

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

Какие регистрации и где необходимо проводить? ModID - main. Модель лежит в папке object с именем obj.obj
Так же волнует вопрос о том, как убрать темноту с блока? Корректировать его освещение.
 

Вложения

  • Снимок0001.jpg
    Снимок0001.jpg
    127.1 KB · Просмотры: 67
Сверху