Advertisement
LegarsStyler

Untitled

Jun 16th, 2019
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 53.15 KB | None | 0 0
  1.     /**
  2.      * It is a method to get Material from id (digital or text) because after 1.12 minecraft & spigot
  3.      * don't want to we use id digital anymore. This method is for a conversion
  4.      * @param id Id (digital or text) of the material
  5.      * @return 1.13 Material (can be null)
  6.      */
  7.     public Material getMaterial(String id)
  8.     {
  9.         Material m = Material.getMaterial(id.toUpperCase(), true);
  10.         if(m != null) return m;
  11.         m = Material.getMaterial(id.toUpperCase(), false);
  12.         if(m != null) return m;
  13.         Mapping mapping = IdMappings.getById(id);
  14.         if(mapping != null) return Material.getMaterial(mapping.getFlatteningType().toUpperCase());
  15.         return null;
  16.     }
  17.  
  18.  
  19. public class IdMappings {
  20.     public static final Mapping[] MAPPINGS = {
  21.             new Mapping(0, "air"),
  22.             new Mapping(1, "stone"),
  23.             new Mapping(1, 1, "stone", "granite"),
  24.             new Mapping(1, 2, "stone", "polished_granite"),
  25.             new Mapping(1, 3, "stone", "diorite"),
  26.             new Mapping(1, 4, "stone", "polished_diorite"),
  27.             new Mapping(1, 5, "stone", "andesite"),
  28.             new Mapping(1, 6, "stone", "polished_andesite"),
  29.             new Mapping(2, "grass", "grass_block"),
  30.             new Mapping(3, "dirt"),
  31.             new Mapping(3, 1, "dirt", "coarse_dirt"),
  32.             new Mapping(3, 2, "dirt", "podzol"),
  33.             new Mapping(4, "cobblestone"),
  34.             new Mapping(5, "wood", "oak_planks"),
  35.             new Mapping(5, 1, "wood", "spruce_planks"),
  36.             new Mapping(5, 2, "wood", "birch_planks"),
  37.             new Mapping(5, 3, "wood", "jungle_planks"),
  38.             new Mapping(5, 4, "wood", "acacia_planks"),
  39.             new Mapping(5, 5, "wood", "dark_oak_planks"),
  40.             new Mapping(6, "sapling", "oak_sapling"),
  41.             new Mapping(6, 1, "sapling", "spruce_sapling"),
  42.             new Mapping(6, 2, "sapling", "birch_sapling"),
  43.             new Mapping(6, 3, "sapling", "jungle_sapling"),
  44.             new Mapping(6, 4, "sapling", "acacia_sapling"),
  45.             new Mapping(6, 5, "sapling", "dark_oak_sapling"),
  46.             new Mapping(7, "bedrock"),
  47.             new Mapping(8, "water"),
  48.             new Mapping(9, "stationary_water", "water"),
  49.             new Mapping(10, "lava"),
  50.             new Mapping(11, "stationary_lava", "lava"),
  51.             new Mapping(12, "sand"),
  52.             new Mapping(12, 1, "sand", "red_sand"),
  53.             new Mapping(13, "gravel"),
  54.             new Mapping(14, "gold_ore"),
  55.             new Mapping(15, "iron_ore"),
  56.             new Mapping(16, "coal_ore"),
  57.             new Mapping(17, "log", "oak_log"),
  58.             new Mapping(17, 1, "log", "oak_log"),
  59.             new Mapping(17, 2, "log", "spruce_log"),
  60.             new Mapping(17, 3, "log", "birch_log"),
  61.             new Mapping(17, 4, "log", "jungle_log"),
  62.             new Mapping(17, 5, "log", "oak_bark"),
  63.             new Mapping(17, 6, "log", "spruce_bark"),
  64.             new Mapping(17, 7, "log", "birch_bark"),
  65.             new Mapping(17, 8, "log", "jungle_bark"),
  66.             new Mapping(18, "leaves", "oak_leaves"),
  67.             new Mapping(18, 1, "leaves", "spruce_leaves"),
  68.             new Mapping(18, 2, "leaves", "birch_leaves"),
  69.             new Mapping(18, 3, "leaves", "jungle_leaves"),
  70.             new Mapping(19, "sponge"),
  71.             new Mapping(19, 1, "sponge", "wet_sponge"),
  72.             new Mapping(20, "glass"),
  73.             new Mapping(21, "lapis_ore"),
  74.             new Mapping(22, "lapis_block"),
  75.             new Mapping(23, "dispenser"),
  76.             new Mapping(24, "sandstone"),
  77.             new Mapping(24, 1, "sandstone", "chiseled_sandstone"),
  78.             new Mapping(24, 2, "sandstone", "cut_sandstone"),
  79.             new Mapping(25, "note_block"),
  80.             new Mapping(26, "bed_block", new Note("appears to be removed/merged with the normal bed types?")),
  81.             new Mapping(27, "powered_rail"),
  82.             new Mapping(28, "detector_rail"),
  83.             new Mapping(29, "piston_sticky_base", "sticky_piston"),
  84.             new Mapping(30, "web", "cobweb"),
  85.             new Mapping(31, "long_grass", "dead_bush"),
  86.             new Mapping(31, 1, "long_grass", "grass"),
  87.             new Mapping(31, 2, "long_grass", "fern"),
  88.             new Mapping(32, "dead_bush"),
  89.             new Mapping(33, "piston_base", "piston"),
  90.             new Mapping(34, "piston_extension", "piston_head"),
  91.             new Mapping(35, "wool", "white_wool"),
  92.             new Mapping(35, 1, "wool", "orange_wool"),
  93.             new Mapping(35, 2, "wool", "magenta_wool"),
  94.             new Mapping(35, 3, "wool", "light_blue_wool"),
  95.             new Mapping(35, 4, "wool", "yellow_wool"),
  96.             new Mapping(35, 5, "wool", "lime_wool"),
  97.             new Mapping(35, 6, "wool", "pink_wool"),
  98.             new Mapping(35, 7, "wool", "gray_wool"),
  99.             new Mapping(35, 8, "wool", "light_gray_wool"),
  100.             new Mapping(35, 9, "wool", "cyan_wool"),
  101.             new Mapping(35, 10, "wool", "purple_wool"),
  102.             new Mapping(35, 11, "wool", "blue_wool"),
  103.             new Mapping(35, 12, "wool", "brown_wool"),
  104.             new Mapping(35, 13, "wool", "green_wool"),
  105.             new Mapping(35, 14, "wool", "red_wool"),
  106.             new Mapping(35, 15, "wool", "black_wool"),
  107.             new Mapping(36, "piston_moving_piece", "moving_piston"),
  108.             new Mapping(37, "yellow_flower", "dandelion"),
  109.             new Mapping(38, "red_rose", "poppy"),
  110.             new Mapping(38, 1, "red_rose", "blue_orchid"),
  111.             new Mapping(38, 2, "red_rose", "allium"),
  112.             new Mapping(38, 3, "red_rose", "azure_bluet"),
  113.             new Mapping(38, 4, "red_rose", "red_tulip"),
  114.             new Mapping(38, 5, "red_rose", "orange_tulip"),
  115.             new Mapping(38, 6, "red_rose", "white_tulip"),
  116.             new Mapping(38, 7, "red_rose", "pink_tulip"),
  117.             new Mapping(38, 8, "red_rose", "oxeye_daisy"),
  118.             new Mapping(39, "brown_mushroom"),
  119.             new Mapping(40, "red_mushroom"),
  120.             new Mapping(41, "gold_block"),
  121.             new Mapping(42, "iron_block"),
  122.             new Mapping(43, "double_step", new Note("merged with normal slabs, only available via state")),
  123.             new Mapping(43, 6, "double_step", "smooth_quartz"),
  124.             new Mapping(43, 8, "double_step", "smooth_stone"),
  125.             new Mapping(43, 9, "double_step", "smooth_sandstone"),
  126.             new Mapping(44, "step", "stone_slab"),
  127.             new Mapping(44, 1, "step", "sandstone_slab"),
  128.             new Mapping(44, 2, "step", "petrified_oak_slab"),
  129.             new Mapping(44, 3, "step", "cobblestone_slab"),
  130.             new Mapping(44, 4, "step", "brick_slab"),
  131.             new Mapping(44, 5, "step", "stone_brick_slab"),
  132.             new Mapping(44, 6, "step", "nether_brick_slab"),
  133.             new Mapping(44, 7, "step", "quartz_slab"),
  134.             new Mapping(45, "brick", "bricks"),
  135.             new Mapping(46, "tnt"),
  136.             new Mapping(47, "bookshelf"),
  137.             new Mapping(48, "mossy_cobblestone"),
  138.             new Mapping(49, "obsidian"),
  139.             new Mapping(50, "torch"),
  140.             new Mapping(50, 1, "torch", "wall_torch"),
  141.             new Mapping(50, 2, "torch", "wall_torch"),
  142.             new Mapping(50, 3, "torch", "wall_torch"),
  143.             new Mapping(50, 4, "torch", "wall_torch"),
  144.             new Mapping(50, 5, "torch"),
  145.             new Mapping(51, "fire"),
  146.             new Mapping(52, "mob_spawner"),
  147.             new Mapping(53, "wood_stairs", "oak_stairs"),
  148.             new Mapping(54, "chest", "chest"),
  149.             new Mapping(55, "redstone_wire"),
  150.             new Mapping(56, "diamond_ore"),
  151.             new Mapping(57, "diamond_block"),
  152.             new Mapping(58, "workbench", "crafting_table"),
  153.             new Mapping(59, "crops", "wheat"),
  154.             new Mapping(60, "soil", "farmland"),
  155.             new Mapping(61, "furnace"),
  156.             new Mapping(62, "burning_furnace", new Note("merged with furnace, only available via state")),
  157.             new Mapping(63, "sign_post", "sign"),
  158.             new Mapping(64, "wooden_door", "oak_door"),
  159.             new Mapping(65, "ladder"),
  160.             new Mapping(66, "rails", "rail"),
  161.             new Mapping(67, "cobblestone_stairs"),
  162.             new Mapping(68, "wall_sign"),
  163.             new Mapping(69, "lever"),
  164.             new Mapping(70, "stone_plate", "stone_pressure_plate"),
  165.             new Mapping(71, "iron_door_block", "iron_door"),
  166.             new Mapping(72, "wood_plate", "oak_pressure_plate"),
  167.             new Mapping(73, "redstone_ore"),
  168.             new Mapping(74, "glowing_redstone_ore", new Note("merged with redstone ore, only available via state")),
  169.             new Mapping(75, "redstone_torch_off", new Note("merged with redstone torch, only available via state")),
  170.             new Mapping(76, "redstone_torch_on", "redstone_torch"),
  171.             new Mapping(76, 1, "redstone_torch_on", "redstone_wall_torch"),
  172.             new Mapping(76, 2, "redstone_torch_on", "redstone_wall_torch"),
  173.             new Mapping(76, 3, "redstone_torch_on", "redstone_wall_torch"),
  174.             new Mapping(76, 4, "redstone_torch_on", "redstone_wall_torch"),
  175.             new Mapping(76, 5, "redstone_torch_on", "redstone_torch"),
  176.             new Mapping(77, "stone_button"),
  177.             new Mapping(78, "snow"),
  178.             new Mapping(79, "ice"),
  179.             new Mapping(80, "snow_block"),
  180.             new Mapping(81, "cactus"),
  181.             new Mapping(82, "clay"),
  182.             new Mapping(83, "sugar_cane_block", "sugar_cane"),
  183.             new Mapping(84, "jukebox"),
  184.             new Mapping(85, "fence", "oak_fence"),
  185.             new Mapping(86, "pumpkin", "carved_pumpkin"),
  186.             new Mapping(87, "netherrack"),
  187.             new Mapping(88, "soul_sand"),
  188.             new Mapping(89, "glowstone"),
  189.             new Mapping(90, "portal", "nether_portal"),
  190.             new Mapping(91, "jack_o_lantern"),
  191.             new Mapping(92, "cake_block", "cake"),
  192.             new Mapping(93, "diode_block_off", new Note("merged with repeater, only available via state")),
  193.             new Mapping(94, "diode_block_on", "repeater"),
  194.             new Mapping(95, "stained_glass", "white_stained_glass"),
  195.             new Mapping(95, 1, "stained_glass", "orange_stained_glass"),
  196.             new Mapping(95, 2, "stained_glass", "magenta_stained_glass"),
  197.             new Mapping(95, 3, "stained_glass", "light_blue_stained_glass"),
  198.             new Mapping(95, 4, "stained_glass", "yellow_stained_glass"),
  199.             new Mapping(95, 5, "stained_glass", "lime_stained_glass"),
  200.             new Mapping(95, 6, "stained_glass", "pink_stained_glass"),
  201.             new Mapping(95, 7, "stained_glass", "gray_stained_glass"),
  202.             new Mapping(95, 8, "stained_glass", "light_gray_stained_glass"),
  203.             new Mapping(95, 9, "stained_glass", "cyan_stained_glass"),
  204.             new Mapping(95, 10, "stained_glass", "purple_stained_glass"),
  205.             new Mapping(95, 11, "stained_glass", "blue_stained_glass"),
  206.             new Mapping(95, 12, "stained_glass", "brown_stained_glass"),
  207.             new Mapping(95, 13, "stained_glass", "green_stained_glass"),
  208.             new Mapping(95, 14, "stained_glass", "red_stained_glass"),
  209.             new Mapping(95, 15, "stained_glass", "black_stained_glass"),
  210.             new Mapping(96, "trap_door", "oak_trapdoor"),
  211.             new Mapping(97, "monster_eggs", "infested_stone"),
  212.             new Mapping(97, 1, "monster_eggs", "infested_cobblestone"),
  213.             new Mapping(97, 2, "monster_eggs", "infested_stone_bricks"),
  214.             new Mapping(97, 3, "monster_eggs", "infested_mossy_stone_bricks"),
  215.             new Mapping(97, 4, "monster_eggs", "infested_cracked_stone_bricks"),
  216.             new Mapping(97, 5, "monster_eggs", "infested_chiseled_stone_bricks"),
  217.             new Mapping(98, "smooth_brick", "stone_bricks"),
  218.             new Mapping(98, 1, "smooth_brick", "mossy_stone_bricks"),
  219.             new Mapping(98, 2, "smooth_brick", "cracked_stone_bricks"),
  220.             new Mapping(98, 3, "smooth_brick", "chiseled_bricks"),
  221.             new Mapping(99, "huge_mushroom_1", "brown_mushroom_block"),
  222.             new Mapping(99, 1, "huge_mushroom_1", new Note("now a state of the block")),
  223.             new Mapping(99, 2, "huge_mushroom_1", new Note("now a state of the block")),
  224.             new Mapping(99, 3, "huge_mushroom_1", new Note("now a state of the block")),
  225.             new Mapping(99, 4, "huge_mushroom_1", new Note("now a state of the block")),
  226.             new Mapping(99, 5, "huge_mushroom_1", new Note("now a state of the block")),
  227.             new Mapping(99, 6, "huge_mushroom_1", new Note("now a state of the block")),
  228.             new Mapping(99, 7, "huge_mushroom_1", new Note("now a state of the block")),
  229.             new Mapping(99, 8, "huge_mushroom_1", new Note("now a state of the block")),
  230.             new Mapping(99, 9, "huge_mushroom_1", new Note("now a state of the block")),
  231.             new Mapping(99, 10, "huge_mushroom_1", "mushroom_stem"),
  232.             new Mapping(99, 14, "huge_mushroom_1", new Note("now a state of the block")),
  233.             new Mapping(99, 15, "huge_mushroom_1", new Note("now a state of the steam")),
  234.             new Mapping(100, "huge_mushroom_2", "red_mushroom_block"),
  235.             new Mapping(100, 1, "huge_mushroom_2", new Note("now a state of the block")),
  236.             new Mapping(100, 2, "huge_mushroom_2", new Note("now a state of the block")),
  237.             new Mapping(100, 3, "huge_mushroom_2", new Note("now a state of the block")),
  238.             new Mapping(100, 4, "huge_mushroom_2", new Note("now a state of the block")),
  239.             new Mapping(100, 5, "huge_mushroom_2", new Note("now a state of the block")),
  240.             new Mapping(100, 6, "huge_mushroom_2", new Note("now a state of the block")),
  241.             new Mapping(100, 7, "huge_mushroom_2", new Note("now a state of the block")),
  242.             new Mapping(100, 8, "huge_mushroom_2", new Note("now a state of the block")),
  243.             new Mapping(100, 9, "huge_mushroom_2", new Note("now a state of the block")),
  244.             new Mapping(100, 10, "huge_mushroom_2", "mushroom_stem"),
  245.             new Mapping(100, 14, "huge_mushroom_2", new Note("now a state of the block")),
  246.             new Mapping(100, 15, "huge_mushroom_2", new Note("now a state of the steam")),
  247.             new Mapping(101, "iron_fence", "iron_bars"),
  248.             new Mapping(102, "thin_glass", "glass_pane"),
  249.             new Mapping(103, "melon_block"),
  250.             new Mapping(104, "pumpkin_stem"),
  251.             new Mapping(105, "melon_stem"),
  252.             new Mapping(106, "vine"),
  253.             new Mapping(107, "fence_gate", "oak_fence_gate"),
  254.             new Mapping(108, "brick_stairs"),
  255.             new Mapping(109, "smooth_stairs", "stone_brick_stairs"),
  256.             new Mapping(110, "mycel", "mycelium"),
  257.             new Mapping(111, "water_lily", "lily_pad"),
  258.             new Mapping(112, "nether_brick", "nether_bricks"),
  259.             new Mapping(113, "nether_fence", "nether_brick_fence"),
  260.             new Mapping(114, "nether_brick_stairs"),
  261.             new Mapping(115, "nether_warts", "nether_wart"),
  262.             new Mapping(116, "enchantment_table", "enchanting_table"),
  263.             new Mapping(117, "brewing_stand"),
  264.             new Mapping(118, "cauldron"),
  265.             new Mapping(119, "ender_portal", "end_portal"),
  266.             new Mapping(120, "ender_portal_frame", "end_portal_frame"),
  267.             new Mapping(121, "ender_stone", "end_stone"),
  268.             new Mapping(122, "dragon_egg"),
  269.             new Mapping(123, "redstone_lamp_off", new Note("merged with redstone lamp, only available via state")),
  270.             new Mapping(124, "redstone_lamp_on", "redstone_lamp"),
  271.             new Mapping(125, "wood_double_step", new Note("merged with slabs, only available via state")),
  272.             new Mapping(125, 1, "wood_double_step", new Note("merged with slabs, only available via state")),
  273.             new Mapping(125, 2, "wood_double_step", new Note("merged with slabs, only available via state")),
  274.             new Mapping(125, 3, "wood_double_step", new Note("merged with slabs, only available via state")),
  275.             new Mapping(125, 4, "wood_double_step", new Note("merged with slabs, only available via state")),
  276.             new Mapping(125, 5, "wood_double_step", new Note("merged with slabs, only available via state")),
  277.             new Mapping(126, "wood_step", "oak_slab"),
  278.             new Mapping(126, 1, "wood_step", "spruce_slab"),
  279.             new Mapping(126, 2, "wood_step", "birch_slab"),
  280.             new Mapping(126, 3, "wood_step", "jungle_slab"),
  281.             new Mapping(126, 4, "wood_step", "acacia_slab"),
  282.             new Mapping(126, 5, "wood_step", "dark_oak_slab"),
  283.             new Mapping(127, "cocoa"),
  284.             new Mapping(128, "sandstone_stairs"),
  285.             new Mapping(129, "emerald_ore"),
  286.             new Mapping(130, "ender_chest"),
  287.             new Mapping(131, "tripwire_hook"),
  288.             new Mapping(132, "tripwire"),
  289.             new Mapping(133, "emerald_block"),
  290.             new Mapping(134, "spruce_wood_stairs", "spruce_stairs"),
  291.             new Mapping(135, "birch_wood_stairs", "birch_stairs"),
  292.             new Mapping(136, "jungle_wood_stairs", "jungle_stairs"),
  293.             new Mapping(137, "command", "command_block"),
  294.             new Mapping(138, "beacon"),
  295.             new Mapping(139, "cobble_wall", "cobblestone_wall"),
  296.             new Mapping(139, 1, "cobble_wall", "mossy_cobblestone_wall"),
  297.             new Mapping(140, "flower_pot"),
  298.             new Mapping(141, "carrot", "carrots"),
  299.             new Mapping(142, "potato", "potatoes"),
  300.             new Mapping(143, "wood_button", "oak_button"),
  301.             new Mapping(144, "skull", "skeleton_skull"),
  302.             new Mapping(144, 1, "skull", "skeleton_wall_skull"),
  303.             new Mapping(144, 2, "skull", "skeleton_wall_skull"),
  304.             new Mapping(144, 3, "skull", "skeleton_wall_skull"),
  305.             new Mapping(144, 4, "skull", "skeleton_wall_skull"),
  306.             new Mapping(144, 5, "skull", "skeleton_wall_skull"),
  307.             new Mapping(145, "anvil"),
  308.             new Mapping(145, 1, "anvil", "chipped_anvil"),
  309.             new Mapping(145, 2, "anvil", "damaged_anvil"),
  310.             new Mapping(146, "trapped_chest"),
  311.             new Mapping(147, "gold_plate", "light_weighted_pressure_plate"),
  312.             new Mapping(148, "iron_plate", "heavy_weighted_pressure_plate"),
  313.             new Mapping(149, "redstone_comparator_off", new Note("merged with comparator, only available via state")),
  314.             new Mapping(150, "redstone_comparator_on", "comparator"),
  315.             new Mapping(151, "daylight_detector"),
  316.             new Mapping(152, "redstone_block"),
  317.             new Mapping(153, "quartz_ore", "nether_quartz_ore"),
  318.             new Mapping(154, "hopper"),
  319.             new Mapping(155, "quartz_block"),
  320.             new Mapping(156, "quartz_stairs"),
  321.             new Mapping(157, "activator_rail"),
  322.             new Mapping(158, "dropper"),
  323.             new Mapping(159, "stained_clay", "white_terracotta"),
  324.             new Mapping(159, 1, "stained_clay", "orange_terracotta"),
  325.             new Mapping(159, 2, "stained_clay", "magenta_terracotta"),
  326.             new Mapping(159, 3, "stained_clay", "light_blue_terracotta"),
  327.             new Mapping(159, 4, "stained_clay", "yellow_terracotta"),
  328.             new Mapping(159, 5, "stained_clay", "lime_terracotta"),
  329.             new Mapping(159, 6, "stained_clay", "pink_terracotta"),
  330.             new Mapping(159, 7, "stained_clay", "gray_terracotta"),
  331.             new Mapping(159, 8, "stained_clay", "light_gray_terracotta"),
  332.             new Mapping(159, 9, "stained_clay", "cyan_terracotta"),
  333.             new Mapping(159, 10, "stained_clay", "purple_terracotta"),
  334.             new Mapping(159, 11, "stained_clay", "blue_terracotta"),
  335.             new Mapping(159, 12, "stained_clay", "brown_terracotta"),
  336.             new Mapping(159, 13, "stained_clay", "green_terracotta"),
  337.             new Mapping(159, 14, "stained_clay", "red_terracotta"),
  338.             new Mapping(159, 15, "stained_clay", "black_terracotta"),
  339.             new Mapping(160, "stained_glass_pane", "white_stained_glass_pane"),
  340.             new Mapping(160, 1, "stained_glass_pane", "orange_stained_glass_pane"),
  341.             new Mapping(160, 2, "stained_glass_pane", "magenta_stained_glass_pane"),
  342.             new Mapping(160, 3, "stained_glass_pane", "light_blue_stained_glass_pane"),
  343.             new Mapping(160, 4, "stained_glass_pane", "yellow_stained_glass_pane"),
  344.             new Mapping(160, 5, "stained_glass_pane", "lime_stained_glass_pane"),
  345.             new Mapping(160, 6, "stained_glass_pane", "pink_stained_glass_pane"),
  346.             new Mapping(160, 7, "stained_glass_pane", "gray_stained_glass_pane"),
  347.             new Mapping(160, 8, "stained_glass_pane", "light_gray_stained_glass_pane"),
  348.             new Mapping(160, 9, "stained_glass_pane", "cyan_stained_glass_pane"),
  349.             new Mapping(160, 10, "stained_glass_pane", "purple_stained_glass_pane"),
  350.             new Mapping(160, 11, "stained_glass_pane", "blue_stained_glass_pane"),
  351.             new Mapping(160, 12, "stained_glass_pane", "brown_stained_glass_pane"),
  352.             new Mapping(160, 13, "stained_glass_pane", "green_stained_glass_pane"),
  353.             new Mapping(160, 14, "stained_glass_pane", "red_stained_glass_pane"),
  354.             new Mapping(160, 15, "stained_glass_pane", "black_stained_glass_pane"),
  355.             new Mapping(161, "leaves_2", "acacia_leaves"),
  356.             new Mapping(161, 1, "leaves_2", "dark_oak_leaves"),
  357.             new Mapping(162, "log_2", "acacia_log"),
  358.             new Mapping(162, 1, "log_2", "spruce_log"),
  359.             new Mapping(162, 2, "log_2", "birch_log"),
  360.             new Mapping(162, 3, "log_2", "jungle_log"),
  361.             new Mapping(163, "acacia_stairs", "acacia_stairs"),
  362.             new Mapping(164, "dark_oak_stairs", "dark_oak_stairs"),
  363.             new Mapping(165, "slime_block", "slime_block"),
  364.             new Mapping(166, "barrier", "barrier"),
  365.             new Mapping(167, "iron_trapdoor", "iron_trapdoor"),
  366.             new Mapping(168, "prismarine"),
  367.             new Mapping(168, 1, "prismarine", "prismarine_bricks"),
  368.             new Mapping(168, 2, "prismarine", "dark_prismarine"),
  369.             new Mapping(169, "sea_lantern"),
  370.             new Mapping(170, "hay_block"),
  371.             new Mapping(171, "carpet", "white_carpet"),
  372.             new Mapping(171, 1, "carpet", "orange_carpet"),
  373.             new Mapping(171, 2, "carpet", "magenta_carpet"),
  374.             new Mapping(171, 3, "carpet", "light_blue_carpet"),
  375.             new Mapping(171, 4, "carpet", "yellow_carpet"),
  376.             new Mapping(171, 5, "carpet", "lime_carpet"),
  377.             new Mapping(171, 6, "carpet", "pink_carpet"),
  378.             new Mapping(171, 7, "carpet", "gray_carpet"),
  379.             new Mapping(171, 8, "carpet", "light_gray_carpet"),
  380.             new Mapping(171, 9, "carpet", "cyan_carpet"),
  381.             new Mapping(171, 10, "carpet", "purple_carpet"),
  382.             new Mapping(171, 11, "carpet", "blue_carpet"),
  383.             new Mapping(171, 12, "carpet", "brown_carpet"),
  384.             new Mapping(171, 13, "carpet", "green_carpet"),
  385.             new Mapping(171, 14, "carpet", "red_carpet"),
  386.             new Mapping(171, 15, "carpet", "black_carpet"),
  387.             new Mapping(172, "hard_clay", "terracotta"),
  388.             new Mapping(173, "coal_block"),
  389.             new Mapping(174, "packed_ice"),
  390.             new Mapping(175, "double_plant", "sunflower"),
  391.             new Mapping(175, 1, "double_plant", "lilac"),
  392.             new Mapping(175, 2, "double_plant", "tall_grass"),
  393.             new Mapping(175, 3, "double_plant", "large_fern"),
  394.             new Mapping(175, 4, "double_plant", "rose_bush"),
  395.             new Mapping(175, 5, "double_plant", "peony"),
  396.             new Mapping(176, "standing_banner", new Note("now under their color names")),
  397.             new Mapping(177, "wall_banner", new Note("now under their color names")),
  398.             new Mapping(178, "daylight_detector_inverted", new Note("merged with daylight detector, only available via state")),
  399.             new Mapping(179, "red_sandstone", "red_sandstone"),
  400.             new Mapping(179, 1, "red_sandstone", "chiseled_red_sandstone"),
  401.             new Mapping(179, 2, "red_sandstone", "cut_red_sandstone"),
  402.             new Mapping(180, "red_sandstone_stairs"),
  403.             new Mapping(181, "double_stone_slab2", new Note("now merged with normal red sandstone slab, only available via state")),
  404.             new Mapping(181, 8, "double_stone_slab2", "smooth_red_sandstone"),
  405.             new Mapping(182, "stone_slab2", "red_sandstone_slab"),
  406.             new Mapping(183, "spruce_fence_gate"),
  407.             new Mapping(184, "birch_fence_gate"),
  408.             new Mapping(185, "jungle_fence_gate"),
  409.             new Mapping(186, "dark_oak_fence_gate"),
  410.             new Mapping(187, "acacia_fence_gate"),
  411.             new Mapping(188, "spruce_fence"),
  412.             new Mapping(189, "birch_fence"),
  413.             new Mapping(190, "jungle_fence"),
  414.             new Mapping(191, "dark_oak_fence"),
  415.             new Mapping(192, "acacia_fence"),
  416.             new Mapping(193, "spruce_door"),
  417.             new Mapping(194, "birch_door"),
  418.             new Mapping(195, "jungle_door"),
  419.             new Mapping(196, "acacia_door"),
  420.             new Mapping(197, "dark_oak_door"),
  421.             new Mapping(198, "end_rod"),
  422.             new Mapping(199, "chorus_plant"),
  423.             new Mapping(200, "chorus_flower"),
  424.             new Mapping(201, "purpur_block"),
  425.             new Mapping(202, "purpur_pillar"),
  426.             new Mapping(203, "purpur_stairs"),
  427.             new Mapping(204, "purpur_double_slab", new Note("now merged with normal purpur slab, only available via state")),
  428.             new Mapping(205, "purpur_slab"),
  429.             new Mapping(206, "end_bricks", "end_stone_bricks"),
  430.             new Mapping(207, "beetroot_block", "beetroots"),
  431.             new Mapping(208, "grass_path"),
  432.             new Mapping(209, "end_gateway"),
  433.             new Mapping(210, "command_repeating", "repeating_command_block"),
  434.             new Mapping(211, "command_chain", "chain_command_block"),
  435.             new Mapping(212, "frosted_ice"),
  436.             new Mapping(213, "magma", "magma_block"),
  437.             new Mapping(214, "nether_wart_block"),
  438.             new Mapping(215, "red_nether_brick", "red_nether_bricks"),
  439.             new Mapping(216, "bone_block"),
  440.             new Mapping(217, "structure_void"),
  441.             new Mapping(218, "observer"),
  442.             new Mapping(219, "white_shulker_box"),
  443.             new Mapping(220, "orange_shulker_box"),
  444.             new Mapping(221, "magenta_shulker_box"),
  445.             new Mapping(222, "light_blue_shulker_box"),
  446.             new Mapping(223, "yellow_shulker_box"),
  447.             new Mapping(224, "lime_shulker_box"),
  448.             new Mapping(225, "pink_shulker_box"),
  449.             new Mapping(226, "gray_shulker_box"),
  450.             new Mapping(227, "silver_shulker_box", "light_gray_shulker_box"),
  451.             new Mapping(228, "cyan_shulker_box"),
  452.             new Mapping(229, "purple_shulker_box", "shulker_box"),
  453.             new Mapping(230, "blue_shulker_box"),
  454.             new Mapping(231, "brown_shulker_box"),
  455.             new Mapping(232, "green_shulker_box"),
  456.             new Mapping(233, "red_shulker_box"),
  457.             new Mapping(234, "black_shulker_box"),
  458.             new Mapping(235, "white_glazed_terracotta"),
  459.             new Mapping(236, "orange_glazed_terracotta"),
  460.             new Mapping(237, "magenta_glazed_terracotta"),
  461.             new Mapping(238, "light_blue_glazed_terracotta"),
  462.             new Mapping(239, "yellow_glazed_terracotta"),
  463.             new Mapping(240, "lime_glazed_terracotta"),
  464.             new Mapping(241, "pink_glazed_terracotta"),
  465.             new Mapping(242, "gray_glazed_terracotta"),
  466.             new Mapping(243, "silver_glazed_terracotta", "light_gray_glazed_terracotta"),
  467.             new Mapping(244, "cyan_glazed_terracotta"),
  468.             new Mapping(245, "purple_glazed_terracotta"),
  469.             new Mapping(246, "blue_glazed_terracotta"),
  470.             new Mapping(247, "brown_glazed_terracotta"),
  471.             new Mapping(248, "green_glazed_terracotta"),
  472.             new Mapping(249, "red_glazed_terracotta"),
  473.             new Mapping(250, "black_glazed_terracotta"),
  474.             new Mapping(251, "concrete", "white_concrete"),
  475.             new Mapping(251, 1, "concrete", "orange_concrete"),
  476.             new Mapping(251, 2, "concrete", "magenta_concrete"),
  477.             new Mapping(251, 3, "concrete", "light_blue_concrete"),
  478.             new Mapping(251, 4, "concrete", "yellow_concrete"),
  479.             new Mapping(251, 5, "concrete", "lime_concrete"),
  480.             new Mapping(251, 6, "concrete", "pink_concrete"),
  481.             new Mapping(251, 7, "concrete", "gray_concrete"),
  482.             new Mapping(251, 8, "concrete", "light_gray_concrete"),
  483.             new Mapping(251, 9, "concrete", "cyan_concrete"),
  484.             new Mapping(251, 10, "concrete", "purple_concrete"),
  485.             new Mapping(251, 11, "concrete", "blue_concrete"),
  486.             new Mapping(251, 12, "concrete", "brown_concrete"),
  487.             new Mapping(251, 13, "concrete", "green_concrete"),
  488.             new Mapping(251, 14, "concrete", "red_concrete"),
  489.             new Mapping(251, 15, "concrete", "black_concrete"),
  490.             new Mapping(252, "concrete_powder", "white_concrete_powder"),
  491.             new Mapping(252, 1, "concrete_powder", "orange_concrete_powder"),
  492.             new Mapping(252, 2, "concrete_powder", "magenta_concrete_powder"),
  493.             new Mapping(252, 3, "concrete_powder", "light_blue_concrete_powder"),
  494.             new Mapping(252, 4, "concrete_powder", "yellow_concrete_powder"),
  495.             new Mapping(252, 5, "concrete_powder", "lime_concrete_powder"),
  496.             new Mapping(252, 6, "concrete_powder", "pink_concrete_powder"),
  497.             new Mapping(252, 7, "concrete_powder", "gray_concrete_powder"),
  498.             new Mapping(252, 8, "concrete_powder", "light_gray_concrete_powder"),
  499.             new Mapping(252, 9, "concrete_powder", "cyan_concrete_powder"),
  500.             new Mapping(252, 10, "concrete_powder", "purple_concrete_powder"),
  501.             new Mapping(252, 11, "concrete_powder", "blue_concrete_powder"),
  502.             new Mapping(252, 12, "concrete_powder", "brown_concrete_powder"),
  503.             new Mapping(252, 13, "concrete_powder", "green_concrete_powder"),
  504.             new Mapping(252, 14, "concrete_powder", "red_concrete_powder"),
  505.             new Mapping(252, 15, "concrete_powder", "black_concrete_powder"),
  506.             new Mapping(255, "structure_block"),
  507.             new Mapping(256, "iron_spade", "iron_shovel"),
  508.             new Mapping(257, "iron_pickaxe"),
  509.             new Mapping(258, "iron_axe"),
  510.             new Mapping(259, "flint_and_steel"),
  511.             new Mapping(260, "apple"),
  512.             new Mapping(261, "bow"),
  513.             new Mapping(262, "arrow"),
  514.             new Mapping(263, "coal"),
  515.             new Mapping(263, 1, "coal", "charcoal"),
  516.             new Mapping(264, "diamond"),
  517.             new Mapping(265, "iron_ingot"),
  518.             new Mapping(266, "gold_ingot"),
  519.             new Mapping(267, "iron_sword"),
  520.             new Mapping(268, "wood_sword", "wooden_sword"),
  521.             new Mapping(269, "wood_spade", "wooden_shovel"),
  522.             new Mapping(270, "wood_pickaxe", "wooden_pickaxe"),
  523.             new Mapping(271, "wood_axe", "wooden_axe"),
  524.             new Mapping(272, "stone_sword"),
  525.             new Mapping(273, "stone_spade", "stone_shovel"),
  526.             new Mapping(274, "stone_pickaxe"),
  527.             new Mapping(275, "stone_axe"),
  528.             new Mapping(276, "diamond_sword"),
  529.             new Mapping(277, "diamond_spade", "diamond_shovel"),
  530.             new Mapping(278, "diamond_pickaxe"),
  531.             new Mapping(279, "diamond_axe"),
  532.             new Mapping(280, "stick"),
  533.             new Mapping(281, "bowl"),
  534.             new Mapping(282, "mushroom_soup", "mushroom_stew"),
  535.             new Mapping(283, "gold_sword", "golden_sword"),
  536.             new Mapping(284, "gold_spade", "golden_shovel"),
  537.             new Mapping(285, "gold_pickaxe", "golden_pickaxe"),
  538.             new Mapping(286, "gold_axe", "golden_axe"),
  539.             new Mapping(287, "string"),
  540.             new Mapping(288, "feather"),
  541.             new Mapping(289, "sulphur", "gunpowder"),
  542.             new Mapping(290, "wood_hoe", "wooden_hoe"),
  543.             new Mapping(291, "stone_hoe"),
  544.             new Mapping(292, "iron_hoe"),
  545.             new Mapping(293, "diamond_hoe"),
  546.             new Mapping(294, "gold_hoe", "golden_hoe"),
  547.             new Mapping(295, "seeds", "wheat_seeds"),
  548.             new Mapping(296, "wheat"),
  549.             new Mapping(297, "bread"),
  550.             new Mapping(298, "leather_helmet"),
  551.             new Mapping(299, "leather_chestplate"),
  552.             new Mapping(300, "leather_leggings"),
  553.             new Mapping(301, "leather_boots"),
  554.             new Mapping(302, "chainmail_helmet"),
  555.             new Mapping(303, "chainmail_chestplate"),
  556.             new Mapping(304, "chainmail_leggings"),
  557.             new Mapping(305, "chainmail_boots"),
  558.             new Mapping(306, "iron_helmet"),
  559.             new Mapping(307, "iron_chestplate"),
  560.             new Mapping(308, "iron_leggings"),
  561.             new Mapping(309, "iron_boots"),
  562.             new Mapping(310, "diamond_helmet"),
  563.             new Mapping(311, "diamond_chestplate"),
  564.             new Mapping(312, "diamond_leggings"),
  565.             new Mapping(313, "diamond_boots"),
  566.             new Mapping(314, "gold_helmet", "golden_helmet"),
  567.             new Mapping(315, "gold_chestplate", "golden_chestplate"),
  568.             new Mapping(316, "gold_leggings", "golden_leggings"),
  569.             new Mapping(317, "gold_boots", "golden_boots"),
  570.             new Mapping(318, "flint"),
  571.             new Mapping(319, "pork", "porkchop"),
  572.             new Mapping(320, "grilled_pork", "cooked_porkchop"),
  573.             new Mapping(321, "painting"),
  574.             new Mapping(322, "golden_apple", "golden_apple"),
  575.             new Mapping(322, 1, "golden_apple", "enchanted_golden_apple"),
  576.             new Mapping(323, "sign"),
  577.             new Mapping(324, "wood_door", "oak_door"),
  578.             new Mapping(325, "bucket"),
  579.             new Mapping(326, "water_bucket"),
  580.             new Mapping(327, "lava_bucket"),
  581.             new Mapping(328, "minecart"),
  582.             new Mapping(329, "saddle"),
  583.             new Mapping(330, "iron_door"),
  584.             new Mapping(331, "redstone"),
  585.             new Mapping(332, "snow_ball", "snowball"),
  586.             new Mapping(333, "boat", "oak_boat"),
  587.             new Mapping(334, "leather"),
  588.             new Mapping(335, "milk_bucket"),
  589.             new Mapping(336, "clay_brick", "brick"),
  590.             new Mapping(337, "clay_ball"),
  591.             new Mapping(338, "sugar_cane"),
  592.             new Mapping(339, "paper"),
  593.             new Mapping(340, "book"),
  594.             new Mapping(341, "slime_ball"),
  595.             new Mapping(342, "storage_minecart", "chest_minecart"),
  596.             new Mapping(343, "powered_minecart", "furnace_minecart"),
  597.             new Mapping(344, "egg"),
  598.             new Mapping(345, "compass"),
  599.             new Mapping(346, "fishing_rod"),
  600.             new Mapping(347, "watch", "clock"),
  601.             new Mapping(348, "glowstone_dust"),
  602.             new Mapping(349, "raw_fish", "cod"),
  603.             new Mapping(349, 1, "raw_fish", "salmon"),
  604.             new Mapping(349, 2, "raw_fish", "tropical_fish"),
  605.             new Mapping(349, 3, "raw_fish", "pufferfish"),
  606.             new Mapping(350, "cooked_fish", "cooked_cod"),
  607.             new Mapping(350, 1, "cooked_fish", "cooked_salmon"),
  608.             new Mapping(351, "ink_sack", "ink_sac"),
  609.             new Mapping(351, 1, "ink_sack", "rose_red"),
  610.             new Mapping(351, 2, "ink_sack", "cactus_green"),
  611.             new Mapping(351, 3, "ink_sack", "cocoa_beans"),
  612.             new Mapping(351, 4, "ink_sack", "lapis_lazuli"),
  613.             new Mapping(351, 5, "ink_sack", "purple_dye"),
  614.             new Mapping(351, 6, "ink_sack", "cyan_dye"),
  615.             new Mapping(351, 7, "ink_sack", "light_gray_dye"),
  616.             new Mapping(351, 8, "ink_sack", "gray_dye"),
  617.             new Mapping(351, 9, "ink_sack", "pink_dye"),
  618.             new Mapping(351, 10, "ink_sack", "lime_dye"),
  619.             new Mapping(351, 11, "ink_sack", "dandelion_yellow"),
  620.             new Mapping(351, 12, "ink_sack", "light_blue_dye"),
  621.             new Mapping(351, 13, "ink_sack", "magenta_dye"),
  622.             new Mapping(351, 14, "ink_sack", "orange_dye"),
  623.             new Mapping(351, 15, "ink_sack", "bone_meal"),
  624.             new Mapping(352, "bone"),
  625.             new Mapping(353, "sugar", "sugar"),
  626.             new Mapping(354, "cake", "cake"),
  627.             new Mapping(355, "bed", "white_bed"),
  628.             new Mapping(355, 1, "bed", "orange_bed"),
  629.             new Mapping(355, 2, "bed", "magenta_bed"),
  630.             new Mapping(355, 3, "bed", "light_blue_bed"),
  631.             new Mapping(355, 4, "bed", "yellow_bed"),
  632.             new Mapping(355, 5, "bed", "lime_bed"),
  633.             new Mapping(355, 6, "bed", "pink_bed"),
  634.             new Mapping(355, 7, "bed", "gray_bed"),
  635.             new Mapping(355, 8, "bed", "light_gray_bed"),
  636.             new Mapping(355, 9, "bed", "cyan_bed"),
  637.             new Mapping(355, 10, "bed", "purple_bed"),
  638.             new Mapping(355, 11, "bed", "blue_bed"),
  639.             new Mapping(355, 12, "bed", "brown_bed"),
  640.             new Mapping(355, 13, "bed", "green_bed"),
  641.             new Mapping(355, 14, "bed", "red_bed"),
  642.             new Mapping(355, 15, "bed", "black_bed"),
  643.             new Mapping(356, "diode", "repeater"),
  644.             new Mapping(357, "cookie", "cookie"),
  645.             new Mapping(358, "map"),
  646.             new Mapping(359, "shears"),
  647.             new Mapping(360, "melon", "melon"),
  648.             new Mapping(361, "pumpkin_seeds", "pumpkin_seeds"),
  649.             new Mapping(362, "melon_seeds", "melon_seeds"),
  650.             new Mapping(363, "raw_beef", "beef"),
  651.             new Mapping(364, "cooked_beef"),
  652.             new Mapping(365, "raw_chicken", "chicken"),
  653.             new Mapping(366, "cooked_chicken"),
  654.             new Mapping(367, "rotten_flesh"),
  655.             new Mapping(368, "ender_pearl"),
  656.             new Mapping(369, "blaze_rod"),
  657.             new Mapping(370, "ghast_tear"),
  658.             new Mapping(371, "gold_nugget"),
  659.             new Mapping(372, "nether_stalk", "nether_wart"),
  660.             new Mapping(373, "potion", "potion"),
  661.             new Mapping(374, "glass_bottle"),
  662.             new Mapping(375, "spider_eye"),
  663.             new Mapping(376, "fermented_spider_eye"),
  664.             new Mapping(377, "blaze_powder"),
  665.             new Mapping(378, "magma_cream"),
  666.             new Mapping(379, "brewing_stand_item", "brewing_stand"),
  667.             new Mapping(380, "cauldron_item", "cauldron"),
  668.             new Mapping(381, "eye_of_ender", "ender_eye"),
  669.             new Mapping(382, "speckled_melon"),
  670.             new Mapping(383, "monster_egg", new Note("each spawn egg now has it's own id corresponding to the entity id. other data is set via nbt tags/meta")),
  671.             new Mapping(383, 4, "monster_egg", "elder_guardian_spawn_egg"),
  672.             new Mapping(383, 5, "monster_egg", "wither_skeleton_spawn_egg"),
  673.             new Mapping(383, 6, "monster_egg", "stray_spawn_egg"),
  674.             new Mapping(383, 23, "monster_egg", "husk_spawn_egg"),
  675.             new Mapping(383, 27, "monster_egg", "zombie_villager_spawn_egg"),
  676.             new Mapping(383, 28, "monster_egg", "skeleton_horse_spawn_egg"),
  677.             new Mapping(383, 29, "monster_egg", "zombie_horse_spawn_egg"),
  678.             new Mapping(383, 31, "monster_egg", "donkey_spawn_egg"),
  679.             new Mapping(383, 32, "monster_egg", "mule_spawn_egg"),
  680.             new Mapping(383, 34, "monster_egg", "evocation_illager_spawn_egg"),
  681.             new Mapping(383, 35, "monster_egg", "vex_spawn_egg"),
  682.             new Mapping(383, 36, "monster_egg", "vindication_illager_spawn_egg"),
  683.             new Mapping(383, 50, "monster_egg", "creeper_spawn_egg"),
  684.             new Mapping(383, 51, "monster_egg", "skeleton_spawn_egg"),
  685.             new Mapping(383, 52, "monster_egg", "spider_spawn_egg"),
  686.             new Mapping(383, 54, "monster_egg", "zombie_spawn_egg"),
  687.             new Mapping(383, 55, "monster_egg", "slime_spawn_egg"),
  688.             new Mapping(383, 56, "monster_egg", "ghast_spawn_egg"),
  689.             new Mapping(383, 57, "monster_egg", "zombie_pigman_spawn_egg"),
  690.             new Mapping(383, 58, "monster_egg", "enderman_spawn_egg"),
  691.             new Mapping(383, 59, "monster_egg", "cave_spider_spawn_egg"),
  692.             new Mapping(383, 60, "monster_egg", "silverfish_spawn_egg"),
  693.             new Mapping(383, 61, "monster_egg", "blaze_spawn_egg"),
  694.             new Mapping(383, 62, "monster_egg", "magma_cube_spawn_egg"),
  695.             new Mapping(383, 65, "monster_egg", "bat_spawn_egg"),
  696.             new Mapping(383, 66, "monster_egg", "witch_spawn_egg"),
  697.             new Mapping(383, 67, "monster_egg", "endermite_spawn_egg"),
  698.             new Mapping(383, 68, "monster_egg", "guardian_spawn_egg"),
  699.             new Mapping(383, 69, "monster_egg", "shulker_spawn_egg"),
  700.             new Mapping(383, 90, "monster_egg", "pig_spawn_egg"),
  701.             new Mapping(383, 91, "monster_egg", "sheep_spawn_egg"),
  702.             new Mapping(383, 92, "monster_egg", "cow_spawn_egg"),
  703.             new Mapping(383, 93, "monster_egg", "chicken_spawn_egg"),
  704.             new Mapping(383, 94, "monster_egg", "squid_spawn_egg"),
  705.             new Mapping(383, 95, "monster_egg", "wolf_spawn_egg"),
  706.             new Mapping(383, 96, "monster_egg", "mooshroom_spawn_egg"),
  707.             new Mapping(383, 98, "monster_egg", "ocelot_spawn_egg"),
  708.             new Mapping(383, 100, "monster_egg", "horse_spawn_egg"),
  709.             new Mapping(383, 101, "monster_egg", "rabbit_spawn_egg"),
  710.             new Mapping(383, 102, "monster_egg", "polar_bear_spawn_egg"),
  711.             new Mapping(383, 103, "monster_egg", "llama_spawn_egg"),
  712.             new Mapping(383, 120, "monster_egg", "villager_spawn_egg"),
  713.             new Mapping(384, "exp_bottle", "experience_bottle"),
  714.             new Mapping(385, "fireball", "fire_charge"),
  715.             new Mapping(386, "book_and_quill", "writable_book"),
  716.             new Mapping(387, "written_book"),
  717.             new Mapping(388, "emerald"),
  718.             new Mapping(389, "item_frame"),
  719.             new Mapping(390, "flower_pot_item", "flower_pot"),
  720.             new Mapping(391, "carrot_item", "carrot"),
  721.             new Mapping(392, "potato_item", "potato"),
  722.             new Mapping(393, "baked_potato"),
  723.             new Mapping(394, "poisonous_potato"),
  724.             new Mapping(395, "empty_map", "map"),
  725.             new Mapping(396, "golden_carrot"),
  726.             new Mapping(397, "skull_item", "skeleton_skull"),
  727.             new Mapping(397, 1, "skull_item", "wither_skeleton_skull"),
  728.             new Mapping(397, 2, "skull_item", "zombie_head"),
  729.             new Mapping(397, 3, "skull_item", "player_head"),
  730.             new Mapping(397, 4, "skull_item", "creeper_head"),
  731.             new Mapping(397, 5, "skull_item", "dragon_head"),
  732.             new Mapping(398, "carrot_stick"),
  733.             new Mapping(399, "nether_star"),
  734.             new Mapping(400, "pumpkin_pie"),
  735.             new Mapping(401, "firework", "firework_rocket"),
  736.             new Mapping(402, "firework_charge", "firework_star"),
  737.             new Mapping(403, "enchanted_book"),
  738.             new Mapping(404, "redstone_comparator", "comparator"),
  739.             new Mapping(405, "nether_brick_item", "nether_brick"),
  740.             new Mapping(406, "quartz"),
  741.             new Mapping(407, "explosive_minecart", "tnt_minecart"),
  742.             new Mapping(408, "hopper_minecart"),
  743.             new Mapping(409, "prismarine_shard"),
  744.             new Mapping(410, "prismarine_crystals"),
  745.             new Mapping(411, "rabbit"),
  746.             new Mapping(412, "cooked_rabbit"),
  747.             new Mapping(413, "rabbit_stew"),
  748.             new Mapping(414, "rabbit_foot"),
  749.             new Mapping(415, "rabbit_hide"),
  750.             new Mapping(416, "armor_stand"),
  751.             new Mapping(417, "iron_barding", "iron_horse_armor"),
  752.             new Mapping(418, "gold_barding", "gold_horse_armor"),
  753.             new Mapping(419, "diamond_barding", "diamond_horse_armor"),
  754.             new Mapping(420, "leash", "lead"),
  755.             new Mapping(421, "name_tag"),
  756.             new Mapping(422, "command_minecart", "command_block_minecart"),
  757.             new Mapping(423, "mutton"),
  758.             new Mapping(424, "cooked_mutton"),
  759.             new Mapping(425, "banner", "white_banner"),
  760.             new Mapping(425, 1, "banner", "orange_banner"),
  761.             new Mapping(425, 2, "banner", "magenta_banner"),
  762.             new Mapping(425, 3, "banner", "light_blue_banner"),
  763.             new Mapping(425, 4, "banner", "yellow_banner"),
  764.             new Mapping(425, 5, "banner", "lime_banner"),
  765.             new Mapping(425, 6, "banner", "pink_banner"),
  766.             new Mapping(425, 7, "banner", "gray_banner"),
  767.             new Mapping(425, 8, "banner", "light_gray_banner"),
  768.             new Mapping(425, 9, "banner", "cyan_banner"),
  769.             new Mapping(425, 10, "banner", "purple_banner"),
  770.             new Mapping(425, 11, "banner", "blue_banner"),
  771.             new Mapping(425, 12, "banner", "brown_banner"),
  772.             new Mapping(425, 13, "banner", "green_banner"),
  773.             new Mapping(425, 14, "banner", "red_banner"),
  774.             new Mapping(425, 15, "banner", "black_banner"),
  775.             new Mapping(426, "end_crystal"),
  776.             new Mapping(427, "spruce_door_item", "spruce_door"),
  777.             new Mapping(428, "birch_door_item", "birch_door"),
  778.             new Mapping(429, "jungle_door_item", "jungle_door"),
  779.             new Mapping(430, "acacia_door_item", "acacia_door"),
  780.             new Mapping(431, "dark_oak_door_item", "dark_oak_door"),
  781.             new Mapping(432, "chorus_fruit"),
  782.             new Mapping(433, "chorus_fruit_popped"),
  783.             new Mapping(434, "beetroot"),
  784.             new Mapping(435, "beetroot_seeds"),
  785.             new Mapping(436, "beetroot_soup"),
  786.             new Mapping(437, "dragons_breath", "dragon_breath"),
  787.             new Mapping(438, "splash_potion"),
  788.             new Mapping(439, "spectral_arrow"),
  789.             new Mapping(440, "tipped_arrow"),
  790.             new Mapping(441, "lingering_potion"),
  791.             new Mapping(442, "shield"),
  792.             new Mapping(443, "elytra"),
  793.             new Mapping(444, "boat_spruce", "spruce_boat"),
  794.             new Mapping(445, "boat_birch", "birch_boat"),
  795.             new Mapping(446, "boat_jungle", "jungle_boat"),
  796.             new Mapping(447, "boat_acacia", "acacia_boat"),
  797.             new Mapping(448, "boat_dark_oak", "dark_oak_boat"),
  798.             new Mapping(449, "totem", "totem_of_undying"),
  799.             new Mapping(450, "shulker_shell"),
  800.             new Mapping(452, "iron_nugget"),
  801.             new Mapping(453, "knowledge_book"),
  802.             new Mapping(2256, "gold_record", "music_disc_13"),
  803.             new Mapping(2257, "green_record", "music_disc_cat"),
  804.             new Mapping(2258, "record_3", "music_disc_blocks"),
  805.             new Mapping(2259, "record_4", "music_disc_chirp"),
  806.             new Mapping(2260, "record_5", "music_disc_far"),
  807.             new Mapping(2261, "record_6", "music_disc_mall"),
  808.             new Mapping(2262, "record_7", "music_disc_mellohi"),
  809.             new Mapping(2263, "record_8", "music_disc_stal"),
  810.             new Mapping(2264, "record_9", "music_disc_strad"),
  811.             new Mapping(2265, "record_10", "music_disc_ward"),
  812.             new Mapping(2266, "record_11", "music_disc_11"),
  813.             new Mapping(2267, "record_12", "music_disc_wait")
  814.     };
  815.    
  816.     private final static Map<String, Mapping> BY_NUMERIC_ID = new HashMap<>();
  817.     private final static Map<String, Mapping> BY_LEGACY_NAME = new HashMap<>();
  818.     private final static Map<String, Mapping> BY_FLATTENING_NAME = new HashMap<>();
  819.     private static final String INTERNAL_DELIMITER = ":";
  820.    
  821.     static {
  822.         for (Mapping mapping : MAPPINGS) {
  823.             if (mapping.getNumericId() >= 0) {
  824.                 BY_NUMERIC_ID.put(mapping.getNumericId() + INTERNAL_DELIMITER + mapping.getData(), mapping);
  825.                 if (mapping.getData() == 0) {
  826.                     BY_NUMERIC_ID.put(String.valueOf(mapping.getNumericId()), mapping);
  827.                 }
  828.             }
  829.             if (mapping.getLegacyType() != null) {
  830.                 BY_LEGACY_NAME.put(mapping.getLegacyType() + INTERNAL_DELIMITER + mapping.getData(), mapping);
  831.                 if (mapping.getData() == 0) {
  832.                     BY_LEGACY_NAME.put(mapping.getLegacyType(), mapping);
  833.                 }
  834.             }
  835.             if (mapping.getFlatteningType() != null) {
  836.                 BY_FLATTENING_NAME.put(mapping.getFlatteningType(), mapping);
  837.             }
  838.         }
  839.     }
  840.    
  841.     public static Mapping get(IdType type, String id, String delimiter) {
  842.         if (delimiter != null) {
  843.             Mapping mapping = get(type, id.replace(delimiter, INTERNAL_DELIMITER));
  844.             if (mapping != null) {
  845.                 return mapping;
  846.             }
  847.         }
  848.         return get(type, id);
  849.     }
  850.    
  851.     public static Mapping get(IdType type, String id) {
  852.         switch (type) {
  853.             case NUMERIC:
  854.                 return getById(id);
  855.             case LEGACY:
  856.                 return getByLegacyType(id);
  857.             case FLATTENING:
  858.                 return getByFlatteningType(id);
  859.             default:
  860.                 throw new IllegalArgumentException(type + " is not a valid map type.");
  861.         }
  862.     }
  863.    
  864.     public static Mapping getById(String id) {
  865.         return BY_NUMERIC_ID.get(id.toUpperCase(Locale.ENGLISH));
  866.     }
  867.    
  868.     public static Mapping getByLegacyType(String oldType) {
  869.         return BY_LEGACY_NAME.get(oldType.toUpperCase(Locale.ENGLISH));
  870.     }
  871.    
  872.     public static Mapping getByFlatteningType(String flatteningType) {
  873.         return BY_FLATTENING_NAME.get(flatteningType.toUpperCase(Locale.ENGLISH));
  874.     }
  875.    
  876.     public static class Mapping {
  877.         private final String flatteningType;
  878.         private final String legacyType;
  879.         private final int numericId;
  880.         private final int data;
  881.         private Note note = null;
  882.    
  883.         public Mapping(int numericId, int data, String legacyType, String flatteningType) {
  884.             this.flatteningType = flatteningType != null ? flatteningType.toUpperCase(Locale.ENGLISH) : null;
  885.             this.legacyType = legacyType != null ? legacyType.toUpperCase(Locale.ENGLISH) : null;
  886.             this.numericId = numericId;
  887.             this.data = data;
  888.         }
  889.    
  890.         public Mapping(int numericId, String legacyType, String flatteningType) {
  891.             this(numericId, 0, legacyType, flatteningType);
  892.         }
  893.        
  894.         public Mapping(int numericId, int data, String type) {
  895.             this(numericId, data, type, type);
  896.         }
  897.    
  898.         public Mapping(int numericId, String type) {
  899.             this(numericId, 0, type);
  900.         }
  901.    
  902.         public Mapping(int numericId, String oldType, Note note) {
  903.             this(numericId, oldType, (String) null);
  904.             this.note = note;
  905.         }
  906.    
  907.         public Mapping(int numericId, int data, String oldType, Note note) {
  908.             this(numericId, data, oldType, (String) null);
  909.             this.note = note;
  910.         }
  911.    
  912.         public String getFlatteningType() {
  913.             return flatteningType;
  914.         }
  915.    
  916.         public String getLegacyType() {
  917.             return legacyType;
  918.         }
  919.    
  920.         public int getNumericId() {
  921.             return numericId;
  922.         }
  923.    
  924.         public int getData() {
  925.             return data;
  926.         }
  927.    
  928.         public String get(IdType type) {
  929.             return get(type, null);
  930.         }
  931.        
  932.         public String get(IdType type, String delimiter) {
  933.             switch (type) {
  934.                 case NUMERIC:
  935.                     if (delimiter != null && data != 0) {
  936.                         return getNumericId() + delimiter + getData();
  937.                     }
  938.                     if (getNumericId() >= 0) {
  939.                         return String.valueOf(getNumericId());
  940.                     }
  941.                     return null;
  942.                 case LEGACY:
  943.                     if (delimiter != null && data != 0) {
  944.                         return getLegacyType() + delimiter + getData();
  945.                     }
  946.                     return getLegacyType();
  947.                 case FLATTENING:
  948.                     return getFlatteningType();
  949.                 default:
  950.                     throw new IllegalArgumentException(type + " is not a valid value.");
  951.             }
  952.         }
  953.    
  954.         public Note getNote() {
  955.             return note;
  956.         }
  957.     }
  958.    
  959.     public enum IdType {
  960.         NUMERIC("(\\W*: )(\\d+(:\\d+|))(\\W*)"),
  961.         LEGACY("(\\W*: )(\\w+(:\\d+|))(\\W*)"),
  962.         FLATTENING("(\\W*: )(\\w+)(\\W*)");
  963.    
  964.         private final String regex;
  965.    
  966.         IdType(String regex) {
  967.             this.regex = regex;
  968.         }
  969.    
  970.         public String getRegex() {
  971.             return regex;
  972.         }
  973.     }
  974.    
  975.     public static class Note {
  976.         private final String text;
  977.    
  978.         public Note(String text) {
  979.             this.text = text;
  980.         }
  981.    
  982.         public String getText() {
  983.             return text;
  984.         }
  985.     }
  986. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement