package game.init; import java.util.Map; import com.google.common.collect.Maps; import game.tileentity.TileEntity; import game.tileentity.TileEntityBanner; import game.tileentity.TileEntityBeacon; import game.tileentity.TileEntityBrewingStand; import game.tileentity.TileEntityChest; import game.tileentity.TileEntityComparator; import game.tileentity.TileEntityDaylightDetector; import game.tileentity.TileEntityDispenser; import game.tileentity.TileEntityDropper; import game.tileentity.TileEntityEnchantmentTable; import game.tileentity.TileEntityFurnace; import game.tileentity.TileEntityHopper; import game.tileentity.TileEntityMobSpawner; import game.tileentity.TileEntityNote; import game.tileentity.TileEntityPiston; import game.tileentity.TileEntitySign; import game.tileentity.TileEntitySkull; import game.tileentity.TileEntityTianReactor; public abstract class TileRegistry { public static final Map> nameToClassMap = Maps.>newHashMap(); public static final Map, String> classToNameMap = Maps., String>newHashMap(); public static final Map, Integer> classToIdMap = Maps., Integer>newHashMap(); private static int nextId; private static void addMapping(Class cl, String id) { if(nameToClassMap.containsKey(id)) throw new IllegalArgumentException("Duplicate id: " + id); nameToClassMap.put(id, cl); classToNameMap.put(cl, id); classToIdMap.put(cl, ++nextId); } static void register() { addMapping(TileEntityFurnace.class, "Furnace"); addMapping(TileEntityChest.class, "Chest"); // addMapping(TileEntityWarpChest.class, "WarpChest"); // addMapping(BlockJukebox.TileEntityJukebox.class, "RecordPlayer"); addMapping(TileEntityDispenser.class, "Trap"); addMapping(TileEntityDropper.class, "Dropper"); addMapping(TileEntitySign.class, "Sign"); addMapping(TileEntityMobSpawner.class, "MobSpawner"); addMapping(TileEntityNote.class, "Music"); addMapping(TileEntityPiston.class, "Piston"); addMapping(TileEntityBrewingStand.class, "Cauldron"); addMapping(TileEntityEnchantmentTable.class, "EnchantTable"); // addMapping(TileEntityPortal.class, "Portal"); // addMapping(TileEntityCommandBlock.class, "Control"); addMapping(TileEntityBeacon.class, "Beacon"); addMapping(TileEntitySkull.class, "Skull"); addMapping(TileEntityDaylightDetector.class, "DLDetector"); addMapping(TileEntityHopper.class, "Hopper"); addMapping(TileEntityComparator.class, "Comparator"); // addMapping(TileEntityFlowerPot.class, "FlowerPot"); addMapping(TileEntityBanner.class, "Banner"); addMapping(TileEntityTianReactor.class, "TianReactor"); } }