Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

Hi, so I very recently decided to get into modding, and I've managed to make a block using this tutorial. However, when I follow the part to add a model and texture to the block, only the ItemBlock (the block when it's in my inventory) has a model and texture. Does anyone know how I can give the actual block a model and a texture? Thanks!

  • Author

Mod class:

package cubicoder.tutorialmod;

import cubicoder.tutorialmod.init.ModBlocks;
import linky132.waywardcraft.WaywardCraft;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraftforge.event.RegistryEvent.Register;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

@EventBusSubscriber(modid = WaywardCraft.MODID)
public class RegistrationHandler {

    @SubscribeEvent
    public static void registerItems(Register<Item> event) {

        final Item[] itemBlocks = {
                new ItemBlock(ModBlocks.first_block).setRegistryName(ModBlocks.first_block.getRegistryName())

        };

        event.getRegistry().registerAll(itemBlocks);
    }

    @SubscribeEvent
    public static void registerBlocks(Register<Block> event) {
        final Block[] blocks = {
                new Block(Material.ROCK).setRegistryName(WaywardCraft.MODID, "first_block").setCreativeTab(CreativeTabs.MISC)
        };

        event.getRegistry().registerAll(blocks);
    }
}

ModBlocks class:

package cubicoder.tutorialmod.init;

import linky132.waywardcraft.WaywardCraft;
import net.minecraft.block.Block;
import net.minecraftforge.fml.common.registry.GameRegistry.ObjectHolder;

@ObjectHolder(WaywardCraft.MODID)
public class ModBlocks {

    public static final Block first_block = null;

}

RegistrationHandler class:

package cubicoder.tutorialmod;

import cubicoder.tutorialmod.init.ModBlocks;
import linky132.waywardcraft.WaywardCraft;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraftforge.event.RegistryEvent.Register;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

@EventBusSubscriber(modid = WaywardCraft.MODID)
public class RegistrationHandler {

    @SubscribeEvent
    public static void registerItems(Register<Item> event) {

        final Item[] itemBlocks = {
                new ItemBlock(ModBlocks.first_block).setRegistryName(ModBlocks.first_block.getRegistryName())

        };

        event.getRegistry().registerAll(itemBlocks);
    }

    @SubscribeEvent
    public static void registerBlocks(Register<Block> event) {
        final Block[] blocks = {
                new Block(Material.ROCK).setRegistryName(WaywardCraft.MODID, "first_block").setCreativeTab(CreativeTabs.MISC)
        };

        event.getRegistry().registerAll(blocks);
    }
}

ModelRegistrationHandler class:

package cubicoder.tutorialmod.client;

import cubicoder.tutorialmod.init.ModBlocks;
import linky132.waywardcraft.WaywardCraft;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side;

@EventBusSubscriber(value = Side.CLIENT, modid = WaywardCraft.MODID)
public class ModelRegistrationHandler {

    @SubscribeEvent
    public static void registerModels(ModelRegistryEvent event) {
        registerModel(Item.getItemFromBlock(ModBlocks.first_block), 0);
    }

    private static void registerModel(Item item, int meta) {
        ModelLoader.setCustomModelResourceLocation(item, meta,
                new ModelResourceLocation(item.getRegistryName(), "inventory"));
    }
}

Block JSON:

{
    "textures": {
        "salt_line": "waywardcraft:blocks/salt_line"
    },
    "display": {
        "gui": {
            "rotation": [ 30, 45, 0 ],
            "translation": [ 0, 0, 0 ],
            "scale": [ 0.625, 0.625, 0.625 ]
        },
        "ground": {
            "rotation": [ 0, 0, 0 ],
            "translation": [ 0, 3, 0 ],
            "scale": [ 0.25, 0.25, 0.25 ]
        },
        "fixed": {
            "rotation": [ 0, 180, 0 ],
            "translation": [ 0, 0, 0 ],
            "scale": [ 1, 1, 1 ]
        },
        "head": {
            "rotation": [ 0, 180, 0 ],
            "translation": [ 0, 0, 0 ],
            "scale": [ 1, 1, 1 ]
        },
        "firstperson_righthand": {
            "rotation": [ 0, 315, 0 ],
            "translation": [ 0, 2.5, 0 ],
            "scale": [ 0.4, 0.4, 0.4 ]
        },
        "thirdperson_righthand": {
            "rotation": [ 75, 315, 0 ],
            "translation": [ 0, 2.5, 0 ],
            "scale": [ 0.375, 0.375, 0.375 ]
        }
    },
    "elements": [
        {
            "name": "first_block",
            "from": [ 8, 0, 8 ], 
            "to": [ 8.312, 0.03, 9 ], 
            "faces": {
                "north": { "texture": "#salt_line", "uv": [ 0, 0, 14, 5 ] },
                "east": { "texture": "#salt_line", "uv": [ 0, 0, 14, 5 ] },
                "south": { "texture": "#salt_line", "uv": [ 0, 0, 14, 5 ] },
                "west": { "texture": "#salt_line", "uv": [ 0, 0, 14, 5 ] },
                "up": { "texture": "#salt_line", "uv": [ 0, 0, 16, 5 ], "rotation": 90 },
                "down": { "texture": "#salt_line", "uv": [ 0, 0, 16, 5 ] }
            }
        }
    ]
}

Block State JSON:

{
    "forge_marker": 1,
    "defaults": {
        "model": "waywardcraft:first_block"
    },
    "variants": {
        "normal": [{}],
        "inventory": [{}]
    }
}

Item JSON:

{
    "parent": "waywardcraft:block/first_block"
}

And the texture:

salt_line.png.f4949fcd7998dd41f249785fbe715677.png

Edited by Linky132

Guest
This topic is now closed to further replies.

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.