Преглед на файлове

Add item id. (#48)

* Fix block id

* Fix block state.

* Add item id.

* Remove duplicate item.

* Fix format.

* Improve item state.

* clean code style
Junyan Liu преди 8 години
родител
ревизия
8a337da2ed

+ 14 - 49
src/MineCase.Server.Interfaces/World/Block.cs

@@ -1188,16 +1188,6 @@ namespace MineCase.Server.World
         OnAWallFacingWest = 5
     }
 
-    public enum HeadForItemType : uint
-    {
-        SkeletonSkull = 0,
-        WitherSkeletonSkull = 1,
-        ZombieHead = 2,
-        Head = 3,
-        CreeperHead = 4,
-        DragonHead = 5
-    }
-
     public enum BlockOfQuartzType : uint
     {
         BlockOfQuartz = 0,
@@ -1207,45 +1197,20 @@ namespace MineCase.Server.World
         PillarQuartzBlockEastWest = 4
     }
 
-    public enum CoalType : uint
-    {
-        Coal = 0,
-        Charcoal = 1
-    }
-
-    public enum DyeType : uint
-    {
-        InkSac = 0,
-        RoseRed = 1,
-        CactusGreen = 2,
-        CocoaBeans = 3,
-        LapisLazuli = 4,
-        PurpleDye = 5,
-        CyanDye = 6,
-        LightGrayDye = 7,
-        GrayDye = 8,
-        PinkDye = 9,
-        LimeDye = 10,
-        DandelionYellow = 11,
-        LightBlueDye = 12,
-        MagentaDye = 13,
-        OrangeDye = 14,
-        BoneMeal = 15
-    }
-
-    public enum FishType : uint
-    {
-        RawFishOrCookedFish = 0,
-        RawSalmonOrCookedSalmon = 1,
-        Clownfish = 2,
-        Pufferfish = 3
-    }
-
-    public enum AnvilForItemType : uint
-    {
-        Anvil = 0,
-        SlightlyDamagedAnvil = 1,
-        VeryDamagedAnvil = 2
+    public enum AnvilForBlockType : uint
+    {
+        AnvilNS = 0,
+        AnvilEW = 1,
+        AnvilSN = 2,
+        AnvilWE = 3,
+        SlightlyDamagedAnvilNS = 4,
+        SlightlyDamagedAnvilEW = 5,
+        SlightlyDamagedAnvilWE = 6,
+        SlightlyDamagedAnvilSN = 7,
+        VeryDamagedAnvilNS = 8,
+        VeryDamagedAnvilEW = 9,
+        VeryDamagedAnvilWE = 10,
+        VeryDamagedAnvilSN = 11
     }
 
     public struct BlockState : IEquatable<BlockState>

+ 4 - 4
src/MineCase.Server.Interfaces/World/Blocks.cs

@@ -28,8 +28,8 @@ namespace MineCase.Server.World
         {
             return new BlockState
             {
-                 Id = (uint)BlockId.GrassBlock,
-                 MetaValue = 0
+                Id = (uint)BlockId.GrassBlock,
+                MetaValue = 0
             };
         }
 
@@ -1302,7 +1302,7 @@ namespace MineCase.Server.World
             };
         }
 
-        public static BlockState Mobhead(HeadForItemType type = HeadForItemType.SkeletonSkull)
+        public static BlockState Mobhead(HeadForBlockType type = HeadForBlockType.OnTheFloor)
         {
             return new BlockState
             {
@@ -1311,7 +1311,7 @@ namespace MineCase.Server.World
             };
         }
 
