2025-03-11 00:23:54 +01:00
|
|
|
package game.init;
|
|
|
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
2025-03-16 17:40:47 +01:00
|
|
|
import com.google.common.collect.Maps;
|
|
|
|
|
2025-03-11 00:23:54 +01:00
|
|
|
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<String, Class<? extends TileEntity>> nameToClassMap = Maps.<String, Class<? extends TileEntity>>newHashMap();
|
|
|
|
public static final Map<Class<? extends TileEntity>, String> classToNameMap = Maps.<Class<? extends TileEntity>, String>newHashMap();
|
|
|
|
public static final Map<Class<? extends TileEntity>, Integer> classToIdMap = Maps.<Class<? extends TileEntity>, Integer>newHashMap();
|
|
|
|
private static int nextId;
|
|
|
|
|
|
|
|
private static void addMapping(Class<? extends TileEntity> 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");
|
|
|
|
}
|
|
|
|
}
|