package gory_moon.moarsigns.blocks;
import gory_moon.moarsigns.lib.Constants;
import gory_moon.moarsigns.lib.Reference;
import gory_moon.moarsigns.tileentites.TileEntityMoarSign;
import net.minecraft.block.Block;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.common.registry.IForgeRegistry;
import java.util.HashSet;
import java.util.Set;
public class ModBlocks {
public static final BlockMoarSignStanding SIGN_STANDING_WOOD = (BlockMoarSignStanding) new BlockMoarSignStanding(Material.WOOD, SoundType.WOOD, 1.0F, 5.0F, Constants.SIGN_STAND_WOOD_KEY, "axe", 0);
public static final BlockMoarSignWall SIGN_WALL_WOOD = (BlockMoarSignWall) new BlockMoarSignWall(Material.WOOD, SoundType.WOOD, 1.0F, 5.0F, Constants.SIGN_WALL_WOOD_KEY, "axe", 0);
public static final BlockMoarSignStanding SIGN_STANDING_METAL = (BlockMoarSignStanding) new BlockMoarSignStanding(Material.IRON, SoundType.METAL, 2.0F, 10.0F, Constants.SIGN_STAND_METAL_KEY, "pickaxe", 1);
public static final BlockMoarSignWall SIGN_WALL_METAL = (BlockMoarSignWall) new BlockMoarSignWall(Material.IRON, SoundType.METAL, 2.0F, 10.0F, Constants.SIGN_WALL_METAL_KEY, "pickaxe", 1);
@Mod.EventBusSubscriber
public static class RegistrationHandler {
public static final Set<ItemBlock> ITEM_BLOCKS = new HashSet<>();
/**
* Register this mod's {@link Block}s.
*
* @param event The event
*/
@SubscribeEvent
public static void registerBlocks(RegistryEvent.Register<Block> event) {
final IForgeRegistry<Block> registry = event.getRegistry();
final Block[] blocks = {SIGN_STANDING_WOOD, SIGN_WALL_WOOD, SIGN_STANDING_METAL, SIGN_WALL_METAL};
registry.registerAll(blocks);
}
/**
* Register this mod's {@link ItemBlock}s.
*
* @param event The event
*/
@SubscribeEvent
public static void registerItemBlocks(RegistryEvent.Register<Item> event) {
final ItemBlock[] items = {
};
final IForgeRegistry<Item> registry = event.getRegistry();
for (final ItemBlock item : items) {
registry.register(item.setRegistryName(item.getBlock().getRegistryName()));
ITEM_BLOCKS.add(item);
}
}
}
public static void registerTileEntities() {
registerTileEntityNoPrefix(TileEntityMoarSign.class, TileEntityMoarSign.class.getSimpleName().replaceFirst("TileEntity", ""), Constants.SIGN_TE_ID);
}
private static void registerTileEntity(Class<? extends TileEntity> tileEntityClass) {
GameRegistry.registerTileEntity(tileEntityClass, Reference.RESOURCE_PREFIX + tileEntityClass.getSimpleName().replaceFirst("TileEntity", ""));
}
private static void registerTileEntity(Class<? extends TileEntity> tileEntityClass, String name, String legacyName) {
GameRegistry.registerTileEntityWithAlternatives(tileEntityClass, Reference.RESOURCE_PREFIX + name, Reference.RESOURCE_PREFIX + legacyName);
}
private static void registerTileEntityNoPrefix(Class<? extends TileEntity> tileEntityClass, String name, String legacyName) {
GameRegistry.registerTileEntityWithAlternatives(tileEntityClass, Reference.RESOURCE_PREFIX + name, legacyName);
}
}