Cuberite
A lightweight, fast and extensible game server for Minecraft
ItemHandler.cpp
Go to the documentation of this file.
1 
2 #include "Globals.h"
3 #include "ItemHandler.h"
4 #include "../World.h"
5 #include "../Entities/Player.h"
6 #include "../FastRandom.h"
7 #include "../BlockInServerPluginInterface.h"
8 #include "../Chunk.h"
9 
10 // Handlers:
11 #include "ItemAnvil.h"
12 #include "ItemArmor.h"
13 #include "ItemAxe.h"
14 #include "ItemBanner.h"
15 #include "ItemBed.h"
16 #include "ItemBigFlower.h"
17 #include "ItemBoat.h"
18 #include "ItemBottle.h"
19 #include "ItemBow.h"
20 #include "ItemBucket.h"
21 #include "ItemButton.h"
22 #include "ItemChest.h"
23 #include "ItemChorusFruit.h"
24 #include "ItemCloth.h"
25 #include "ItemComparator.h"
26 #include "ItemCookedFish.h"
27 #include "ItemDefaultItem.h"
28 #include "ItemDoor.h"
29 #include "ItemDropSpenser.h"
30 #include "ItemDye.h"
31 #include "ItemEmptyMap.h"
32 #include "ItemEnchantingTable.h"
33 #include "ItemEndCrystal.h"
34 #include "ItemEnderChest.h"
35 #include "ItemEndPortalFrame.h"
36 #include "ItemEyeOfEnder.h"
37 #include "ItemFenceGate.h"
38 #include "ItemFishingRod.h"
39 #include "ItemFood.h"
40 #include "ItemFoodSeeds.h"
41 #include "ItemFurnace.h"
42 #include "ItemGlazedTerracotta.h"
43 #include "ItemGoldenApple.h"
44 #include "ItemHoe.h"
45 #include "ItemHopper.h"
46 #include "ItemItemFrame.h"
47 #include "ItemJackOLantern.h"
48 #include "ItemLadder.h"
49 #include "ItemLeaves.h"
50 #include "ItemLever.h"
51 #include "ItemLighter.h"
52 #include "ItemLilypad.h"
53 #include "ItemMap.h"
54 #include "ItemMilk.h"
55 #include "ItemMinecart.h"
56 #include "ItemMobHead.h"
57 #include "ItemNetherWart.h"
58 #include "ItemObserver.h"
59 #include "ItemPainting.h"
60 #include "ItemPickaxe.h"
61 #include "ItemPiston.h"
62 #include "ItemPlanks.h"
63 #include "ItemPoisonousPotato.h"
64 #include "ItemPotion.h"
65 #include "ItemPumpkin.h"
66 #include "ItemQuartz.h"
67 #include "ItemRail.h"
68 #include "ItemRawChicken.h"
69 #include "ItemRawFish.h"
70 #include "ItemRedstoneDust.h"
71 #include "ItemRedstoneRepeater.h"
72 #include "ItemRottenFlesh.h"
73 #include "ItemSapling.h"
74 #include "ItemSeeds.h"
75 #include "ItemShears.h"
76 #include "ItemShovel.h"
77 #include "ItemSideways.h"
78 #include "ItemSign.h"
79 #include "ItemSlab.h"
80 #include "ItemSnow.h"
81 #include "ItemSoup.h"
82 #include "ItemSpawnEgg.h"
83 #include "ItemSpiderEye.h"
84 #include "ItemStairs.h"
85 #include "ItemSword.h"
86 #include "ItemThrowable.h"
87 #include "ItemTorch.h"
88 #include "ItemTrapdoor.h"
89 #include "ItemTripwireHook.h"
90 #include "ItemVines.h"
91 
92 #include "../Blocks/BlockHandler.h"
94 
95 
96 
97 
98 
99 namespace
100 {
101  constexpr cDefaultItemHandler Item11DiscHandler (E_ITEM_11_DISC);
102  constexpr cDefaultItemHandler Item13DiscHandler (E_ITEM_13_DISC);
103  constexpr cItemBoatHandler ItemAcaciaBoatHandler (E_ITEM_ACACIA_BOAT);
104  constexpr cDefaultItemHandler ItemAcaciaDoorBlockHandler (E_BLOCK_ACACIA_DOOR);
105  constexpr cItemDoorHandler ItemAcaciaDoorHandler (E_ITEM_ACACIA_DOOR);
106  constexpr cItemFenceGateHandler ItemAcaciaFenceGateHandler (E_BLOCK_ACACIA_FENCE_GATE);
107  constexpr cDefaultItemHandler ItemAcaciaFenceHandler (E_BLOCK_ACACIA_FENCE);
108  constexpr cItemStairsHandler ItemAcaciaStairsHandler (E_BLOCK_ACACIA_WOOD_STAIRS);
109  constexpr cItemRailHandler ItemActivatorRailHandler (E_BLOCK_ACTIVATOR_RAIL);
110  constexpr cDefaultItemHandler ItemActiveComparatorHandler (E_BLOCK_ACTIVE_COMPARATOR);
111  constexpr cDefaultItemHandler ItemAirHandler (E_BLOCK_AIR);
112  constexpr cItemAnvilHandler ItemAnvilHandler (E_BLOCK_ANVIL);
113  constexpr cItemSimpleFoodHandler ItemAppleHandler (E_ITEM_RED_APPLE, cItemHandler::FoodInfo(4, 2.4));
114  constexpr cDefaultItemHandler ItemArmorStandHandler (E_ITEM_ARMOR_STAND);
115  constexpr cDefaultItemHandler ItemArrowHandler (E_ITEM_ARROW);
116  constexpr cItemSimpleFoodHandler ItemBakedPotatoHandler (E_ITEM_BAKED_POTATO, cItemHandler::FoodInfo(5, 6));
117  constexpr cItemBannerHandler ItemBannerHandler (E_ITEM_BANNER);
118  constexpr cDefaultItemHandler ItemBarrierHandler (E_BLOCK_BARRIER);
119  constexpr cDefaultItemHandler ItemBeaconHandler (E_BLOCK_BEACON);
120  constexpr cDefaultItemHandler ItemBedBlockHandler (E_BLOCK_BED);
121  constexpr cItemBedHandler ItemBedHandler (E_ITEM_BED);
122  constexpr cDefaultItemHandler ItemBedrockHandler (E_BLOCK_BEDROCK);
123  constexpr cItemSimpleFoodHandler ItemBeetrootHandler (E_ITEM_BEETROOT, cItemHandler::FoodInfo(1, 1.2));
124  constexpr cDefaultItemHandler ItemBeetrootsBlockHandler (E_BLOCK_BEETROOTS);
125  constexpr cItemSimpleSeedsHandler ItemBeetrootSeedsHandler (E_ITEM_BEETROOT_SEEDS);
126  constexpr cItemSoupHandler ItemBeetrootSoupHandler (E_ITEM_BEETROOT_SOUP, cItemHandler::FoodInfo(6, 7.2));
127  constexpr cItemBigFlowerHandler ItemBigFlowerHandler (E_BLOCK_BIG_FLOWER);
128  constexpr cItemBoatHandler ItemBirchBoatHandler (E_ITEM_BIRCH_BOAT);
129  constexpr cDefaultItemHandler ItemBirchDoorBlockHandler (E_BLOCK_BIRCH_DOOR);
130  constexpr cItemDoorHandler ItemBirchDoorHandler (E_ITEM_BIRCH_DOOR);
131  constexpr cItemFenceGateHandler ItemBirchFenceGateHandler (E_BLOCK_BIRCH_FENCE_GATE);
132  constexpr cDefaultItemHandler ItemBirchFenceHandler (E_BLOCK_BIRCH_FENCE);
133  constexpr cItemStairsHandler ItemBirchStairsHandler (E_BLOCK_BIRCH_WOOD_STAIRS);
134  constexpr cItemGlazedTerracottaHandler ItemBlackGlazedTerracottaHandler (E_BLOCK_BLACK_GLAZED_TERRACOTTA);
135  constexpr cDefaultItemHandler ItemBlackShulkerBoxHandler (E_BLOCK_BLACK_SHULKER_BOX);
136  constexpr cDefaultItemHandler ItemBlazePowderHandler (E_ITEM_BLAZE_POWDER);
137  constexpr cDefaultItemHandler ItemBlazeRodHandler (E_ITEM_BLAZE_ROD);
138  constexpr cDefaultItemHandler ItemBlocksDiscHandler (E_ITEM_BLOCKS_DISC);
139  constexpr cItemGlazedTerracottaHandler ItemBlueGlazedTerracottaHandler (E_BLOCK_BLUE_GLAZED_TERRACOTTA);
140  constexpr cDefaultItemHandler ItemBlueShulkerBoxHandler (E_BLOCK_BLUE_SHULKER_BOX);
141  constexpr cDefaultItemHandler ItemBoneBlockHandler (E_BLOCK_BONE_BLOCK);
142  constexpr cDefaultItemHandler ItemBoneHandler (E_ITEM_BONE);
143  constexpr cDefaultItemHandler ItemBookAndQuillHandler (E_ITEM_BOOK_AND_QUILL);
144  constexpr cDefaultItemHandler ItemBookHandler (E_ITEM_BOOK);
145  constexpr cDefaultItemHandler ItemBookshelfHandler (E_BLOCK_BOOKCASE);
146  constexpr cItemBottleOEnchantingHandler ItemBottleOEnchantingHandler (E_ITEM_BOTTLE_O_ENCHANTING);
147  constexpr cItemBowHandler ItemBowHandler (E_ITEM_BOW);
148  constexpr cDefaultItemHandler ItemBowlHandler (E_ITEM_BOWL);
149  constexpr cItemSimpleFoodHandler ItemBreadHandler (E_ITEM_BREAD, cItemHandler::FoodInfo(5, 6));
150  constexpr cDefaultItemHandler ItemBrewingStandBlockHandler (E_BLOCK_BREWING_STAND);
151  constexpr cSimplePlaceableItemHandler ItemBrewingStandHandler (E_ITEM_BREWING_STAND, E_BLOCK_BREWING_STAND);
152  constexpr cDefaultItemHandler ItemBrickHandler (E_ITEM_CLAY_BRICK);
153  constexpr cDefaultItemHandler ItemBricksHandler (E_BLOCK_BRICK);
154  constexpr cItemStairsHandler ItemBricksStairsHandler (E_BLOCK_BRICK_STAIRS);
155  constexpr cItemGlazedTerracottaHandler ItemBrownGlazedTerracottaHandler (E_BLOCK_BROWN_GLAZED_TERRACOTTA);
156  constexpr cDefaultItemHandler ItemBrownMushroomBlockHandler (E_BLOCK_BROWN_MUSHROOM);
157  constexpr cDefaultItemHandler ItemBrownShulkerBoxHandler (E_BLOCK_BROWN_SHULKER_BOX);
158  constexpr cItemBucketHandler ItemBucketHandler (E_ITEM_BUCKET);
159  constexpr cDefaultItemHandler ItemCactusHandler (E_BLOCK_CACTUS);
160  constexpr cDefaultItemHandler ItemCakeBlockHandler (E_BLOCK_CAKE);
161  constexpr cSimplePlaceableItemHandler ItemCakeHandler (E_ITEM_CAKE, E_BLOCK_CAKE);
162  constexpr cDefaultItemHandler ItemCarpetHandler (E_BLOCK_CARPET);
163  constexpr cItemFoodSeedsHandler ItemCarrotHandler (E_ITEM_CARROT, cItemHandler::FoodInfo(3, 6.6));
164  constexpr cDefaultItemHandler ItemCarrotOnStickHandler (E_ITEM_CARROT_ON_STICK);
165  constexpr cDefaultItemHandler ItemCarrotsBlockHandler (E_BLOCK_CARROTS);
166  constexpr cDefaultItemHandler ItemCatDiscHandler (E_ITEM_CAT_DISC);
167  constexpr cDefaultItemHandler ItemCauldronBlockHandler (E_BLOCK_CAULDRON);
168  constexpr cSimplePlaceableItemHandler ItemCauldronHandler (E_ITEM_CAULDRON, E_BLOCK_CAULDRON);;
169  constexpr cItemArmorHandler ItemChainBootsHandler (E_ITEM_CHAIN_BOOTS);
170  constexpr cItemArmorHandler ItemChainChestplateHandler (E_ITEM_CHAIN_CHESTPLATE);
171  constexpr cDefaultItemHandler ItemChainCommandBlockHandler (E_BLOCK_CHAIN_COMMAND_BLOCK);
172  constexpr cItemArmorHandler ItemChainHelmetHandler (E_ITEM_CHAIN_HELMET);
173  constexpr cItemArmorHandler ItemChainLeggingsHandler (E_ITEM_CHAIN_LEGGINGS);
174  constexpr cItemChestHandler ItemChestHandler (E_BLOCK_CHEST);
175  constexpr cItemMinecartHandler ItemChestMinecartHandler (E_ITEM_CHEST_MINECART);
176  constexpr cDefaultItemHandler ItemChirpDiscHandler (E_ITEM_CHIRP_DISC);
177  constexpr cDefaultItemHandler ItemChorusFlowerHandler (E_BLOCK_CHORUS_FLOWER);
178  constexpr cItemChorusFruitHandler ItemChorusFruitHandler (E_ITEM_CHORUS_FRUIT);
179  constexpr cDefaultItemHandler ItemChorusPlantHandler (E_BLOCK_CHORUS_PLANT);
180  constexpr cDefaultItemHandler ItemClayBlockHandler (E_BLOCK_CLAY);
181  constexpr cDefaultItemHandler ItemClayHandler (E_ITEM_CLAY);
182  constexpr cDefaultItemHandler ItemClockHandler (E_ITEM_CLOCK);
183  constexpr cDefaultItemHandler ItemCoalBlockHandler (E_BLOCK_BLOCK_OF_COAL);
184  constexpr cDefaultItemHandler ItemCoalHandler (E_ITEM_COAL);
185  constexpr cDefaultItemHandler ItemCoalOreHandler (E_BLOCK_COAL_ORE);
186  constexpr cDefaultItemHandler ItemCobblestoneHandler (E_BLOCK_COBBLESTONE);
187  constexpr cItemStairsHandler ItemCobblestoneStairsHandler (E_BLOCK_COBBLESTONE_STAIRS);
188  constexpr cDefaultItemHandler ItemCobblestoneWallHandler (E_BLOCK_COBBLESTONE_WALL);
189  constexpr cDefaultItemHandler ItemCobwebHandler (E_BLOCK_COBWEB);
190  constexpr cDefaultItemHandler ItemCocoaPodHandler (E_BLOCK_COCOA_POD);
191  constexpr cDefaultItemHandler ItemCommandBlockHandler (E_BLOCK_COMMAND_BLOCK);
192  constexpr cItemComparatorHandler ItemComparatorHandler (E_ITEM_COMPARATOR);
193  constexpr cDefaultItemHandler ItemCompassHandler (E_ITEM_COMPASS);
194  constexpr cDefaultItemHandler ItemConcreteBlockHandler (E_BLOCK_CONCRETE);
195  constexpr cDefaultItemHandler ItemConcretePowderHandler (E_BLOCK_CONCRETE_POWDER);
196  constexpr cItemSimpleFoodHandler ItemCookedBeefHandler (E_ITEM_STEAK, cItemHandler::FoodInfo(8, 12.8));
197  constexpr cItemSimpleFoodHandler ItemCookedChickenHandler (E_ITEM_COOKED_CHICKEN, cItemHandler::FoodInfo(6, 7.2));
198  constexpr cItemCookedFishHandler ItemCookedFishHandler (E_ITEM_COOKED_FISH);
199  constexpr cItemSimpleFoodHandler ItemCookedMuttonHandler (E_ITEM_COOKED_MUTTON, cItemHandler::FoodInfo(6, 9.6));
200  constexpr cItemSimpleFoodHandler ItemCookedPorkchopHandler (E_ITEM_COOKED_PORKCHOP, cItemHandler::FoodInfo(8, 12.8));
201  constexpr cItemSimpleFoodHandler ItemCookedRabbitHandler (E_ITEM_COOKED_RABBIT, cItemHandler::FoodInfo(5, 6));
202  constexpr cItemSimpleFoodHandler ItemCookieHandler (E_ITEM_COOKIE, cItemHandler::FoodInfo(2, 0.5));
203  constexpr cItemGlazedTerracottaHandler ItemCyanGlazedTerracottaHandler (E_BLOCK_CYAN_GLAZED_TERRACOTTA);
204  constexpr cDefaultItemHandler ItemCyanShulkerBoxHandler (E_BLOCK_CYAN_SHULKER_BOX);
205  constexpr cDefaultItemHandler ItemDandelionHandler (E_BLOCK_DANDELION);
206  constexpr cItemBoatHandler ItemDarkOakBoatHandler (E_ITEM_DARK_OAK_BOAT);
207  constexpr cDefaultItemHandler ItemDarkOakDoorBlockHandler (E_BLOCK_DARK_OAK_DOOR);
208  constexpr cItemDoorHandler ItemDarkOakDoorHandler (E_ITEM_DARK_OAK_DOOR);
209  constexpr cItemFenceGateHandler ItemDarkOakFenceGateHandler (E_BLOCK_DARK_OAK_FENCE_GATE);
210  constexpr cDefaultItemHandler ItemDarkOakFenceHandler (E_BLOCK_DARK_OAK_FENCE);
211  constexpr cItemStairsHandler ItemDarkOakStairsHandler (E_BLOCK_DARK_OAK_WOOD_STAIRS);
212  constexpr cDefaultItemHandler ItemDaylightSensorBlockHandler (E_BLOCK_DAYLIGHT_SENSOR);
213  constexpr cDefaultItemHandler ItemDeadBushHandler (E_BLOCK_DEAD_BUSH);
214  constexpr cItemRailHandler ItemDetectorRailHandler (E_BLOCK_DETECTOR_RAIL);
215  constexpr cItemAxeHandler ItemDiamondAxeHandler (E_ITEM_DIAMOND_AXE);
216  constexpr cDefaultItemHandler ItemDiamondBlockHandler (E_BLOCK_DIAMOND_BLOCK);
217  constexpr cItemArmorHandler ItemDiamondBootsHandler (E_ITEM_DIAMOND_BOOTS);
218  constexpr cItemArmorHandler ItemDiamondChestplateHandler (E_ITEM_DIAMOND_CHESTPLATE);
219  constexpr cDefaultItemHandler ItemDiamondHandler (E_ITEM_DIAMOND);
220  constexpr cItemArmorHandler ItemDiamondHelmetHandler (E_ITEM_DIAMOND_HELMET);
221  constexpr cItemHoeHandler ItemDiamondHoeHandler (E_ITEM_DIAMOND_HOE);
222  constexpr cDefaultItemHandler ItemDiamondHorseArmorHandler (E_ITEM_DIAMOND_HORSE_ARMOR);
223  constexpr cItemArmorHandler ItemDiamondLeggingsHandler (E_ITEM_DIAMOND_LEGGINGS);
224  constexpr cDefaultItemHandler ItemDiamondOreHandler (E_BLOCK_DIAMOND_ORE);
225  constexpr cItemPickaxeHandler ItemDiamondPickaxeHandler (E_ITEM_DIAMOND_PICKAXE);
226  constexpr cItemShovelHandler ItemDiamondShovelHandler (E_ITEM_DIAMOND_SHOVEL);
227  constexpr cItemSwordHandler ItemDiamondSwordHandler (E_ITEM_DIAMOND_SWORD);
228  constexpr cDefaultItemHandler ItemDirtHandler (E_BLOCK_DIRT);
229  constexpr cItemDropSpenserHandler ItemDispenserHandler (E_BLOCK_DISPENSER);
230  constexpr cDefaultItemHandler ItemDoubleOakSlabHandler (E_BLOCK_DOUBLE_WOODEN_SLAB);
231  constexpr cDefaultItemHandler ItemDoubleRedSandstoneSlabHandler (E_BLOCK_DOUBLE_RED_SANDSTONE_SLAB);
232  constexpr cDefaultItemHandler ItemDoubleStoneSlabHandler (E_BLOCK_DOUBLE_STONE_SLAB);
233  constexpr cDefaultItemHandler ItemDragonBreathHandler (E_ITEM_DRAGON_BREATH);
234  constexpr cDefaultItemHandler ItemDragonEggBlockHandler (E_BLOCK_DRAGON_EGG);
235  constexpr cItemDropSpenserHandler ItemDropperHandler (E_BLOCK_DROPPER);
236  constexpr cItemDyeHandler ItemDyeHandler (E_ITEM_DYE);
237  constexpr cItemEggHandler ItemEggHandler (E_ITEM_EGG);
238  constexpr cItemArmorHandler ItemElytraHandler (E_ITEM_ELYTRA);
239  constexpr cDefaultItemHandler ItemEmeraldBlockHandler (E_BLOCK_EMERALD_BLOCK);
240  constexpr cDefaultItemHandler ItemEmeraldHandler (E_ITEM_EMERALD);
241  constexpr cDefaultItemHandler ItemEmeraldOreHandler (E_BLOCK_EMERALD_ORE);
242  constexpr cItemEmptyMapHandler ItemEmptyMapHandler (E_ITEM_EMPTY_MAP);
243  constexpr cDefaultItemHandler ItemEnchantedBookHandler (E_ITEM_ENCHANTED_BOOK);
244  constexpr cItemEnchantingTableHandler ItemEnchantingTableHandler (E_BLOCK_ENCHANTMENT_TABLE);
245  constexpr cDefaultItemHandler ItemEndBricksHandler (E_BLOCK_END_BRICKS);
246  constexpr cItemEndCrystalHandler ItemEndCrystalHandler (E_ITEM_END_CRYSTAL);
247  constexpr cItemEnderChestHandler ItemEnderChestHandler (E_BLOCK_ENDER_CHEST);
248  constexpr cItemEnderPearlHandler ItemEnderPearlHandler (E_ITEM_ENDER_PEARL);
249  constexpr cDefaultItemHandler ItemEndGatewayHandler (E_BLOCK_END_GATEWAY);
250  constexpr cDefaultItemHandler ItemEndPortalBlockHandler (E_BLOCK_END_PORTAL);
251  constexpr cItemEndPortalFrameHandler ItemEndPortalFrameHandler (E_BLOCK_END_PORTAL_FRAME);
252  constexpr cDefaultItemHandler ItemEndRodHandler (E_BLOCK_END_ROD);
253  constexpr cDefaultItemHandler ItemEndStoneBlockHandler (E_BLOCK_END_STONE);
254  constexpr cItemEyeOfEnderHandler ItemEyeOfEnderHandler (E_ITEM_EYE_OF_ENDER);
255  constexpr cDefaultItemHandler ItemFarDiscHandler (E_ITEM_FAR_DISC);
256  constexpr cDefaultItemHandler ItemFarmlandHandler (E_BLOCK_FARMLAND);
257  constexpr cDefaultItemHandler ItemFeatherHandler (E_ITEM_FEATHER);
258  constexpr cDefaultItemHandler ItemFermentedSpiderEyeHandler (E_ITEM_FERMENTED_SPIDER_EYE);
259  constexpr cDefaultItemHandler ItemFireBlockHandler (E_BLOCK_FIRE);
260  constexpr cItemLighterHandler ItemFireChargeHandler (E_ITEM_FIRE_CHARGE);
261  constexpr cItemFireworkHandler ItemFireworkRocketHandler (E_ITEM_FIREWORK_ROCKET);
262  constexpr cDefaultItemHandler ItemFireworkStarHandler (E_ITEM_FIREWORK_STAR);
263  constexpr cItemFishingRodHandler ItemFishingRodHandler (E_ITEM_FISHING_ROD);
264  constexpr cItemLighterHandler ItemFlintAndSteelHandler (E_ITEM_FLINT_AND_STEEL);
265  constexpr cDefaultItemHandler ItemFlintHandler (E_ITEM_FLINT);
266  constexpr cDefaultItemHandler ItemFlowerPotBlockHandler (E_BLOCK_FLOWER_POT);
267  constexpr cSimplePlaceableItemHandler ItemFlowerPotHandler (E_ITEM_FLOWER_POT, E_BLOCK_FLOWER_POT);
268  constexpr cDefaultItemHandler ItemFrostedIceHandler (E_BLOCK_FROSTED_ICE);
269  constexpr cItemFurnaceHandler ItemFurnaceHandler (E_BLOCK_FURNACE);
270  constexpr cItemMinecartHandler ItemFurnaceMinecartHandler (E_ITEM_FURNACE_MINECART);
271  constexpr cDefaultItemHandler ItemGhastTearHandler (E_ITEM_GHAST_TEAR);
272  constexpr cItemBottleHandler ItemGlassBottleHandler (E_ITEM_GLASS_BOTTLE);
273  constexpr cDefaultItemHandler ItemGlassHandler (E_BLOCK_GLASS);
274  constexpr cDefaultItemHandler ItemGlassPaneHandler (E_BLOCK_GLASS_PANE);
275  constexpr cDefaultItemHandler ItemGlisteringMelonHandler (E_ITEM_GLISTERING_MELON);
276  constexpr cDefaultItemHandler ItemGlowstoneBlockHandler (E_BLOCK_GLOWSTONE);
277  constexpr cDefaultItemHandler ItemGlowstoneDustHandler (E_ITEM_GLOWSTONE_DUST);
278  constexpr cDefaultItemHandler ItemGoldBlockHandler (E_BLOCK_GOLD_BLOCK);
279  constexpr cItemGoldenAppleHandler ItemGoldenAppleHandler (E_ITEM_GOLDEN_APPLE);
280  constexpr cItemAxeHandler ItemGoldenAxeHandler (E_ITEM_GOLD_AXE);
281  constexpr cItemArmorHandler ItemGoldenBootsHandler (E_ITEM_GOLD_BOOTS);
282  constexpr cItemSimpleFoodHandler ItemGoldenCarrotHandler (E_ITEM_GOLDEN_CARROT, cItemHandler::FoodInfo(6, 14.4));
283  constexpr cItemArmorHandler ItemGoldenChestplateHandler (E_ITEM_GOLD_CHESTPLATE);
284  constexpr cItemArmorHandler ItemGoldenHelmetHandler (E_ITEM_GOLD_HELMET);
285  constexpr cItemHoeHandler ItemGoldenHoeHandler (E_ITEM_GOLD_HOE);
286  constexpr cDefaultItemHandler ItemGoldenHorseArmorHandler (E_ITEM_GOLD_HORSE_ARMOR);
287  constexpr cItemArmorHandler ItemGoldenLeggingsHandler (E_ITEM_GOLD_LEGGINGS);
288  constexpr cItemPickaxeHandler ItemGoldenPickaxeHandler (E_ITEM_GOLD_PICKAXE);
289  constexpr cItemShovelHandler ItemGoldenShovelHandler (E_ITEM_GOLD_SHOVEL);
290  constexpr cItemSwordHandler ItemGoldenSwordHandler (E_ITEM_GOLD_SWORD);
291  constexpr cDefaultItemHandler ItemGoldHandler (E_ITEM_GOLD);
292  constexpr cDefaultItemHandler ItemGoldNuggetHandler (E_ITEM_GOLD_NUGGET);
293  constexpr cDefaultItemHandler ItemGoldOreHandler (E_BLOCK_GOLD_ORE);
294  constexpr cDefaultItemHandler ItemGrassBlockHandler (E_BLOCK_GRASS);
295  constexpr cDefaultItemHandler ItemGrassPathHandler (E_BLOCK_GRASS_PATH);
296  constexpr cDefaultItemHandler ItemGravelHandler (E_BLOCK_GRAVEL);
297  constexpr cItemGlazedTerracottaHandler ItemGrayGlazedTerracottaHandler (E_BLOCK_GRAY_GLAZED_TERRACOTTA);
298  constexpr cDefaultItemHandler ItemGrayShulkerBoxHandler (E_BLOCK_GRAY_SHULKER_BOX);
299  constexpr cItemGlazedTerracottaHandler ItemGreenGlazedTerracottaHandler (E_BLOCK_GREEN_GLAZED_TERRACOTTA);
300  constexpr cDefaultItemHandler ItemGreenShulkerBoxHandler (E_BLOCK_GREEN_SHULKER_BOX);
301  constexpr cDefaultItemHandler ItemGunpowderHandler (E_ITEM_GUNPOWDER);
302  constexpr cDefaultItemHandler ItemHardenedClayHandler (E_BLOCK_HARDENED_CLAY);
303  constexpr cItemSidewaysHandler ItemHayBaleHandler (E_BLOCK_HAY_BALE);
304  constexpr cDefaultItemHandler ItemHeadBlockHandler (E_BLOCK_HEAD);
305  constexpr cItemMobHeadHandler ItemHeadHandler (E_ITEM_HEAD);
306  constexpr cDefaultItemHandler ItemHeavyWeightedPressurePlateHandler (E_BLOCK_HEAVY_WEIGHTED_PRESSURE_PLATE);
307  constexpr cItemHopperHandler ItemHopperHandler (E_BLOCK_HOPPER);
308  constexpr cDefaultItemHandler ItemHugeBrownMushroomBlockHandler (E_BLOCK_HUGE_BROWN_MUSHROOM);
309  constexpr cDefaultItemHandler ItemHugeRedMushroomBlockHandler (E_BLOCK_HUGE_RED_MUSHROOM);
310  constexpr cDefaultItemHandler ItemIceHandler (E_BLOCK_ICE);
311  constexpr cDefaultItemHandler ItemInactiveComparatorHandler (E_BLOCK_INACTIVE_COMPARATOR);
312  constexpr cDefaultItemHandler ItemInvertedDaylightSensorHandler (E_BLOCK_INVERTED_DAYLIGHT_SENSOR);
313  constexpr cItemAxeHandler ItemIronAxeHandler (E_ITEM_IRON_AXE);
314  constexpr cDefaultItemHandler ItemIronBarsBlockHandler (E_BLOCK_IRON_BARS);
315  constexpr cDefaultItemHandler ItemIronBlockHandler (E_BLOCK_IRON_BLOCK);
316  constexpr cItemArmorHandler ItemIronBootsHandler (E_ITEM_IRON_BOOTS);
317  constexpr cItemArmorHandler ItemIronChestplateHandler (E_ITEM_IRON_CHESTPLATE);
318  constexpr cDefaultItemHandler ItemIronDoorBlockHandler (E_BLOCK_IRON_DOOR);
319  constexpr cItemDoorHandler ItemIronDoorHandler (E_ITEM_IRON_DOOR);
320  constexpr cDefaultItemHandler ItemIronHandler (E_ITEM_IRON);
321  constexpr cItemArmorHandler ItemIronHelmetHandler (E_ITEM_IRON_HELMET);
322  constexpr cItemHoeHandler ItemIronHoeHandler (E_ITEM_IRON_HOE);
323  constexpr cDefaultItemHandler ItemIronHorseArmorHandler (E_ITEM_IRON_HORSE_ARMOR);
324  constexpr cItemArmorHandler ItemIronLeggingsHandler (E_ITEM_IRON_LEGGINGS);
325  constexpr cDefaultItemHandler ItemIronNuggetHandler (E_ITEM_IRON_NUGGET);
326  constexpr cDefaultItemHandler ItemIronOreHandler (E_BLOCK_IRON_ORE);
327  constexpr cItemPickaxeHandler ItemIronPickaxeHandler (E_ITEM_IRON_PICKAXE);
328  constexpr cItemShovelHandler ItemIronShovelHandler (E_ITEM_IRON_SHOVEL);
329  constexpr cItemSwordHandler ItemIronSwordHandler (E_ITEM_IRON_SWORD);
330  constexpr cItemTrapdoorHandler ItemIronTrapdoorHandler (E_BLOCK_IRON_TRAPDOOR);
331  constexpr cItemItemFrameHandler ItemItemFrameHandler (E_ITEM_ITEM_FRAME);
332  constexpr cItemJackOLanternHandler ItemJackOLanternHandler (E_BLOCK_JACK_O_LANTERN);
333  constexpr cDefaultItemHandler ItemJukeboxHandler (E_BLOCK_JUKEBOX);
334  constexpr cItemBoatHandler ItemJungleBoatHandler (E_ITEM_JUNGLE_BOAT);
335  constexpr cDefaultItemHandler ItemJungleDoorBlockHandler (E_BLOCK_JUNGLE_DOOR);
336  constexpr cItemDoorHandler ItemJungleDoorHandler (E_ITEM_JUNGLE_DOOR);
337  constexpr cItemFenceGateHandler ItemJungleFenceGateHandler (E_BLOCK_JUNGLE_FENCE_GATE);
338  constexpr cDefaultItemHandler ItemJungleFenceHandler (E_BLOCK_JUNGLE_FENCE);
339  constexpr cItemStairsHandler ItemJungleStairsHandler (E_BLOCK_JUNGLE_WOOD_STAIRS);
340  constexpr cItemLadderHandler ItemLadderHandler (E_BLOCK_LADDER);
341  constexpr cDefaultItemHandler ItemLapisBlockHandler (E_BLOCK_LAPIS_BLOCK);
342  constexpr cDefaultItemHandler ItemLapisOreHandler (E_BLOCK_LAPIS_ORE);
343  constexpr cItemBucketHandler ItemLavaBucketHandler (E_ITEM_LAVA_BUCKET);
344  constexpr cDefaultItemHandler ItemLavaHandler (E_BLOCK_LAVA);
345  constexpr cDefaultItemHandler ItemLeashHandler (E_ITEM_LEAD);
346  constexpr cItemArmorHandler ItemLeatherBootsHandler (E_ITEM_LEATHER_BOOTS);
347  constexpr cItemArmorHandler ItemLeatherCapHandler (E_ITEM_LEATHER_CAP);
348  constexpr cDefaultItemHandler ItemLeatherHandler (E_ITEM_LEATHER);
349  constexpr cItemArmorHandler ItemLeatherPantsHandler (E_ITEM_LEATHER_PANTS);
350  constexpr cItemArmorHandler ItemLeatherTunicHandler (E_ITEM_LEATHER_TUNIC);
351  constexpr cItemLeavesHandler ItemLeavesHandler (E_BLOCK_LEAVES);
352  constexpr cItemLeverHandler ItemLeverHandler (E_BLOCK_LEVER);
353  constexpr cItemGlazedTerracottaHandler ItemLightBlueGlazedTerracottaHandler (E_BLOCK_LIGHT_BLUE_GLAZED_TERRACOTTA);
354  constexpr cDefaultItemHandler ItemLightBlueShulkerBoxHandler (E_BLOCK_LIGHT_BLUE_SHULKER_BOX);
355  constexpr cItemGlazedTerracottaHandler ItemLightGrayGlazedTerracottaHandler (E_BLOCK_LIGHT_GRAY_GLAZED_TERRACOTTA);
356  constexpr cDefaultItemHandler ItemLightGrayShulkerBoxHandler (E_BLOCK_LIGHT_GRAY_SHULKER_BOX);
357  constexpr cDefaultItemHandler ItemLightWeightedPressurePlateHandler (E_BLOCK_LIGHT_WEIGHTED_PRESSURE_PLATE);
358  constexpr cItemLilypadHandler ItemLilypadHandler (E_BLOCK_LILY_PAD);
359  constexpr cItemGlazedTerracottaHandler ItemLimeGlazedTerracottaHandler (E_BLOCK_LIME_GLAZED_TERRACOTTA);
360  constexpr cDefaultItemHandler ItemLimeShulkerBoxHandler (E_BLOCK_LIME_SHULKER_BOX);
361  constexpr cItemPotionHandler ItemLingeringPotionHandler (E_ITEM_LINGERING_POTION);
362  constexpr cDefaultItemHandler ItemLitFurnaceHandler (E_BLOCK_LIT_FURNACE);
363  constexpr cItemSidewaysHandler ItemLogHandler (E_BLOCK_LOG);
364  constexpr cItemGlazedTerracottaHandler ItemMagentaGlazedTerracottaHandler (E_BLOCK_MAGENTA_GLAZED_TERRACOTTA);
365  constexpr cDefaultItemHandler ItemMagentaShulkerBoxHandler (E_BLOCK_MAGENTA_SHULKER_BOX);
366  constexpr cDefaultItemHandler ItemMagmaBlockHandler (E_BLOCK_MAGMA);
367  constexpr cDefaultItemHandler ItemMagmaCreamHandler (E_ITEM_MAGMA_CREAM);
368  constexpr cDefaultItemHandler ItemMallDiscHandler (E_ITEM_MALL_DISC);
369  constexpr cItemMapHandler ItemMapHandler (E_ITEM_MAP);
370  constexpr cDefaultItemHandler ItemMellohiDiscHandler (E_ITEM_MELLOHI_DISC);
371  constexpr cDefaultItemHandler ItemMelonBlockHandler (E_BLOCK_MELON);
372  constexpr cItemSimpleSeedsHandler ItemMelonSeedsHandler (E_ITEM_MELON_SEEDS);
373  constexpr cItemSimpleFoodHandler ItemMelonSliceHandler (E_ITEM_MELON_SLICE, cItemHandler::FoodInfo(2, 1.2));
374  constexpr cDefaultItemHandler ItemMelonStemHandler (E_BLOCK_MELON_STEM);
375  constexpr cItemMilkHandler ItemMilkHandler (E_ITEM_MILK);
376  constexpr cItemMinecartHandler ItemMinecartHandler (E_ITEM_MINECART);
377  constexpr cItemMinecartHandler ItemMinecartWithCommandBlockHandler (E_ITEM_MINECART_WITH_COMMAND_BLOCK);
378  constexpr cItemMinecartHandler ItemMinecartWithHopperHandler (E_ITEM_MINECART_WITH_HOPPER);
379  constexpr cItemMinecartHandler ItemMinecartWithTNTHandler (E_ITEM_MINECART_WITH_TNT);
380  constexpr cDefaultItemHandler ItemMobSpawnerBlockHandler (E_BLOCK_MOB_SPAWNER);
381  constexpr cDefaultItemHandler ItemMossyCobblestoneHandler (E_BLOCK_MOSSY_COBBLESTONE);
382  constexpr cItemSoupHandler ItemMushroomSoupHandler (E_ITEM_MUSHROOM_SOUP, cItemHandler::FoodInfo(6, 7.2));
383  constexpr cDefaultItemHandler ItemMyceliumHandler (E_BLOCK_MYCELIUM);
384  constexpr cDefaultItemHandler ItemNameTagHandler (E_ITEM_NAME_TAG);
385  constexpr cDefaultItemHandler ItemNetherBrickFenceHandler (E_BLOCK_NETHER_BRICK_FENCE);
386  constexpr cDefaultItemHandler ItemNetherBrickHandler (E_ITEM_NETHER_BRICK);
387  constexpr cDefaultItemHandler ItemNetherBricksHandler (E_BLOCK_NETHER_BRICK);
388  constexpr cItemStairsHandler ItemNetherBrickStairsHandler (E_BLOCK_NETHER_BRICK_STAIRS);
389  constexpr cDefaultItemHandler ItemNetherPortalBlockHandler (E_BLOCK_NETHER_PORTAL);
390  constexpr cDefaultItemHandler ItemNetherQuartzHandler (E_ITEM_NETHER_QUARTZ);
391  constexpr cDefaultItemHandler ItemNetherQuartzOreHandler (E_BLOCK_NETHER_QUARTZ_ORE);
392  constexpr cDefaultItemHandler ItemNetherrackHandler (E_BLOCK_NETHERRACK);
393  constexpr cDefaultItemHandler ItemNetherStarHandler (E_ITEM_NETHER_STAR);
394  constexpr cDefaultItemHandler ItemNetherWartBlockHandler (E_BLOCK_NETHER_WART_BLOCK);
395  constexpr cItemNetherWartHandler ItemNetherWartHandler (E_ITEM_NETHER_WART);
396  constexpr cDefaultItemHandler ItemNetherWartTechnicalBlockHandler (E_BLOCK_NETHER_WART);
397  constexpr cItemLeavesHandler ItemNewLeavesHandler (E_BLOCK_NEW_LEAVES);
398  constexpr cItemSidewaysHandler ItemNewLogHandler (E_BLOCK_NEW_LOG);
399  constexpr cDefaultItemHandler ItemNoteBlockHandler (E_BLOCK_NOTE_BLOCK);
400  constexpr cItemBoatHandler ItemOakBoatHandler (E_ITEM_BOAT);
401  constexpr cItemButtonHandler ItemOakButtonHandler (E_BLOCK_WOODEN_BUTTON);
402  constexpr cDefaultItemHandler ItemOakDoorBlockHandler (E_BLOCK_OAK_DOOR);
403  constexpr cItemDoorHandler ItemOakDoorHandler (E_ITEM_WOODEN_DOOR);
404  constexpr cItemFenceGateHandler ItemOakFenceGateHandler (E_BLOCK_OAK_FENCE_GATE);
405  constexpr cDefaultItemHandler ItemOakFenceHandler (E_BLOCK_FENCE);
406  constexpr cItemSlabHandler ItemOakSlabHandler (E_BLOCK_WOODEN_SLAB);
407  constexpr cItemStairsHandler ItemOakStairsHandler (E_BLOCK_OAK_WOOD_STAIRS);
408  constexpr cItemTrapdoorHandler ItemOakTrapdoorHandler (E_BLOCK_TRAPDOOR);
409  constexpr cItemObserverHandler ItemObserverHandler (E_BLOCK_OBSERVER);
410  constexpr cDefaultItemHandler ItemObsidianHandler (E_BLOCK_OBSIDIAN);
411  constexpr cItemGlazedTerracottaHandler ItemOrangeGlazedTerracottaHandler (E_BLOCK_ORANGE_GLAZED_TERRACOTTA);
412  constexpr cDefaultItemHandler ItemOrangeShulkerBoxHandler (E_BLOCK_ORANGE_SHULKER_BOX);
413  constexpr cDefaultItemHandler ItemPackedIceHandler (E_BLOCK_PACKED_ICE);
414  constexpr cItemPaintingHandler ItemPaintingHandler (E_ITEM_PAINTING);
415  constexpr cDefaultItemHandler ItemPaperHandler (E_ITEM_PAPER);
416  constexpr cItemGlazedTerracottaHandler ItemPinkGlazedTerracottaHandler (E_BLOCK_PINK_GLAZED_TERRACOTTA);
417  constexpr cDefaultItemHandler ItemPinkShulkerBoxHandler (E_BLOCK_PINK_SHULKER_BOX);
418  constexpr cDefaultItemHandler ItemPistonExtensionHandler (E_BLOCK_PISTON_EXTENSION);
419  constexpr cItemPistonHandler ItemPistonHandler (E_BLOCK_PISTON);
420  constexpr cDefaultItemHandler ItemPistonMovedBlockHandler (E_BLOCK_PISTON_MOVED_BLOCK);
421  constexpr cItemPlanksHandler ItemPlanksHandler (E_BLOCK_PLANKS);
422  constexpr cItemPoisonousPotatoHandler ItemPoisonousPotatoHandler (E_ITEM_POISONOUS_POTATO);
423  constexpr cDefaultItemHandler ItemPoppedChorusFruitHandler (E_ITEM_POPPED_CHORUS_FRUIT);
424  constexpr cDefaultItemHandler ItemPoppyHandler (E_BLOCK_FLOWER);
425  constexpr cDefaultItemHandler ItemPotatoesBlockHandler (E_BLOCK_POTATOES);
426  constexpr cItemFoodSeedsHandler ItemPotatoHandler (E_ITEM_POTATO, cItemHandler::FoodInfo(1, 0.6));
427  constexpr cItemPotionHandler ItemPotionHandler (E_ITEM_POTION);
428  constexpr cItemRailHandler ItemPoweredRailHandler (E_BLOCK_POWERED_RAIL);
429  constexpr cDefaultItemHandler ItemPrismarineBlockHandler (E_BLOCK_PRISMARINE_BLOCK);
430  constexpr cDefaultItemHandler ItemPrismarineCrystalsHandler (E_ITEM_PRISMARINE_CRYSTALS);
431  constexpr cDefaultItemHandler ItemPrismarineShardHandler (E_ITEM_PRISMARINE_SHARD);
432  constexpr cItemPumpkinHandler ItemPumpkinHandler (E_BLOCK_PUMPKIN);
433  constexpr cItemSimpleFoodHandler ItemPumpkinPieHandler (E_ITEM_PUMPKIN_PIE, cItemHandler::FoodInfo(8, 4.8));
434  constexpr cItemSimpleSeedsHandler ItemPumpkinSeedsHandler (E_ITEM_PUMPKIN_SEEDS);
435  constexpr cDefaultItemHandler ItemPumpkinStemHandler (E_BLOCK_PUMPKIN_STEM);
436  constexpr cItemGlazedTerracottaHandler ItemPurpleGlazedTerracottaHandler (E_BLOCK_PURPLE_GLAZED_TERRACOTTA);
437  constexpr cDefaultItemHandler ItemPurpleShulkerBoxHandler (E_BLOCK_PURPLE_SHULKER_BOX);
438  constexpr cDefaultItemHandler ItemPurpurBlockHandler (E_BLOCK_PURPUR_BLOCK);
439  constexpr cDefaultItemHandler ItemPurpurDoubleSlabHandler (E_BLOCK_PURPUR_DOUBLE_SLAB);
440  constexpr cDefaultItemHandler ItemPurpurPillarHandler (E_BLOCK_PURPUR_PILLAR);
441  constexpr cItemSlabHandler ItemPurpurSlabHandler (E_BLOCK_PURPUR_SLAB);
442  constexpr cItemStairsHandler ItemPurpurStairsHandler (E_BLOCK_PURPUR_STAIRS);
443  constexpr cItemQuartzHandler ItemQuartzBlockHandler (E_BLOCK_QUARTZ_BLOCK);
444  constexpr cItemStairsHandler ItemQuartzStairsHandler (E_BLOCK_QUARTZ_STAIRS);
445  constexpr cDefaultItemHandler ItemRabbitHideHandler (E_ITEM_RABBIT_HIDE);
446  constexpr cDefaultItemHandler ItemRabbitsFootHandler (E_ITEM_RABBITS_FOOT);
447  constexpr cItemSoupHandler ItemRabbitStewHandler (E_ITEM_RABBIT_STEW, cItemHandler::FoodInfo(10, 12));
448  constexpr cItemRailHandler ItemRailHandler (E_BLOCK_RAIL);
449  constexpr cItemSimpleFoodHandler ItemRawBeefHandler (E_ITEM_RAW_BEEF, cItemHandler::FoodInfo(3, 1.8));
450  constexpr cItemRawChickenHandler ItemRawChickenHandler (E_ITEM_RAW_CHICKEN);
451  constexpr cItemRawFishHandler ItemRawFishHandler (E_ITEM_RAW_FISH);
452  constexpr cItemSimpleFoodHandler ItemRawMuttonHandler (E_ITEM_RAW_MUTTON, cItemHandler::FoodInfo(2, 1.2));
453  constexpr cItemSimpleFoodHandler ItemRawPorkchopHandler (E_ITEM_RAW_PORKCHOP, cItemHandler::FoodInfo(3, 1.8));
454  constexpr cItemSimpleFoodHandler ItemRawRabbitHandler (E_ITEM_RAW_RABBIT, cItemHandler::FoodInfo(3, 1.8));
455  constexpr cItemGlazedTerracottaHandler ItemRedGlazedTerracottaHandler (E_BLOCK_RED_GLAZED_TERRACOTTA);
456  constexpr cDefaultItemHandler ItemRedMushroomBlockHandler (E_BLOCK_RED_MUSHROOM);
457  constexpr cDefaultItemHandler ItemRedNetherBricksHandler (E_BLOCK_RED_NETHER_BRICK);
458  constexpr cDefaultItemHandler ItemRedSandstoneHandler (E_BLOCK_RED_SANDSTONE);
459  constexpr cItemSlabHandler ItemRedSandstoneSlabHandler (E_BLOCK_RED_SANDSTONE_SLAB);
460  constexpr cItemStairsHandler ItemRedSandstoneStairsHandler (E_BLOCK_RED_SANDSTONE_STAIRS);
461  constexpr cDefaultItemHandler ItemRedShulkerBoxHandler (E_BLOCK_RED_SHULKER_BOX);
462  constexpr cDefaultItemHandler ItemRedstoneBlockHandler (E_BLOCK_BLOCK_OF_REDSTONE);
463  constexpr cItemRedstoneDustHandler ItemRedstoneDustHandler (E_ITEM_REDSTONE_DUST);
464  constexpr cDefaultItemHandler ItemRedstoneLampOffHandler (E_BLOCK_REDSTONE_LAMP_OFF);
465  constexpr cDefaultItemHandler ItemRedstoneLampOnHandler (E_BLOCK_REDSTONE_LAMP_ON);
466  constexpr cDefaultItemHandler ItemRedstoneOreGlowingHandler (E_BLOCK_REDSTONE_ORE_GLOWING);
467  constexpr cDefaultItemHandler ItemRedstoneOreHandler (E_BLOCK_REDSTONE_ORE);
468  constexpr cItemRedstoneRepeaterHandler ItemRedstoneRepeaterHandler (E_ITEM_REDSTONE_REPEATER);
469  constexpr cDefaultItemHandler ItemRedstoneRepeaterOffHandler (E_BLOCK_REDSTONE_REPEATER_OFF);
470  constexpr cDefaultItemHandler ItemRedstoneRepeaterOnHandler (E_BLOCK_REDSTONE_REPEATER_ON);
471  constexpr cItemTorchHandler ItemRedstoneTorchHandler (E_BLOCK_REDSTONE_TORCH_ON);
472  constexpr cDefaultItemHandler ItemRedstoneTorchOffBlockHandler (E_BLOCK_REDSTONE_TORCH_OFF);
473  constexpr cDefaultItemHandler ItemRedstoneWireHandler (E_BLOCK_REDSTONE_WIRE);
474  constexpr cDefaultItemHandler ItemRepeatingCommandBlockHandler (E_BLOCK_REPEATING_COMMAND_BLOCK);
475  constexpr cItemRottenFleshHandler ItemRottenFleshHandler (E_ITEM_ROTTEN_FLESH);
476  constexpr cDefaultItemHandler ItemSaddleHandler (E_ITEM_SADDLE);
477  constexpr cDefaultItemHandler ItemSandHandler (E_BLOCK_SAND);
478  constexpr cDefaultItemHandler ItemSandstoneHandler (E_BLOCK_SANDSTONE);
479  constexpr cItemStairsHandler ItemSandstoneStairsHandler (E_BLOCK_SANDSTONE_STAIRS);
480  constexpr cItemSaplingHandler ItemSaplingHandler (E_BLOCK_SAPLING);
481  constexpr cDefaultItemHandler ItemSeaLanternHandler (E_BLOCK_SEA_LANTERN);
482  constexpr cItemSimpleSeedsHandler ItemSeedsHandler (E_ITEM_SEEDS);
483  constexpr cItemShearsHandler ItemShearsHandler (E_ITEM_SHEARS);
484  constexpr cDefaultItemHandler ItemShieldHandler (E_ITEM_SHIELD);
485  constexpr cDefaultItemHandler ItemShulkerShellHandler (E_ITEM_SHULKER_SHELL);
486  constexpr cItemSignHandler ItemSignHandler (E_ITEM_SIGN);
487  constexpr cDefaultItemHandler ItemSignPostHandler (E_BLOCK_SIGN_POST);
488  constexpr cDefaultItemHandler ItemSilverfishEggBlockHandler (E_BLOCK_SILVERFISH_EGG);
489  constexpr cDefaultItemHandler ItemSlimeballHandler (E_ITEM_SLIMEBALL);
490  constexpr cDefaultItemHandler ItemSlimeBlockHandler (E_BLOCK_SLIME_BLOCK);
491  constexpr cItemSnowballHandler ItemSnowballHandler (E_ITEM_SNOWBALL);
492  constexpr cDefaultItemHandler ItemSnowBlockHandler (E_BLOCK_SNOW_BLOCK);
493  constexpr cItemSnowHandler ItemSnowHandler (E_BLOCK_SNOW);
494  constexpr cDefaultItemHandler ItemSoulsandHandler (E_BLOCK_SOULSAND);
495  constexpr cItemSpawnEggHandler ItemSpawnEggHandler (E_ITEM_SPAWN_EGG);
496  constexpr cDefaultItemHandler ItemSpectralArrowHandler (E_ITEM_SPECTRAL_ARROW);
497  constexpr cItemSpiderEyeHandler ItemSpiderEyeHandler (E_ITEM_SPIDER_EYE);
498  constexpr cItemPotionHandler ItemSplashPotionHandler (E_ITEM_SPLASH_POTION);
499  constexpr cDefaultItemHandler ItemSpongeHandler (E_BLOCK_SPONGE);
500  constexpr cItemBoatHandler ItemSpruceBoatHandler (E_ITEM_SPRUCE_BOAT);
501  constexpr cDefaultItemHandler ItemSpruceDoorBlockHandler (E_BLOCK_SPRUCE_DOOR);
502  constexpr cItemDoorHandler ItemSpruceDoorHandler (E_ITEM_SPRUCE_DOOR);
503  constexpr cItemFenceGateHandler ItemSpruceFenceGateHandler (E_BLOCK_SPRUCE_FENCE_GATE);
504  constexpr cDefaultItemHandler ItemSpruceFenceHandler (E_BLOCK_SPRUCE_FENCE);
505  constexpr cItemStairsHandler ItemSpruceStairsHandler (E_BLOCK_SPRUCE_WOOD_STAIRS);
506  constexpr cDefaultItemHandler ItemStainedGlassHandler (E_BLOCK_STAINED_GLASS);
507  constexpr cDefaultItemHandler ItemStainedGlassPaneHandler (E_BLOCK_STAINED_GLASS_PANE);
508  constexpr cDefaultItemHandler ItemStalDiscHandler (E_ITEM_STAL_DISC);
509  constexpr cDefaultItemHandler ItemStandingBannerHandler (E_BLOCK_STANDING_BANNER);
510  constexpr cDefaultItemHandler ItemStationaryLavaHandler (E_BLOCK_STATIONARY_LAVA);
511  constexpr cDefaultItemHandler ItemStationaryWaterHandler (E_BLOCK_STATIONARY_WATER);
512  constexpr cDefaultItemHandler ItemStickHandler (E_ITEM_STICK);
513  constexpr cItemPistonHandler ItemStickyPistonHandler (E_BLOCK_STICKY_PISTON);
514  constexpr cItemAxeHandler ItemStoneAxeHandler (E_ITEM_STONE_AXE);
515  constexpr cDefaultItemHandler ItemStoneBricksHandler (E_BLOCK_STONE_BRICKS);
516  constexpr cItemStairsHandler ItemStoneBrickStairsHandler (E_BLOCK_STONE_BRICK_STAIRS);
517  constexpr cItemButtonHandler ItemStoneButtonHandler (E_BLOCK_STONE_BUTTON);
518  constexpr cDefaultItemHandler ItemStoneHandler (E_BLOCK_STONE);
519  constexpr cItemHoeHandler ItemStoneHoeHandler (E_ITEM_STONE_HOE);
520  constexpr cItemPickaxeHandler ItemStonePickaxeHandler (E_ITEM_STONE_PICKAXE);
521  constexpr cDefaultItemHandler ItemStonePressurePlateHandler (E_BLOCK_STONE_PRESSURE_PLATE);
522  constexpr cItemShovelHandler ItemStoneShovelHandler (E_ITEM_STONE_SHOVEL);
523  constexpr cItemSlabHandler ItemStoneSlabHandler (E_BLOCK_STONE_SLAB);
524  constexpr cItemSwordHandler ItemStoneSwordHandler (E_ITEM_STONE_SWORD);
525  constexpr cDefaultItemHandler ItemStradDiscHandler (E_ITEM_STRAD_DISC);
526  constexpr cSimplePlaceableItemHandler ItemStringHandler (E_ITEM_STRING, E_BLOCK_TRIPWIRE);
527  constexpr cDefaultItemHandler ItemStructureBlockHandler (E_BLOCK_STRUCTURE_BLOCK);
528  constexpr cDefaultItemHandler ItemStructureVoidHandler (E_BLOCK_STRUCTURE_VOID);
529  constexpr cDefaultItemHandler ItemSugarCaneBlockHandler (E_BLOCK_SUGARCANE);
530  constexpr cSimplePlaceableItemHandler ItemSugarCaneHandler (E_ITEM_SUGARCANE, E_BLOCK_SUGARCANE);
531  constexpr cDefaultItemHandler ItemSugarHandler (E_ITEM_SUGAR);
532  constexpr cDefaultItemHandler ItemTallGrassHandler (E_BLOCK_TALL_GRASS);
533  constexpr cDefaultItemHandler ItemTerracottaHandler (E_BLOCK_TERRACOTTA);
534  constexpr cDefaultItemHandler ItemTippedArrowHandler (E_ITEM_TIPPED_ARROW);
535  constexpr cDefaultItemHandler ItemTNTHandler (E_BLOCK_TNT);
536  constexpr cItemTorchHandler ItemTorchHandler (E_BLOCK_TORCH);
537  constexpr cDefaultItemHandler ItemTotemOfUndyingHandler (E_ITEM_TOTEM_OF_UNDYING);
538  constexpr cItemChestHandler ItemTrappedChestHandler (E_BLOCK_TRAPPED_CHEST);
539  constexpr cDefaultItemHandler ItemTripwireHandler (E_BLOCK_TRIPWIRE);
540  constexpr cItemTripwireHookHandler ItemTripwireHookHandler (E_BLOCK_TRIPWIRE_HOOK);
541  constexpr cItemVinesHandler ItemVinesHandler (E_BLOCK_VINES);
542  constexpr cDefaultItemHandler ItemWaitDiscHandler (E_ITEM_WAIT_DISC);
543  constexpr cDefaultItemHandler ItemWallBannerHandler (E_BLOCK_WALL_BANNER);
544  constexpr cDefaultItemHandler ItemWallsignHandler (E_BLOCK_WALLSIGN);
545  constexpr cDefaultItemHandler ItemWardDiscHandler (E_ITEM_WARD_DISC);
546  constexpr cItemBucketHandler ItemWaterBucketHandler (E_ITEM_WATER_BUCKET);
547  constexpr cDefaultItemHandler ItemWaterHandler (E_BLOCK_WATER);
548  constexpr cDefaultItemHandler ItemWheatBlockHandler (E_BLOCK_WHEAT);
549  constexpr cDefaultItemHandler ItemWheatHandler (E_ITEM_WHEAT);
550  constexpr cItemGlazedTerracottaHandler ItemWhiteGlazedTerracottaHandler (E_BLOCK_WHITE_GLAZED_TERRACOTTA);
551  constexpr cDefaultItemHandler ItemWhiteShulkerBoxHandler (E_BLOCK_WHITE_SHULKER_BOX);
552  constexpr cItemAxeHandler ItemWoodenAxeHandler (E_ITEM_WOODEN_AXE);
553  constexpr cItemHoeHandler ItemWoodenHoeHandler (E_ITEM_WOODEN_HOE);
554  constexpr cItemPickaxeHandler ItemWoodenPickaxeHandler (E_ITEM_WOODEN_PICKAXE);
555  constexpr cDefaultItemHandler ItemWoodenPressurePlateHandler (E_BLOCK_WOODEN_PRESSURE_PLATE);
556  constexpr cItemShovelHandler ItemWoodenShovelHandler (E_ITEM_WOODEN_SHOVEL);
557  constexpr cItemSwordHandler ItemWoodenSwordHandler (E_ITEM_WOODEN_SWORD);
558  constexpr cItemClothHandler ItemWoolHandler (E_BLOCK_WOOL);
559  constexpr cDefaultItemHandler ItemWorkbenchHandler (E_BLOCK_WORKBENCH);
560  constexpr cDefaultItemHandler ItemWrittenBookHandler (E_ITEM_WRITTEN_BOOK);
561  constexpr cItemGlazedTerracottaHandler ItemYellowGlazedTerracottaHandler (E_BLOCK_YELLOW_GLAZED_TERRACOTTA);
562  constexpr cDefaultItemHandler ItemYellowShulkerBoxHandler (E_BLOCK_YELLOW_SHULKER_BOX);
563 }
564 
565 
566 
567 
568 
569 const cItemHandler & cItemHandler::For(int a_ItemType)
570 {
571  switch (a_ItemType)
572  {
573  case E_BLOCK_ACACIA_DOOR: return ItemAcaciaDoorBlockHandler;
574  case E_BLOCK_ACACIA_FENCE: return ItemAcaciaFenceHandler;
575  case E_BLOCK_ACACIA_FENCE_GATE: return ItemAcaciaFenceGateHandler;
576  case E_BLOCK_ACACIA_WOOD_STAIRS: return ItemAcaciaStairsHandler;
577  case E_BLOCK_ACTIVATOR_RAIL: return ItemActivatorRailHandler;
578  case E_BLOCK_ACTIVE_COMPARATOR: return ItemActiveComparatorHandler;
579  case E_BLOCK_AIR: return ItemAirHandler;
580  case E_BLOCK_ANVIL: return ItemAnvilHandler;
581  case E_BLOCK_BARRIER: return ItemBarrierHandler;
582  case E_BLOCK_BEACON: return ItemBeaconHandler;
583  case E_BLOCK_BED: return ItemBedBlockHandler;
584  case E_BLOCK_BEDROCK: return ItemBedrockHandler;
585  case E_BLOCK_BEETROOTS: return ItemBeetrootsBlockHandler;
586  case E_BLOCK_BIG_FLOWER: return ItemBigFlowerHandler;
587  case E_BLOCK_BIRCH_DOOR: return ItemBirchDoorBlockHandler;
588  case E_BLOCK_BIRCH_FENCE: return ItemBirchFenceHandler;
589  case E_BLOCK_BIRCH_FENCE_GATE: return ItemBirchFenceGateHandler;
590  case E_BLOCK_BIRCH_WOOD_STAIRS: return ItemBirchStairsHandler;
591  case E_BLOCK_BLACK_GLAZED_TERRACOTTA: return ItemBlackGlazedTerracottaHandler;
592  case E_BLOCK_BLACK_SHULKER_BOX: return ItemBlackShulkerBoxHandler;
593  case E_BLOCK_BLOCK_OF_COAL: return ItemCoalBlockHandler;
594  case E_BLOCK_BLOCK_OF_REDSTONE: return ItemRedstoneBlockHandler;
595  case E_BLOCK_BLUE_GLAZED_TERRACOTTA: return ItemBlueGlazedTerracottaHandler;
596  case E_BLOCK_BLUE_SHULKER_BOX: return ItemBlueShulkerBoxHandler;
597  case E_BLOCK_BONE_BLOCK: return ItemBoneBlockHandler;
598  case E_BLOCK_BOOKCASE: return ItemBookshelfHandler;
599  case E_BLOCK_BREWING_STAND: return ItemBrewingStandBlockHandler;
600  case E_BLOCK_BRICK: return ItemBrickHandler;
601  case E_BLOCK_BRICK_STAIRS: return ItemBricksStairsHandler;
602  case E_BLOCK_BROWN_GLAZED_TERRACOTTA: return ItemBrownGlazedTerracottaHandler;
603  case E_BLOCK_BROWN_MUSHROOM: return ItemBrownMushroomBlockHandler;
604  case E_BLOCK_BROWN_SHULKER_BOX: return ItemBrownShulkerBoxHandler;
605  case E_BLOCK_CACTUS: return ItemCactusHandler;
606  case E_BLOCK_CAKE: return ItemCakeBlockHandler;
607  case E_BLOCK_CARPET: return ItemCarpetHandler;
608  case E_BLOCK_CARROTS: return ItemCarrotsBlockHandler;
609  case E_BLOCK_CAULDRON: return ItemCauldronBlockHandler;
610  case E_BLOCK_CHAIN_COMMAND_BLOCK: return ItemChainCommandBlockHandler;
611  case E_BLOCK_CHEST: return ItemChestHandler;
612  case E_BLOCK_CHORUS_FLOWER: return ItemChorusFlowerHandler;
613  case E_BLOCK_CHORUS_PLANT: return ItemChorusPlantHandler;
614  case E_BLOCK_CLAY: return ItemClayBlockHandler;
615  case E_BLOCK_COAL_ORE: return ItemCoalOreHandler;
616  case E_BLOCK_COBBLESTONE: return ItemCobblestoneHandler;
617  case E_BLOCK_COBBLESTONE_STAIRS: return ItemCobblestoneStairsHandler;
618  case E_BLOCK_COBBLESTONE_WALL: return ItemCobblestoneWallHandler;
619  case E_BLOCK_COBWEB: return ItemCobwebHandler;
620  case E_BLOCK_COCOA_POD: return ItemCocoaPodHandler;
621  case E_BLOCK_COMMAND_BLOCK: return ItemCommandBlockHandler;
622  case E_BLOCK_CONCRETE: return ItemConcreteBlockHandler;
623  case E_BLOCK_CONCRETE_POWDER: return ItemConcretePowderHandler;
624  case E_BLOCK_CRAFTING_TABLE: return ItemWorkbenchHandler;
625  case E_BLOCK_CYAN_GLAZED_TERRACOTTA: return ItemCyanGlazedTerracottaHandler;
626  case E_BLOCK_CYAN_SHULKER_BOX: return ItemCyanShulkerBoxHandler;
627  case E_BLOCK_DANDELION: return ItemDandelionHandler;
628  case E_BLOCK_DARK_OAK_DOOR: return ItemDarkOakDoorBlockHandler;
629  case E_BLOCK_DARK_OAK_FENCE: return ItemDarkOakFenceHandler;
630  case E_BLOCK_DARK_OAK_FENCE_GATE: return ItemDarkOakFenceGateHandler;
631  case E_BLOCK_DARK_OAK_WOOD_STAIRS: return ItemDarkOakStairsHandler;
632  case E_BLOCK_DAYLIGHT_SENSOR: return ItemDaylightSensorBlockHandler;
633  case E_BLOCK_DEAD_BUSH: return ItemDeadBushHandler;
634  case E_BLOCK_DETECTOR_RAIL: return ItemDetectorRailHandler;
635  case E_BLOCK_DIAMOND_BLOCK: return ItemDiamondBlockHandler;
636  case E_BLOCK_DIAMOND_ORE: return ItemDiamondOreHandler;
637  case E_BLOCK_DIRT: return ItemDirtHandler;
638  case E_BLOCK_DISPENSER: return ItemDispenserHandler;
639  case E_BLOCK_DOUBLE_RED_SANDSTONE_SLAB: return ItemDoubleRedSandstoneSlabHandler;
640  case E_BLOCK_DOUBLE_STONE_SLAB: return ItemDoubleStoneSlabHandler;
641  case E_BLOCK_DOUBLE_WOODEN_SLAB: return ItemDoubleOakSlabHandler;
642  case E_BLOCK_DRAGON_EGG: return ItemDragonEggBlockHandler;
643  case E_BLOCK_DROPPER: return ItemDropperHandler;
644  case E_BLOCK_EMERALD_BLOCK: return ItemEmeraldBlockHandler;
645  case E_BLOCK_EMERALD_ORE: return ItemEmeraldOreHandler;
646  case E_BLOCK_ENCHANTMENT_TABLE: return ItemEnchantingTableHandler;
647  case E_BLOCK_ENDER_CHEST: return ItemEnderChestHandler;
648  case E_BLOCK_END_BRICKS: return ItemEndBricksHandler;
649  case E_BLOCK_END_GATEWAY: return ItemEndGatewayHandler;
650  case E_BLOCK_END_PORTAL: return ItemEndPortalBlockHandler;
651  case E_BLOCK_END_PORTAL_FRAME: return ItemEndPortalFrameHandler;
652  case E_BLOCK_END_ROD: return ItemEndRodHandler;
653  case E_BLOCK_END_STONE: return ItemEndStoneBlockHandler;
654  case E_BLOCK_FARMLAND: return ItemFarmlandHandler;
655  case E_BLOCK_FENCE: return ItemOakFenceHandler;
656  case E_BLOCK_FIRE: return ItemFireBlockHandler;
657  case E_BLOCK_FLOWER: return ItemPoppyHandler;
658  case E_BLOCK_FLOWER_POT: return ItemFlowerPotBlockHandler;
659  case E_BLOCK_FROSTED_ICE: return ItemFrostedIceHandler;
660  case E_BLOCK_FURNACE: return ItemFurnaceHandler;
661  case E_BLOCK_GLASS: return ItemGlassHandler;
662  case E_BLOCK_GLASS_PANE: return ItemGlassPaneHandler;
663  case E_BLOCK_GLOWSTONE: return ItemGlowstoneBlockHandler;
664  case E_BLOCK_GOLD_BLOCK: return ItemGoldBlockHandler;
665  case E_BLOCK_GOLD_ORE: return ItemGoldOreHandler;
666  case E_BLOCK_GRASS: return ItemGrassBlockHandler;
667  case E_BLOCK_GRASS_PATH: return ItemGrassPathHandler;
668  case E_BLOCK_GRAVEL: return ItemGravelHandler;
669  case E_BLOCK_GRAY_GLAZED_TERRACOTTA: return ItemGrayGlazedTerracottaHandler;
670  case E_BLOCK_GRAY_SHULKER_BOX: return ItemGrayShulkerBoxHandler;
671  case E_BLOCK_GREEN_GLAZED_TERRACOTTA: return ItemGreenGlazedTerracottaHandler;
672  case E_BLOCK_GREEN_SHULKER_BOX: return ItemGreenShulkerBoxHandler;
673  case E_BLOCK_HARDENED_CLAY: return ItemHardenedClayHandler;
674  case E_BLOCK_HAY_BALE: return ItemHayBaleHandler;
675  case E_BLOCK_HEAD: return ItemHeadBlockHandler;
676  case E_BLOCK_HEAVY_WEIGHTED_PRESSURE_PLATE: return ItemHeavyWeightedPressurePlateHandler;
677  case E_BLOCK_HOPPER: return ItemHopperHandler;
678  case E_BLOCK_HUGE_BROWN_MUSHROOM: return ItemHugeBrownMushroomBlockHandler;
679  case E_BLOCK_HUGE_RED_MUSHROOM: return ItemHugeRedMushroomBlockHandler;
680  case E_BLOCK_ICE: return ItemIceHandler;
681  case E_BLOCK_INACTIVE_COMPARATOR: return ItemInactiveComparatorHandler;
682  case E_BLOCK_INVERTED_DAYLIGHT_SENSOR: return ItemInvertedDaylightSensorHandler;
683  case E_BLOCK_IRON_BARS: return ItemIronBarsBlockHandler;
684  case E_BLOCK_IRON_BLOCK: return ItemIronBlockHandler;
685  case E_BLOCK_IRON_DOOR: return ItemIronDoorBlockHandler;
686  case E_BLOCK_IRON_ORE: return ItemIronOreHandler;
687  case E_BLOCK_IRON_TRAPDOOR: return ItemIronTrapdoorHandler;
688  case E_BLOCK_JACK_O_LANTERN: return ItemJackOLanternHandler;
689  case E_BLOCK_JUKEBOX: return ItemJukeboxHandler;
690  case E_BLOCK_JUNGLE_DOOR: return ItemJungleDoorBlockHandler;
691  case E_BLOCK_JUNGLE_FENCE: return ItemJungleFenceHandler;
692  case E_BLOCK_JUNGLE_FENCE_GATE: return ItemJungleFenceGateHandler;
693  case E_BLOCK_JUNGLE_WOOD_STAIRS: return ItemJungleStairsHandler;
694  case E_BLOCK_LADDER: return ItemLadderHandler;
695  case E_BLOCK_LAPIS_BLOCK: return ItemLapisBlockHandler;
696  case E_BLOCK_LAPIS_ORE: return ItemLapisOreHandler;
697  case E_BLOCK_LAVA: return ItemLavaHandler;
698  case E_BLOCK_LEAVES: return ItemLeavesHandler;
699  case E_BLOCK_LEVER: return ItemLeverHandler;
700  case E_BLOCK_LIGHT_BLUE_GLAZED_TERRACOTTA: return ItemLightBlueGlazedTerracottaHandler;
701  case E_BLOCK_LIGHT_BLUE_SHULKER_BOX: return ItemLightBlueShulkerBoxHandler;
702  case E_BLOCK_LIGHT_GRAY_GLAZED_TERRACOTTA: return ItemLightGrayGlazedTerracottaHandler;
703  case E_BLOCK_LIGHT_GRAY_SHULKER_BOX: return ItemLightGrayShulkerBoxHandler;
704  case E_BLOCK_LIGHT_WEIGHTED_PRESSURE_PLATE: return ItemLightWeightedPressurePlateHandler;
705  case E_BLOCK_LILY_PAD: return ItemLilypadHandler;
706  case E_BLOCK_LIME_GLAZED_TERRACOTTA: return ItemLimeGlazedTerracottaHandler;
707  case E_BLOCK_LIME_SHULKER_BOX: return ItemLimeShulkerBoxHandler;
708  case E_BLOCK_LIT_FURNACE: return ItemLitFurnaceHandler;
709  case E_BLOCK_LOG: return ItemLogHandler;
710  case E_BLOCK_MAGENTA_GLAZED_TERRACOTTA: return ItemMagentaGlazedTerracottaHandler;
711  case E_BLOCK_MAGENTA_SHULKER_BOX: return ItemMagentaShulkerBoxHandler;
712  case E_BLOCK_MAGMA: return ItemMagmaBlockHandler;
713  case E_BLOCK_MELON: return ItemMelonBlockHandler;
714  case E_BLOCK_MELON_STEM: return ItemMelonStemHandler;
715  case E_BLOCK_MOB_SPAWNER: return ItemMobSpawnerBlockHandler;
716  case E_BLOCK_MOSSY_COBBLESTONE: return ItemMossyCobblestoneHandler;
717  case E_BLOCK_MYCELIUM: return ItemMyceliumHandler;
718  case E_BLOCK_NETHERRACK: return ItemNetherrackHandler;
719  case E_BLOCK_NETHER_BRICK: return ItemNetherBricksHandler;
720  case E_BLOCK_NETHER_BRICK_FENCE: return ItemNetherBrickFenceHandler;
721  case E_BLOCK_NETHER_BRICK_STAIRS: return ItemNetherBrickStairsHandler;
722  case E_BLOCK_NETHER_PORTAL: return ItemNetherPortalBlockHandler;
723  case E_BLOCK_NETHER_QUARTZ_ORE: return ItemNetherQuartzOreHandler;
724  case E_BLOCK_NETHER_WART: return ItemNetherWartTechnicalBlockHandler;
725  case E_BLOCK_NETHER_WART_BLOCK: return ItemNetherWartBlockHandler;
726  case E_BLOCK_NEW_LEAVES: return ItemNewLeavesHandler;
727  case E_BLOCK_NEW_LOG: return ItemNewLogHandler;
728  case E_BLOCK_NOTE_BLOCK: return ItemNoteBlockHandler;
729  case E_BLOCK_OAK_DOOR: return ItemOakDoorBlockHandler;
730  case E_BLOCK_OAK_FENCE_GATE: return ItemOakFenceGateHandler;
731  case E_BLOCK_OAK_WOOD_STAIRS: return ItemOakStairsHandler;
732  case E_BLOCK_OBSERVER: return ItemObserverHandler;
733  case E_BLOCK_OBSIDIAN: return ItemObsidianHandler;
734  case E_BLOCK_ORANGE_GLAZED_TERRACOTTA: return ItemOrangeGlazedTerracottaHandler;
735  case E_BLOCK_ORANGE_SHULKER_BOX: return ItemOrangeShulkerBoxHandler;
736  case E_BLOCK_PACKED_ICE: return ItemPackedIceHandler;
737  case E_BLOCK_PINK_GLAZED_TERRACOTTA: return ItemPinkGlazedTerracottaHandler;
738  case E_BLOCK_PINK_SHULKER_BOX: return ItemPinkShulkerBoxHandler;
739  case E_BLOCK_PISTON: return ItemPistonHandler;
740  case E_BLOCK_PISTON_EXTENSION: return ItemPistonExtensionHandler;
741  case E_BLOCK_PISTON_MOVED_BLOCK: return ItemPistonMovedBlockHandler;
742  case E_BLOCK_PLANKS: return ItemPlanksHandler;
743  case E_BLOCK_POTATOES: return ItemPotatoesBlockHandler;
744  case E_BLOCK_POWERED_RAIL: return ItemPoweredRailHandler;
745  case E_BLOCK_PRISMARINE_BLOCK: return ItemPrismarineBlockHandler;
746  case E_BLOCK_PUMPKIN: return ItemPumpkinHandler;
747  case E_BLOCK_PUMPKIN_STEM: return ItemPumpkinStemHandler;
748  case E_BLOCK_PURPLE_GLAZED_TERRACOTTA: return ItemPurpleGlazedTerracottaHandler;
749  case E_BLOCK_PURPLE_SHULKER_BOX: return ItemPurpleShulkerBoxHandler;
750  case E_BLOCK_PURPUR_BLOCK: return ItemPurpurBlockHandler;
751  case E_BLOCK_PURPUR_DOUBLE_SLAB: return ItemPurpurDoubleSlabHandler;
752  case E_BLOCK_PURPUR_PILLAR: return ItemPurpurPillarHandler;
753  case E_BLOCK_PURPUR_SLAB: return ItemPurpurSlabHandler;
754  case E_BLOCK_PURPUR_STAIRS: return ItemPurpurStairsHandler;
755  case E_BLOCK_QUARTZ_BLOCK: return ItemQuartzBlockHandler;
756  case E_BLOCK_QUARTZ_STAIRS: return ItemQuartzStairsHandler;
757  case E_BLOCK_RAIL: return ItemRailHandler;
758  case E_BLOCK_REDSTONE_LAMP_OFF: return ItemRedstoneLampOffHandler;
759  case E_BLOCK_REDSTONE_LAMP_ON: return ItemRedstoneLampOnHandler;
760  case E_BLOCK_REDSTONE_ORE: return ItemRedstoneOreHandler;
761  case E_BLOCK_REDSTONE_ORE_GLOWING: return ItemRedstoneOreGlowingHandler;
762  case E_BLOCK_REDSTONE_REPEATER_OFF: return ItemRedstoneRepeaterOffHandler;
763  case E_BLOCK_REDSTONE_REPEATER_ON: return ItemRedstoneRepeaterOnHandler;
764  case E_BLOCK_REDSTONE_TORCH_OFF: return ItemRedstoneTorchOffBlockHandler;
765  case E_BLOCK_REDSTONE_TORCH_ON: return ItemRedstoneTorchHandler;
766  case E_BLOCK_REDSTONE_WIRE: return ItemRedstoneWireHandler;
767  case E_BLOCK_RED_GLAZED_TERRACOTTA: return ItemRedGlazedTerracottaHandler;
768  case E_BLOCK_RED_MUSHROOM: return ItemRedMushroomBlockHandler;
769  case E_BLOCK_RED_NETHER_BRICK: return ItemRedNetherBricksHandler;
770  case E_BLOCK_RED_SANDSTONE: return ItemRedSandstoneHandler;
771  case E_BLOCK_RED_SANDSTONE_SLAB: return ItemRedSandstoneSlabHandler;
772  case E_BLOCK_RED_SANDSTONE_STAIRS: return ItemRedSandstoneStairsHandler;
773  case E_BLOCK_RED_SHULKER_BOX: return ItemRedShulkerBoxHandler;
774  case E_BLOCK_REPEATING_COMMAND_BLOCK: return ItemRepeatingCommandBlockHandler;
775  case E_BLOCK_SAND: return ItemSandHandler;
776  case E_BLOCK_SANDSTONE: return ItemSandstoneHandler;
777  case E_BLOCK_SANDSTONE_STAIRS: return ItemSandstoneStairsHandler;
778  case E_BLOCK_SAPLING: return ItemSaplingHandler;
779  case E_BLOCK_SEA_LANTERN: return ItemSeaLanternHandler;
780  case E_BLOCK_SIGN_POST: return ItemSignPostHandler;
781  case E_BLOCK_SILVERFISH_EGG: return ItemSilverfishEggBlockHandler;
782  case E_BLOCK_SLIME_BLOCK: return ItemSlimeBlockHandler;
783  case E_BLOCK_SNOW: return ItemSnowHandler;
784  case E_BLOCK_SNOW_BLOCK: return ItemSnowBlockHandler;
785  case E_BLOCK_SOULSAND: return ItemSoulsandHandler;
786  case E_BLOCK_SPONGE: return ItemSpongeHandler;
787  case E_BLOCK_SPRUCE_DOOR: return ItemSpruceDoorBlockHandler;
788  case E_BLOCK_SPRUCE_FENCE: return ItemSpruceFenceHandler;
789  case E_BLOCK_SPRUCE_FENCE_GATE: return ItemSpruceFenceGateHandler;
790  case E_BLOCK_SPRUCE_WOOD_STAIRS: return ItemSpruceStairsHandler;
791  case E_BLOCK_STAINED_GLASS: return ItemStainedGlassHandler;
792  case E_BLOCK_STAINED_GLASS_PANE: return ItemStainedGlassPaneHandler;
793  case E_BLOCK_STANDING_BANNER: return ItemStandingBannerHandler;
794  case E_BLOCK_STATIONARY_LAVA : return ItemStationaryLavaHandler;
795  case E_BLOCK_STATIONARY_WATER: return ItemStationaryWaterHandler;
796  case E_BLOCK_STICKY_PISTON: return ItemStickyPistonHandler;
797  case E_BLOCK_STONE: return ItemStoneHandler;
798  case E_BLOCK_STONE_BRICKS: return ItemStoneBricksHandler;
799  case E_BLOCK_STONE_BRICK_STAIRS: return ItemStoneBrickStairsHandler;
800  case E_BLOCK_STONE_BUTTON: return ItemStoneButtonHandler;
801  case E_BLOCK_STONE_PRESSURE_PLATE: return ItemStonePressurePlateHandler;
802  case E_BLOCK_STONE_SLAB: return ItemStoneSlabHandler;
803  case E_BLOCK_STRUCTURE_BLOCK: return ItemStructureBlockHandler;
804  case E_BLOCK_STRUCTURE_VOID: return ItemStructureVoidHandler;
805  case E_BLOCK_SUGARCANE: return ItemSugarCaneBlockHandler;
806  case E_BLOCK_TALL_GRASS: return ItemTallGrassHandler;
807  case E_BLOCK_TERRACOTTA: return ItemTerracottaHandler;
808  case E_BLOCK_TNT: return ItemTNTHandler;
809  case E_BLOCK_TORCH: return ItemTorchHandler;
810  case E_BLOCK_TRAPDOOR: return ItemOakTrapdoorHandler;
811  case E_BLOCK_TRAPPED_CHEST: return ItemTrappedChestHandler;
812  case E_BLOCK_TRIPWIRE: return ItemTripwireHandler;
813  case E_BLOCK_TRIPWIRE_HOOK: return ItemTripwireHookHandler;
814  case E_BLOCK_VINES: return ItemVinesHandler;
815  case E_BLOCK_WALLSIGN: return ItemWallsignHandler;
816  case E_BLOCK_WALL_BANNER: return ItemWallBannerHandler;
817  case E_BLOCK_WATER: return ItemWaterHandler;
818  case E_BLOCK_WHEAT: return ItemWheatBlockHandler;
819  case E_BLOCK_WHITE_GLAZED_TERRACOTTA: return ItemWhiteGlazedTerracottaHandler;
820  case E_BLOCK_WHITE_SHULKER_BOX: return ItemWhiteShulkerBoxHandler;
821  case E_BLOCK_WOODEN_BUTTON: return ItemOakButtonHandler;
822  case E_BLOCK_WOODEN_PRESSURE_PLATE: return ItemWoodenPressurePlateHandler;
823  case E_BLOCK_WOODEN_SLAB: return ItemOakSlabHandler;
824  case E_BLOCK_WOOL: return ItemWoolHandler;
825  case E_BLOCK_YELLOW_GLAZED_TERRACOTTA: return ItemYellowGlazedTerracottaHandler;
826  case E_BLOCK_YELLOW_SHULKER_BOX: return ItemYellowShulkerBoxHandler;
827  case E_ITEM_11_DISC: return Item11DiscHandler;
828  case E_ITEM_13_DISC: return Item13DiscHandler;
829  case E_ITEM_ACACIA_BOAT: return ItemAcaciaBoatHandler;
830  case E_ITEM_ACACIA_DOOR: return ItemAcaciaDoorHandler;
831  case E_ITEM_ARMOR_STAND: return ItemArmorStandHandler;
832  case E_ITEM_ARROW: return ItemArrowHandler;
833  case E_ITEM_BAKED_POTATO: return ItemBakedPotatoHandler;
834  case E_ITEM_BANNER: return ItemBannerHandler;
835  case E_ITEM_BED: return ItemBedHandler;
836  case E_ITEM_BEETROOT: return ItemBeetrootHandler;
837  case E_ITEM_BEETROOT_SEEDS: return ItemBeetrootSeedsHandler;
838  case E_ITEM_BEETROOT_SOUP: return ItemBeetrootSoupHandler;
839  case E_ITEM_BIRCH_BOAT: return ItemBirchBoatHandler;
840  case E_ITEM_BIRCH_DOOR: return ItemBirchDoorHandler;
841  case E_ITEM_BLAZE_POWDER: return ItemBlazePowderHandler;
842  case E_ITEM_BLAZE_ROD: return ItemBlazeRodHandler;
843  case E_ITEM_BLOCKS_DISC: return ItemBlocksDiscHandler;
844  case E_ITEM_BOAT: return ItemOakBoatHandler;
845  case E_ITEM_BONE: return ItemBoneHandler;
846  case E_ITEM_BOOK: return ItemBookHandler;
847  case E_ITEM_BOOK_AND_QUILL: return ItemBookAndQuillHandler;
848  case E_ITEM_BOTTLE_O_ENCHANTING: return ItemBottleOEnchantingHandler;
849  case E_ITEM_BOW: return ItemBowHandler;
850  case E_ITEM_BOWL: return ItemBowlHandler;
851  case E_ITEM_BREAD: return ItemBreadHandler;
852  case E_ITEM_BREWING_STAND: return ItemBrewingStandHandler;
853  case E_ITEM_BUCKET: return ItemBucketHandler;
854  case E_ITEM_CAKE: return ItemCakeHandler;
855  case E_ITEM_CARROT: return ItemCarrotHandler;
856  case E_ITEM_CARROT_ON_STICK: return ItemCarrotOnStickHandler;
857  case E_ITEM_CAT_DISC: return ItemCatDiscHandler;
858  case E_ITEM_CAULDRON: return ItemCauldronHandler;
859  case E_ITEM_CHAIN_BOOTS: return ItemChainBootsHandler;
860  case E_ITEM_CHAIN_CHESTPLATE: return ItemChainChestplateHandler;
861  case E_ITEM_CHAIN_HELMET: return ItemChainHelmetHandler;
862  case E_ITEM_CHAIN_LEGGINGS: return ItemChainLeggingsHandler;
863  case E_ITEM_CHEST_MINECART: return ItemChestMinecartHandler;
864  case E_ITEM_CHIRP_DISC: return ItemChirpDiscHandler;
865  case E_ITEM_CHORUS_FRUIT: return ItemChorusFruitHandler;
866  case E_ITEM_CLAY: return ItemClayHandler;
867  case E_ITEM_CLAY_BRICK: return ItemBricksHandler;
868  case E_ITEM_CLOCK: return ItemClockHandler;
869  case E_ITEM_COAL: return ItemCoalHandler;
870  case E_ITEM_COMPARATOR: return ItemComparatorHandler;
871  case E_ITEM_COMPASS: return ItemCompassHandler;
872  case E_ITEM_COOKED_CHICKEN: return ItemCookedChickenHandler;
873  case E_ITEM_COOKED_FISH: return ItemCookedFishHandler;
874  case E_ITEM_COOKED_MUTTON: return ItemCookedMuttonHandler;
875  case E_ITEM_COOKED_PORKCHOP: return ItemCookedPorkchopHandler;
876  case E_ITEM_COOKED_RABBIT: return ItemCookedRabbitHandler;
877  case E_ITEM_COOKIE: return ItemCookieHandler;
878  case E_ITEM_DARK_OAK_BOAT: return ItemDarkOakBoatHandler;
879  case E_ITEM_DARK_OAK_DOOR: return ItemDarkOakDoorHandler;
880  case E_ITEM_DIAMOND: return ItemDiamondHandler;
881  case E_ITEM_DIAMOND_AXE: return ItemDiamondAxeHandler;
882  case E_ITEM_DIAMOND_BOOTS: return ItemDiamondBootsHandler;
883  case E_ITEM_DIAMOND_CHESTPLATE: return ItemDiamondChestplateHandler;
884  case E_ITEM_DIAMOND_HELMET: return ItemDiamondHelmetHandler;
885  case E_ITEM_DIAMOND_HOE: return ItemDiamondHoeHandler;
886  case E_ITEM_DIAMOND_HORSE_ARMOR: return ItemDiamondHorseArmorHandler;
887  case E_ITEM_DIAMOND_LEGGINGS: return ItemDiamondLeggingsHandler;
888  case E_ITEM_DIAMOND_PICKAXE: return ItemDiamondPickaxeHandler;
889  case E_ITEM_DIAMOND_SHOVEL: return ItemDiamondShovelHandler;
890  case E_ITEM_DIAMOND_SWORD: return ItemDiamondSwordHandler;
891  case E_ITEM_DRAGON_BREATH: return ItemDragonBreathHandler;
892  case E_ITEM_DYE: return ItemDyeHandler;
893  case E_ITEM_EGG: return ItemEggHandler;
894  case E_ITEM_ELYTRA: return ItemElytraHandler;
895  case E_ITEM_EMERALD: return ItemEmeraldHandler;
896  case E_ITEM_EMPTY_MAP: return ItemEmptyMapHandler;
897  case E_ITEM_ENCHANTED_BOOK: return ItemEnchantedBookHandler;
898  case E_ITEM_ENDER_PEARL: return ItemEnderPearlHandler;
899  case E_ITEM_END_CRYSTAL: return ItemEndCrystalHandler;
900  case E_ITEM_EYE_OF_ENDER: return ItemEyeOfEnderHandler;
901  case E_ITEM_FAR_DISC: return ItemFarDiscHandler;
902  case E_ITEM_FEATHER: return ItemFeatherHandler;
903  case E_ITEM_FERMENTED_SPIDER_EYE: return ItemFermentedSpiderEyeHandler;
904  case E_ITEM_FIREWORK_ROCKET: return ItemFireworkRocketHandler;
905  case E_ITEM_FIREWORK_STAR: return ItemFireworkStarHandler;
906  case E_ITEM_FIRE_CHARGE: return ItemFireChargeHandler;
907  case E_ITEM_FISHING_ROD: return ItemFishingRodHandler;
908  case E_ITEM_FLINT: return ItemFlintHandler;
909  case E_ITEM_FLINT_AND_STEEL: return ItemFlintAndSteelHandler;
910  case E_ITEM_FLOWER_POT: return ItemFlowerPotHandler;
911  case E_ITEM_FURNACE_MINECART: return ItemFurnaceMinecartHandler;
912  case E_ITEM_GHAST_TEAR: return ItemGhastTearHandler;
913  case E_ITEM_GLASS_BOTTLE: return ItemGlassBottleHandler;
914  case E_ITEM_GLISTERING_MELON: return ItemGlisteringMelonHandler;
915  case E_ITEM_GLOWSTONE_DUST: return ItemGlowstoneDustHandler;
916  case E_ITEM_GOLD: return ItemGoldHandler;
917  case E_ITEM_GOLDEN_APPLE: return ItemGoldenAppleHandler;
918  case E_ITEM_GOLDEN_CARROT: return ItemGoldenCarrotHandler;
919  case E_ITEM_GOLD_AXE: return ItemGoldenAxeHandler;
920  case E_ITEM_GOLD_BOOTS: return ItemGoldenBootsHandler;
921  case E_ITEM_GOLD_CHESTPLATE: return ItemGoldenChestplateHandler;
922  case E_ITEM_GOLD_HELMET: return ItemGoldenHelmetHandler;
923  case E_ITEM_GOLD_HOE: return ItemGoldenHoeHandler;
924  case E_ITEM_GOLD_HORSE_ARMOR: return ItemGoldenHorseArmorHandler;
925  case E_ITEM_GOLD_LEGGINGS: return ItemGoldenLeggingsHandler;
926  case E_ITEM_GOLD_NUGGET: return ItemGoldNuggetHandler;
927  case E_ITEM_GOLD_PICKAXE: return ItemGoldenPickaxeHandler;
928  case E_ITEM_GOLD_SHOVEL: return ItemGoldenShovelHandler;
929  case E_ITEM_GOLD_SWORD: return ItemGoldenSwordHandler;
930  case E_ITEM_GUNPOWDER: return ItemGunpowderHandler;
931  case E_ITEM_HEAD: return ItemHeadHandler;
932  case E_ITEM_IRON: return ItemIronHandler;
933  case E_ITEM_IRON_AXE: return ItemIronAxeHandler;
934  case E_ITEM_IRON_BOOTS: return ItemIronBootsHandler;
935  case E_ITEM_IRON_CHESTPLATE: return ItemIronChestplateHandler;
936  case E_ITEM_IRON_DOOR: return ItemIronDoorHandler;
937  case E_ITEM_IRON_HELMET: return ItemIronHelmetHandler;
938  case E_ITEM_IRON_HOE: return ItemIronHoeHandler;
939  case E_ITEM_IRON_HORSE_ARMOR: return ItemIronHorseArmorHandler;
940  case E_ITEM_IRON_LEGGINGS: return ItemIronLeggingsHandler;
941  case E_ITEM_IRON_NUGGET: return ItemIronNuggetHandler;
942  case E_ITEM_IRON_PICKAXE: return ItemIronPickaxeHandler;
943  case E_ITEM_IRON_SHOVEL: return ItemIronShovelHandler;
944  case E_ITEM_IRON_SWORD: return ItemIronSwordHandler;
945  case E_ITEM_ITEM_FRAME: return ItemItemFrameHandler;
946  case E_ITEM_JUNGLE_BOAT: return ItemJungleBoatHandler;
947  case E_ITEM_JUNGLE_DOOR: return ItemJungleDoorHandler;
948  case E_ITEM_LAVA_BUCKET: return ItemLavaBucketHandler;
949  case E_ITEM_LEASH: return ItemLeashHandler;
950  case E_ITEM_LEATHER: return ItemLeatherHandler;
951  case E_ITEM_LEATHER_BOOTS: return ItemLeatherBootsHandler;
952  case E_ITEM_LEATHER_CAP: return ItemLeatherCapHandler;
953  case E_ITEM_LEATHER_PANTS: return ItemLeatherPantsHandler;
954  case E_ITEM_LEATHER_TUNIC: return ItemLeatherTunicHandler;
955  case E_ITEM_LINGERING_POTION: return ItemLingeringPotionHandler;
956  case E_ITEM_MAGMA_CREAM: return ItemMagmaCreamHandler;
957  case E_ITEM_MALL_DISC: return ItemMallDiscHandler;
958  case E_ITEM_MAP: return ItemMapHandler;
959  case E_ITEM_MELLOHI_DISC: return ItemMellohiDiscHandler;
960  case E_ITEM_MELON_SEEDS: return ItemMelonSeedsHandler;
961  case E_ITEM_MELON_SLICE: return ItemMelonSliceHandler;
962  case E_ITEM_MILK: return ItemMilkHandler;
963  case E_ITEM_MINECART: return ItemMinecartHandler;
964  case E_ITEM_MINECART_WITH_COMMAND_BLOCK: return ItemMinecartWithCommandBlockHandler;
965  case E_ITEM_MINECART_WITH_HOPPER: return ItemMinecartWithHopperHandler;
966  case E_ITEM_MINECART_WITH_TNT: return ItemMinecartWithTNTHandler;
967  case E_ITEM_MUSHROOM_SOUP: return ItemMushroomSoupHandler;
968  case E_ITEM_NAME_TAG: return ItemNameTagHandler;
969  case E_ITEM_NETHER_BRICK: return ItemNetherBrickHandler;
970  case E_ITEM_NETHER_QUARTZ: return ItemNetherQuartzHandler;
971  case E_ITEM_NETHER_STAR: return ItemNetherStarHandler;
972  case E_ITEM_NETHER_WART: return ItemNetherWartHandler;
973  case E_ITEM_PAINTING: return ItemPaintingHandler;
974  case E_ITEM_PAPER: return ItemPaperHandler;
975  case E_ITEM_POISONOUS_POTATO: return ItemPoisonousPotatoHandler;
976  case E_ITEM_POPPED_CHORUS_FRUIT: return ItemPoppedChorusFruitHandler;
977  case E_ITEM_POTATO: return ItemPotatoHandler;
978  case E_ITEM_POTION: return ItemPotionHandler;
979  case E_ITEM_PRISMARINE_CRYSTALS: return ItemPrismarineCrystalsHandler;
980  case E_ITEM_PRISMARINE_SHARD: return ItemPrismarineShardHandler;
981  case E_ITEM_PUMPKIN_PIE: return ItemPumpkinPieHandler;
982  case E_ITEM_PUMPKIN_SEEDS: return ItemPumpkinSeedsHandler;
983  case E_ITEM_RABBITS_FOOT: return ItemRabbitsFootHandler;
984  case E_ITEM_RABBIT_HIDE: return ItemRabbitHideHandler;
985  case E_ITEM_RABBIT_STEW: return ItemRabbitStewHandler;
986  case E_ITEM_RAW_BEEF: return ItemRawBeefHandler;
987  case E_ITEM_RAW_CHICKEN: return ItemRawChickenHandler;
988  case E_ITEM_RAW_FISH: return ItemRawFishHandler;
989  case E_ITEM_RAW_MUTTON: return ItemRawMuttonHandler;
990  case E_ITEM_RAW_PORKCHOP: return ItemRawPorkchopHandler;
991  case E_ITEM_RAW_RABBIT: return ItemRawRabbitHandler;
992  case E_ITEM_REDSTONE_DUST: return ItemRedstoneDustHandler;
993  case E_ITEM_REDSTONE_REPEATER: return ItemRedstoneRepeaterHandler;
994  case E_ITEM_RED_APPLE: return ItemAppleHandler;
995  case E_ITEM_ROTTEN_FLESH: return ItemRottenFleshHandler;
996  case E_ITEM_SADDLE: return ItemSaddleHandler;
997  case E_ITEM_SEEDS: return ItemSeedsHandler;
998  case E_ITEM_SHEARS: return ItemShearsHandler;
999  case E_ITEM_SHIELD: return ItemShieldHandler;
1000  case E_ITEM_SHULKER_SHELL: return ItemShulkerShellHandler;
1001  case E_ITEM_SIGN: return ItemSignHandler;
1002  case E_ITEM_SLIMEBALL: return ItemSlimeballHandler;
1003  case E_ITEM_SNOWBALL: return ItemSnowballHandler;
1004  case E_ITEM_SPAWN_EGG: return ItemSpawnEggHandler;
1005  case E_ITEM_SPECTRAL_ARROW: return ItemSpectralArrowHandler;
1006  case E_ITEM_SPIDER_EYE: return ItemSpiderEyeHandler;
1007  case E_ITEM_SPLASH_POTION: return ItemSplashPotionHandler;
1008  case E_ITEM_SPRUCE_BOAT: return ItemSpruceBoatHandler;
1009  case E_ITEM_SPRUCE_DOOR: return ItemSpruceDoorHandler;
1010  case E_ITEM_STAL_DISC: return ItemStalDiscHandler;
1011  case E_ITEM_STEAK: return ItemCookedBeefHandler;
1012  case E_ITEM_STICK: return ItemStickHandler;
1013  case E_ITEM_STONE_AXE: return ItemStoneAxeHandler;
1014  case E_ITEM_STONE_HOE: return ItemStoneHoeHandler;
1015  case E_ITEM_STONE_PICKAXE: return ItemStonePickaxeHandler;
1016  case E_ITEM_STONE_SHOVEL: return ItemStoneShovelHandler;
1017  case E_ITEM_STONE_SWORD: return ItemStoneSwordHandler;
1018  case E_ITEM_STRAD_DISC: return ItemStradDiscHandler;
1019  case E_ITEM_STRING: return ItemStringHandler;
1020  case E_ITEM_SUGAR: return ItemSugarHandler;
1021  case E_ITEM_SUGAR_CANE: return ItemSugarCaneHandler;
1022  case E_ITEM_TIPPED_ARROW: return ItemTippedArrowHandler;
1023  case E_ITEM_TOTEM_OF_UNDYING: return ItemTotemOfUndyingHandler;
1024  case E_ITEM_WAIT_DISC: return ItemWaitDiscHandler;
1025  case E_ITEM_WARD_DISC: return ItemWardDiscHandler;
1026  case E_ITEM_WATER_BUCKET: return ItemWaterBucketHandler;
1027  case E_ITEM_WHEAT: return ItemWheatHandler;
1028  case E_ITEM_WOODEN_AXE: return ItemWoodenAxeHandler;
1029  case E_ITEM_WOODEN_DOOR: return ItemOakDoorHandler;
1030  case E_ITEM_WOODEN_HOE: return ItemWoodenHoeHandler;
1031  case E_ITEM_WOODEN_PICKAXE: return ItemWoodenPickaxeHandler;
1032  case E_ITEM_WOODEN_SHOVEL: return ItemWoodenShovelHandler;
1033  case E_ITEM_WOODEN_SWORD: return ItemWoodenSwordHandler;
1034  case E_ITEM_WRITTEN_BOOK: return ItemWrittenBookHandler;
1035 
1036  }
1037  ASSERT("Unknown item type!");
1038  return ItemAirHandler;
1039 }
1040 
1041 
1042 
1043 
1044 
1045 void cItemHandler::OnPlayerPlace(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_ClickedPosition, const BLOCKTYPE a_ClickedBlockType, const NIBBLETYPE a_ClickedBlockMeta, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const
1046 {
1047  const auto & World = *a_Player.GetWorld();
1048 
1049  // Check if the block ignores build collision (water, grass etc.):
1050  if (cBlockHandler::For(a_ClickedBlockType).DoesIgnoreBuildCollision(World, a_HeldItem, a_ClickedPosition, a_ClickedBlockMeta, a_ClickedBlockFace, true))
1051  {
1052  // Try to place the block at the clicked position:
1053  if (!CommitPlacement(a_Player, a_HeldItem, a_ClickedPosition, a_ClickedBlockFace, a_CursorPosition))
1054  {
1055  // The placement failed, the blocks have already been re-sent, re-send inventory:
1056  a_Player.GetInventory().SendEquippedSlot();
1057  return;
1058  }
1059  }
1060  else
1061  {
1062  BLOCKTYPE PlaceBlock;
1063  NIBBLETYPE PlaceMeta;
1064  const auto PlacePosition = AddFaceDirection(a_ClickedPosition, a_ClickedBlockFace);
1065 
1066  if (!cChunkDef::IsValidHeight(PlacePosition) || !World.GetBlockTypeMeta(PlacePosition, PlaceBlock, PlaceMeta))
1067  {
1068  // The block is being placed outside the world, ignore this packet altogether (GH #128):
1069  return;
1070  }
1071 
1072  // Clicked on side of block, make sure that placement won't be cancelled if there is a slab able to be double slabbed.
1073  // No need to do combinability (dblslab) checks, client will do that here.
1074  if (!cBlockHandler::For(PlaceBlock).DoesIgnoreBuildCollision(World, a_HeldItem, PlacePosition, PlaceMeta, a_ClickedBlockFace, false))
1075  {
1076  // Tried to place a block into another?
1077  // Happens when you place a block aiming at side of block with a torch on it or stem beside it.
1078  a_Player.SendBlocksAround(PlacePosition, 2);
1079  a_Player.GetInventory().SendEquippedSlot();
1080  return;
1081  }
1082 
1083  // Try to place the block:
1084  if (!CommitPlacement(a_Player, a_HeldItem, PlacePosition, a_ClickedBlockFace, a_CursorPosition))
1085  {
1086  // The placement failed, the blocks have already been re-sent, re-send inventory:
1087  a_Player.GetInventory().SendEquippedSlot();
1088  return;
1089  }
1090  }
1091 
1092  // Remove the "placed" item:
1093  if (a_Player.IsGameModeSurvival())
1094  {
1095  a_Player.GetInventory().RemoveOneEquippedItem();
1096  }
1097 }
1098 
1099 
1100 
1101 
1102 
1104  cWorld * a_World, cPlayer * a_Player, cBlockPluginInterface & a_PluginInterface, const cItem & a_Item,
1105  const Vector3i a_ClickedBlockPos, eBlockFace a_ClickedBlockFace
1106 ) const
1107 {
1108  UNUSED(a_World);
1109  UNUSED(a_Player);
1110  UNUSED(a_PluginInterface);
1111  UNUSED(a_Item);
1112  UNUSED(a_ClickedBlockPos);
1113  UNUSED(a_ClickedBlockFace);
1114 
1115  return false;
1116 }
1117 
1118 
1119 
1120 
1121 
1123  cWorld * a_World,
1124  cPlayer * a_Player,
1125  const cItem & a_HeldItem,
1126  const Vector3i a_ClickedBlockPos,
1127  eBlockFace a_ClickedBlockFace
1128 ) const
1129 {
1130  UNUSED(a_World);
1131  UNUSED(a_Player);
1132  UNUSED(a_HeldItem);
1133  UNUSED(a_ClickedBlockPos);
1134  UNUSED(a_ClickedBlockFace);
1135 
1136  return false;
1137 }
1138 
1139 
1140 
1141 
1142 
1143 void cItemHandler::OnEntityAttack(cPlayer * a_Attacker, cEntity * a_AttackedEntity) const
1144 {
1145  UNUSED(a_AttackedEntity);
1146  a_Attacker->UseEquippedItem(dlaAttackEntity);
1147 }
1148 
1149 
1150 
1151 
1152 
1153 void cItemHandler::OnFoodEaten(cWorld * a_World, cPlayer * a_Player, cItem * a_Item) const
1154 {
1155  UNUSED(a_World);
1156  UNUSED(a_Player);
1157  UNUSED(a_Item);
1158 }
1159 
1160 
1161 
1162 
1163 
1165 {
1166  UNUSED(a_Action);
1167 
1168  return 0;
1169 }
1170 
1171 
1172 
1173 
1174 
1176 {
1177  if (m_ItemType < 256)
1178  {
1179  // All blocks can stack up to 64
1180  return 64;
1181  }
1182 
1183  switch (m_ItemType)
1184  {
1185  case E_ITEM_ACACIA_DOOR: return 64;
1186  case E_ITEM_ARMOR_STAND: return 16;
1187  case E_ITEM_ARROW: return 64;
1188  case E_ITEM_BAKED_POTATO: return 64;
1189  case E_ITEM_BANNER: return 16;
1190  case E_ITEM_BEETROOT: return 64;
1191  case E_ITEM_BEETROOT_SEEDS: return 64;
1192  case E_ITEM_BIRCH_DOOR: return 64;
1193  case E_ITEM_BLAZE_POWDER: return 64;
1194  case E_ITEM_BLAZE_ROD: return 64;
1195  case E_ITEM_BONE: return 64;
1196  case E_ITEM_BOOK: return 64;
1197  case E_ITEM_BOTTLE_O_ENCHANTING: return 64;
1198  case E_ITEM_BOWL: return 64;
1199  case E_ITEM_BREAD: return 64;
1200  case E_ITEM_BREWING_STAND: return 64;
1201  case E_ITEM_BUCKET: return 16;
1202  case E_ITEM_CARROT: return 64;
1203  case E_ITEM_CAULDRON: return 64;
1204  case E_ITEM_CHORUS_FRUIT: return 64;
1205  case E_ITEM_CLAY: return 64;
1206  case E_ITEM_CLAY_BRICK: return 64;
1207  case E_ITEM_CLOCK: return 64;
1208  case E_ITEM_COAL: return 64;
1209  case E_ITEM_COMPARATOR: return 64;
1210  case E_ITEM_COMPASS: return 64;
1211  case E_ITEM_COOKED_CHICKEN: return 64;
1212  case E_ITEM_COOKED_FISH: return 64;
1213  case E_ITEM_COOKED_MUTTON: return 64;
1214  case E_ITEM_COOKED_PORKCHOP: return 64;
1215  case E_ITEM_COOKED_RABBIT: return 64;
1216  case E_ITEM_COOKIE: return 64;
1217  case E_ITEM_DARK_OAK_DOOR: return 64;
1218  case E_ITEM_DIAMOND: return 64;
1219  case E_ITEM_DRAGON_BREATH: return 64;
1220  case E_ITEM_DYE: return 64;
1221  case E_ITEM_EGG: return 16;
1222  case E_ITEM_EMERALD: return 64;
1223  case E_ITEM_EMPTY_MAP: return 64;
1224  case E_ITEM_ENDER_PEARL: return 16;
1225  case E_ITEM_EYE_OF_ENDER: return 64;
1226  case E_ITEM_FEATHER: return 64;
1227  case E_ITEM_FERMENTED_SPIDER_EYE: return 64;
1228  case E_ITEM_FIRE_CHARGE: return 64;
1229  case E_ITEM_FIREWORK_ROCKET: return 64;
1230  case E_ITEM_FIREWORK_STAR: return 64;
1231  case E_ITEM_FLINT: return 64;
1232  case E_ITEM_FLOWER_POT: return 64;
1233  case E_ITEM_GHAST_TEAR: return 64;
1234  case E_ITEM_GLASS_BOTTLE: return 64;
1235  case E_ITEM_GLISTERING_MELON: return 64;
1236  case E_ITEM_GLOWSTONE_DUST: return 64;
1237  case E_ITEM_GOLD: return 64;
1238  case E_ITEM_GOLDEN_APPLE: return 64;
1239  case E_ITEM_GOLDEN_CARROT: return 64;
1240  case E_ITEM_GOLD_NUGGET: return 64;
1241  case E_ITEM_GUNPOWDER: return 64;
1242  case E_ITEM_HEAD: return 64;
1243  case E_ITEM_JUNGLE_DOOR: return 64;
1244  case E_ITEM_IRON: return 64;
1245  case E_ITEM_IRON_DOOR: return 64;
1246  case E_ITEM_IRON_NUGGET: return 64;
1247  case E_ITEM_ITEM_FRAME: return 64;
1248  case E_ITEM_LEAD: return 64;
1249  case E_ITEM_LEATHER: return 64;
1250  case E_ITEM_MAGMA_CREAM: return 64;
1251  case E_ITEM_MAP: return 64;
1252  case E_ITEM_MELON_SEEDS: return 64;
1253  case E_ITEM_MELON_SLICE: return 64;
1254  case E_ITEM_NETHER_BRICK: return 64;
1255  case E_ITEM_NETHER_QUARTZ: return 64;
1256  case E_ITEM_NETHER_WART: return 64;
1257  case E_ITEM_PAINTING: return 64;
1258  case E_ITEM_PAPER: return 64;
1259  case E_ITEM_POISONOUS_POTATO: return 64;
1260  case E_ITEM_POPPED_CHORUS_FRUIT: return 64;
1261  case E_ITEM_POTATO: return 64;
1262  case E_ITEM_PRISMARINE_CRYSTALS: return 64;
1263  case E_ITEM_PRISMARINE_SHARD: return 64;
1264  case E_ITEM_PUMPKIN_PIE: return 64;
1265  case E_ITEM_PUMPKIN_SEEDS: return 64;
1266  case E_ITEM_RABBITS_FOOT: return 64;
1267  case E_ITEM_RABBIT_HIDE: return 64;
1268  case E_ITEM_RAW_BEEF: return 64;
1269  case E_ITEM_RAW_CHICKEN: return 64;
1270  case E_ITEM_RAW_FISH: return 64;
1271  case E_ITEM_RAW_MUTTON: return 64;
1272  case E_ITEM_RAW_PORKCHOP: return 64;
1273  case E_ITEM_RAW_RABBIT: return 64;
1274  case E_ITEM_RED_APPLE: return 64;
1275  case E_ITEM_REDSTONE_DUST: return 64;
1276  case E_ITEM_REDSTONE_REPEATER: return 64;
1277  case E_ITEM_ROTTEN_FLESH: return 64;
1278  case E_ITEM_SEEDS: return 64;
1279  case E_ITEM_SIGN: return 16;
1280  case E_ITEM_SLIMEBALL: return 64;
1281  case E_ITEM_SNOWBALL: return 16;
1282  case E_ITEM_SPAWN_EGG: return 64;
1283  case E_ITEM_SPECTRAL_ARROW: return 64;
1284  case E_ITEM_SPIDER_EYE: return 64;
1285  case E_ITEM_SPRUCE_DOOR: return 64;
1286  case E_ITEM_STEAK: return 64;
1287  case E_ITEM_STICK: return 64;
1288  case E_ITEM_STRING: return 64;
1289  case E_ITEM_SUGAR: return 64;
1290  case E_ITEM_SUGAR_CANE: return 64;
1291  case E_ITEM_TIPPED_ARROW: return 64;
1292  case E_ITEM_WHEAT: return 64;
1293  case E_ITEM_WOODEN_DOOR: return 64;
1294  // By default items don't stack:
1295  default: return 1;
1296  }
1297 }
1298 
1299 
1300 
1301 
1302 
1303 bool cItemHandler::IsFood(void) const
1304 {
1305  return false;
1306 }
1307 
1308 
1309 
1310 
1311 
1312 bool cItemHandler::IsDrinkable(short a_ItemDamage) const
1313 {
1314  UNUSED(a_ItemDamage);
1315 
1316  return false;
1317 }
1318 
1319 
1320 
1321 
1322 
1324 {
1325  // We can place any block that has a corresponding E_BLOCK_TYPE:
1326  return (m_ItemType >= 1) && (m_ItemType <= E_BLOCK_MAX_TYPE_ID);
1327 }
1328 
1329 
1330 
1331 
1332 
1333 bool cItemHandler::CanRepairWithRawMaterial(short a_ItemType) const
1334 {
1335  UNUSED(a_ItemType);
1336  return false;
1337 }
1338 
1339 
1340 
1341 
1342 
1344 {
1345  switch (a_BlockType)
1346  {
1347  case E_BLOCK_ANVIL:
1349  case E_BLOCK_BLOCK_OF_COAL:
1352  case E_BLOCK_BONE_BLOCK:
1353  case E_BLOCK_BREWING_STAND:
1354  case E_BLOCK_BRICK:
1355  case E_BLOCK_BRICK_STAIRS:
1357  case E_BLOCK_CAULDRON:
1358  case E_BLOCK_COAL_ORE:
1359  case E_BLOCK_COBBLESTONE:
1362  case E_BLOCK_COBWEB:
1363  case E_BLOCK_CONCRETE:
1365  case E_BLOCK_DIAMOND_BLOCK:
1366  case E_BLOCK_DIAMOND_ORE:
1367  case E_BLOCK_DISPENSER:
1370  case E_BLOCK_DROPPER:
1371  case E_BLOCK_EMERALD_ORE:
1373  case E_BLOCK_END_BRICKS:
1374  case E_BLOCK_END_STONE:
1375  case E_BLOCK_FURNACE:
1376  case E_BLOCK_GOLD_BLOCK:
1377  case E_BLOCK_GOLD_ORE:
1380  case E_BLOCK_HARDENED_CLAY:
1382  case E_BLOCK_HOPPER:
1383  case E_BLOCK_IRON_BARS:
1384  case E_BLOCK_IRON_BLOCK:
1385  case E_BLOCK_IRON_DOOR:
1386  case E_BLOCK_IRON_ORE:
1387  case E_BLOCK_IRON_TRAPDOOR:
1388  case E_BLOCK_LAPIS_BLOCK:
1389  case E_BLOCK_LAPIS_ORE:
1394  case E_BLOCK_LIT_FURNACE:
1396  case E_BLOCK_MAGMA:
1397  case E_BLOCK_MOB_SPAWNER:
1399  case E_BLOCK_NETHERRACK:
1400  case E_BLOCK_NETHER_BRICK:
1404  case E_BLOCK_OBSERVER:
1405  case E_BLOCK_OBSIDIAN:
1410  case E_BLOCK_PURPUR_BLOCK:
1412  case E_BLOCK_PURPUR_PILLAR:
1413  case E_BLOCK_PURPUR_SLAB:
1414  case E_BLOCK_PURPUR_STAIRS:
1415  case E_BLOCK_QUARTZ_BLOCK:
1416  case E_BLOCK_QUARTZ_STAIRS:
1417  case E_BLOCK_REDSTONE_ORE:
1421  case E_BLOCK_RED_SANDSTONE:
1424  case E_BLOCK_SANDSTONE:
1426  case E_BLOCK_SNOW:
1427  case E_BLOCK_STONE:
1428  case E_BLOCK_STONE_BRICKS:
1431  case E_BLOCK_STONE_SLAB:
1432  case E_BLOCK_VINES:
1435  {
1436  return false;
1437  }
1438  default: return true;
1439  }
1440 }
1441 
1442 
1443 
1444 
1445 
1446 bool cItemHandler::EatItem(cPlayer * a_Player, cItem * a_Item) const
1447 {
1448  auto FoodInfo = GetFoodInfo(a_Item);
1449  return a_Player->Feed(FoodInfo.FoodLevel, FoodInfo.Saturation);
1450 }
1451 
1452 
1453 
1454 
1455 
1457 {
1458  UNUSED(a_Item);
1459  return FoodInfo(0, 0);
1460 }
1461 
1462 
1463 
1464 
1465 
1467 {
1468  return 1.0f;
1469 }
1470 
1471 
1472 
1473 
1474 
1475 bool cItemHandler::CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const
1476 {
1477  ASSERT(m_ItemType < 256); // Items with IDs above 255 should all be handled by specific handlers.
1478 
1479  // By default, all blocks can be placed and the meta is copied over from the item's damage value:
1480  return a_Player.PlaceBlock(
1481  a_PlacePosition,
1482  static_cast<BLOCKTYPE>(m_ItemType),
1483  static_cast<NIBBLETYPE>(a_HeldItem.m_ItemDamage & 0x0f)
1484  );
1485 }
@ E_BLOCK_ORANGE_GLAZED_TERRACOTTA
Definition: BlockType.h:255
@ E_BLOCK_HEAVY_WEIGHTED_PRESSURE_PLATE
Definition: BlockType.h:163
@ E_BLOCK_REDSTONE_LAMP_OFF
Definition: BlockType.h:138
@ E_BLOCK_WOODEN_BUTTON
Definition: BlockType.h:158
@ E_BLOCK_STAINED_GLASS
Definition: BlockType.h:110
@ E_BLOCK_WHITE_SHULKER_BOX
Definition: BlockType.h:238
@ E_BLOCK_NETHER_BRICK_STAIRS
Definition: BlockType.h:129
@ E_BLOCK_NEW_LEAVES
Definition: BlockType.h:180
@ E_BLOCK_PINK_SHULKER_BOX
Definition: BlockType.h:244
@ E_BLOCK_SPONGE
Definition: BlockType.h:29
@ E_BLOCK_PINK_GLAZED_TERRACOTTA
Definition: BlockType.h:260
@ E_BLOCK_CARROTS
Definition: BlockType.h:156
@ E_BLOCK_REDSTONE_TORCH_ON
Definition: BlockType.h:90
@ E_BLOCK_STONE_PRESSURE_PLATE
Definition: BlockType.h:84
@ E_BLOCK_BLUE_SHULKER_BOX
Definition: BlockType.h:249
@ E_BLOCK_POTATOES
Definition: BlockType.h:157
@ E_BLOCK_GRAY_GLAZED_TERRACOTTA
Definition: BlockType.h:261
@ E_BLOCK_DEAD_BUSH
Definition: BlockType.h:42
@ E_BLOCK_HEAD
Definition: BlockType.h:159
@ E_BLOCK_MELON_STEM
Definition: BlockType.h:120
@ E_BLOCK_OAK_WOOD_STAIRS
Definition: BlockType.h:63
@ E_BLOCK_STANDING_BANNER
Definition: BlockType.h:195
@ E_BLOCK_PURPUR_BLOCK
Definition: BlockType.h:220
@ E_BLOCK_CLAY
Definition: BlockType.h:96
@ E_BLOCK_DARK_OAK_FENCE
Definition: BlockType.h:210
@ E_BLOCK_DAYLIGHT_SENSOR
Definition: BlockType.h:167
@ E_BLOCK_COCOA_POD
Definition: BlockType.h:142
@ E_BLOCK_REDSTONE_REPEATER_ON
Definition: BlockType.h:109
@ E_BLOCK_MAX_TYPE_ID
Maximum BlockType number used.
Definition: BlockType.h:278
@ E_BLOCK_BREWING_STAND
Definition: BlockType.h:132
@ E_BLOCK_PURPUR_STAIRS
Definition: BlockType.h:222
@ E_BLOCK_FLOWER
Definition: BlockType.h:48
@ E_BLOCK_STICKY_PISTON
Definition: BlockType.h:39
@ E_BLOCK_JACK_O_LANTERN
Definition: BlockType.h:106
@ E_BLOCK_NETHER_PORTAL
Definition: BlockType.h:105
@ E_BLOCK_JUKEBOX
Definition: BlockType.h:99
@ E_BLOCK_BROWN_SHULKER_BOX
Definition: BlockType.h:250
@ E_BLOCK_BONE_BLOCK
Definition: BlockType.h:235
@ E_BLOCK_DOUBLE_WOODEN_SLAB
Definition: BlockType.h:140
@ E_BLOCK_DRAGON_EGG
Definition: BlockType.h:137
@ E_BLOCK_COBBLESTONE_STAIRS
Definition: BlockType.h:81
@ E_BLOCK_DIAMOND_BLOCK
Definition: BlockType.h:67
@ E_BLOCK_WATER
Definition: BlockType.h:18
@ E_BLOCK_TRAPDOOR
Definition: BlockType.h:111
@ E_BLOCK_GRASS_PATH
Definition: BlockType.h:227
@ E_BLOCK_ACTIVATOR_RAIL
Definition: BlockType.h:174
@ E_BLOCK_CHORUS_PLANT
Definition: BlockType.h:218
@ E_BLOCK_STATIONARY_LAVA
Definition: BlockType.h:21
@ E_BLOCK_LIGHT_BLUE_SHULKER_BOX
Definition: BlockType.h:241
@ E_BLOCK_REDSTONE_ORE
Definition: BlockType.h:87
@ E_BLOCK_COAL_ORE
Definition: BlockType.h:26
@ E_BLOCK_SLIME_BLOCK
Definition: BlockType.h:184
@ E_BLOCK_BIRCH_FENCE_GATE
Definition: BlockType.h:203
@ E_BLOCK_DARK_OAK_WOOD_STAIRS
Definition: BlockType.h:183
@ E_BLOCK_FARMLAND
Definition: BlockType.h:72
@ E_BLOCK_REPEATING_COMMAND_BLOCK
Definition: BlockType.h:229
@ E_BLOCK_BLACK_GLAZED_TERRACOTTA
Definition: BlockType.h:269
@ E_BLOCK_DIAMOND_ORE
Definition: BlockType.h:66
@ E_BLOCK_BRICK_STAIRS
Definition: BlockType.h:123
@ E_BLOCK_ACACIA_FENCE_GATE
Definition: BlockType.h:206
@ E_BLOCK_CAULDRON
Definition: BlockType.h:133
@ E_BLOCK_BRICK
Definition: BlockType.h:55
@ E_BLOCK_STONE_BRICK_STAIRS
Definition: BlockType.h:124
@ E_BLOCK_AIR
Definition: BlockType.h:10
@ E_BLOCK_WOOL
Definition: BlockType.h:45
@ E_BLOCK_CHORUS_FLOWER
Definition: BlockType.h:219
@ E_BLOCK_ENCHANTMENT_TABLE
Definition: BlockType.h:131
@ E_BLOCK_STRUCTURE_VOID
Definition: BlockType.h:236
@ E_BLOCK_LILY_PAD
Definition: BlockType.h:126
@ E_BLOCK_FURNACE
Definition: BlockType.h:73
@ E_BLOCK_SIGN_POST
Definition: BlockType.h:76
@ E_BLOCK_END_PORTAL_FRAME
Definition: BlockType.h:135
@ E_BLOCK_PRISMARINE_BLOCK
Definition: BlockType.h:187
@ E_BLOCK_GOLD_BLOCK
Definition: BlockType.h:51
@ E_BLOCK_TERRACOTTA
Definition: BlockType.h:178
@ E_BLOCK_RED_NETHER_BRICK
Definition: BlockType.h:234
@ E_BLOCK_BLOCK_OF_REDSTONE
Definition: BlockType.h:168
@ E_BLOCK_LEAVES
Definition: BlockType.h:28
@ E_BLOCK_OAK_FENCE_GATE
Definition: BlockType.h:122
@ E_BLOCK_STONE_BRICKS
Definition: BlockType.h:113
@ E_BLOCK_PURPUR_PILLAR
Definition: BlockType.h:221
@ E_BLOCK_MOSSY_COBBLESTONE
Definition: BlockType.h:58
@ E_BLOCK_OBSERVER
Definition: BlockType.h:237
@ E_BLOCK_STAINED_GLASS_PANE
Definition: BlockType.h:179
@ E_BLOCK_BEACON
Definition: BlockType.h:153
@ E_BLOCK_SPRUCE_DOOR
Definition: BlockType.h:212
@ E_BLOCK_CARPET
Definition: BlockType.h:190
@ E_BLOCK_MAGENTA_SHULKER_BOX
Definition: BlockType.h:240
@ E_BLOCK_REDSTONE_ORE_GLOWING
Definition: BlockType.h:88
@ E_BLOCK_BLUE_GLAZED_TERRACOTTA
Definition: BlockType.h:265
@ E_BLOCK_BIRCH_WOOD_STAIRS
Definition: BlockType.h:150
@ E_BLOCK_CYAN_SHULKER_BOX
Definition: BlockType.h:247
@ E_BLOCK_FIRE
Definition: BlockType.h:61
@ E_BLOCK_TNT
Definition: BlockType.h:56
@ E_BLOCK_LIME_SHULKER_BOX
Definition: BlockType.h:243
@ E_BLOCK_LAPIS_ORE
Definition: BlockType.h:31
@ E_BLOCK_CHAIN_COMMAND_BLOCK
Definition: BlockType.h:230
@ E_BLOCK_IRON_BLOCK
Definition: BlockType.h:52
@ E_BLOCK_NETHER_WART_BLOCK
Definition: BlockType.h:233
@ E_BLOCK_PURPLE_SHULKER_BOX
Definition: BlockType.h:248
@ E_BLOCK_PISTON_EXTENSION
Definition: BlockType.h:44
@ E_BLOCK_CONCRETE
Definition: BlockType.h:270
@ E_BLOCK_END_ROD
Definition: BlockType.h:217
@ E_BLOCK_CHEST
Definition: BlockType.h:64
@ E_BLOCK_COBWEB
Definition: BlockType.h:40
@ E_BLOCK_DOUBLE_RED_SANDSTONE_SLAB
Definition: BlockType.h:200
@ E_BLOCK_END_BRICKS
Definition: BlockType.h:225
@ E_BLOCK_BIRCH_DOOR
Definition: BlockType.h:213
@ E_BLOCK_CAKE
Definition: BlockType.h:107
@ E_BLOCK_BLOCK_OF_COAL
Definition: BlockType.h:192
@ E_BLOCK_JUNGLE_WOOD_STAIRS
Definition: BlockType.h:151
@ E_BLOCK_LIT_FURNACE
Definition: BlockType.h:74
@ E_BLOCK_LAPIS_BLOCK
Definition: BlockType.h:32
@ E_BLOCK_IRON_DOOR
Definition: BlockType.h:85
@ E_BLOCK_FENCE
Definition: BlockType.h:100
@ E_BLOCK_YELLOW_GLAZED_TERRACOTTA
Definition: BlockType.h:258
@ E_BLOCK_GRASS
Definition: BlockType.h:12
@ E_BLOCK_WORKBENCH
Definition: BlockType.h:69
@ E_BLOCK_MAGENTA_GLAZED_TERRACOTTA
Definition: BlockType.h:256
@ E_BLOCK_STONE_SLAB
Definition: BlockType.h:54
@ E_BLOCK_ACACIA_WOOD_STAIRS
Definition: BlockType.h:182
@ E_BLOCK_EMERALD_ORE
Definition: BlockType.h:144
@ E_BLOCK_ORANGE_SHULKER_BOX
Definition: BlockType.h:239
@ E_BLOCK_CACTUS
Definition: BlockType.h:95
@ E_BLOCK_CYAN_GLAZED_TERRACOTTA
Definition: BlockType.h:263
@ E_BLOCK_GLASS_PANE
Definition: BlockType.h:117
@ E_BLOCK_ICE
Definition: BlockType.h:93
@ E_BLOCK_BEETROOTS
Definition: BlockType.h:226
@ E_BLOCK_BEDROCK
Definition: BlockType.h:17
@ E_BLOCK_MELON
Definition: BlockType.h:118
@ E_BLOCK_NETHER_WART
Definition: BlockType.h:130
@ E_BLOCK_LEVER
Definition: BlockType.h:83
@ E_BLOCK_INACTIVE_COMPARATOR
Definition: BlockType.h:165
@ E_BLOCK_SILVERFISH_EGG
Definition: BlockType.h:112
@ E_BLOCK_DOUBLE_STONE_SLAB
Definition: BlockType.h:53
@ E_BLOCK_JUNGLE_DOOR
Definition: BlockType.h:214
@ E_BLOCK_PACKED_ICE
Definition: BlockType.h:193
@ E_BLOCK_TRIPWIRE
Definition: BlockType.h:147
@ E_BLOCK_POWERED_RAIL
Definition: BlockType.h:37
@ E_BLOCK_NEW_LOG
Definition: BlockType.h:181
@ E_BLOCK_OBSIDIAN
Definition: BlockType.h:59
@ E_BLOCK_SOULSAND
Definition: BlockType.h:103
@ E_BLOCK_ACTIVE_COMPARATOR
Definition: BlockType.h:166
@ E_BLOCK_MYCELIUM
Definition: BlockType.h:125
@ E_BLOCK_RED_SANDSTONE_STAIRS
Definition: BlockType.h:199
@ E_BLOCK_SNOW_BLOCK
Definition: BlockType.h:94
@ E_BLOCK_DANDELION
Definition: BlockType.h:47
@ E_BLOCK_SNOW
Definition: BlockType.h:92
@ E_BLOCK_WHEAT
Definition: BlockType.h:70
@ E_BLOCK_BROWN_MUSHROOM
Definition: BlockType.h:49
@ E_BLOCK_BOOKCASE
Definition: BlockType.h:57
@ E_BLOCK_PISTON_MOVED_BLOCK
Definition: BlockType.h:46
@ E_BLOCK_RED_SANDSTONE
Definition: BlockType.h:198
@ E_BLOCK_IRON_ORE
Definition: BlockType.h:25
@ E_BLOCK_STRUCTURE_BLOCK
Definition: BlockType.h:273
@ E_BLOCK_TRAPPED_CHEST
Definition: BlockType.h:161
@ E_BLOCK_OAK_DOOR
Definition: BlockType.h:77
@ E_BLOCK_PLANKS
Definition: BlockType.h:15
@ E_BLOCK_SPRUCE_FENCE_GATE
Definition: BlockType.h:202
@ E_BLOCK_GRAY_SHULKER_BOX
Definition: BlockType.h:245
@ E_BLOCK_DETECTOR_RAIL
Definition: BlockType.h:38
@ E_BLOCK_GRAVEL
Definition: BlockType.h:23
@ E_BLOCK_REDSTONE_WIRE
Definition: BlockType.h:65
@ E_BLOCK_IRON_BARS
Definition: BlockType.h:116
@ E_BLOCK_HAY_BALE
Definition: BlockType.h:189
@ E_BLOCK_LIGHT_BLUE_GLAZED_TERRACOTTA
Definition: BlockType.h:257
@ E_BLOCK_SPRUCE_WOOD_STAIRS
Definition: BlockType.h:149
@ E_BLOCK_YELLOW_SHULKER_BOX
Definition: BlockType.h:242
@ E_BLOCK_DARK_OAK_FENCE_GATE
Definition: BlockType.h:205
@ E_BLOCK_CONCRETE_POWDER
Definition: BlockType.h:271
@ E_BLOCK_JUNGLE_FENCE_GATE
Definition: BlockType.h:204
@ E_BLOCK_PURPLE_GLAZED_TERRACOTTA
Definition: BlockType.h:264
@ E_BLOCK_PUMPKIN
Definition: BlockType.h:101
@ E_BLOCK_BIG_FLOWER
Definition: BlockType.h:194
@ E_BLOCK_ANVIL
Definition: BlockType.h:160
@ E_BLOCK_HARDENED_CLAY
Definition: BlockType.h:191
@ E_BLOCK_HUGE_BROWN_MUSHROOM
Definition: BlockType.h:114
@ E_BLOCK_COMMAND_BLOCK
Definition: BlockType.h:152
@ E_BLOCK_SUGARCANE
Definition: BlockType.h:97
@ E_BLOCK_WOODEN_PRESSURE_PLATE
Definition: BlockType.h:86
@ E_BLOCK_SANDSTONE
Definition: BlockType.h:34
@ E_BLOCK_HUGE_RED_MUSHROOM
Definition: BlockType.h:115
@ E_BLOCK_VINES
Definition: BlockType.h:121
@ E_BLOCK_EMERALD_BLOCK
Definition: BlockType.h:148
@ E_BLOCK_TORCH
Definition: BlockType.h:60
@ E_BLOCK_GREEN_SHULKER_BOX
Definition: BlockType.h:251
@ E_BLOCK_BLACK_SHULKER_BOX
Definition: BlockType.h:253
@ E_BLOCK_SPRUCE_FENCE
Definition: BlockType.h:207
@ E_BLOCK_REDSTONE_TORCH_OFF
Definition: BlockType.h:89
@ E_BLOCK_GOLD_ORE
Definition: BlockType.h:24
@ E_BLOCK_STONE
Definition: BlockType.h:11
@ E_BLOCK_END_GATEWAY
Definition: BlockType.h:228
@ E_BLOCK_LIGHT_GRAY_GLAZED_TERRACOTTA
Definition: BlockType.h:262
@ E_BLOCK_NETHER_QUARTZ_ORE
Definition: BlockType.h:170
@ E_BLOCK_LIGHT_GRAY_SHULKER_BOX
Definition: BlockType.h:246
@ E_BLOCK_GREEN_GLAZED_TERRACOTTA
Definition: BlockType.h:267
@ E_BLOCK_WOODEN_SLAB
Definition: BlockType.h:141
@ E_BLOCK_SEA_LANTERN
Definition: BlockType.h:188
@ E_BLOCK_NOTE_BLOCK
Definition: BlockType.h:35
@ E_BLOCK_LADDER
Definition: BlockType.h:78
@ E_BLOCK_DARK_OAK_DOOR
Definition: BlockType.h:216
@ E_BLOCK_BED
Definition: BlockType.h:36
@ E_BLOCK_RED_MUSHROOM
Definition: BlockType.h:50
@ E_BLOCK_ACACIA_DOOR
Definition: BlockType.h:215
@ E_BLOCK_DIRT
Definition: BlockType.h:13
@ E_BLOCK_SANDSTONE_STAIRS
Definition: BlockType.h:143
@ E_BLOCK_QUARTZ_BLOCK
Definition: BlockType.h:172
@ E_BLOCK_NETHERRACK
Definition: BlockType.h:102
@ E_BLOCK_LOG
Definition: BlockType.h:27
@ E_BLOCK_SAPLING
Definition: BlockType.h:16
@ E_BLOCK_LIGHT_WEIGHTED_PRESSURE_PLATE
Definition: BlockType.h:162
@ E_BLOCK_HOPPER
Definition: BlockType.h:171
@ E_BLOCK_ACACIA_FENCE
Definition: BlockType.h:211
@ E_BLOCK_DROPPER
Definition: BlockType.h:176
@ E_BLOCK_REDSTONE_REPEATER_OFF
Definition: BlockType.h:108
@ E_BLOCK_ENDER_CHEST
Definition: BlockType.h:145
@ E_BLOCK_END_PORTAL
Definition: BlockType.h:134
@ E_BLOCK_GLOWSTONE
Definition: BlockType.h:104
@ E_BLOCK_RAIL
Definition: BlockType.h:79
@ E_BLOCK_SAND
Definition: BlockType.h:22
@ E_BLOCK_DISPENSER
Definition: BlockType.h:33
@ E_BLOCK_IRON_TRAPDOOR
Definition: BlockType.h:186
@ E_BLOCK_MAGMA
Definition: BlockType.h:232
@ E_BLOCK_PURPUR_DOUBLE_SLAB
Definition: BlockType.h:223
@ E_BLOCK_LIME_GLAZED_TERRACOTTA
Definition: BlockType.h:259
@ E_BLOCK_STONE_BUTTON
Definition: BlockType.h:91
@ E_BLOCK_GLASS
Definition: BlockType.h:30
@ E_BLOCK_REDSTONE_LAMP_ON
Definition: BlockType.h:139
@ E_BLOCK_PUMPKIN_STEM
Definition: BlockType.h:119
@ E_BLOCK_INVERTED_DAYLIGHT_SENSOR
Definition: BlockType.h:197
@ E_BLOCK_FLOWER_POT
Definition: BlockType.h:155
@ E_BLOCK_TRIPWIRE_HOOK
Definition: BlockType.h:146
@ E_BLOCK_WHITE_GLAZED_TERRACOTTA
Definition: BlockType.h:254
@ E_BLOCK_END_STONE
Definition: BlockType.h:136
@ E_BLOCK_STATIONARY_WATER
Definition: BlockType.h:19
@ E_BLOCK_COBBLESTONE_WALL
Definition: BlockType.h:154
@ E_BLOCK_PURPUR_SLAB
Definition: BlockType.h:224
@ E_BLOCK_BROWN_GLAZED_TERRACOTTA
Definition: BlockType.h:266
@ E_BLOCK_MOB_SPAWNER
Definition: BlockType.h:62
@ E_BLOCK_NETHER_BRICK_FENCE
Definition: BlockType.h:128
@ E_BLOCK_RED_SANDSTONE_SLAB
Definition: BlockType.h:201
@ E_BLOCK_QUARTZ_STAIRS
Definition: BlockType.h:173
@ E_BLOCK_RED_SHULKER_BOX
Definition: BlockType.h:252
@ E_BLOCK_WALLSIGN
Definition: BlockType.h:82
@ E_BLOCK_BIRCH_FENCE
Definition: BlockType.h:208
@ E_BLOCK_BARRIER
Definition: BlockType.h:185
@ E_BLOCK_LAVA
Definition: BlockType.h:20
@ E_BLOCK_NETHER_BRICK
Definition: BlockType.h:127
@ E_BLOCK_FROSTED_ICE
Definition: BlockType.h:231
@ E_BLOCK_PISTON
Definition: BlockType.h:43
@ E_BLOCK_CRAFTING_TABLE
Definition: BlockType.h:68
@ E_BLOCK_WALL_BANNER
Definition: BlockType.h:196
@ E_BLOCK_RED_GLAZED_TERRACOTTA
Definition: BlockType.h:268
@ E_BLOCK_TALL_GRASS
Definition: BlockType.h:41
@ E_BLOCK_JUNGLE_FENCE
Definition: BlockType.h:209
@ E_BLOCK_COBBLESTONE
Definition: BlockType.h:14
@ E_ITEM_WOODEN_PICKAXE
Definition: BlockType.h:314
@ E_ITEM_CHIRP_DISC
Definition: BlockType.h:509
@ E_ITEM_PUMPKIN_PIE
Definition: BlockType.h:446
@ E_ITEM_IRON
Definition: BlockType.h:309
@ E_ITEM_GOLD_BOOTS
Definition: BlockType.h:361
@ E_ITEM_STAL_DISC
Definition: BlockType.h:513
@ E_ITEM_STONE_PICKAXE
Definition: BlockType.h:318
@ E_ITEM_NETHER_STAR
Definition: BlockType.h:445
@ E_ITEM_POTION
Definition: BlockType.h:418
@ E_ITEM_EYE_OF_ENDER
Definition: BlockType.h:427
@ E_ITEM_EMERALD
Definition: BlockType.h:434
@ E_ITEM_END_CRYSTAL
Definition: BlockType.h:473
@ E_ITEM_DIAMOND_AXE
Definition: BlockType.h:323
@ E_ITEM_CLOCK
Definition: BlockType.h:392
@ E_ITEM_RAW_RABBIT
Definition: BlockType.h:457
@ E_ITEM_ARMOR_STAND
Definition: BlockType.h:462
@ E_ITEM_LEAD
Definition: BlockType.h:466
@ E_ITEM_LEATHER_PANTS
Definition: BlockType.h:344
@ E_ITEM_FIREWORK_STAR
Definition: BlockType.h:448
@ E_ITEM_CAKE
Definition: BlockType.h:399
@ E_ITEM_SIGN
Definition: BlockType.h:367
@ E_ITEM_CHAIN_BOOTS
Definition: BlockType.h:349
@ E_ITEM_RAW_CHICKEN
Definition: BlockType.h:410
@ E_ITEM_STEAK
Definition: BlockType.h:409
@ E_ITEM_IRON_LEGGINGS
Definition: BlockType.h:352
@ E_ITEM_ROTTEN_FLESH
Definition: BlockType.h:412
@ E_ITEM_DIAMOND_BOOTS
Definition: BlockType.h:357
@ E_ITEM_SNOWBALL
Definition: BlockType.h:376
@ E_ITEM_POISONOUS_POTATO
Definition: BlockType.h:440
@ E_ITEM_GOLD
Definition: BlockType.h:310
@ E_ITEM_COAL
Definition: BlockType.h:307
@ E_ITEM_BAKED_POTATO
Definition: BlockType.h:439
@ E_ITEM_FIRE_CHARGE
Definition: BlockType.h:431
@ E_ITEM_STONE_AXE
Definition: BlockType.h:319
@ E_ITEM_RAW_PORKCHOP
Definition: BlockType.h:363
@ E_ITEM_CHAIN_HELMET
Definition: BlockType.h:346
@ E_ITEM_CHEST_MINECART
Definition: BlockType.h:387
@ E_ITEM_IRON_HOE
Definition: BlockType.h:336
@ E_ITEM_SPRUCE_BOAT
Definition: BlockType.h:491
@ E_ITEM_GOLD_NUGGET
Definition: BlockType.h:416
@ E_ITEM_GOLDEN_APPLE
Definition: BlockType.h:366
@ E_ITEM_11_DISC
Definition: BlockType.h:516
@ E_ITEM_MELLOHI_DISC
Definition: BlockType.h:512
@ E_ITEM_GOLD_HELMET
Definition: BlockType.h:358
@ E_ITEM_IRON_SWORD
Definition: BlockType.h:311
@ E_ITEM_GOLD_CHESTPLATE
Definition: BlockType.h:359
@ E_ITEM_PRISMARINE_CRYSTALS
Definition: BlockType.h:456
@ E_ITEM_BOAT
Definition: BlockType.h:377
@ E_ITEM_IRON_HELMET
Definition: BlockType.h:350
@ E_ITEM_DYE
Definition: BlockType.h:396
@ E_ITEM_LAVA_BUCKET
Definition: BlockType.h:371
@ E_ITEM_MINECART_WITH_TNT
Definition: BlockType.h:453
@ E_ITEM_DIAMOND_HOE
Definition: BlockType.h:337
@ E_ITEM_COOKED_RABBIT
Definition: BlockType.h:458
@ E_ITEM_DIAMOND_PICKAXE
Definition: BlockType.h:322
@ E_ITEM_WHEAT
Definition: BlockType.h:340
@ E_ITEM_ACACIA_DOOR
Definition: BlockType.h:477
@ E_ITEM_FEATHER
Definition: BlockType.h:332
@ E_ITEM_FISHING_ROD
Definition: BlockType.h:391
@ E_ITEM_WOODEN_HOE
Definition: BlockType.h:334
@ E_ITEM_MINECART
Definition: BlockType.h:372
@ E_ITEM_NETHER_BRICK
Definition: BlockType.h:451
@ E_ITEM_MAP
Definition: BlockType.h:403
@ E_ITEM_GHAST_TEAR
Definition: BlockType.h:415
@ E_ITEM_CHORUS_FRUIT
Definition: BlockType.h:479
@ E_ITEM_ENDER_PEARL
Definition: BlockType.h:413
@ E_ITEM_RABBIT_STEW
Definition: BlockType.h:459
@ E_ITEM_IRON_CHESTPLATE
Definition: BlockType.h:351
@ E_ITEM_IRON_HORSE_ARMOR
Definition: BlockType.h:463
@ E_ITEM_WOODEN_DOOR
Definition: BlockType.h:368
@ E_ITEM_GOLD_LEGGINGS
Definition: BlockType.h:360
@ E_ITEM_CAT_DISC
Definition: BlockType.h:507
@ E_ITEM_GOLD_HORSE_ARMOR
Definition: BlockType.h:464
@ E_ITEM_GLASS_BOTTLE
Definition: BlockType.h:420
@ E_ITEM_DIAMOND_CHESTPLATE
Definition: BlockType.h:355
@ E_ITEM_REDSTONE_DUST
Definition: BlockType.h:375
@ E_ITEM_COOKED_CHICKEN
Definition: BlockType.h:411
@ E_ITEM_SPAWN_EGG
Definition: BlockType.h:429
@ E_ITEM_SHIELD
Definition: BlockType.h:489
@ E_ITEM_DIAMOND_HELMET
Definition: BlockType.h:354
@ E_ITEM_MINECART_WITH_HOPPER
Definition: BlockType.h:454
@ E_ITEM_SUGAR
Definition: BlockType.h:398
@ E_ITEM_WATER_BUCKET
Definition: BlockType.h:370
@ E_ITEM_IRON_BOOTS
Definition: BlockType.h:353
@ E_ITEM_GOLD_SHOVEL
Definition: BlockType.h:328
@ E_ITEM_MALL_DISC
Definition: BlockType.h:511
@ E_ITEM_IRON_PICKAXE
Definition: BlockType.h:301
@ E_ITEM_IRON_NUGGET
Definition: BlockType.h:498
@ E_ITEM_TIPPED_ARROW
Definition: BlockType.h:487
@ E_ITEM_RAW_BEEF
Definition: BlockType.h:408
@ E_ITEM_BEETROOT_SOUP
Definition: BlockType.h:483
@ E_ITEM_SHULKER_SHELL
Definition: BlockType.h:497
@ E_ITEM_HEAD
Definition: BlockType.h:443
@ E_ITEM_COOKIE
Definition: BlockType.h:402
@ E_ITEM_CLAY_BRICK
Definition: BlockType.h:380
@ E_ITEM_BOWL
Definition: BlockType.h:325
@ E_ITEM_BOOK_AND_QUILL
Definition: BlockType.h:432
@ E_ITEM_STICK
Definition: BlockType.h:324
@ E_ITEM_COOKED_FISH
Definition: BlockType.h:395
@ E_ITEM_GOLD_PICKAXE
Definition: BlockType.h:329
@ E_ITEM_MILK
Definition: BlockType.h:379
@ E_ITEM_ACACIA_BOAT
Definition: BlockType.h:494
@ E_ITEM_DRAGON_BREATH
Definition: BlockType.h:484
@ E_ITEM_JUNGLE_BOAT
Definition: BlockType.h:493
@ E_ITEM_FIREWORK_ROCKET
Definition: BlockType.h:447
@ E_ITEM_DIAMOND
Definition: BlockType.h:308
@ E_ITEM_DARK_OAK_DOOR
Definition: BlockType.h:478
@ E_ITEM_MELON_SLICE
Definition: BlockType.h:405
@ E_ITEM_BOOK
Definition: BlockType.h:385
@ E_ITEM_WOODEN_SHOVEL
Definition: BlockType.h:313
@ E_ITEM_LEATHER_TUNIC
Definition: BlockType.h:343
@ E_ITEM_SUGARCANE
Definition: BlockType.h:382
@ E_ITEM_ELYTRA
Definition: BlockType.h:490
@ E_ITEM_MINECART_WITH_COMMAND_BLOCK
Definition: BlockType.h:469
@ E_ITEM_SUGAR_CANE
Definition: BlockType.h:383
@ E_ITEM_FLOWER_POT
Definition: BlockType.h:436
@ E_ITEM_FLINT
Definition: BlockType.h:362
@ E_ITEM_DIAMOND_SWORD
Definition: BlockType.h:320
@ E_ITEM_JUNGLE_DOOR
Definition: BlockType.h:476
@ E_ITEM_IRON_SHOVEL
Definition: BlockType.h:300
@ E_ITEM_ARROW
Definition: BlockType.h:306
@ E_ITEM_MELON_SEEDS
Definition: BlockType.h:407
@ E_ITEM_STRING
Definition: BlockType.h:331
@ E_ITEM_CARROT
Definition: BlockType.h:437
@ E_ITEM_BREWING_STAND
Definition: BlockType.h:425
@ E_ITEM_BEETROOT_SEEDS
Definition: BlockType.h:482
@ E_ITEM_REDSTONE_REPEATER
Definition: BlockType.h:401
@ E_ITEM_RAW_MUTTON
Definition: BlockType.h:470
@ E_ITEM_GOLD_HOE
Definition: BlockType.h:338
@ E_ITEM_DIAMOND_HORSE_ARMOR
Definition: BlockType.h:465
@ E_ITEM_COOKED_PORKCHOP
Definition: BlockType.h:364
@ E_ITEM_WRITTEN_BOOK
Definition: BlockType.h:433
@ E_ITEM_LINGERING_POTION
Definition: BlockType.h:488
@ E_ITEM_BANNER
Definition: BlockType.h:472
@ E_ITEM_STONE_SWORD
Definition: BlockType.h:316
@ E_ITEM_SPECTRAL_ARROW
Definition: BlockType.h:486
@ E_ITEM_STONE_SHOVEL
Definition: BlockType.h:317
@ E_ITEM_LEATHER
Definition: BlockType.h:378
@ E_ITEM_SADDLE
Definition: BlockType.h:373
@ E_ITEM_CLAY
Definition: BlockType.h:381
@ E_ITEM_COMPARATOR
Definition: BlockType.h:450
@ E_ITEM_BLAZE_POWDER
Definition: BlockType.h:423
@ E_ITEM_MUSHROOM_SOUP
Definition: BlockType.h:326
@ E_ITEM_BLOCKS_DISC
Definition: BlockType.h:508
@ E_ITEM_GUNPOWDER
Definition: BlockType.h:333
@ E_ITEM_BREAD
Definition: BlockType.h:341
@ E_ITEM_DIAMOND_LEGGINGS
Definition: BlockType.h:356
@ E_ITEM_RAW_FISH
Definition: BlockType.h:394
@ E_ITEM_SEEDS
Definition: BlockType.h:339
@ E_ITEM_ENCHANTED_BOOK
Definition: BlockType.h:449
@ E_ITEM_MAGMA_CREAM
Definition: BlockType.h:424
@ E_ITEM_LEASH
Definition: BlockType.h:467
@ E_ITEM_BONE
Definition: BlockType.h:397
@ E_ITEM_FURNACE_MINECART
Definition: BlockType.h:388
@ E_ITEM_WARD_DISC
Definition: BlockType.h:515
@ E_ITEM_GLISTERING_MELON
Definition: BlockType.h:428
@ E_ITEM_DIAMOND_SHOVEL
Definition: BlockType.h:321
@ E_ITEM_COOKED_MUTTON
Definition: BlockType.h:471
@ E_ITEM_NETHER_QUARTZ
Definition: BlockType.h:452
@ E_ITEM_BLAZE_ROD
Definition: BlockType.h:414
@ E_ITEM_WAIT_DISC
Definition: BlockType.h:517
@ E_ITEM_STONE_HOE
Definition: BlockType.h:335
@ E_ITEM_WOODEN_SWORD
Definition: BlockType.h:312
@ E_ITEM_DARK_OAK_BOAT
Definition: BlockType.h:495
@ E_ITEM_LEATHER_CAP
Definition: BlockType.h:342
@ E_ITEM_NAME_TAG
Definition: BlockType.h:468
@ E_ITEM_BEETROOT
Definition: BlockType.h:481
@ E_ITEM_SPLASH_POTION
Definition: BlockType.h:485
@ E_ITEM_CARROT_ON_STICK
Definition: BlockType.h:444
@ E_ITEM_RABBITS_FOOT
Definition: BlockType.h:460
@ E_ITEM_WOODEN_AXE
Definition: BlockType.h:315
@ E_ITEM_GOLD_AXE
Definition: BlockType.h:330
@ E_ITEM_GOLDEN_CARROT
Definition: BlockType.h:442
@ E_ITEM_GOLD_SWORD
Definition: BlockType.h:327
@ E_ITEM_TOTEM_OF_UNDYING
Definition: BlockType.h:496
@ E_ITEM_SLIMEBALL
Definition: BlockType.h:386
@ E_ITEM_13_DISC
Definition: BlockType.h:506
@ E_ITEM_BUCKET
Definition: BlockType.h:369
@ E_ITEM_CHAIN_CHESTPLATE
Definition: BlockType.h:347
@ E_ITEM_IRON_DOOR
Definition: BlockType.h:374
@ E_ITEM_PRISMARINE_SHARD
Definition: BlockType.h:455
@ E_ITEM_STRAD_DISC
Definition: BlockType.h:514
@ E_ITEM_COMPASS
Definition: BlockType.h:390
@ E_ITEM_CAULDRON
Definition: BlockType.h:426
@ E_ITEM_NETHER_WART
Definition: BlockType.h:417
@ E_ITEM_BOTTLE_O_ENCHANTING
Definition: BlockType.h:430
@ E_ITEM_SHEARS
Definition: BlockType.h:404
@ E_ITEM_POPPED_CHORUS_FRUIT
Definition: BlockType.h:480
@ E_ITEM_ITEM_FRAME
Definition: BlockType.h:435
@ E_ITEM_BIRCH_DOOR
Definition: BlockType.h:475
@ E_ITEM_EMPTY_MAP
Definition: BlockType.h:441
@ E_ITEM_FAR_DISC
Definition: BlockType.h:510
@ E_ITEM_PUMPKIN_SEEDS
Definition: BlockType.h:406
@ E_ITEM_GLOWSTONE_DUST
Definition: BlockType.h:393
@ E_ITEM_FERMENTED_SPIDER_EYE
Definition: BlockType.h:422
@ E_ITEM_RABBIT_HIDE
Definition: BlockType.h:461
@ E_ITEM_LEATHER_BOOTS
Definition: BlockType.h:345
@ E_ITEM_PAPER
Definition: BlockType.h:384
@ E_ITEM_RED_APPLE
Definition: BlockType.h:304
@ E_ITEM_FLINT_AND_STEEL
Definition: BlockType.h:303
@ E_ITEM_CHAIN_LEGGINGS
Definition: BlockType.h:348
@ E_ITEM_EGG
Definition: BlockType.h:389
@ E_ITEM_BIRCH_BOAT
Definition: BlockType.h:492
@ E_ITEM_IRON_AXE
Definition: BlockType.h:302
@ E_ITEM_POTATO
Definition: BlockType.h:438
@ E_ITEM_BED
Definition: BlockType.h:400
@ E_ITEM_BOW
Definition: BlockType.h:305
@ E_ITEM_SPIDER_EYE
Definition: BlockType.h:421
@ E_ITEM_PAINTING
Definition: BlockType.h:365
@ E_ITEM_SPRUCE_DOOR
Definition: BlockType.h:474
unsigned char NIBBLETYPE
The datatype used by nibbledata (meta, light, skylight)
Definition: ChunkDef.h:44
unsigned char BLOCKTYPE
The datatype used by blockdata.
Definition: ChunkDef.h:41
void AddFaceDirection(int &a_BlockX, int &a_BlockY, int &a_BlockZ, eBlockFace a_BlockFace, bool a_bInverse)
Modifies the specified coords so that they point to the block adjacent to the one specified through i...
Definition: Defines.cpp:378
eBlockFace
Block face constants, used in PlayerDigging and PlayerBlockPlacement packets and bbox collision calc.
Definition: Defines.h:38
#define ASSERT(x)
Definition: Globals.h:276
#define UNUSED
Definition: Globals.h:72
Utilities to allow casting a cWorld to one of its interfaces without including World....
Definition: OpaqueWorld.h:13
static const cBlockHandler & For(BLOCKTYPE a_BlockType)
This interface is used to decouple block handlers from the cPluginManager dependency through cWorld.
static bool IsValidHeight(Vector3i a_BlockPosition)
Validates a height-coordinate.
Definition: ChunkDef.h:185
Definition: Entity.h:76
cWorld * GetWorld(void) const
Definition: Entity.h:190
Definition: Player.h:29
bool Feed(int a_Food, double a_Saturation)
Adds to FoodLevel and FoodSaturationLevel, returns true if any food has been consumed,...
Definition: Player.cpp:423
bool IsGameModeSurvival(void) const
Returns true if the player is in Survival mode, either explicitly, or by inheriting from current worl...
Definition: Player.cpp:1034
cInventory & GetInventory(void)
Definition: Player.h:156
void SendBlocksAround(Vector3i a_BlockPos, int a_Range=1)
Sends the block in the specified range around the specified coord to the client as a block change pac...
Definition: Player.cpp:2325
void UseEquippedItem(short a_Damage=1)
Damage the player's equipped item by a_Damage, possibly less if the equipped item is enchanted.
Definition: Player.cpp:2033
bool PlaceBlock(Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta)
Attempts to place the block in the world with a call to PlaceBlocks.
Definition: Player.cpp:2440
void SendEquippedSlot()
Sends the equipped item slot to the client.
Definition: Inventory.cpp:380
bool RemoveOneEquippedItem(void)
Removes one item out of the currently equipped item stack, returns true if successful,...
Definition: Inventory.cpp:232
Definition: Item.h:37
short m_ItemDamage
Definition: Item.h:165
virtual float GetBlockBreakingStrength(BLOCKTYPE a_Block) const
Returns the strength to break a specific block.
virtual void OnFoodEaten(cWorld *a_World, cPlayer *a_Player, cItem *a_Item) const
Called after the player has eaten this item.
virtual void OnEntityAttack(cPlayer *a_Attacker, cEntity *a_AttackedEntity) const
Called when a player attacks an entity with this item in hand.
static const cItemHandler & For(int a_ItemType)
virtual FoodInfo GetFoodInfo(const cItem *a_Item) const
Returns the FoodInfo for this item.
virtual bool IsDrinkable(short a_ItemDamage) const
Indicates if this item is drinkable.
const int m_ItemType
Definition: ItemHandler.h:141
virtual bool OnItemUse(cWorld *a_World, cPlayer *a_Player, cBlockPluginInterface &a_PluginInterface, const cItem &a_HeldItem, const Vector3i a_ClickedBlockPos, eBlockFace a_ClickedBlockFace) const
Called when the player tries to use the item (right mouse button).
virtual bool CanRepairWithRawMaterial(short a_ItemType) const
Can the anvil repair this item, when a_Item is the second input?
virtual bool CommitPlacement(cPlayer &a_Player, const cItem &a_HeldItem, Vector3i a_PlacePosition, eBlockFace a_ClickedBlockFace, Vector3i a_CursorPosition) const
Performs the actual placement of this placeable item.
eDurabilityLostAction
Actions that may cause durability of an item may be lost, where the magnitude of the loss depends on ...
Definition: ItemHandler.h:31
virtual bool IsPlaceable(void) const
Blocks simply get placed.
virtual bool OnDiggingBlock(cWorld *a_World, cPlayer *a_Player, const cItem &a_HeldItem, const Vector3i a_ClickedBlockPos, eBlockFace a_ClickedBlockFace) const
Called while the player digs a block using this item.
virtual short GetDurabilityLossByAction(eDurabilityLostAction a_Action) const
Get the durability lost which the item will get, when a specified action was performed.
virtual char GetMaxStackSize(void) const
Returns the maximum stack size for a given item.
void OnPlayerPlace(cPlayer &a_Player, const cItem &a_HeldItem, Vector3i a_ClickedPosition, BLOCKTYPE a_ClickedBlockType, NIBBLETYPE a_ClickedBlockMeta, eBlockFace a_ClickedBlockFace, Vector3i a_CursorPosition) const
Called when the player tries to place the item (right mouse button, IsPlaceable() == true).
virtual bool EatItem(cPlayer *a_Player, cItem *a_Item) const
Lets the player eat a selected item.
virtual bool CanHarvestBlock(BLOCKTYPE a_BlockType) const
Returns whether this tool / item can harvest a specific block (e.g.
virtual bool IsFood(void) const
Indicates if this item is food.
Handler for blocks that have 3 orientations (hay bale, log), specified by the upper 2 bits in meta.
Definition: ItemSideways.h:16
Definition: World.h:53