using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace MinecraftClient.Inventory.ItemPalettes { public abstract class ItemPalette { protected abstract Dictionary GetDict(); private readonly Dictionary DictReverse = new Dictionary(); public ItemPalette() { // Index reverse mappings for use in ToId() foreach (KeyValuePair entry in GetDict()) DictReverse.Add(entry.Value, entry.Key); } public ItemType FromId(int id) { return GetDict()[id]; } public int ToId(ItemType itemType) { if (itemType == ItemType.Null) return -1; return DictReverse[itemType]; } } }