rafboh Posted January 23, 2019 Posted January 23, 2019 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 ? Quote
Cadiboo Posted January 23, 2019 Posted January 23, 2019 1 hour ago, rafboh said: The mod block code was generated by Creator 1.8.1 Do you mean MCreator? Quote About Me Spoiler My Discord - Cadiboo#8887 My Website - Cadiboo.github.io My Mods - Cadiboo.github.io/projects My Tutorials - Cadiboo.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)
rafboh Posted January 23, 2019 Author Posted January 23, 2019 7 hours ago, Cadiboo said: Do you mean MCreator? Yes I meant MCreator Quote
Guest Posted January 23, 2019 Posted January 23, 2019 (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 January 23, 2019 by Mark_225 Quote
Zamion101 Posted January 23, 2019 Posted January 23, 2019 (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 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 January 23, 2019 by Zamion101 Quote Developing Kodev Minecraft Hardcore Mod! If You're Wondering, My Mod Page. http://minecraft.curseforge.com/projects/minecraft-hardcore-mod
rafboh Posted January 23, 2019 Author Posted January 23, 2019 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; } Quote
rafboh Posted January 23, 2019 Author Posted January 23, 2019 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; // } } } Quote
Zamion101 Posted January 23, 2019 Posted January 23, 2019 isFullCube must return false isTranslucent must return true Quote Developing Kodev Minecraft Hardcore Mod! If You're Wondering, My Mod Page. http://minecraft.curseforge.com/projects/minecraft-hardcore-mod
rafboh Posted January 23, 2019 Author Posted January 23, 2019 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; // } Quote
Zamion101 Posted January 23, 2019 Posted January 23, 2019 (edited) 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 January 23, 2019 by Zamion101 Quote Developing Kodev Minecraft Hardcore Mod! If You're Wondering, My Mod Page. http://minecraft.curseforge.com/projects/minecraft-hardcore-mod
Cadiboo Posted January 23, 2019 Posted January 23, 2019 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. Quote About Me Spoiler My Discord - Cadiboo#8887 My Website - Cadiboo.github.io My Mods - Cadiboo.github.io/projects My Tutorials - Cadiboo.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)
rafboh Posted January 23, 2019 Author Posted January 23, 2019 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); Quote
Cadiboo Posted January 23, 2019 Posted January 23, 2019 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? Quote About Me Spoiler My Discord - Cadiboo#8887 My Website - Cadiboo.github.io My Mods - Cadiboo.github.io/projects My Tutorials - Cadiboo.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)
rafboh Posted January 23, 2019 Author Posted January 23, 2019 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 Quote
desht Posted January 24, 2019 Posted January 24, 2019 And another reason to hate MCreator: it generates code using ItemModelMesher, which is outdated and very bad practice (use Item#setCustomModelResourceLocation). 3 Quote
Recommended Posts
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.