forked from mirrors/NBTExplorer
Factored TypeId out of TileEntity types, added Piston to TileEntity registry
This commit is contained in:
parent
5997c362fd
commit
c10ee4215f
12 changed files with 147 additions and 36 deletions
|
@ -9,22 +9,32 @@ namespace Substrate.TileEntities
|
|||
{
|
||||
public static readonly SchemaNodeCompound BrewingStandSchema = TileEntity.Schema.MergeInto(new SchemaNodeCompound("")
|
||||
{
|
||||
new SchemaNodeString("id", "Cauldron"),
|
||||
new SchemaNodeString("id", TypeId),
|
||||
new SchemaNodeList("Items", TagType.TAG_COMPOUND, ItemCollection.Schema),
|
||||
new SchemaNodeScaler("BrewTime", TagType.TAG_SHORT),
|
||||
});
|
||||
|
||||
public static string TypeId
|
||||
{
|
||||
get { return "Cauldron"; }
|
||||
}
|
||||
|
||||
private const int _CAPACITY = 4;
|
||||
|
||||
private ItemCollection _items;
|
||||
private short _brewTime;
|
||||
|
||||
public TileEntityBrewingStand ()
|
||||
: base("Cauldron")
|
||||
protected TileEntityBrewingStand (string id)
|
||||
: base(id)
|
||||
{
|
||||
_items = new ItemCollection(_CAPACITY);
|
||||
}
|
||||
|
||||
public TileEntityBrewingStand ()
|
||||
: this(TypeId)
|
||||
{
|
||||
}
|
||||
|
||||
public TileEntityBrewingStand (TileEntity te)
|
||||
: base(te)
|
||||
{
|
||||
|
|
|
@ -9,20 +9,30 @@ namespace Substrate.TileEntities
|
|||
{
|
||||
public static readonly SchemaNodeCompound ChestSchema = TileEntity.Schema.MergeInto(new SchemaNodeCompound("")
|
||||
{
|
||||
new SchemaNodeString("id", "Chest"),
|
||||
new SchemaNodeString("id", TypeId),
|
||||
new SchemaNodeList("Items", TagType.TAG_COMPOUND, ItemCollection.Schema),
|
||||
});
|
||||
|
||||
public static string TypeId
|
||||
{
|
||||
get { return "Chest"; }
|
||||
}
|
||||
|
||||
private const int _CAPACITY = 27;
|
||||
|
||||
private ItemCollection _items;
|
||||
|
||||
public TileEntityChest ()
|
||||
: base("Chest")
|
||||
protected TileEntityChest (string id)
|
||||
: base(id)
|
||||
{
|
||||
_items = new ItemCollection(_CAPACITY);
|
||||
}
|
||||
|
||||
public TileEntityChest ()
|
||||
: this(TypeId)
|
||||
{
|
||||
}
|
||||
|
||||
public TileEntityChest (TileEntity te)
|
||||
: base(te)
|
||||
{
|
||||
|
|
|
@ -10,11 +10,21 @@ namespace Substrate.TileEntities
|
|||
{
|
||||
public static readonly SchemaNodeCompound EnchantTableSchema = TileEntity.Schema.MergeInto(new SchemaNodeCompound("")
|
||||
{
|
||||
new SchemaNodeString("id", "EnchantTable"),
|
||||
new SchemaNodeString("id", TypeId),
|
||||
});
|
||||
|
||||
public static string TypeId
|
||||
{
|
||||
get { return "EnchantTable"; }
|
||||
}
|
||||
|
||||
protected TileEntityEnchantmentTable (string id)
|
||||
: base(id)
|
||||
{
|
||||
}
|
||||
|
||||
public TileEntityEnchantmentTable ()
|
||||
: base("EnchantTable")
|
||||
: this(TypeId)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -10,11 +10,21 @@ namespace Substrate.TileEntities
|
|||
{
|
||||
public static readonly SchemaNodeCompound EndPortalSchema = TileEntity.Schema.MergeInto(new SchemaNodeCompound("")
|
||||
{
|
||||
new SchemaNodeString("id", "Airportal"),
|
||||
new SchemaNodeString("id", TypeId),
|
||||
});
|
||||
|
||||
public static string TypeId
|
||||
{
|
||||
get { return "Airportal"; }
|
||||
}
|
||||
|
||||
protected TileEntityEndPortal (string id)
|
||||
: base(id)
|
||||
{
|
||||
}
|
||||
|
||||
public TileEntityEndPortal ()
|
||||
: base("Airportal")
|
||||
: this(TypeId)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -9,12 +9,17 @@ namespace Substrate.TileEntities
|
|||
{
|
||||
public static readonly SchemaNodeCompound FurnaceSchema = TileEntity.Schema.MergeInto(new SchemaNodeCompound("")
|
||||
{
|
||||
new SchemaNodeString("id", "Furnace"),
|
||||
new SchemaNodeString("id", TypeId),
|
||||
new SchemaNodeScaler("BurnTime", TagType.TAG_SHORT),
|
||||
new SchemaNodeScaler("CookTime", TagType.TAG_SHORT),
|
||||
new SchemaNodeList("Items", TagType.TAG_COMPOUND, ItemCollection.Schema),
|
||||
});
|
||||
|
||||
public static string TypeId
|
||||
{
|
||||
get { return "Furnace"; }
|
||||
}
|
||||
|
||||
private const int _CAPACITY = 3;
|
||||
|
||||
private short _burnTime;
|
||||
|
@ -34,12 +39,17 @@ namespace Substrate.TileEntities
|
|||
set { _cookTime = (short)value; }
|
||||
}
|
||||
|
||||
public TileEntityFurnace ()
|
||||
: base("Furnace")
|
||||
protected TileEntityFurnace (string id)
|
||||
: base(id)
|
||||
{
|
||||
_items = new ItemCollection(_CAPACITY);
|
||||
}
|
||||
|
||||
public TileEntityFurnace ()
|
||||
: this(TypeId)
|
||||
{
|
||||
}
|
||||
|
||||
public TileEntityFurnace (TileEntity te)
|
||||
: base(te)
|
||||
{
|
||||
|
|
|
@ -10,11 +10,16 @@ namespace Substrate.TileEntities
|
|||
{
|
||||
public static readonly SchemaNodeCompound MobSpawnerSchema = TileEntity.Schema.MergeInto(new SchemaNodeCompound("")
|
||||
{
|
||||
new SchemaNodeString("id", "MobSpawner"),
|
||||
new SchemaNodeString("id", TypeId),
|
||||
new SchemaNodeScaler("EntityId", TagType.TAG_STRING),
|
||||
new SchemaNodeScaler("Delay", TagType.TAG_SHORT),
|
||||
});
|
||||
|
||||
public static string TypeId
|
||||
{
|
||||
get { return "MobSpawner"; }
|
||||
}
|
||||
|
||||
private short _delay;
|
||||
private string _entityID;
|
||||
|
||||
|
@ -30,8 +35,13 @@ namespace Substrate.TileEntities
|
|||
set { _entityID = value; }
|
||||
}
|
||||
|
||||
protected TileEntityMobSpawner (string id)
|
||||
: base(id)
|
||||
{
|
||||
}
|
||||
|
||||
public TileEntityMobSpawner ()
|
||||
: base("MobSpawner")
|
||||
: this(TypeId)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -10,10 +10,15 @@ namespace Substrate.TileEntities
|
|||
{
|
||||
public static readonly SchemaNodeCompound MusicSchema = TileEntity.Schema.MergeInto(new SchemaNodeCompound("")
|
||||
{
|
||||
new SchemaNodeString("id", "Music"),
|
||||
new SchemaNodeString("id", TypeId),
|
||||
new SchemaNodeScaler("note", TagType.TAG_BYTE),
|
||||
});
|
||||
|
||||
public static string TypeId
|
||||
{
|
||||
get { return "Music"; }
|
||||
}
|
||||
|
||||
private byte _note;
|
||||
|
||||
public int Note
|
||||
|
@ -22,8 +27,13 @@ namespace Substrate.TileEntities
|
|||
set { _note = (byte)value; }
|
||||
}
|
||||
|
||||
protected TileEntityMusic (string id)
|
||||
: base(id)
|
||||
{
|
||||
}
|
||||
|
||||
public TileEntityMusic ()
|
||||
: base("Music")
|
||||
: this(TypeId)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ namespace Substrate.TileEntities
|
|||
{
|
||||
public static readonly SchemaNodeCompound PistonSchema = TileEntity.Schema.MergeInto(new SchemaNodeCompound("")
|
||||
{
|
||||
new SchemaNodeString("id", "Piston"),
|
||||
new SchemaNodeString("id", TypeId),
|
||||
new SchemaNodeScaler("blockId", TagType.TAG_INT),
|
||||
new SchemaNodeScaler("blockData", TagType.TAG_INT),
|
||||
new SchemaNodeScaler("facing", TagType.TAG_INT),
|
||||
|
@ -18,6 +18,11 @@ namespace Substrate.TileEntities
|
|||
new SchemaNodeScaler("extending", TagType.TAG_BYTE),
|
||||
});
|
||||
|
||||
public static string TypeId
|
||||
{
|
||||
get { return "Piston"; }
|
||||
}
|
||||
|
||||
private int? _record = null;
|
||||
|
||||
private byte _extending;
|
||||
|
@ -56,8 +61,13 @@ namespace Substrate.TileEntities
|
|||
set { _progress = value; }
|
||||
}
|
||||
|
||||
protected TileEntityPiston (string id)
|
||||
: base(id)
|
||||
{
|
||||
}
|
||||
|
||||
public TileEntityPiston ()
|
||||
: base("Piston")
|
||||
: this(TypeId)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -10,10 +10,15 @@ namespace Substrate.TileEntities
|
|||
{
|
||||
public static readonly SchemaNodeCompound RecordPlayerSchema = TileEntity.Schema.MergeInto(new SchemaNodeCompound("")
|
||||
{
|
||||
new SchemaNodeString("id", "RecordPlayer"),
|
||||
new SchemaNodeString("id", TypeId),
|
||||
new SchemaNodeScaler("Record", TagType.TAG_INT, SchemaOptions.OPTIONAL),
|
||||
});
|
||||
|
||||
public static string TypeId
|
||||
{
|
||||
get { return "RecordPlayer"; }
|
||||
}
|
||||
|
||||
private int? _record = null;
|
||||
|
||||
public int? Record
|
||||
|
@ -22,8 +27,13 @@ namespace Substrate.TileEntities
|
|||
set { _record = value; }
|
||||
}
|
||||
|
||||
protected TileEntityRecordPlayer (string id)
|
||||
: base(id)
|
||||
{
|
||||
}
|
||||
|
||||
public TileEntityRecordPlayer ()
|
||||
: base("RecordPlayer")
|
||||
: this(TypeId)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -10,13 +10,18 @@ namespace Substrate.TileEntities
|
|||
{
|
||||
public static readonly SchemaNodeCompound SignSchema = TileEntity.Schema.MergeInto(new SchemaNodeCompound("")
|
||||
{
|
||||
new SchemaNodeString("id", "Sign"),
|
||||
new SchemaNodeString("id", TypeId),
|
||||
new SchemaNodeScaler("Text1", TagType.TAG_STRING),
|
||||
new SchemaNodeScaler("Text2", TagType.TAG_STRING),
|
||||
new SchemaNodeScaler("Text3", TagType.TAG_STRING),
|
||||
new SchemaNodeScaler("Text4", TagType.TAG_STRING),
|
||||
});
|
||||
|
||||
public static string TypeId
|
||||
{
|
||||
get { return "Sign"; }
|
||||
}
|
||||
|
||||
private string _text1 = "";
|
||||
private string _text2 = "";
|
||||
private string _text3 = "";
|
||||
|
@ -46,8 +51,13 @@ namespace Substrate.TileEntities
|
|||
set { _text4 = value.Substring(0, 14); }
|
||||
}
|
||||
|
||||
protected TileEntitySign (string id)
|
||||
: base(id)
|
||||
{
|
||||
}
|
||||
|
||||
public TileEntitySign ()
|
||||
: base("Sign")
|
||||
: this(TypeId)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -9,20 +9,30 @@ namespace Substrate.TileEntities
|
|||
{
|
||||
public static readonly SchemaNodeCompound TrapSchema = TileEntity.Schema.MergeInto(new SchemaNodeCompound("")
|
||||
{
|
||||
new SchemaNodeString("id", "Trap"),
|
||||
new SchemaNodeString("id", TypeId),
|
||||
new SchemaNodeList("Items", TagType.TAG_COMPOUND, ItemCollection.Schema),
|
||||
});
|
||||
|
||||
public static string TypeId
|
||||
{
|
||||
get { return "Trap"; }
|
||||
}
|
||||
|
||||
private const int _CAPACITY = 8;
|
||||
|
||||
private ItemCollection _items;
|
||||
|
||||
public TileEntityTrap ()
|
||||
: base("Trap")
|
||||
protected TileEntityTrap (string id)
|
||||
: base(id)
|
||||
{
|
||||
_items = new ItemCollection(_CAPACITY);
|
||||
}
|
||||
|
||||
public TileEntityTrap ()
|
||||
: this(TypeId)
|
||||
{
|
||||
}
|
||||
|
||||
public TileEntityTrap (TileEntity te)
|
||||
: base(te)
|
||||
{
|
||||
|
|
|
@ -77,16 +77,17 @@ namespace Substrate
|
|||
|
||||
static TileEntityFactory ()
|
||||
{
|
||||
_registry["Airportal"] = typeof(TileEntityEndPortal);
|
||||
_registry["Cauldron"] = typeof(TileEntityBrewingStand);
|
||||
_registry["Chest"] = typeof(TileEntityChest);
|
||||
_registry["EnchantTable"] = typeof(TileEntityEnchantmentTable);
|
||||
_registry["Furnace"] = typeof(TileEntityFurnace);
|
||||
_registry["MobSpawner"] = typeof(TileEntityMobSpawner);
|
||||
_registry["Music"] = typeof(TileEntityMusic);
|
||||
_registry["RecordPlayer"] = typeof(TileEntityRecordPlayer);
|
||||
_registry["Sign"] = typeof(TileEntitySign);
|
||||
_registry["Trap"] = typeof(TileEntityTrap);
|
||||
_registry[TileEntityEndPortal.TypeId] = typeof(TileEntityEndPortal);
|
||||
_registry[TileEntityBrewingStand.TypeId] = typeof(TileEntityBrewingStand);
|
||||
_registry[TileEntityChest.TypeId] = typeof(TileEntityChest);
|
||||
_registry[TileEntityEnchantmentTable.TypeId] = typeof(TileEntityEnchantmentTable);
|
||||
_registry[TileEntityFurnace.TypeId] = typeof(TileEntityFurnace);
|
||||
_registry[TileEntityMobSpawner.TypeId] = typeof(TileEntityMobSpawner);
|
||||
_registry[TileEntityMusic.TypeId] = typeof(TileEntityMusic);
|
||||
_registry[TileEntityPiston.TypeId] = typeof(TileEntityPiston);
|
||||
_registry[TileEntityRecordPlayer.TypeId] = typeof(TileEntityRecordPlayer);
|
||||
_registry[TileEntitySign.TypeId] = typeof(TileEntitySign);
|
||||
_registry[TileEntityTrap.TypeId] = typeof(TileEntityTrap);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue