// Defines Material categories, which is parsed using a template parser
// This allows version-specific categories to be defined

#if version >= 1.13
// ======================= New >= 1.13 ========================
ISAIR:
  LEGACY_AIR
  AIR
  CAVE_AIR
  VOID_AIR

ISDOOR:
  ACACIA_DOOR
  BIRCH_DOOR
  IRON_DOOR
  JUNGLE_DOOR
  OAK_DOOR
  SPRUCE_DOOR
  DARK_OAK_DOOR
  LEGACY_WOODEN_DOOR
  LEGACY_JUNGLE_DOOR
  LEGACY_BIRCH_DOOR
  LEGACY_ACACIA_DOOR
  LEGACY_SPRUCE_DOOR
  LEGACY_DARK_OAK_DOOR
  LEGACY_IRON_DOOR_BLOCK

ISPISTONBASE:
  PISTON
  STICKY_PISTON
  LEGACY_PISTON_STICKY_BASE
  LEGACY_PISTON_BASE

ISREDSTONETORCH:
  REDSTONE_TORCH
  REDSTONE_WALL_TORCH
  LEGACY_REDSTONE_TORCH_OFF
  LEGACY_REDSTONE_TORCH_ON

ISDIODE:
  REPEATER
  LEGACY_DIODE_BLOCK_OFF
  LEGACY_DIODE_BLOCK_ON

ISBUTTON:
  STONE_BUTTON
  ACACIA_BUTTON
  BIRCH_BUTTON
  DARK_OAK_BUTTON
  JUNGLE_BUTTON
  OAK_BUTTON
  SPRUCE_BUTTON
  LEGACY_STONE_BUTTON
  LEGACY_WOOD_BUTTON
#if version >= 1.16
  CRIMSON_BUTTON
  POLISHED_BLACKSTONE_BUTTON
  WARPED_BUTTON
#endif
#if version >= 1.19
  MANGROVE_BUTTON
#endif
#if version >= 1.19.3
  BAMBOO_BUTTON
#endif
#if version >= 1.19.4
  CHERRY_BUTTON
#endif
#if version >= 1.21.2
  PALE_OAK_BUTTON
#endif

ISCOMPARATOR:
  COMPARATOR
  LEGACY_REDSTONE_COMPARATOR_OFF
  LEGACY_REDSTONE_COMPARATOR_ON

ISBUCKET:
  WATER_BUCKET
  LAVA_BUCKET
  BUCKET
  LEGACY_WATER_BUCKET
  LEGACY_LAVA_BUCKET
  LEGACY_BUCKET

ISRAILS:
  RAIL
  POWERED_RAIL
  DETECTOR_RAIL
  ACTIVATOR_RAIL
  LEGACY_RAILS
  LEGACY_POWERED_RAIL
  LEGACY_DETECTOR_RAIL
  LEGACY_ACTIVATOR_RAIL

// Different wood types signs since MC 1.14
#if version >= 1.14
ISSIGN:
  ACACIA_SIGN
  ACACIA_WALL_SIGN
  BIRCH_SIGN
  BIRCH_WALL_SIGN
  DARK_OAK_SIGN
  DARK_OAK_WALL_SIGN
  JUNGLE_SIGN
  JUNGLE_WALL_SIGN
  OAK_SIGN
  OAK_WALL_SIGN
  SPRUCE_SIGN
  SPRUCE_WALL_SIGN
  LEGACY_SIGN_POST
  LEGACY_WALL_SIGN

// New sign types added 1.16
#if version >= 1.16
  CRIMSON_SIGN
  CRIMSON_WALL_SIGN
  WARPED_SIGN
  WARPED_WALL_SIGN
#endif
#if version >= 1.19
  MANGROVE_SIGN
  MANGROVE_WALL_SIGN