-        public static BlockState Anvil(AnvilForItemType type = AnvilForItemType.Anvil)
+        public static BlockState Anvil(AnvilForBlockType type = AnvilForBlockType.AnvilNS)
         {
             return new BlockState
             {

+ 409 - 0
src/MineCase.Server.Interfaces/World/Item.cs

@@ -0,0 +1,409 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace MineCase.Server.World
+{
+    public enum ItemId : uint
+    {
+        IronShovel = 256,
+        IronPickaxe = 257,
+        IronAxe = 258,
+        FlintandSteel = 259,
+        Apple = 260,
+        Bow = 261,
+        Arrow = 262,
+        Coal = 263,
+        Diamond = 264,
+        IronIngot = 265,
+        GoldIngot = 266,
+        IronSword = 267,
+        WoodenSword = 268,
+        WoodenShovel = 269,
+        WoodenPickaxe = 270,
+        WoodenAxe = 271,
+        StoneSword = 272,
+        StoneShovel = 273,
+        StonePickaxe = 274,
+        StoneAxe = 275,
+        DiamondSword = 276,
+        DiamondShovel = 277,
+        DiamondPickaxe = 278,
+        DiamondAxe = 279,
+        Stick = 280,
+        Bowl = 281,
+        MushroomStew = 282,
+        GoldenSword = 283,
+        GoldenShovel = 284,
+        GoldenPickaxe = 285,
+        GoldenAxe = 286,
+        String = 287,
+        Feather = 288,
+        Gunpowder = 289,
+        WoodenHoe = 290,
+        StoneHoe = 291,
+        IronHoe = 292,
+        DiamondHoe = 293,
+        GoldenHoe = 294,
+        Seeds = 295,
+        Wheat = 296,
+        Bread = 297,
+        LeatherCap = 298,
+        LeatherTunic = 299,
+        LeatherPants = 300,
+        LeatherBoots = 301,
+        ChainHelmet = 302,
+        ChainChestplate = 303,
+        ChainLeggings = 304,
+        ChainBoots = 305,
+        IronHelmet = 306,
+        IronChestplate = 307,
+        IronLeggings = 308,
+        IronBoots = 309,
+        DiamondHelmet = 310,
+        DiamondChestplate = 311,
+        DiamondLeggings = 312,
+        DiamondBoots = 313,
+        GoldenHelmet = 314,
+        GoldenChestplate = 315,
+        GoldenLeggings = 316,
+        GoldenBoots = 317,
+        Flint = 318,
+        RawPorkchop = 319,
+        CookedPorkchop = 320,
+        Painting = 321,
+        GoldenApple = 322,
+        Sign = 323,
+        OakDoor = 324,
+        Bucket = 325,
+        WaterBucket = 326,
+        LavaBucket = 327,
+        Minecart = 328,
+        Saddle = 329,
+        IronDoor = 330,
+        Redstone = 331,
+        Snowball = 332,
+        Boat = 333,
+        Leather = 334,
+        Milk = 335,
+        Brick = 336,
+        Clay = 337,
+        SugarCane = 338,
+        Paper = 339,
+        Book = 340,
+        Slimeball = 341,
+        MinecartwithChest = 342,
+        MinecartwithFurnace = 343,
+        Egg = 344,
+        Compass = 345,
+        FishingRod = 346,
+        Clock = 347,
+        GlowstoneDust = 348,
+        RawFish = 349,
+        CookedFish = 350,
+        Dye = 351,
+        Bone = 352,
+        Sugar = 353,
+        Cake = 354,
+        Bed = 355,
+        RedstoneRepeater = 356,
+        Cookie = 357,
+        Map = 358,
+        Shears = 359,
+        Melon = 360,
+        PumpkinSeeds = 361,
+        MelonSeeds = 362,
+        RawBeef = 363,
+        Steak = 364,
+        RawChicken = 365,
+        CookedChicken = 366,
+        RottenFlesh = 367,
+        EnderPearl = 368,
+        BlazeRod = 369,
+        GhastTear = 370,
+        GoldNugget = 371,
+        NetherWart = 372,
+        Potion = 373,
+        GlassBottle = 374,
+        SpiderEye = 375,
+        FermentedSpiderEye = 376,
+        BlazePowder = 377,
+        MagmaCream = 378,
+        BrewingStand = 379,
+        Cauldron = 380,
+        EyeofEnder = 381,
+        GlisteringMelon = 382,
+        SpawnEgg = 383,
+        BottleEnchanting = 384,
+        FireCharge = 385,
+        BookandQuill = 386,
+        WrittenBook = 387,
+        Emerald = 388,
+        ItemFrame = 389,
+        FlowerPot = 390,
+        Carrot = 391,
+        Potato = 392,
+        BakedPotato = 393,
+        PoisonousPotato = 394,
+        EmptyMap = 395,
+        GoldenCarrot = 396,
+        Mobhead = 397,
+        CarrotonaStick = 398,
+        NetherStar = 399,
+        PumpkinPie = 400,
+        FireworkRocket = 401,
+        FireworkStar = 402,
+        EnchantedBook = 403,
+        RedstoneComparator = 404,
+        NetherBrick = 405,
+        NetherQuartz = 406,
+        MinecartwithTNT = 407,
+        MinecartwithHopper = 408,
+        PrismarineShard = 409,
+        PrismarineCrystals = 410,
+        RawRabbit = 411,
+        CookedRabbit = 412,
+        RabbitStew = 413,
+        RabbitFoot = 414,
+        RabbitHide = 415,
+        ArmorStand = 416,
+        IronHorseArmor = 417,
+        GoldenHorseArmor = 418,
+        DiamondHorseArmor = 419,
+        Lead = 420,
+        NameTag = 421,
+        MinecartwithCommandBlock = 422,
+        RawMutton = 423,
+        CookedMutton = 424,
+        Banner = 425,
+        EndCrystal = 426,
+        SpruceDoor = 427,
+        BirchDoor = 428,
+        JungleDoor = 429,
+        AcaciaDoor = 430,
+        DarkOakDoor = 431,
+        ChorusFruit = 432,
+        PoppedChorusFruit = 433,
+        Beetroot = 434,
+        BeetrootSeeds = 435,
+        BeetrootSoup = 436,
+        DragonBreath = 437,
+        SplashPotion = 438,
+        SpectralArrow = 439,
+        TippedArrow = 440,
+        LingeringPotion = 441,
+        Shield = 442,
+        Elytra = 443,
+        SpruceBoat = 444,
+        BirchBoat = 445,
+        JungleBoat = 446,
+        AcaciaBoat = 447,
+        DarkOakBoat = 448,
+        TotemofUndying = 449,
+        ShulkerShell = 450,
+        IronNugget = 452,
+        Disc13 = 2256,
+        CatDisc = 2257,
+        BlocksDisc = 2258,
+        ChirpDisc = 2259,
+        FarDisc = 2260,
+        MallDisc = 2261,
+        MellohiDisc = 2262,
+        StalDisc = 2263,
+        StradDisc = 2264,
+        WardDisc = 2265,
+        Disc11 = 2266,
+        WaitDisc = 2267
+    }
+
+    public enum CoalType : uint
+    {
+        Coal = 0,
+        Charcoal = 1
+    }
+
+    public enum GoldenAppleType : uint
+    {
+        GoldenApple = 0,
+        EnchantedGoldenApple = 1
+    }
+
+    public enum DyeType : uint
+    {
+        InkSac = 0,
+        RoseRed = 1,
+        CactusGreen = 2,
+        CocoaBeans = 3,
+        LapisLazuli = 4,
+        PurpleDye = 5,
+        CyanDye = 6,
+        LightGrayDye = 7,
+        GrayDye = 8,
+        PinkDye = 9,
+        LimeDye = 10,
+        DandelionYellow = 11,
+        LightBlueDye = 12,
+        MagentaDye = 13,
+        OrangeDye = 14,
+        BoneMeal = 15
+    }
+
+    public enum FishType : uint
+    {
+        RawFishOrCookedFish = 0,
+        RawSalmonOrCookedSalmon = 1,
+        Clownfish = 2,
+        Pufferfish = 3
+    }
+
+    public enum HeadForItemType : uint
+    {
+        SkeletonSkull = 0,
+        WitherSkeletonSkull = 1,
+        ZombieHead = 2,
+        Head = 3,
+        CreeperHead = 4,
+        DragonHead = 5
+    }
+
+    public enum PotionNameType : uint
+    {
+        WaterBottleOrMundanePotion = 0,
+        PotionOfRegeneration1 = 1,
+        PotionOfSwiftness1 = 2,
+        PotionOfFireResistance1 = 3,
+        PotionOfPoison1 = 4,
+        PotionOfHealing1 = 5,
+        PotionOfNightVision1 = 6,
+        ClearPotion = 7,
+        PotionOfWeakness1 = 8,
+        PotionOfStrength1 = 9,
+        PotionOfSlowness1 = 10,
+        PotionOfLeaping1 = 11,
+        PotionOfHarming1 = 12,
+        PotionOfWaterBreathing1 = 13,
+        PotionOfInvisibility1 = 14,
+        ThinPotion = 15,
+        AwkwardPotion = 16,
+        PotionOfRegeneration2 = 17,
+        PotionOfSwiftness2 = 18,
+        PotionOfFireResistance2 = 19,
+        PotionOfPoison2 = 20,
+        PotionOfHealing2 = 21,
+        PotionOfNightVision2 = 22,
+        BunglingPotion = 23,
+        PotionOfWeakness2 = 24,
+        PotionOfStrength2 = 25,
+        PotionOfSlowness2 = 26,
+        PotionOfLeaping2 = 27,
+        PotionOfHarming2 = 28,
+        PotionOfWaterBreathing2 = 29,
+        PotionOfInvisibility2 = 30,
+        DebonairPotion = 31,
+        ThickPotion = 32,
+        PotionOfRegeneration3 = 33,
+        PotionOfSwiftness3 = 34,
+        PotionOfFireResistance3 = 35,
+        PotionOfPoison3 = 36,
+        PotionOfHealing3 = 37,
+        PotionOfNightVision3 = 38,
+        CharmingPotion = 39,
+        PotionOfWeakness3 = 40,
+        PotionOfStrength3 = 41,
+        PotionOfSlowness3 = 42,
+        PotionOfLeaping3 = 43,
+        PotionOfHarming3 = 44,
+        PotionOfWaterBreathing3 = 45,
+        PotionOfInvisibility3 = 46,
+        SparklingPotion = 47,
+        PotentPotion = 48,
+        PotionOfRegeneration4 = 49,
+        PotionOfSwiftness4 = 50,
+        PotionOfFireResistance4 = 51,
+        PotionOfPoison4 = 52,
+        PotionOfHealing4 = 53,
+        PotionOfNightVision4 = 54,
+        RankPotion = 55,
+        PotionOfWeakness4 = 56,
+        PotionOfStrength4 = 57,
+        PotionOfSlowness4 = 58,
+        PotionOfLeaping4 = 59,
+        PotionOfHarming4 = 60,
+        PotionOfWaterBreathing4 = 61,
+        PotionOfInvisibility4 = 62,
+        StinkyPotion = 63
+    }
+
+    public enum PotionEffectType : uint
+    {
+        None = 0,
+        Regeneration = 1,
+        Speed = 2,
+        FireResistance = 3,
+        Poison = 4,
+        InstantHealth = 5,
+        NightVision = 6,
+        Weakness = 8,
+        Strength = 9,
+        Slowness = 10,
+        JumpBoost = 11,
+        InstantDamage = 12,
+        WaterBreathing = 13,
+        Invisibility = 14
+    }
+
+    public enum PotionTierType : uint
+    {
+        Base = 0,
+        LessDuration = 32
+    }
+
+    public enum PotionExtendedDurationType : uint
+    {
+        Base = 0,
+        MoreDuration = 64
+    }
+
+    public enum SplashPotionType : uint
+    {
+        DrinkablePotion = 0,
+        SplashPotion = 16384
+    }
+
+    public struct ItemState : IEquatable<ItemState>
+    {
+        public uint Id { get; set; }
+
+        public uint MetaValue { get; set; }
+
+        public override bool Equals(object obj)
+        {
+            return obj is ItemState && Equals((ItemState)obj);
+        }
+
+        public bool Equals(ItemState other)
+        {
+            return Id == other.Id &&
+                   MetaValue == other.MetaValue;
+        }
+
+        public override int GetHashCode()
+        {
+            var hashCode = -81208087;
+            hashCode = hashCode * -1521134295 + base.GetHashCode();
+            hashCode = hashCode * -1521134295 + Id.GetHashCode();
+            hashCode = hashCode * -1521134295 + MetaValue.GetHashCode();
+            return hashCode;
+        }
+
+        public static bool operator ==(ItemState state1, ItemState state2)
+        {
+            return state1.Equals(state2);
+        }
+
+        public static bool operator !=(ItemState state1, ItemState state2)
+        {
+            return !(state1 == state2);
+        }
+    }
+}

+ 1897 - 0
src/MineCase.Server.Interfaces/World/Items.cs

@@ -0,0 +1,1897 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace MineCase.Server.World
+{
+    public static class ItemStates
+    {
+        public static ItemState IronShovel()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.IronShovel,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState IronPickaxe()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.IronPickaxe,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState IronAxe()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.IronAxe,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState FlintandSteel()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.FlintandSteel,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Apple()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Apple,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Bow()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Bow,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Arrow()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Arrow,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Coal(CoalType type = CoalType.Coal)
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Coal,
+                MetaValue = (uint)type
+            };
+        }
+
+        public static ItemState Diamond()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Diamond,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState IronIngot()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.IronIngot,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState GoldIngot()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.GoldIngot,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState IronSword()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.IronSword,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState WoodenSword()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.WoodenSword,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState WoodenShovel()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.WoodenShovel,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState WoodenPickaxe()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.WoodenPickaxe,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState WoodenAxe()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.WoodenAxe,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState StoneSword()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.StoneSword,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState StoneShovel()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.StoneShovel,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState StonePickaxe()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.StonePickaxe,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState StoneAxe()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.StoneAxe,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState DiamondSword()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.DiamondSword,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState DiamondShovel()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.DiamondShovel,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState DiamondPickaxe()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.DiamondPickaxe,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState DiamondAxe()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.DiamondAxe,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Stick()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Stick,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Bowl()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Bowl,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState MushroomStew()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.MushroomStew,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState GoldenSword()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.GoldenSword,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState GoldenShovel()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.GoldenShovel,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState GoldenPickaxe()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.GoldenPickaxe,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState GoldenAxe()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.GoldenAxe,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState String()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.String,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Feather()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Feather,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Gunpowder()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Gunpowder,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState WoodenHoe()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.WoodenHoe,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState StoneHoe()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.StoneHoe,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState IronHoe()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.IronHoe,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState DiamondHoe()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.DiamondHoe,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState GoldenHoe()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.GoldenHoe,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Seeds()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Seeds,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Wheat()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Wheat,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Bread()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Bread,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState LeatherCap()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.LeatherCap,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState LeatherTunic()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.LeatherTunic,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState LeatherPants()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.LeatherPants,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState LeatherBoots()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.LeatherBoots,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState ChainHelmet()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.ChainHelmet,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState ChainChestplate()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.ChainChestplate,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState ChainLeggings()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.ChainLeggings,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState ChainBoots()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.ChainBoots,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState IronHelmet()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.IronHelmet,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState IronChestplate()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.IronChestplate,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState IronLeggings()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.IronLeggings,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState IronBoots()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.IronBoots,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState DiamondHelmet()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.DiamondHelmet,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState DiamondChestplate()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.DiamondChestplate,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState DiamondLeggings()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.DiamondLeggings,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState DiamondBoots()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.DiamondBoots,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState GoldenHelmet()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.GoldenHelmet,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState GoldenChestplate()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.GoldenChestplate,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState GoldenLeggings()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.GoldenLeggings,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState GoldenBoots()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.GoldenBoots,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Flint()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Flint,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState RawPorkchop()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.RawPorkchop,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState CookedPorkchop()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.CookedPorkchop,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Painting()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Painting,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState GoldenApple(GoldenAppleType type = GoldenAppleType.GoldenApple)
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.GoldenApple,
+                MetaValue = (uint)type
+            };
+        }
+
+        public static ItemState Sign()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Sign,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState OakDoor()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.OakDoor,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Bucket()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Bucket,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState WaterBucket()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.WaterBucket,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState LavaBucket()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.LavaBucket,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Minecart()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Minecart,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Saddle()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Saddle,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState IronDoor()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.IronDoor,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Redstone()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Redstone,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Snowball()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Snowball,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Boat()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Boat,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Leather()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Leather,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Milk()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Milk,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Brick()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Brick,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Clay()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Clay,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState SugarCane()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.SugarCane,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Paper()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Paper,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Book()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Book,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Slimeball()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Slimeball,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState MinecartwithChest()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.MinecartwithChest,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState MinecartwithFurnace()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.MinecartwithFurnace,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Egg()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Egg,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Compass()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Compass,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState FishingRod()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.FishingRod,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Clock()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Clock,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState GlowstoneDust()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.GlowstoneDust,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState RawFish(FishType type = FishType.RawFishOrCookedFish)
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.RawFish,
+                MetaValue = (uint)type
+            };
+        }
+
+        public static ItemState CookedFish(FishType type = FishType.RawFishOrCookedFish)
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.CookedFish,
+                MetaValue = (uint)type
+            };
+        }
+
+        public static ItemState Dye(DyeType type = DyeType.InkSac)
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Dye,
+                MetaValue = (uint)type
+            };
+        }
+
+        public static ItemState Bone()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Bone,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Sugar()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Sugar,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Cake()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Cake,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Bed()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Bed,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState RedstoneRepeater()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.RedstoneRepeater,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Cookie()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Cookie,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Map()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Map,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Shears()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Shears,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Melon()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Melon,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState PumpkinSeeds()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.PumpkinSeeds,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState MelonSeeds()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.MelonSeeds,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState RawBeef()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.RawBeef,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Steak()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Steak,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState RawChicken()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.RawChicken,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState CookedChicken()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.CookedChicken,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState RottenFlesh()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.RottenFlesh,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState EnderPearl()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.EnderPearl,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState BlazeRod()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.BlazeRod,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState GhastTear()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.GhastTear,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState GoldNugget()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.GoldNugget,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState NetherWart()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.NetherWart,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Potion(
+            PotionNameType name,
+            PotionExtendedDurationType ex = PotionExtendedDurationType.Base,
+            SplashPotionType splash = SplashPotionType.DrinkablePotion)
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Potion,
+                MetaValue = (uint)name + (uint)ex + (uint)splash
+            };
+        }
+
+        public static ItemState Potion(
+            PotionEffectType effect,
+            PotionTierType tier = PotionTierType.Base,
+            PotionExtendedDurationType ex = PotionExtendedDurationType.Base,
+            SplashPotionType splash = SplashPotionType.DrinkablePotion)
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Potion,
+                MetaValue = (uint)effect + (uint)tier + (uint)ex + (uint)splash
+            };
+        }
+
+        public static ItemState GlassBottle()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.GlassBottle,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState SpiderEye()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.SpiderEye,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState FermentedSpiderEye()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.FermentedSpiderEye,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState BlazePowder()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.BlazePowder,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState MagmaCream()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.MagmaCream,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState BrewingStand()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.BrewingStand,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Cauldron()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Cauldron,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState EyeofEnder()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.EyeofEnder,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState GlisteringMelon()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.GlisteringMelon,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState SpawnEgg()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.SpawnEgg,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState BottleEnchanting()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.BottleEnchanting,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState FireCharge()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.FireCharge,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState BookandQuill()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.BookandQuill,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState WrittenBook()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.WrittenBook,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Emerald()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Emerald,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState ItemFrame()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.ItemFrame,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState FlowerPot()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.FlowerPot,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Carrot()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Carrot,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Potato()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Potato,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState BakedPotato()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.BakedPotato,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState PoisonousPotato()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.PoisonousPotato,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState EmptyMap()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.EmptyMap,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState GoldenCarrot()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.GoldenCarrot,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Mobhead(HeadForItemType type = HeadForItemType.SkeletonSkull)
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Mobhead,
+                MetaValue = (uint)type
+            };
+        }
+
+        public static ItemState CarrotonaStick()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.CarrotonaStick,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState NetherStar()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.NetherStar,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState PumpkinPie()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.PumpkinPie,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState FireworkRocket()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.FireworkRocket,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState FireworkStar()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.FireworkStar,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState EnchantedBook()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.EnchantedBook,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState RedstoneComparator()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.RedstoneComparator,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState NetherBrick()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.NetherBrick,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState NetherQuartz()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.NetherQuartz,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState MinecartwithTNT()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.MinecartwithTNT,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState MinecartwithHopper()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.MinecartwithHopper,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState PrismarineShard()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.PrismarineShard,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState PrismarineCrystals()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.PrismarineCrystals,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState RawRabbit()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.RawRabbit,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState CookedRabbit()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.CookedRabbit,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState RabbitStew()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.RabbitStew,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState RabbitFoot()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.RabbitFoot,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState RabbitHide()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.RabbitHide,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState ArmorStand()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.ArmorStand,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState IronHorseArmor()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.IronHorseArmor,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState GoldenHorseArmor()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.GoldenHorseArmor,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState DiamondHorseArmor()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.DiamondHorseArmor,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Lead()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Lead,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState NameTag()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.NameTag,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState MinecartwithCommandBlock()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.MinecartwithCommandBlock,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState RawMutton()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.RawMutton,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState CookedMutton()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.CookedMutton,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Banner()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Banner,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState EndCrystal()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.EndCrystal,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState SpruceDoor()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.SpruceDoor,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState BirchDoor()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.BirchDoor,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState JungleDoor()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.JungleDoor,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState AcaciaDoor()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.AcaciaDoor,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState DarkOakDoor()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.DarkOakDoor,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState ChorusFruit()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.ChorusFruit,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState PoppedChorusFruit()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.PoppedChorusFruit,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Beetroot()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Beetroot,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState BeetrootSeeds()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.BeetrootSeeds,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState BeetrootSoup()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.BeetrootSoup,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState DragonBreath()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.DragonBreath,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState SplashPotion()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.SplashPotion,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState SpectralArrow()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.SpectralArrow,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState TippedArrow()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.TippedArrow,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState LingeringPotion()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.LingeringPotion,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Shield()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Shield,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Elytra()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Elytra,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState SpruceBoat()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.SpruceBoat,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState BirchBoat()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.BirchBoat,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState JungleBoat()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.JungleBoat,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState AcaciaBoat()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.AcaciaBoat,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState DarkOakBoat()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.DarkOakBoat,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState TotemofUndying()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.TotemofUndying,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState ShulkerShell()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.ShulkerShell,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState IronNugget()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.IronNugget,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Disc13()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Disc13,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState CatDisc()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.CatDisc,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState BlocksDisc()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.BlocksDisc,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState ChirpDisc()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.ChirpDisc,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState FarDisc()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.FarDisc,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState MallDisc()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.MallDisc,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState MellohiDisc()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.MellohiDisc,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState StalDisc()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.StalDisc,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState StradDisc()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.StradDisc,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState WardDisc()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.WardDisc,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState Disc11()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.Disc11,
+                MetaValue = 0
+            };
+        }
+
+        public static ItemState WaitDisc()
+        {
+            return new ItemState
+            {
+                Id = (uint)ItemId.WaitDisc,
+                MetaValue = 0
+            };
+        }
+    }
+}