/** * This class was created by <Vazkii>. It's distributed as * part of the Botania Mod. Get the Source Code in github: * https://github.com/Vazkii/Botania * * Botania is Open Source and distributed under the * Botania License: http://botaniamod.net/license.php * * File Created @ [Jan 24, 2015, 2:35:08 PM (GMT)] */ package vazkii.botania.common.block; import java.util.ArrayList; import java.util.List; import java.util.Locale; import com.google.common.collect.ImmutableList; import net.minecraft.block.Block; import net.minecraft.item.EnumDyeColor; import net.minecraftforge.fml.common.registry.GameRegistry; import vazkii.botania.api.state.BotaniaStateProps; import vazkii.botania.api.state.enums.BiomeBrickVariant; import vazkii.botania.api.state.enums.BiomeStoneVariant; import vazkii.botania.common.block.decor.BlockPavement; import vazkii.botania.common.block.decor.biomestone.BlockBiomeStoneA; import vazkii.botania.common.block.decor.biomestone.BlockBiomeStoneB; import vazkii.botania.common.block.decor.panes.BlockAlfglassPane; import vazkii.botania.common.block.decor.panes.BlockBifrostPane; import vazkii.botania.common.block.decor.panes.BlockManaglassPane; import vazkii.botania.common.block.decor.quartz.BlockSpecialQuartz; import vazkii.botania.common.block.decor.quartz.BlockSpecialQuartzSlab; import vazkii.botania.common.block.decor.quartz.BlockSpecialQuartzStairs; import vazkii.botania.common.block.decor.slabs.BlockBiomeStoneSlab; import vazkii.botania.common.block.decor.slabs.BlockPavementSlab; import vazkii.botania.common.block.decor.slabs.living.BlockDreamwoodPlankSlab; import vazkii.botania.common.block.decor.slabs.living.BlockDreamwoodSlab; import vazkii.botania.common.block.decor.slabs.living.BlockLivingrockBrickSlab; import vazkii.botania.common.block.decor.slabs.living.BlockLivingrockSlab; import vazkii.botania.common.block.decor.slabs.living.BlockLivingwoodPlankSlab; import vazkii.botania.common.block.decor.slabs.living.BlockLivingwoodSlab; import vazkii.botania.common.block.decor.slabs.living.BlockShimmerrockSlab; import vazkii.botania.common.block.decor.slabs.living.BlockShimmerwoodPlankSlab; import vazkii.botania.common.block.decor.stairs.BlockBiomeStoneStairs; import vazkii.botania.common.block.decor.stairs.BlockPavementStairs; import vazkii.botania.common.block.decor.stairs.living.BlockDreamwoodPlankStairs; import vazkii.botania.common.block.decor.stairs.living.BlockDreamwoodStairs; import vazkii.botania.common.block.decor.stairs.living.BlockLivingrockBrickStairs; import vazkii.botania.common.block.decor.stairs.living.BlockLivingrockStairs; import vazkii.botania.common.block.decor.stairs.living.BlockLivingwoodPlankStairs; import vazkii.botania.common.block.decor.stairs.living.BlockLivingwoodStairs; import vazkii.botania.common.block.decor.stairs.living.BlockShimmerrockStairs; import vazkii.botania.common.block.decor.stairs.living.BlockShimmerwoodPlankStairs; import vazkii.botania.common.block.decor.walls.BlockBiomeStoneWall; import vazkii.botania.common.block.decor.walls.living.BlockDreamwoodWall; import vazkii.botania.common.block.decor.walls.living.BlockLivingrockWall; import vazkii.botania.common.block.decor.walls.living.BlockLivingwoodWall; import vazkii.botania.common.core.handler.ConfigHandler; import vazkii.botania.common.item.block.ItemBlockModSlab; import vazkii.botania.common.lib.LibBlockNames; public final class ModFluffBlocks { public static List<Block> slabsToRegister = new ArrayList(); public static Block livingwoodStairs; public static Block livingwoodSlab; public static Block livingwoodSlabFull; public static Block livingwoodWall; public static Block livingwoodPlankStairs; public static Block livingwoodPlankSlab; public static Block livingwoodPlankSlabFull; public static Block livingrockStairs; public static Block livingrockSlab; public static Block livingrockSlabFull; public static Block livingrockWall; public static Block livingrockBrickStairs; public static Block livingrockBrickSlab; public static Block livingrockBrickSlabFull; public static Block dreamwoodStairs; public static Block dreamwoodSlab; public static Block dreamwoodSlabFull; public static Block dreamwoodWall; public static Block dreamwoodPlankStairs; public static Block dreamwoodPlankSlab; public static Block dreamwoodPlankSlabFull; public static Block darkQuartz; public static Block darkQuartzSlab; public static Block darkQuartzSlabFull; public static Block darkQuartzStairs; public static Block manaQuartz; public static Block manaQuartzSlab; public static Block manaQuartzSlabFull; public static Block manaQuartzStairs; public static Block blazeQuartz; public static Block blazeQuartzSlab; public static Block blazeQuartzSlabFull; public static Block blazeQuartzStairs; public static Block lavenderQuartz; public static Block lavenderQuartzSlab; public static Block lavenderQuartzSlabFull; public static Block lavenderQuartzStairs; public static Block redQuartz; public static Block redQuartzSlab; public static Block redQuartzSlabFull; public static Block redQuartzStairs; public static Block elfQuartz; public static Block elfQuartzSlab; public static Block elfQuartzSlabFull; public static Block elfQuartzStairs; public static Block sunnyQuartz; public static Block sunnyQuartzSlab; public static Block sunnyQuartzSlabFull; public static Block sunnyQuartzStairs; public static Block biomeStoneA; public static Block biomeStoneB; public static Block pavement; public static final Block[] biomeStoneStairs = new Block[24]; public static final Block[] biomeStoneSlabs = new Block[24]; public static final Block[] biomeStoneFullSlabs = new Block[24]; public static Block biomeStoneWall; public static final Block[] pavementStairs = new Block[BlockPavement.TYPES]; public static final Block[] pavementSlabs = new Block[BlockPavement.TYPES]; public static final Block[] pavementFullSlabs = new Block[BlockPavement.TYPES]; public static Block shimmerrockSlab; public static Block shimmerrockSlabFull; public static Block shimmerrockStairs; public static Block shimmerwoodPlankSlab; public static Block shimmerwoodPlankSlabFull; public static Block shimmerwoodPlankStairs; public static Block managlassPane; public static Block alfglassPane; public static Block bifrostPane; public static void init() { livingwoodStairs = new BlockLivingwoodStairs(); livingwoodSlab = new BlockLivingwoodSlab(false); livingwoodSlabFull = new BlockLivingwoodSlab(true); livingwoodWall = new BlockLivingwoodWall(); livingwoodPlankStairs = new BlockLivingwoodPlankStairs(); livingwoodPlankSlab = new BlockLivingwoodPlankSlab(false); livingwoodPlankSlabFull = new BlockLivingwoodPlankSlab(true); livingrockStairs = new BlockLivingrockStairs(); livingrockSlab = new BlockLivingrockSlab(false); livingrockSlabFull = new BlockLivingrockSlab(true); livingrockWall = new BlockLivingrockWall(); livingrockBrickStairs = new BlockLivingrockBrickStairs(); livingrockBrickSlab = new BlockLivingrockBrickSlab(false); livingrockBrickSlabFull = new BlockLivingrockBrickSlab(true); dreamwoodStairs = new BlockDreamwoodStairs(); dreamwoodSlab = new BlockDreamwoodSlab(false); dreamwoodSlabFull = new BlockDreamwoodSlab(true); dreamwoodWall = new BlockDreamwoodWall(); dreamwoodPlankStairs = new BlockDreamwoodPlankStairs(); dreamwoodPlankSlab = new BlockDreamwoodPlankSlab(false); dreamwoodPlankSlabFull = new BlockDreamwoodPlankSlab(true); biomeStoneA = new BlockBiomeStoneA(); biomeStoneB = new BlockBiomeStoneB(); pavement = new BlockPavement(); if(ConfigHandler.darkQuartzEnabled) { darkQuartz = new BlockSpecialQuartz(LibBlockNames.QUARTZ_DARK); darkQuartzSlab = new BlockSpecialQuartzSlab(darkQuartz, false); darkQuartzSlabFull = new BlockSpecialQuartzSlab(darkQuartz, true); darkQuartzStairs = new BlockSpecialQuartzStairs(darkQuartz); } manaQuartz = new BlockSpecialQuartz(LibBlockNames.QUARTZ_MANA); manaQuartzSlab = new BlockSpecialQuartzSlab(manaQuartz, false); manaQuartzSlabFull = new BlockSpecialQuartzSlab(manaQuartz, true); manaQuartzStairs = new BlockSpecialQuartzStairs(manaQuartz); blazeQuartz = new BlockSpecialQuartz(LibBlockNames.QUARTZ_BLAZE); blazeQuartzSlab = new BlockSpecialQuartzSlab(blazeQuartz, false); blazeQuartzSlabFull = new BlockSpecialQuartzSlab(blazeQuartz, true); blazeQuartzStairs = new BlockSpecialQuartzStairs(blazeQuartz); lavenderQuartz = new BlockSpecialQuartz(LibBlockNames.QUARTZ_LAVENDER); lavenderQuartzSlab = new BlockSpecialQuartzSlab(lavenderQuartz, false); lavenderQuartzSlabFull = new BlockSpecialQuartzSlab(lavenderQuartz, true); lavenderQuartzStairs = new BlockSpecialQuartzStairs(lavenderQuartz); redQuartz = new BlockSpecialQuartz(LibBlockNames.QUARTZ_RED); redQuartzSlab = new BlockSpecialQuartzSlab(redQuartz, false); redQuartzSlabFull = new BlockSpecialQuartzSlab(redQuartz, true); redQuartzStairs = new BlockSpecialQuartzStairs(redQuartz); elfQuartz = new BlockSpecialQuartz(LibBlockNames.QUARTZ_ELF); elfQuartzSlab = new BlockSpecialQuartzSlab(elfQuartz, false); elfQuartzSlabFull = new BlockSpecialQuartzSlab(elfQuartz, true); elfQuartzStairs = new BlockSpecialQuartzStairs(elfQuartz); sunnyQuartz = new BlockSpecialQuartz(LibBlockNames.QUARTZ_SUNNY); sunnyQuartzSlab = new BlockSpecialQuartzSlab(sunnyQuartz, false); sunnyQuartzSlabFull = new BlockSpecialQuartzSlab(sunnyQuartz, true); sunnyQuartzStairs = new BlockSpecialQuartzStairs(sunnyQuartz); int count = 0; for (BiomeStoneVariant variant : BiomeStoneVariant.values()) { biomeStoneStairs[count] = new BlockBiomeStoneStairs(biomeStoneA.getDefaultState().withProperty(BotaniaStateProps.BIOMESTONE_VARIANT, variant)); biomeStoneSlabs[count] = new BlockBiomeStoneSlab(false, biomeStoneA.getDefaultState().withProperty(BotaniaStateProps.BIOMESTONE_VARIANT, variant), count); biomeStoneFullSlabs[count] = new BlockBiomeStoneSlab(true, biomeStoneA.getDefaultState().withProperty(BotaniaStateProps.BIOMESTONE_VARIANT, variant), count); count++; } for (BiomeBrickVariant variant : BiomeBrickVariant.values()) { if (variant.getName().toLowerCase(Locale.ROOT).contains("chiseled")) { // No chiseled stairs/slabs continue; } biomeStoneStairs[count] = new BlockBiomeStoneStairs(biomeStoneB.getDefaultState().withProperty(BotaniaStateProps.BIOMEBRICK_VARIANT, variant)); biomeStoneSlabs[count] = new BlockBiomeStoneSlab(false, biomeStoneB.getDefaultState().withProperty(BotaniaStateProps.BIOMEBRICK_VARIANT, variant), count); biomeStoneFullSlabs[count] = new BlockBiomeStoneSlab(true, biomeStoneB.getDefaultState().withProperty(BotaniaStateProps.BIOMEBRICK_VARIANT, variant), count); count++; } biomeStoneWall = new BlockBiomeStoneWall(); count = 0; for (EnumDyeColor color : ImmutableList.of(EnumDyeColor.WHITE, EnumDyeColor.BLACK, EnumDyeColor.BLUE, EnumDyeColor.RED, EnumDyeColor.YELLOW, EnumDyeColor.GREEN)) { pavementStairs[count] = new BlockPavementStairs(color); pavementSlabs[count] = new BlockPavementSlab(false, color, count); pavementFullSlabs[count] = new BlockPavementSlab(true, color, count); count++; } shimmerrockSlab = new BlockShimmerrockSlab(false); shimmerrockSlabFull = new BlockShimmerrockSlab(true); shimmerrockStairs = new BlockShimmerrockStairs(); shimmerwoodPlankSlab = new BlockShimmerwoodPlankSlab(false); shimmerwoodPlankSlabFull = new BlockShimmerwoodPlankSlab(true); shimmerwoodPlankStairs = new BlockShimmerwoodPlankStairs(); managlassPane = new BlockManaglassPane(); alfglassPane = new BlockAlfglassPane(); bifrostPane = new BlockBifrostPane(); for(Block b : slabsToRegister) GameRegistry.register(new ItemBlockModSlab(b), b.getRegistryName()); } }