#endif
#if version >= 1.19.3
  BAMBOO_SIGN
  BAMBOO_WALL_SIGN

  OAK_HANGING_SIGN
  SPRUCE_HANGING_SIGN
  BIRCH_HANGING_SIGN
  JUNGLE_HANGING_SIGN
  ACACIA_HANGING_SIGN
  DARK_OAK_HANGING_SIGN
  MANGROVE_HANGING_SIGN
  BAMBOO_HANGING_SIGN
  CRIMSON_HANGING_SIGN
  WARPED_HANGING_SIGN

  OAK_WALL_HANGING_SIGN
  SPRUCE_WALL_HANGING_SIGN
  BIRCH_WALL_HANGING_SIGN
  JUNGLE_WALL_HANGING_SIGN
  ACACIA_WALL_HANGING_SIGN
  DARK_OAK_WALL_HANGING_SIGN
  MANGROVE_WALL_HANGING_SIGN
  BAMBOO_WALL_HANGING_SIGN
  CRIMSON_WALL_HANGING_SIGN
  WARPED_WALL_HANGING_SIGN
#endif
#if version >= 1.19.4
  CHERRY_SIGN
  CHERRY_WALL_SIGN
  CHERRY_HANGING_SIGN
  CHERRY_WALL_HANGING_SIGN
#endif
#if version >= 1.21.2
  PALE_OAK_SIGN
  PALE_OAK_WALL_SIGN
  PALE_OAK_HANGING_SIGN
  PALE_OAK_WALL_HANGING_SIGN
#endif

#else
ISSIGN:
  WALL_SIGN
  SIGN
  LEGACY_SIGN_POST
  LEGACY_WALL_SIGN
#endif

ISPRESSUREPLATE:
  ACACIA_PRESSURE_PLATE
  BIRCH_PRESSURE_PLATE
  DARK_OAK_PRESSURE_PLATE
  HEAVY_WEIGHTED_PRESSURE_PLATE
  JUNGLE_PRESSURE_PLATE
  LIGHT_WEIGHTED_PRESSURE_PLATE
  OAK_PRESSURE_PLATE
  SPRUCE_PRESSURE_PLATE
  SPRUCE_PRESSURE_PLATE
  STONE_PRESSURE_PLATE
  LEGACY_WOOD_PLATE
  LEGACY_STONE_PLATE
  LEGACY_IRON_PLATE
  LEGACY_GOLD_PLATE
#if version >= 1.16
  CRIMSON_PRESSURE_PLATE
  WARPED_PRESSURE_PLATE
  POLISHED_BLACKSTONE_PRESSURE_PLATE
#endif
#if version >= 1.19
  MANGROVE_PRESSURE_PLATE
#endif
#if version >= 1.19.3
  BAMBOO_PRESSURE_PLATE
#endif
#if version >= 1.19.4
  CHERRY_PRESSURE_PLATE
#endif
#if version >= 1.21.2
  PALE_OAK_PRESSURE_PLATE
#endif

ISMINECART:
  MINECART
  FURNACE_MINECART
  CHEST_MINECART
  TNT_MINECART
  HOPPER_MINECART
  COMMAND_BLOCK_MINECART
  LEGACY_MINECART
  LEGACY_POWERED_MINECART
  LEGACY_STORAGE_MINECART
  LEGACY_EXPLOSIVE_MINECART
  LEGACY_HOPPER_MINECART
  LEGACY_COMMAND_MINECART

ISSWORD:
  WOODEN_SWORD
  STONE_SWORD
  IRON_SWORD
  GOLDEN_SWORD
  IRON_SWORD
  DIAMOND_SWORD
  LEGACY_WOOD_SWORD
  LEGACY_STONE_SWORD
  LEGACY_IRON_SWORD
  LEGACY_GOLD_SWORD
  LEGACY_IRON_SWORD
  LEGACY_DIAMOND_SWORD
#if version >= 1.16
  NETHERITE_SWORD
#endif
#if version >= 1.21.9
  COPPER_SWORD
