Files
Botania/src/main/java/vazkii/botania/common/block/ModBlocks.java
T
2015-01-30 14:35:06 +00:00

364 lines
19 KiB
Java

/**
* 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 14, 2014, 5:17:55 PM (GMT)]
*/
package vazkii.botania.common.block;
import net.minecraft.block.Block;
import net.minecraft.block.BlockDispenser;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.oredict.OreDictionary;
import vazkii.botania.api.BotaniaAPI;
import vazkii.botania.client.lib.LibResources;
import vazkii.botania.common.block.decor.BlockBuriedPetals;
import vazkii.botania.common.block.decor.BlockCustomBrick;
import vazkii.botania.common.block.decor.BlockDirtPath;
import vazkii.botania.common.block.decor.BlockElfGlass;
import vazkii.botania.common.block.decor.BlockFloatingFlower;
import vazkii.botania.common.block.decor.BlockManaBeacon;
import vazkii.botania.common.block.decor.BlockManaFlame;
import vazkii.botania.common.block.decor.BlockManaGlass;
import vazkii.botania.common.block.decor.BlockPrismarine;
import vazkii.botania.common.block.decor.BlockReeds;
import vazkii.botania.common.block.decor.BlockSeaLamp;
import vazkii.botania.common.block.decor.BlockShinyFlower;
import vazkii.botania.common.block.decor.BlockStarfield;
import vazkii.botania.common.block.decor.BlockThatch;
import vazkii.botania.common.block.decor.BlockTinyPotato;
import vazkii.botania.common.block.decor.BlockUnstable;
import vazkii.botania.common.block.dispenser.BehaviourSeeds;
import vazkii.botania.common.block.dispenser.BehaviourWand;
import vazkii.botania.common.block.mana.BlockAlchemyCatalyst;
import vazkii.botania.common.block.mana.BlockBrewery;
import vazkii.botania.common.block.mana.BlockConjurationCatalyst;
import vazkii.botania.common.block.mana.BlockDistributor;
import vazkii.botania.common.block.mana.BlockEnchanter;
import vazkii.botania.common.block.mana.BlockForestDrum;
import vazkii.botania.common.block.mana.BlockManaDetector;
import vazkii.botania.common.block.mana.BlockManaVoid;
import vazkii.botania.common.block.mana.BlockPool;
import vazkii.botania.common.block.mana.BlockPrism;
import vazkii.botania.common.block.mana.BlockRFGenerator;
import vazkii.botania.common.block.mana.BlockRuneAltar;
import vazkii.botania.common.block.mana.BlockSpawnerClaw;
import vazkii.botania.common.block.mana.BlockSpreader;
import vazkii.botania.common.block.mana.BlockTerraPlate;
import vazkii.botania.common.block.mana.BlockTurntable;
import vazkii.botania.common.block.string.BlockRedStringComparator;
import vazkii.botania.common.block.string.BlockRedStringContainer;
import vazkii.botania.common.block.string.BlockRedStringDispenser;
import vazkii.botania.common.block.string.BlockRedStringFertilizer;
import vazkii.botania.common.block.string.BlockRedStringRelay;
import vazkii.botania.common.block.subtile.SubTileManastar;
import vazkii.botania.common.block.subtile.SubTilePureDaisy;
import vazkii.botania.common.block.subtile.functional.SubTileAgricarnation;
import vazkii.botania.common.block.subtile.functional.SubTileBellethorn;
import vazkii.botania.common.block.subtile.functional.SubTileClayconia;
import vazkii.botania.common.block.subtile.functional.SubTileDaffomill;
import vazkii.botania.common.block.subtile.functional.SubTileDreadthorn;
import vazkii.botania.common.block.subtile.functional.SubTileExoflame;
import vazkii.botania.common.block.subtile.functional.SubTileFallenKanade;
import vazkii.botania.common.block.subtile.functional.SubTileHeiseiDream;
import vazkii.botania.common.block.subtile.functional.SubTileHopperhock;
import vazkii.botania.common.block.subtile.functional.SubTileHyacidus;
import vazkii.botania.common.block.subtile.functional.SubTileJadedAmaranthus;
import vazkii.botania.common.block.subtile.functional.SubTileJiyuulia;
import vazkii.botania.common.block.subtile.functional.SubTileLoonuim;
import vazkii.botania.common.block.subtile.functional.SubTileMarimorphosis;
import vazkii.botania.common.block.subtile.functional.SubTileMedumone;
import vazkii.botania.common.block.subtile.functional.SubTilePollidisiac;
import vazkii.botania.common.block.subtile.functional.SubTileRannuncarpus;
import vazkii.botania.common.block.subtile.functional.SubTileSpectranthemum;
import vazkii.botania.common.block.subtile.functional.SubTileTangleberrie;
import vazkii.botania.common.block.subtile.functional.SubTileTigerseye;
import vazkii.botania.common.block.subtile.functional.SubTileVinculotus;
import vazkii.botania.common.block.subtile.functional.SubtileOrechid;
import vazkii.botania.common.block.subtile.generating.SubTileArcaneRose;
import vazkii.botania.common.block.subtile.generating.SubTileDaybloom;
import vazkii.botania.common.block.subtile.generating.SubTileEndoflame;
import vazkii.botania.common.block.subtile.generating.SubTileEntropinnyum;
import vazkii.botania.common.block.subtile.generating.SubTileGourmaryllis;
import vazkii.botania.common.block.subtile.generating.SubTileHydroangeas;
import vazkii.botania.common.block.subtile.generating.SubTileKekimurus;
import vazkii.botania.common.block.subtile.generating.SubTileMunchdew;
import vazkii.botania.common.block.subtile.generating.SubTileNarslimmus;
import vazkii.botania.common.block.subtile.generating.SubTileNightshade;
import vazkii.botania.common.block.subtile.generating.SubTileSpectrolus;
import vazkii.botania.common.block.subtile.generating.SubTileThermalily;
import vazkii.botania.common.block.tile.TileAlfPortal;
import vazkii.botania.common.block.tile.TileAltar;
import vazkii.botania.common.block.tile.TileBifrost;
import vazkii.botania.common.block.tile.TileBrewery;
import vazkii.botania.common.block.tile.TileCraftCrate;
import vazkii.botania.common.block.tile.TileEnchanter;
import vazkii.botania.common.block.tile.TileEnderEye;
import vazkii.botania.common.block.tile.TileFloatingFlower;
import vazkii.botania.common.block.tile.TileFloatingSpecialFlower;
import vazkii.botania.common.block.tile.TileForestEye;
import vazkii.botania.common.block.tile.TileManaBeacon;
import vazkii.botania.common.block.tile.TileManaFlame;
import vazkii.botania.common.block.tile.TileOpenCrate;
import vazkii.botania.common.block.tile.TilePlatform;
import vazkii.botania.common.block.tile.TilePylon;
import vazkii.botania.common.block.tile.TileRuneAltar;
import vazkii.botania.common.block.tile.TileSpawnerClaw;
import vazkii.botania.common.block.tile.TileSpecialFlower;
import vazkii.botania.common.block.tile.TileStarfield;
import vazkii.botania.common.block.tile.TileTerraPlate;
import vazkii.botania.common.block.tile.TileTinyPlanet;
import vazkii.botania.common.block.tile.TileTinyPotato;
import vazkii.botania.common.block.tile.mana.TileDistributor;
import vazkii.botania.common.block.tile.mana.TileManaDetector;
import vazkii.botania.common.block.tile.mana.TileManaVoid;
import vazkii.botania.common.block.tile.mana.TilePool;
import vazkii.botania.common.block.tile.mana.TilePrism;
import vazkii.botania.common.block.tile.mana.TileRFGenerator;
import vazkii.botania.common.block.tile.mana.TileSpreader;
import vazkii.botania.common.block.tile.mana.TileTurntable;
import vazkii.botania.common.block.tile.string.TileRedStringComparator;
import vazkii.botania.common.block.tile.string.TileRedStringContainer;
import vazkii.botania.common.block.tile.string.TileRedStringDispenser;
import vazkii.botania.common.block.tile.string.TileRedStringFertilizer;
import vazkii.botania.common.block.tile.string.TileRedStringRelay;
import vazkii.botania.common.item.ModItems;
import vazkii.botania.common.lib.LibBlockNames;
import vazkii.botania.common.lib.LibOreDict;
import cpw.mods.fml.common.registry.GameRegistry;
public final class ModBlocks {
public static Block flower;
public static Block altar;
public static Block livingrock;
public static Block livingwood;
public static Block specialFlower;
public static Block spreader;
public static Block pool;
public static Block runeAltar;
public static Block unstableBlock;
public static Block pylon;
public static Block pistonRelay;
public static Block distributor;
public static Block manaBeacon;
public static Block manaVoid;
public static Block manaDetector;
public static Block enchanter;
public static Block turntable;
public static Block tinyPlanet;
public static Block alchemyCatalyst;
public static Block openCrate;
public static Block forestEye;
public static Block storage;
public static Block forestDrum;
public static Block shinyFlower;
public static Block platform;
public static Block alfPortal;
public static Block dreamwood;
public static Block conjurationCatalyst;
public static Block bifrost;
public static Block solidVines;
public static Block buriedPetals;
public static Block prismarine;
public static Block seaLamp;
public static Block floatingFlower;
public static Block tinyPotato;
public static Block spawnerClaw;
public static Block reedBlock;
public static Block thatch;
public static Block customBrick;
public static Block enderEye;
public static Block starfield;
public static Block rfGenerator;
public static Block elfGlass;
public static Block brewery;
public static Block manaGlass;
public static Block terraPlate;
public static Block redStringContainer;
public static Block redStringDispenser;
public static Block redStringFertilizer;
public static Block redStringComparator;
public static Block redStringRelay;
public static Block floatingSpecialFlower;
public static Block manaFlame;
public static Block prism;
public static Block dirtPath;
public static Block enchantedSoil;
public static void init() {
flower = new BlockModFlower();
altar = new BlockAltar();
livingrock = new BlockLivingrock();
livingwood = new BlockLivingwood();
specialFlower = new BlockSpecialFlower();
spreader = new BlockSpreader();
pool = new BlockPool();
runeAltar = new BlockRuneAltar();
unstableBlock = new BlockUnstable();
pylon = new BlockPylon();
pistonRelay = new BlockPistonRelay();
distributor = new BlockDistributor();
manaBeacon = new BlockManaBeacon();
manaVoid = new BlockManaVoid();
manaDetector = new BlockManaDetector();
enchanter = new BlockEnchanter();
turntable = new BlockTurntable();
tinyPlanet = new BlockTinyPlanet();
alchemyCatalyst = new BlockAlchemyCatalyst();
openCrate = new BlockOpenCrate();
forestEye = new BlockForestEye();
storage = new BlockStorage();
forestDrum = new BlockForestDrum();
shinyFlower = new BlockShinyFlower();
platform = new BlockPlatform();
alfPortal = new BlockAlfPortal();
dreamwood = new BlockDreamwood();
conjurationCatalyst = new BlockConjurationCatalyst();
bifrost = new BlockBifrost();
solidVines = new BlockSolidVines();
buriedPetals = new BlockBuriedPetals();
prismarine = new BlockPrismarine();
seaLamp = new BlockSeaLamp();
floatingFlower = new BlockFloatingFlower();
tinyPotato = new BlockTinyPotato();
spawnerClaw = new BlockSpawnerClaw();
reedBlock = new BlockReeds();
thatch = new BlockThatch();
customBrick = new BlockCustomBrick();
enderEye = new BlockEnderEye();
starfield = new BlockStarfield();
rfGenerator = new BlockRFGenerator();
elfGlass = new BlockElfGlass();
brewery = new BlockBrewery();
manaGlass = new BlockManaGlass();
terraPlate = new BlockTerraPlate();
redStringContainer = new BlockRedStringContainer();
redStringDispenser = new BlockRedStringDispenser();
redStringFertilizer = new BlockRedStringFertilizer();
redStringComparator = new BlockRedStringComparator();
redStringRelay = new BlockRedStringRelay();
floatingSpecialFlower = new BlockFloatingSpecialFlower();
manaFlame = new BlockManaFlame();
prism = new BlockPrism();
dirtPath = new BlockDirtPath();
enchantedSoil = new BlockEnchantedSoil();
ModFluffBlocks.init();
for(int i = 0; i < 16; i++)
OreDictionary.registerOre(LibOreDict.FLOWER[i], new ItemStack(flower, 1, i));
OreDictionary.registerOre(LibOreDict.LIVING_ROCK, livingrock);
OreDictionary.registerOre(LibOreDict.LIVING_WOOD, livingwood);
OreDictionary.registerOre(LibOreDict.DREAM_WOOD, dreamwood);
// Vanilla OreDict entries
OreDictionary.registerOre("dirt", Blocks.dirt);
OreDictionary.registerOre("grass", Blocks.grass);
OreDictionary.registerOre("sand", Block.getBlockFromName("sand"));
OreDictionary.registerOre("gravel", Block.getBlockFromName("gravel"));
OreDictionary.registerOre("hardenedClay", new ItemStack(Blocks.hardened_clay, 1, OreDictionary.WILDCARD_VALUE));
OreDictionary.registerOre("snowLayer", Blocks.snow_layer);
OreDictionary.registerOre("mycelium", Blocks.mycelium);
OreDictionary.registerOre("podzol", new ItemStack(Blocks.dirt, 1, 2));
OreDictionary.registerOre("netherrack", Blocks.netherrack);
initTileEntities();
}
public static void addDispenserBehaviours() {
for(Item seed : BotaniaAPI.seeds.keySet())
BlockDispenser.dispenseBehaviorRegistry.putObject(seed, new BehaviourSeeds(BotaniaAPI.seeds.get(seed)));
BlockDispenser.dispenseBehaviorRegistry.putObject(ModItems.twigWand, new BehaviourWand());
}
private static void initTileEntities() {
registerTile(TileAltar.class, LibBlockNames.ALTAR);
registerTile(TileSpecialFlower.class, LibBlockNames.SPECIAL_FLOWER);
registerTile(TileSpreader.class, LibBlockNames.SPREADER);
registerTile(TilePool.class, LibBlockNames.POOL);
registerTile(TileRuneAltar.class, LibBlockNames.RUNE_ALTAR);
registerTile(TilePylon.class, LibBlockNames.PYLON);
registerTile(TileDistributor.class, LibBlockNames.DISTRIBUTOR);
registerTile(TileManaBeacon.class, LibBlockNames.MANA_BEACON);
registerTile(TileManaVoid.class, LibBlockNames.MANA_VOID);
registerTile(TileManaDetector.class, LibBlockNames.MANA_DETECTOR);
registerTile(TileEnchanter.class, LibBlockNames.ENCHANTER);
registerTile(TileTurntable.class, LibBlockNames.TURNTABLE);
registerTile(TileTinyPlanet.class, LibBlockNames.TINY_PLANET);
registerTile(TileOpenCrate.class, LibBlockNames.OPEN_CRATE);
registerTile(TileCraftCrate.class, LibBlockNames.CRAFT_CRATE);
registerTile(TileForestEye.class, LibBlockNames.FOREST_EYE);
registerTile(TilePlatform.class, LibBlockNames.PLATFORM);
registerTile(TileAlfPortal.class, LibBlockNames.ALF_PORTAL);
registerTile(TileBifrost.class, LibBlockNames.BIFROST);
registerTile(TileFloatingFlower.class, LibBlockNames.MINI_ISLAND);
registerTile(TileTinyPotato.class, LibBlockNames.TINY_POTATO);
registerTile(TileSpawnerClaw.class, LibBlockNames.SPAWNER_CLAW);
registerTile(TileEnderEye.class, LibBlockNames.ENDER_EYE_BLOCK);
registerTile(TileStarfield.class, LibBlockNames.STARFIELD);
registerTile(TileRFGenerator.class, LibBlockNames.RF_GENERATOR);
registerTile(TileBrewery.class, LibBlockNames.BREWERY);
registerTile(TileTerraPlate.class, LibBlockNames.TERRA_PLATE);
registerTile(TileRedStringContainer.class, LibBlockNames.RED_STRING_CONTAINER);
registerTile(TileRedStringDispenser.class, LibBlockNames.RED_STRING_DISPENSER);
registerTile(TileRedStringFertilizer.class, LibBlockNames.RED_STRING_FERTILIZER);
registerTile(TileRedStringComparator.class, LibBlockNames.RED_STRING_COMPARATOR);
registerTile(TileRedStringRelay.class, LibBlockNames.RED_STRING_RELAY);
registerTile(TileFloatingSpecialFlower.class, LibBlockNames.FLOATING_SPECIAL_FLOWER);
registerTile(TileManaFlame.class, LibBlockNames.MANA_FLAME);
registerTile(TilePrism.class, LibBlockNames.PRISM);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_PUREDAISY, SubTilePureDaisy.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_MANASTAR, SubTileManastar.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_DAYBLOOM, SubTileDaybloom.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_ENDOFLAME, SubTileEndoflame.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_HYDROANGEAS, SubTileHydroangeas.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_THERMALILY, SubTileThermalily.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_NIGHTSHADE, SubTileNightshade.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_ARCANE_ROSE, SubTileArcaneRose.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_MUNCHDEW, SubTileMunchdew.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_ENTROPINNYUM, SubTileEntropinnyum.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_KEKIMURUS, SubTileKekimurus.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_GOURMARYLLIS, SubTileGourmaryllis.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_NARSLIMMUS, SubTileNarslimmus.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_SPECTROLUS, SubTileSpectrolus.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_BELLETHORN, SubTileBellethorn.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_DREADTHORN, SubTileDreadthorn.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_HEISEI_DREAM, SubTileHeiseiDream.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_TIGERSEYE, SubTileTigerseye.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_JADED_AMARANTHUS, SubTileJadedAmaranthus.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_ORECHID, SubtileOrechid.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_FALLEN_KANADE, SubTileFallenKanade.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_EXOFLAME, SubTileExoflame.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_AGRICARNATION, SubTileAgricarnation.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_HOPPERHOCK, SubTileHopperhock.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_TANGLEBERRIE, SubTileTangleberrie.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_JIYUULIA, SubTileJiyuulia.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_RANNUNCARPUS, SubTileRannuncarpus.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_HYACIDUS, SubTileHyacidus.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_POLLIDISIAC, SubTilePollidisiac.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_CLAYCONIA, SubTileClayconia.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_LOONIUM, SubTileLoonuim.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_DAFFOMILL, SubTileDaffomill.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_VINCULOTUS, SubTileVinculotus.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_SPECTRANTHEMUM, SubTileSpectranthemum.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_MEDUMONE, SubTileMedumone.class);
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_MARIMORPHOSIS, SubTileMarimorphosis.class);
}
private static void registerTile(Class<? extends TileEntity> clazz, String key) {
GameRegistry.registerTileEntityWithAlternatives(clazz, LibResources.PREFIX_MOD + key, key);
}
}