Jump to content

weznon

Members
  • Posts

    4
  • Joined

  • Last visited

Posts posted by weznon

  1. 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.


     

    { "parent": "block/block",
      "elements": [
        {   "from": [ 0, 0, 0 ],
          "to": [ 16, 16, 16 ],
          "faces": {
            "down":  { "uv": [ 0, 0, 16, 16 ], "texture": "#side",   "cullface": "down" },
            "up":    { "uv": [ 0, 0, 16, 16 ], "texture": "#side",   "cullface": "up" },
            "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#base",   "cullface": "north" },
            "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#side",   "cullface": "south" },
            "west":  { "uv": [ 0, 0, 16, 16 ], "texture": "#side",   "cullface": "west" },
            "east":  { "uv": [ 0, 0, 16, 16 ], "texture": "#side",   "cullface": "east" }
          }
        },
        {   "from": [ 0, 0, 0 ],
          "to": [ 16, 16, 16 ],
          "faces": {
            "down":  { "uv": [ 0, 0, 16, 16 ], "texture": "#blank", "cullface": "down" },
            "up":    { "uv": [ 0, 0, 16, 16 ], "texture": "#blank", "cullface": "up" },
            "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#overlay0", "cullface": "north" },
            "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#blank", "cullface": "south" },
            "west":  { "uv": [ 0, 0, 16, 16 ], "texture": "#blank", "cullface": "west" },
            "east":  { "uv": [ 0, 0, 16, 16 ], "texture": "#blank", "cullface": "east" }
          }
        },
        {   "from": [ 0, 0, 0 ],
          "to": [ 16, 16, 16 ],
          "faces": {
            "down":  { "uv": [ 0, 0, 16, 16 ], "texture": "#blank", "cullface": "down" },
            "up":    { "uv": [ 0, 0, 16, 16 ], "texture": "#blank", "cullface": "up" },
            "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#overlay0", "cullface": "north" },
            "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#blank", "cullface": "south" },
            "west":  { "uv": [ 0, 0, 16, 16 ], "texture": "#blank", "cullface": "west" },
            "east":  { "uv": [ 0, 0, 16, 16 ], "texture": "#blank", "cullface": "east" }
          }
        },
        {   "from": [ 0, 0, 0 ],
          "to": [ 16, 16, 16 ],
          "faces": {
            "down":  { "uv": [ 0, 0, 16, 16 ], "texture": "#blank", "cullface": "down" },
            "up":    { "uv": [ 0, 0, 16, 16 ], "texture": "#blank", "cullface": "up" },
            "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#overlay0", "cullface": "north" },
            "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#blank", "cullface": "south" },
            "west":  { "uv": [ 0, 0, 16, 16 ], "texture": "#blank", "cullface": "west" },
            "east":  { "uv": [ 0, 0, 16, 16 ], "texture": "#blank", "cullface": "east" }
          }
        }
      ]
    }

     

    is my blockmodel now and it works, some texture references are incorrect but the  gist is there.

     

    thank you for the help

     

     

  2. 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

  3. https://pastebin.com/wkeVU3Mp

     

    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.

     

  4. 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

     koa3CZW.png

    and when a certain boolean is true, the texture on the face of the block will turn to rhR7HRf.png

    by setting an overlay texture to be a transparent texture with the purple rectangle.

     

    When I load the world, I get

     wt2sd4t.png

     

     

    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.

×
×
  • Create New...

Important Information

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