#endif

ISBOOTS:
  LEATHER_BOOTS
  IRON_BOOTS
  GOLDEN_BOOTS
  DIAMOND_BOOTS
  CHAINMAIL_BOOTS
  LEGACY_LEATHER_BOOTS
  LEGACY_IRON_BOOTS
  LEGACY_GOLD_BOOTS
  LEGACY_DIAMOND_BOOTS
  LEGACY_CHAINMAIL_BOOTS
#if version >= 1.16
  NETHERITE_BOOTS
#endif
#if version >= 1.21.9
  COPPER_BOOTS
#endif

ISLEGGINGS:
  LEATHER_LEGGINGS
  IRON_LEGGINGS
  GOLDEN_LEGGINGS
  DIAMOND_LEGGINGS
  CHAINMAIL_LEGGINGS
  LEGACY_LEATHER_LEGGINGS
  LEGACY_IRON_LEGGINGS
  LEGACY_GOLD_LEGGINGS
  LEGACY_DIAMOND_LEGGINGS
  LEGACY_CHAINMAIL_LEGGINGS
#if version >= 1.16
  NETHERITE_LEGGINGS
#endif
#if version >= 1.21.9
  COPPER_LEGGINGS
#endif

ISCHESTPLATE:
  LEATHER_CHESTPLATE
  IRON_CHESTPLATE
  GOLDEN_CHESTPLATE
  DIAMOND_CHESTPLATE
  CHAINMAIL_CHESTPLATE
  LEGACY_LEATHER_CHESTPLATE
  LEGACY_IRON_CHESTPLATE
  LEGACY_GOLD_CHESTPLATE
  LEGACY_DIAMOND_CHESTPLATE
  LEGACY_CHAINMAIL_CHESTPLATE
#if version >= 1.16
  NETHERITE_CHESTPLATE
#endif
#if version >= 1.21.9
  COPPER_CHESTPLATE
#endif

ISHELMET:
  LEATHER_HELMET
  IRON_HELMET
  GOLDEN_HELMET
  DIAMOND_HELMET
  CHAINMAIL_HELMET
  TURTLE_HELMET
  LEGACY_LEATHER_HELMET
  LEGACY_IRON_HELMET
  LEGACY_GOLD_HELMET
  LEGACY_DIAMOND_HELMET
  LEGACY_CHAINMAIL_HELMET
#if version >= 1.16
  NETHERITE_HELMET
#endif
#if version >= 1.21.9
  COPPER_HELMET
#endif

ISLEATHERARMOR:
  LEATHER_BOOTS
  LEATHER_CHESTPLATE
  LEATHER_HELMET
  LEATHER_LEGGINGS
  LEGACY_LEATHER_BOOTS
  LEGACY_LEATHER_CHESTPLATE
  LEGACY_LEATHER_HELMET
  LEGACY_LEATHER_LEGGINGS

