Ahem, I'm sorry, I did a bit reworking of the mod structure, here's how the block is registered:
package com.PermskyKit.TrueRopesMod.block;
import com.PermskyKit.TrueRopesMod.TrueRopesMod;
import com.PermskyKit.TrueRopesMod.item.ModItemGroup;
import com.PermskyKit.TrueRopesMod.item.ModItems;
import com.google.common.base.Supplier;
import net.minecraft.block.AbstractBlock;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraftforge.common.ToolType;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
public class ModBlocks {
public static final DeferredRegister<Block> BLOCKS
= DeferredRegister.create(ForgeRegistries.BLOCKS, TrueRopesMod.MOD_ID);
public static final RegistryObject<Block> ROPE_BLOCK = registerBlock("rope_block",
() -> new Block(AbstractBlock.Properties.of(Material.GRASS).harvestLevel(2).harvestTool(ToolType.PICKAXE)));
private static <T extends Block>RegistryObject<T> registerBlock(String name, Supplier<T> block) {
RegistryObject<T> toReturn = BLOCKS.register(name, block);
registerBlockItem(name, toReturn);
return toReturn;
}
private static <T extends Block> void registerBlockItem(String name, RegistryObject<T> block) {
ModItems.ITEMS.register(name, () -> new BlockItem(block.get(),
new Item.Properties().tab(ModItemGroup.TRUEROPESMOD)));
}
public static void register(IEventBus eventBus) {
BLOCKS.register(eventBus);
}
}