Jump to content

Recommended Posts

Posted

Hi, when placing custom block model in space there are black faces projecting on the blocks sharing common faces. The mod block code was generated by Creator 1.8.1. Any help how to make these faces rendering properly model textures ?

2019-01-23_00.32.18.png

Posted
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)

Posted (edited)

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
Posted (edited)

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

Posted
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;
        }

Posted
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;
        // }
    }
}

Posted
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

Posted
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)

Posted
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

Posted
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)

Posted
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

Posted

And another reason to hate MCreator: it generates code using ItemModelMesher, which is outdated and very bad practice (use Item#setCustomModelResourceLocation).

  • Like 3

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.

Announcements



×
×
  • Create New...

Important Information

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