ISINTERACTABLE:
  LEVER
  NOTE_BLOCK
  JUKEBOX
  ANVIL
  CHEST
  HOPPER
  DROPPER
  ENDER_CHEST
  FURNACE
  DISPENSER
  CRAFTING_TABLE
  REPEATER
  COMPARATOR
  CAKE
  // Doors
  ACACIA_DOOR
  BIRCH_DOOR
  IRON_DOOR
  JUNGLE_DOOR
  OAK_DOOR
  SPRUCE_DOOR
  DARK_OAK_DOOR
  // Trap doors
  ACACIA_TRAPDOOR
  BIRCH_TRAPDOOR
  DARK_OAK_TRAPDOOR
  IRON_TRAPDOOR
  JUNGLE_TRAPDOOR
  OAK_TRAPDOOR
  SPRUCE_TRAPDOOR
  // Buttons
  ACACIA_BUTTON
  BIRCH_BUTTON
  DARK_OAK_BUTTON
  JUNGLE_BUTTON
  OAK_BUTTON
  SPRUCE_BUTTON
  STONE_BUTTON
  // Fence gates
  ACACIA_FENCE_GATE
  BIRCH_FENCE_GATE
  DARK_OAK_FENCE_GATE
  JUNGLE_FENCE_GATE
  OAK_FENCE_GATE
  SPRUCE_FENCE_GATE
  // Beds
  BLACK_BED
  BLUE_BED
  BROWN_BED
  CYAN_BED
  GRAY_BED
  GREEN_BED
  LIME_BED
  MAGENTA_BED
  ORANGE_BED
  PINK_BED
  PURPLE_BED
  RED_BED
  WHITE_BED
  YELLOW_BED
  LIGHT_BLUE_BED
  LIGHT_GRAY_BED
  // Legacy of the above
  LEGACY_TRAP_DOOR
  LEGACY_CHEST
  LEGACY_HOPPER
  LEGACY_DROPPER
  LEGACY_ENDER_CHEST
  LEGACY_FURNACE
  LEGACY_BURNING_FURNACE
  LEGACY_DISPENSER
  LEGACY_WORKBENCH
  LEGACY_DIODE_BLOCK_ON
  LEGACY_DIODE_BLOCK_OFF
  LEGACY_BED
  LEGACY_CAKE
  LEGACY_NOTE_BLOCK
  LEGACY_JUKEBOX
  LEGACY_WOOD_BUTTON
  LEGACY_STONE_BUTTON
  LEGACY_REDSTONE_COMPARATOR_OFF
  LEGACY_REDSTONE_COMPARATOR_ON
  LEGACY_ANVIL
  LEGACY_FENCE_GATE

ISWATER:
  WATER
  LEGACY_WATER
  LEGACY_STATIONARY_WATER

ISLAVA:
  LAVA
  LEGACY_LAVA
  LEGACY_STATIONARY_LAVA

ISLEAVES:
  ACACIA_LEAVES
  BIRCH_LEAVES
  DARK_OAK_LEAVES
  JUNGLE_LEAVES
  OAK_LEAVES
  SPRUCE_LEAVES
  LEGACY_LEAVES
  LEGACY_LEAVES_2

ISPOTION:
  POTION
  LINGERING_POTION
  SPLASH_POTION
  LEGACY_POTION
  LEGACY_LINGERING_POTION
  LEGACY_SPLASH_POTION

ISNETHERPORTAL:
  LEGACY_PORTAL
  NETHER_PORTAL

ISENDPORTAL:
  LEGACY_ENDER_PORTAL
  END_PORTAL

// ============================================================
#else
// ===================== Legacy <= 1.12.2 =====================
ISAIR:
  LEGACY_AIR

ISDOOR:
  LEGACY_WOODEN_DOOR
  LEGACY_JUNGLE_DOOR
  LEGACY_BIRCH_DOOR
  LEGACY_ACACIA_DOOR
  LEGACY_SPRUCE_DOOR
  LEGACY_DARK_OAK_DOOR
  LEGACY_IRON_DOOR_BLOCK

ISPISTONBASE:
  LEGACY_PISTON_STICKY_BASE
  LEGACY_PISTON_BASE

ISREDSTONETORCH:
  LEGACY_REDSTONE_TORCH_OFF
  LEGACY_REDSTONE_TORCH_ON

ISDIODE:
  LEGACY_DIODE_BLOCK_OFF
  LEGACY_DIODE_BLOCK_ON

ISBUTTON:
  LEGACY_STONE_BUTTON
  LEGACY_WOOD_BUTTON

ISCOMPARATOR:
  LEGACY_REDSTONE_COMPARATOR_OFF
  LEGACY_REDSTONE_COMPARATOR_ON

ISBUCKET:
  LEGACY_WATER_BUCKET
  LEGACY_LAVA_BUCKET
  LEGACY_BUCKET

