Jump to content

custom block model rendering glitch MC 1.12.2


rafboh

Recommended Posts

1 hour ago, rafboh said:

The mod block code was generated by Creator 1.8.1

Do you mean MCreator?

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Link to comment
Share on other sites

Looks like you forgot to define your custom block as transparent. The dark block faces happen, when a transparent block is still technically handled as one that completely blocks light.

Edited by Mark_225
Link to comment
Share on other sites

I also have a same problem but my problem is not dark block faces.

 

As you can see in the picture block face doesn't rendering under my block.

Spoiler

image.png.e8c11e1a19a9b875ba0244a470ef4a4f.png

Spoiler

public BlockStoneCutter() {
    super(Material.ICE,"stone_cutter",MapColor.IRON);
    //setDefaultState(this.createBlockState().getBaseState().withProperty(FACING,EnumFacing.NORTH));
    this.fullBlock = false;
    this.translucent = true;
    setLightOpacity(0);
    setHardness(3.0F);
}

@Override
public BlockRenderLayer getBlockLayer() {
    //I also tried TRANSLUCENT , CUTOUT_MIPPED
    return BlockRenderLayer.CUTOUT;
}

@Override
public boolean isNormalCube(IBlockState state, IBlockAccess world, BlockPos pos) {
    return false;
}

 

Edited by Zamion101

Developing Kodev Minecraft Hardcore Mod!

If You're Wondering, My Mod Page. http://minecraft.curseforge.com/projects/minecraft-hardcore-mod

Link to comment
Share on other sites

7 hours ago, Mark_225 said:

Looks like you forgot to define your custom block as transparent. The dark block faces happen, when a transparent block is still technically handled as one that completely blocks light.

thanks for your answer . Do you mean overriding isOpaqueCube() function ? 

 

that's what I have in the code :

 

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

Link to comment
Share on other sites

12 hours ago, diesieben07 said:

Don't use MCreator. Learn Java.

thank you for this valuable input. Before I will learn Java , which is the challange that  can take a while, do you have any hint what might cause this problem? As we both know there is java code behind MCreator and probably if someone has already learnt java can easily find a reason.

 

 

-------------

 

package mod.mcreator;

import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.common.registry.ForgeRegistries;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;

import net.minecraft.world.World;
import net.minecraft.world.IBlockAccess;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumBlockRenderType;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.Item;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.client.Minecraft;
import net.minecraft.block.state.IBlockState;
import net.minecraft.block.material.Material;
import net.minecraft.block.SoundType;
import net.minecraft.block.Block;

import java.util.Random;

public class mcreator_stoliktest extends testenvironmentmod.ModElement {

    public static Block block;
    static {
        block = new BlockCustom().setHardness(2F).setResistance(10F).setLightLevel(0F).setUnlocalizedName("stoliktest").setLightOpacity(255)
                .setCreativeTab(mcreator_mebelki.tab);
    }

    @Override
    public void preInit(FMLPreInitializationEvent event) {
        block.setHarvestLevel("pickaxe", 1);
        block.setRegistryName("stoliktest");
        ForgeRegistries.BLOCKS.register(block);
        ForgeRegistries.ITEMS.register(new ItemBlock(block).setRegistryName(block.getRegistryName()));
    }

    @Override
    public void load(FMLInitializationEvent event) {
        if (event.getSide() == Side.CLIENT) {
            Minecraft.getMinecraft().getRenderItem().getItemModelMesher()
                    .register(Item.getItemFromBlock(block), 0, new ModelResourceLocation("testenvironmentmod:stoliktest", "inventory"));
        }
    }

    public static class BlockCustom extends Block {

        private boolean red = false;

        public BlockCustom() {
            super(Material.ROCK);
            setSoundType(SoundType.GROUND);
        }

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

        @Override
        public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
            return new AxisAlignedBB(0D, 0D, 0D, 1D, 1D, 1D);
        }

        @Override
        public int tickRate(World world) {
            return 10;
        }

        @Override
        public int quantityDropped(Random random) {
            return 1;
        }

        @Override
        public int getWeakPower(IBlockState state, IBlockAccess baccess, BlockPos pos, EnumFacing side) {
            return red ? 15 : 0;
        }

        @Override
        public int getStrongPower(IBlockState state, IBlockAccess baccess, BlockPos pos, EnumFacing side) {
            return red ? 15 : 0;
        }

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

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

        // public boolean isNormalCube(IBlockState state, IBlockAccess world,
        // BlockPos pos) {
        // return false;
        // }
        @Override
        public boolean isTranslucent(IBlockState state) {
            return false;
        }
        // @Override
        // public EnumBlockRenderType getRenderType(IBlockState iBlockState) {
        // return EnumBlockRenderType.MODEL;
        // }
    }
}

Link to comment
Share on other sites

13 minutes ago, Zamion101 said:

isFullCube must return false

isTranslucent must return true

thanks, it even more fun :) they become fully black

 

 

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

        // public boolean isNormalCube(IBlockState state, IBlockAccess world,
        // BlockPos pos) {
        // return false;
        // }
        @Override
        public boolean isTranslucent(IBlockState state) {
            return true;
        }
        // @Override
        // public EnumBlockRenderType getRenderType(IBlockState iBlockState) {
        // return EnumBlockRenderType.MODEL;
        // }

screen1.png

Link to comment
Share on other sites

Ohh i forget 

setLightOpacity should be 0

and add isNormalCube to code and return false

 

And That's why we hate Mcreator this programs creates nearly unreadable codes.

Edited by Zamion101

Developing Kodev Minecraft Hardcore Mod!

If You're Wondering, My Mod Page. http://minecraft.curseforge.com/projects/minecraft-hardcore-mod

Link to comment
Share on other sites

15 minutes ago, Zamion101 said:

And That's why we hate Mcreator this programs creates nearly unreadable codes.

- Unreadable code

- Uses bad practices that can break other mods

- They own your mod completely, and you can never use any of the generated code

- etc.

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Link to comment
Share on other sites

21 minutes ago, Zamion101 said:

Ohh i forget 

setLightOpacity should be 0

and add isNormalCube to code and return false

 

And That's why we hate Mcreator this programs creates nearly unreadable codes.

Man , you are great , works, even with Mcreator unreadable code :)

 

block = new BlockCustom().setHardness(2F).setResistance(10F).setLightLevel(0F).setUnlocalizedName("stoliktest").setLightOpacity(0).setCreativeTab(mcreator_mebelki.tab);

 

 

2019-01-24_00.07.34.png

Link to comment
Share on other sites

3 minutes ago, rafboh said:

block = new BlockCustom().setHardness(2F).setResistance(10F).setLightLevel(0F).setUnlocalizedName("stoliktest").setLightOpacity(0).setCreativeTab(mcreator_mebelki.tab);

do you set it’s registry name?

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Link to comment
Share on other sites

3 minutes ago, Cadiboo said:

do you set it’s registry name?

I think yes:

@Override
    public void load(FMLInitializationEvent event) {
        if (event.getSide() == Side.CLIENT) {
            Minecraft.getMinecraft().getRenderItem().getItemModelMesher()
                    .register(Item.getItemFromBlock(block), 0, new ModelResourceLocation("testenvironmentmod:stoliktest", "inventory"));
        }

 

Issue is solved setLightOpacity(0) makes a job

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.