weznon
-
Posts
4 -
Joined
-
Last visited
Posts posted by weznon
-
-
package com.weznon.blink.block; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.registries.IForgeRegistry; public class ModBlocks { private static BlockHorde blockHorde = new BlockHorde().setCreativeTab(CreativeTabs.MATERIALS); private static BlockCounter blockCounter = new BlockCounter().setCreativeTab(CreativeTabs.MATERIALS); private static BlockTexture blockTexture = new BlockTexture().setCreativeTab(CreativeTabs.MATERIALS); private static BlockTextureFace blockTextureFace = new BlockTextureFace().setCreativeTab(CreativeTabs.MATERIALS); private static BlockBinaryCounter blockBinaryCounter = new BlockBinaryCounter().setCreativeTab(CreativeTabs.MATERIALS); private static BlockTextureBool blockTextureBool = new BlockTextureBool().setCreativeTab(CreativeTabs.MATERIALS); public static void register(IForgeRegistry<Block> registry) { registry.registerAll( blockHorde, blockCounter, blockTexture, blockTextureFace, blockBinaryCounter, blockTextureBool ); GameRegistry.registerTileEntity(blockCounter.getTileEntityClass(), blockCounter.getRegistryName().toString()); GameRegistry.registerTileEntity(blockBinaryCounter.getTileEntityClass(), blockBinaryCounter.getRegistryName().toString()); } public static void registerItemBlocks(IForgeRegistry<Item> registry) { registry.registerAll( blockHorde.createItemBlock(), blockCounter.createItemBlock(), blockTexture.createItemBlock(), blockTextureFace.createItemBlock(), blockBinaryCounter.createItemBlock(), blockTextureBool.createItemBlock() ); } public static void registerModels() { blockHorde.registerItemModel(Item.getItemFromBlock(blockHorde)); blockCounter.registerItemModel(Item.getItemFromBlock(blockCounter)); blockTexture.registerItemModel(Item.getItemFromBlock(blockTexture)); blockTextureFace.registerItemModel(Item.getItemFromBlock(blockTextureFace)); blockBinaryCounter.registerItemModel(Item.getItemFromBlock(blockBinaryCounter)); blockTextureBool.registerItemModel(Item.getItemFromBlock(blockTextureBool)); } }
Above is where I do all the registration stuff for blocks
@Mod.EventBusSubscriber public static class RegistrationHandler { @SubscribeEvent public static void registerItems(RegistryEvent.Register<Item> event) { ModItems.register(event.getRegistry()); ModBlocks.registerItemBlocks(event.getRegistry()); } @SubscribeEvent public static void registerModels(ModelRegistryEvent event) { ModItems.registerModels(); ModBlocks.registerModels(); } @SubscribeEvent public static void registerBlocks(RegistryEvent.Register<Block> event) { ModBlocks.register(event.getRegistry()); } }
Above is RegistrationHandler from my main mod class (Blink.java)
I have been following Shadowfacts modding tutorial, thats where i got this method of registering models
Source is at https://gitlab.com/weznon/minecraftBlink, just in case I forgot to paste anything.
All of the other blocks render properly
-
Here is the log when i start up the client and load a world.
The booleans are encoded in a tile entity, and are recovered using an overrided getActualState. Only "facing" is stored in block metadata, the rest is in a tile entity.
From looking through the log I don't see any errors, though I only gave it a cursory glance.
-
The model in question: https://gist.github.com/Weznon/72a299489ba47f58689538b21138f4ae
The blockstate in question: https://gist.github.com/Weznon/95f991cc7baee9db98e08968b79d72e6
The end goal of the block is to have it's orientation change when placed to face the player, and then depending on 3 Boolean values, recolor 3 rectangles on the front block face using overlays.
So the front texture is
and when a certain boolean is true, the texture on the face of the block will turn to
by setting an overlay texture to be a transparent texture with the purple rectangle.
When I load the world, I get
I believe that the error is in my block model (might be wrong though), since when I changed the inventory variant to use a different block model the block rendered properly in my inventory.
I based the JSON off of the following post:
I have checked to make sure all the file names/locations are correct.
Thank you for the help, I've been stuck on this for a while and I can't figure out what's wrong.
[1.12] Can't figure out why my block doesn't render properly
in Modder Support
Posted · Edited by weznon
I did some testing on my own and I I found the problem
In my block model JSON, i only had partially filled elements, ie
{ "from": [ 0, 0, 0 ], "to": [ 16, 16, 16 ], "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#overlay", "tintindex": 0, "cullface": "north" }, } }
In this JSON i dont define things to put on the other faces of the block
This caused the texture to go bad, you need to have all of the faces filled in. I made a blank texture and used that for all of the sides I do not want an overlay on.
is my blockmodel now and it works, some texture references are incorrect but the gist is there.
thank you for the help