ISRAILS:
  LEGACY_RAILS
  LEGACY_POWERED_RAIL
  LEGACY_DETECTOR_RAIL
  LEGACY_ACTIVATOR_RAIL

ISSIGN:
  LEGACY_WALL_SIGN
  LEGACY_SIGN_POST

ISPRESSUREPLATE:
  LEGACY_WOOD_PLATE
  LEGACY_STONE_PLATE
  LEGACY_IRON_PLATE
  LEGACY_GOLD_PLATE

ISMINECART:
  LEGACY_MINECART
  LEGACY_POWERED_MINECART
  LEGACY_STORAGE_MINECART
  LEGACY_EXPLOSIVE_MINECART
  LEGACY_HOPPER_MINECART
  LEGACY_COMMAND_MINECART

ISSWORD:
  LEGACY_WOOD_SWORD
  LEGACY_STONE_SWORD
  LEGACY_IRON_SWORD
  LEGACY_GOLD_SWORD
  LEGACY_IRON_SWORD
  LEGACY_DIAMOND_SWORD

ISBOOTS:
  LEGACY_LEATHER_BOOTS
  LEGACY_IRON_BOOTS
  LEGACY_GOLD_BOOTS
  LEGACY_DIAMOND_BOOTS
  LEGACY_CHAINMAIL_BOOTS

ISLEGGINGS:
  LEGACY_LEATHER_LEGGINGS
  LEGACY_IRON_LEGGINGS
  LEGACY_GOLD_LEGGINGS
  LEGACY_DIAMOND_LEGGINGS
  LEGACY_CHAINMAIL_LEGGINGS

ISCHESTPLATE:
  LEGACY_LEATHER_CHESTPLATE
  LEGACY_IRON_CHESTPLATE
  LEGACY_GOLD_CHESTPLATE
  LEGACY_DIAMOND_CHESTPLATE
  LEGACY_CHAINMAIL_CHESTPLATE

ISHELMET:
  LEGACY_LEATHER_HELMET
  LEGACY_IRON_HELMET
  LEGACY_GOLD_HELMET
  LEGACY_DIAMOND_HELMET
  LEGACY_CHAINMAIL_HELMET

ISLEATHERARMOR:
  LEGACY_LEATHER_BOOTS
  LEGACY_LEATHER_CHESTPLATE
  LEGACY_LEATHER_HELMET
  LEGACY_LEATHER_LEGGINGS

ISINTERACTABLE:
  LEGACY_TRAP_DOOR
  LEGACY_CHEST
  LEGACY_HOPPER
  LEGACY_DROPPER
  LEGACY_ENDER_CHEST
  LEGACY_FURNACE
  LEGACY_BURNING_FURNACE
  LEGACY_DISPENSER
  LEGACY_WORKBENCH
  LEGACY_DIODE_BLOCK_ON
  LEGACY_DIODE_BLOCK_OFF
  LEGACY_BED
  LEGACY_CAKE
  LEGACY_NOTE_BLOCK
  LEGACY_JUKEBOX
  LEGACY_WOOD_BUTTON
  LEGACY_STONE_BUTTON
  LEGACY_REDSTONE_COMPARATOR_OFF
  LEGACY_REDSTONE_COMPARATOR_ON
  LEGACY_ANVIL
  LEGACY_FENCE_GATE

ISWATER:
  LEGACY_WATER
  LEGACY_STATIONARY_WATER

ISLAVA:
  LEGACY_LAVA
  LEGACY_STATIONARY_LAVA

ISLEAVES:
  LEGACY_LEAVES
  LEGACY_LEAVES_2

ISPOTION:
  LEGACY_POTION
#if version >= 1.9
  LEGACY_LINGERING_POTION
  LEGACY_SPLASH_POTION
#endif

ISNETHERPORTAL:
  LEGACY_PORTAL

ISENDPORTAL:
  LEGACY_ENDER_PORTAL

// ============================================================
#endif
