[1.12.2] Проблема с тенями у модели блока .obj

Версия Minecraft
1.12.2
API
Forge
51
8
5
Из-за нестандартного размера модели моего блока на нем плохо отображаются тени, как это исправить? Если что формат моей модели .obj
Вот как это выглядит:
1745438353123.png

1745438376100.png
Вот код моего блока:

Java:
package com.afp.block;

import com.afp.tab.PowerArmorTab;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.util.BlockRenderLayer;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.client.event.ModelRegistryEvent;

import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;

import com.afp.ElementsAFP;

@ElementsAFP.ModElement.Tag
public class WorkshopBlockModel extends ElementsAFP.ModElement {
    @GameRegistry.ObjectHolder("afp:workshop_model")
    public static final Block block = null;

    public WorkshopBlockModel(ElementsAFP instance) {
        super(instance, 1);
    }

    @Override
    public void initElements() {
        elements.blocks.add(() -> new BlockCustom());
        elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
    }

    @SideOnly(Side.CLIENT)
    @Override
    public void registerModels(ModelRegistryEvent event) {
        ModelLoader.setCustomModelResourceLocation(
                Item.getItemFromBlock(block),
                0,
                new ModelResourceLocation("afp:workshop_model", "inventory")
        );
    }

    public static class BlockCustom extends BlockBase {
        public BlockCustom() {
            super(
                    Material.ROCK,
                    "workshop_model",
                    SoundType.GROUND,
                    1.0F,
                    10.0F,
                    0.0F,
                    PowerArmorTab.tab
            );
        }

        @SideOnly(Side.CLIENT)
        @Override
        public BlockRenderLayer getBlockLayer() {
            return BlockRenderLayer.CUTOUT_MIPPED;
        }

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

        @Override
        public boolean isFullCube(IBlockState state) {
            return false;
        }
    }
}
 
Сделать несколько IBlockSate как кровать или сундук или машины в HBM.
То есть мне надо разделить мою модель на несколько частей и добавить их в blockStates моего блока, а затем прописать алгоритм постановки и разрушения блока с учетом смены состояния, чтобы модель собиралась из кусочков?
 
разделить мою модель на несколько частей и добавить их в blockStates моего блока, а затем прописать алгоритм постановки и разрушения блока с учетом смены состояния, чтобы модель собиралась из кусочков?
В ваниле делается так.
В HBM 1 главный блок от которого идет отрисовка и вокруг прозрачные блоки с колизией, но там какаято своя магическая отсисовка (я в код не лез).
 
В ваниле делается так.
В HBM 1 главный блок от которого идет отрисовка и вокруг прозрачные блоки с колизией, но там какаято своя магическая отсисовка (я в код не лез).
Ну вот у меня схема как в hbm, 1 блок отрисовывает всю модель, и оставшееся пространство заполняется невидимыми блоками. Но проблему с затемнением всё никак не удается решить, я посмотрел исходник hbm и не могу понять, как они сделали так, чтобы модели нормально отображались. Посмотрите, пожалуйста, исходный код hbm, может вы что-нибудь поймёте, вы явно более опытный мододел, я часто вас на форуме вижу, где вы помогаете другим, а это явно не присуще новичку
 
Назад
Сверху