Enum XMaterial
- All Implemented Interfaces:
Serializable
,Comparable<XMaterial>
,java.lang.constant.Constable
public enum XMaterial extends Enum<XMaterial>
1.13 and above as priority.
This class is mainly designed to support ItemStacks. If you want to use it on blocks, you'll have to use XBlock
Pre-flattening: https://minecraft.gamepedia.com/Java_Edition_data_values/Pre-flattening Materials: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html Materials (1.12): https://helpch.at/docs/1.12.2/index.html?org/bukkit/Material.html Material IDs: https://minecraft-ids.grahamedgecombe.com/ Material Source Code: https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/browse/src/main/java/org/bukkit/Material.java XMaterial v1: https://www.spigotmc.org/threads/329630/
- Version:
- 5.2.1
- Author:
- Crypto Morin
- See Also:
Material
,ItemStack
-
Nested Class Summary
-
Enum Constant Summary
-
Field Summary
-
Method Summary
Modifier and Type Method Description static boolean
contains(String name)
Checks if XMaterial enum contains a material with the given name.byte
getData()
The data value of this material pre-flattening.int
getId()
Gets the ID (Magic value) of the material.String[]
getLegacy()
Get a list of materials names that was previously used by older versions.static String
getMajorVersion(String version)
Gets the exact major version (..., 1.9, 1.10, ..., 1.14)int
getMaterialVersion()
Gets the version which this material was added in.List<String>
getSuggestions()
Gets the suggested material names that can be used if the material is not supported in the current version.static double
getVersion()
The current version of the server.boolean
isDamageable()
Checks if the material can be damaged by using it.static boolean
isDamageable(String name)
Checks if the material can be damaged by using it.boolean
isDuplicated()
Checks if the material has any duplicates.boolean
isFromNewSystem()
Checks if the material is newly added after the 1.13 Aquatic Update.static boolean
isNewVersion()
Checks if the version is 1.13 Aquatic Update or higher.static boolean
isOneEight()
This is just an extra method that method that can be used for many cases.boolean
isOneOf(List<String> materials)
Checks if the list of given material names matches the given base material.static boolean
isOneOf(org.bukkit.Material material, List<String> materials)
Checks if the list of given material names matches the given base material.boolean
isSimilar(org.bukkit.inventory.ItemStack item)
Checks if an item has the same material (and data value on older versions).boolean
isSupported()
Checks if this material is supported in the current version.static Optional<XMaterial>
matchXMaterial(int id, byte data)
Gets the XMaterial based on the material's ID (Magic Value) and data value.
You should avoid using this for performance issues.static Optional<XMaterial>
matchXMaterial(String name)
Parses the given material name as an XMaterial with unspecified data value.static XMaterial
matchXMaterial(org.bukkit.inventory.ItemStack item)
Parses the given item as an XMaterial using its material and data value (durability).static XMaterial
matchXMaterial(org.bukkit.Material material)
Parses the given material as an XMaterial.org.bukkit.inventory.ItemStack
parseItem()
Parses an item from this XMaterial.org.bukkit.inventory.ItemStack
parseItem(boolean suggest)
Parses an item from this XMaterial.Optional<org.bukkit.Material>
parseMaterial()
Parses the material of this XMaterial.Optional<org.bukkit.Material>
parseMaterial(boolean suggest)
Parses the material of this XMaterial and accepts suggestions.org.bukkit.inventory.ItemStack
setType(org.bukkit.inventory.ItemStack item)
Sets theMaterial
(and data value on older versions) of an item.static boolean
supports(int version)
Checks if the specified version is the same version or higher than the current server version.String
toString()
User-friendly readable name for this material In most cases you should be usingEnum.name()
instead.static String
toWord(org.bukkit.Material material)
Converts the enum names to a more friendly and readable string.static XMaterial
valueOf(String name)
Returns the enum constant of this type with the specified name.static XMaterial[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
Enum Constant Details
-
ACACIA_BOAT
-
ACACIA_BUTTON
-
ACACIA_DOOR
-
ACACIA_FENCE
-
ACACIA_FENCE_GATE
-
ACACIA_LEAVES
-
ACACIA_LOG
-
ACACIA_PLANKS
-
ACACIA_PRESSURE_PLATE
-
ACACIA_SAPLING
-
ACACIA_SIGN
-
ACACIA_SLAB
-
ACACIA_STAIRS
-
ACACIA_TRAPDOOR
-
ACACIA_WALL_SIGN
-
ACACIA_WOOD
-
ACTIVATOR_RAIL
-
AIR
https://minecraft.gamepedia.com/AirMaterial.isAir()
-
ALLIUM
-
ANCIENT_DEBRIS
-
ANDESITE
-
ANDESITE_SLAB
-
ANDESITE_STAIRS
-
ANDESITE_WALL
-
ANVIL
-
APPLE
-
ARMOR_STAND
-
ARROW
-
ATTACHED_MELON_STEM
-
ATTACHED_PUMPKIN_STEM
-
AZURE_BLUET
-
BAKED_POTATO
-
BAMBOO
-
BAMBOO_SAPLING
-
BARREL
-
BARRIER
-
BASALT
-
BAT_SPAWN_EGG
-
BEACON
-
BEDROCK
-
BEEF
-
BEEHIVE
-
BEETROOT
Beetroot is a known material in pre-1.13 Use XBlock when comparing block types. -
BEETROOTS
-
BEETROOT_SEEDS
-
BEETROOT_SOUP
-
BEE_NEST
-
BEE_SPAWN_EGG
-
BELL
-
BIRCH_BOAT
-
BIRCH_BUTTON
-
BIRCH_DOOR
-
BIRCH_FENCE
-
BIRCH_FENCE_GATE
-
BIRCH_LEAVES
-
BIRCH_LOG
-
BIRCH_PLANKS
-
BIRCH_PRESSURE_PLATE
-
BIRCH_SAPLING
-
BIRCH_SIGN
-
BIRCH_SLAB
-
BIRCH_STAIRS
-
BIRCH_TRAPDOOR
-
BIRCH_WALL_SIGN
-
BIRCH_WOOD
-
BLACKSTONE
-
BLACKSTONE_SLAB
-
BLACKSTONE_STAIRS
-
BLACKSTONE_WALL
-
BLACK_BANNER
-
BLACK_BED
-
BLACK_CARPET
-
BLACK_CONCRETE
-
BLACK_CONCRETE_POWDER
-
BLACK_DYE
-
BLACK_GLAZED_TERRACOTTA
-
BLACK_SHULKER_BOX
-
BLACK_STAINED_GLASS
-
BLACK_STAINED_GLASS_PANE
-
BLACK_TERRACOTTA
-
BLACK_WALL_BANNER
-
BLACK_WOOL
-
BLAST_FURNACE
-
BLAZE_POWDER
-
BLAZE_ROD
-
BLAZE_SPAWN_EGG
-
BLUE_BANNER
-
BLUE_BED
-
BLUE_CARPET
-
BLUE_CONCRETE
-
BLUE_CONCRETE_POWDER
-
BLUE_DYE
-
BLUE_GLAZED_TERRACOTTA
-
BLUE_ICE
-
BLUE_ORCHID
-
BLUE_SHULKER_BOX
-
BLUE_STAINED_GLASS
-
BLUE_STAINED_GLASS_PANE
-
BLUE_TERRACOTTA
-
BLUE_WALL_BANNER
-
BLUE_WOOL
-
BONE
-
BONE_BLOCK
-
BONE_MEAL
-
BOOK
-
BOOKSHELF
-
BOW
-
BOWL
-
BRAIN_CORAL
-
BRAIN_CORAL_BLOCK
-
BRAIN_CORAL_FAN
-
BRAIN_CORAL_WALL_FAN
-
BREAD
-
BREWING_STAND
-
BRICK
-
BRICKS
-
BRICK_SLAB
-
BRICK_STAIRS
-
BRICK_WALL
-
BROWN_BANNER
-
BROWN_BED
-
BROWN_CARPET
-
BROWN_CONCRETE
-
BROWN_CONCRETE_POWDER
-
BROWN_DYE
-
BROWN_GLAZED_TERRACOTTA
-
BROWN_MUSHROOM
-
BROWN_MUSHROOM_BLOCK
-
BROWN_SHULKER_BOX
-
BROWN_STAINED_GLASS
-
BROWN_STAINED_GLASS_PANE
-
BROWN_TERRACOTTA
-
BROWN_WALL_BANNER
-
BROWN_WOOL
-
BUBBLE_COLUMN
-
BUBBLE_CORAL
-
BUBBLE_CORAL_BLOCK
-
BUBBLE_CORAL_FAN
-
BUBBLE_CORAL_WALL_FAN
-
BUCKET
-
CACTUS
-
CAKE
-
CAMPFIRE
-
CARROT
-
CARROTS
-
CARROT_ON_A_STICK
-
CARTOGRAPHY_TABLE
-
CARVED_PUMPKIN
-
CAT_SPAWN_EGG
-
CAULDRON
-
CAVE_AIR
1.13 tag is not added because it's the same thing asAIR
- See Also:
VOID_AIR
-
CAVE_SPIDER_SPAWN_EGG
-
CHAIN
-
CHAINMAIL_BOOTS
-
CHAINMAIL_CHESTPLATE
-
CHAINMAIL_HELMET
-
CHAINMAIL_LEGGINGS
-
CHAIN_COMMAND_BLOCK
-
CHARCOAL
-
CHEST
-
CHEST_MINECART
-
CHICKEN
-
CHICKEN_SPAWN_EGG
-
CHIPPED_ANVIL
-
CHISELED_NETHER_BRICKS
-
CHISELED_POLISHED_BLACKSTONE
-
CHISELED_QUARTZ_BLOCK
-
CHISELED_RED_SANDSTONE
-
CHISELED_SANDSTONE
-
CHISELED_STONE_BRICKS
-
CHORUS_FLOWER
-
CHORUS_FRUIT
-
CHORUS_PLANT
-
CLAY
-
CLAY_BALL
-
CLOCK
-
COAL
-
COAL_BLOCK
-
COAL_ORE
-
COARSE_DIRT
-
COBBLESTONE
-
COBBLESTONE_SLAB
-
COBBLESTONE_STAIRS
-
COBBLESTONE_WALL
-
COBWEB
-
COCOA
-
COCOA_BEANS
-
COD
-
COD_BUCKET
-
COD_SPAWN_EGG
-
COMMAND_BLOCK
-
COMMAND_BLOCK_MINECART
-
COMPARATOR
Unlike redstone torch and redstone lamp... neither REDTONE_COMPARATOR_OFF nor REDSTONE_COMPARATOR_ON are items. REDSTONE_COMPARATOR is.- See Also:
REDSTONE_TORCH
,REDSTONE_LAMP
-
COMPASS
-
COMPOSTER
-
CONDUIT
-
COOKED_BEEF
-
COOKED_CHICKEN
-
COOKED_COD
-
COOKED_MUTTON
-
COOKED_PORKCHOP
-
COOKED_RABBIT
-
COOKED_SALMON
-
COOKIE
-
CORNFLOWER
-
COW_SPAWN_EGG
-
CRACKED_NETHER_BRICKS
-
CRACKED_POLISHED_BLACKSTONE_BRICKS
-
CRACKED_STONE_BRICKS
-
CRAFTING_TABLE
-
CREEPER_BANNER_PATTERN
-
CREEPER_HEAD
-
CREEPER_SPAWN_EGG
-
CREEPER_WALL_HEAD
-
CRIMSON_BUTTON
-
CRIMSON_DOOR
-
CRIMSON_FENCE
-
CRIMSON_FENCE_GATE
-
CRIMSON_FUNGUS
-
CRIMSON_HYPHAE
-
CRIMSON_NYLIUM
-
CRIMSON_PLANKS
-
CRIMSON_PRESSURE_PLATE
-
CRIMSON_ROOTS
-
CRIMSON_SIGN
-
CRIMSON_SLAB
-
CRIMSON_STAIRS
-
CRIMSON_STEM
-
CRIMSON_TRAPDOOR
-
CRIMSON_WALL_SIGN
-
CROSSBOW
-
CRYING_OBSIDIAN
-
CUT_RED_SANDSTONE
-
CUT_RED_SANDSTONE_SLAB
-
CUT_SANDSTONE
-
CUT_SANDSTONE_SLAB
-
CYAN_BANNER
-
CYAN_BED
-
CYAN_CARPET
-
CYAN_CONCRETE
-
CYAN_CONCRETE_POWDER
-
CYAN_DYE
-
CYAN_GLAZED_TERRACOTTA
-
CYAN_SHULKER_BOX
-
CYAN_STAINED_GLASS
-
CYAN_STAINED_GLASS_PANE
-
CYAN_TERRACOTTA
-
CYAN_WALL_BANNER
-
CYAN_WOOL
-
DAMAGED_ANVIL
-
DANDELION
-
DARK_OAK_BOAT
-
DARK_OAK_BUTTON
-
DARK_OAK_DOOR
-
DARK_OAK_FENCE
-
DARK_OAK_FENCE_GATE
-
DARK_OAK_LEAVES
-
DARK_OAK_LOG
-
DARK_OAK_PLANKS
-
DARK_OAK_PRESSURE_PLATE
-
DARK_OAK_SAPLING
-
DARK_OAK_SIGN
-
DARK_OAK_SLAB
-
DARK_OAK_STAIRS
-
DARK_OAK_TRAPDOOR
-
DARK_OAK_WALL_SIGN
-
DARK_OAK_WOOD
-
DARK_PRISMARINE
-
DARK_PRISMARINE_SLAB
-
DARK_PRISMARINE_STAIRS
-
DAYLIGHT_DETECTOR
-
DEAD_BRAIN_CORAL
-
DEAD_BRAIN_CORAL_BLOCK
-
DEAD_BRAIN_CORAL_FAN
-
DEAD_BRAIN_CORAL_WALL_FAN
-
DEAD_BUBBLE_CORAL
-
DEAD_BUBBLE_CORAL_BLOCK
-
DEAD_BUBBLE_CORAL_FAN
-
DEAD_BUBBLE_CORAL_WALL_FAN
-
DEAD_BUSH
-
DEAD_FIRE_CORAL
-
DEAD_FIRE_CORAL_BLOCK
-
DEAD_FIRE_CORAL_FAN
-
DEAD_FIRE_CORAL_WALL_FAN
-
DEAD_HORN_CORAL
-
DEAD_HORN_CORAL_BLOCK
-
DEAD_HORN_CORAL_FAN
-
DEAD_HORN_CORAL_WALL_FAN
-
DEAD_TUBE_CORAL
-
DEAD_TUBE_CORAL_BLOCK
-
DEAD_TUBE_CORAL_FAN
-
DEAD_TUBE_CORAL_WALL_FAN
-
DEBUG_STICK
-
DETECTOR_RAIL
-
DIAMOND
-
DIAMOND_AXE
-
DIAMOND_BLOCK
-
DIAMOND_BOOTS
-
DIAMOND_CHESTPLATE
-
DIAMOND_HELMET
-
DIAMOND_HOE
-
DIAMOND_HORSE_ARMOR
-
DIAMOND_LEGGINGS
-
DIAMOND_ORE
-
DIAMOND_PICKAXE
-
DIAMOND_SHOVEL
-
DIAMOND_SWORD
-
DIORITE
-
DIORITE_SLAB
-
DIORITE_STAIRS
-
DIORITE_WALL
-
DIRT
-
DISPENSER
-
DOLPHIN_SPAWN_EGG
-
DONKEY_SPAWN_EGG
-
DRAGON_BREATH
-
DRAGON_EGG
-
DRAGON_HEAD
-
DRAGON_WALL_HEAD
-
DRIED_KELP
-
DRIED_KELP_BLOCK
-
DROPPER
-
DROWNED_SPAWN_EGG
-
EGG
-
ELDER_GUARDIAN_SPAWN_EGG
-
ELYTRA
-
EMERALD
-
EMERALD_BLOCK
-
EMERALD_ORE
-
ENCHANTED_BOOK
-
ENCHANTED_GOLDEN_APPLE
-
ENCHANTING_TABLE
-
ENDERMAN_SPAWN_EGG
-
ENDERMITE_SPAWN_EGG
-
ENDER_CHEST
-
ENDER_EYE
-
ENDER_PEARL
-
END_CRYSTAL
-
END_GATEWAY
-
END_PORTAL
-
END_PORTAL_FRAME
-
END_ROD
-
END_STONE
-
END_STONE_BRICKS
-
END_STONE_BRICK_SLAB
-
END_STONE_BRICK_STAIRS
-
END_STONE_BRICK_WALL
-
EVOKER_SPAWN_EGG
-
EXPERIENCE_BOTTLE
-
FARMLAND
-
FEATHER
-
FERMENTED_SPIDER_EYE
-
FERN
-
FILLED_MAP
For some reasons filled map items are really special. Their data value starts from 0 and every time a player creates a new map that maps data value increases. -
FIRE
-
FIREWORK_ROCKET
-
FIREWORK_STAR
-
FIRE_CHARGE
-
FIRE_CORAL
-
FIRE_CORAL_BLOCK
-
FIRE_CORAL_FAN
-
FIRE_CORAL_WALL_FAN
-
FISHING_ROD
-
FLETCHING_TABLE
-
FLINT
-
FLINT_AND_STEEL
-
FLOWER_BANNER_PATTERN
-
FLOWER_POT
-
FOX_SPAWN_EGG
-
FROSTED_ICE
This special material cannot be obtained as an item. -
FURNACE
-
FURNACE_MINECART
-
GHAST_SPAWN_EGG
-
GHAST_TEAR
-
GILDED_BLACKSTONE
-
GLASS
-
GLASS_BOTTLE
-
GLASS_PANE
-
GLISTERING_MELON_SLICE
-
GLOBE_BANNER_PATTERN
-
GLOWSTONE
-
GLOWSTONE_DUST
-
GOLDEN_APPLE
-
GOLDEN_AXE
-
GOLDEN_BOOTS
-
GOLDEN_CARROT
-
GOLDEN_CHESTPLATE
-
GOLDEN_HELMET
-
GOLDEN_HOE
-
GOLDEN_HORSE_ARMOR
-
GOLDEN_LEGGINGS
-
GOLDEN_PICKAXE
-
GOLDEN_SHOVEL
-
GOLDEN_SWORD
-
GOLD_BLOCK
-
GOLD_INGOT
-
GOLD_NUGGET
-
GOLD_ORE
-
GRANITE
-
GRANITE_SLAB
-
GRANITE_STAIRS
-
GRANITE_WALL
-
GRASS
-
GRASS_BLOCK
-
POTTED_CRIMSON_ROOTS
-
POTTED_WARPED_FUNGUS
-
POTTED_WARPED_ROOTS
-
GRASS_PATH
-
GRAVEL
-
GRAY_BANNER
-
GRAY_BED
-
GRAY_CARPET
-
GRAY_CONCRETE
-
GRAY_CONCRETE_POWDER
-
GRAY_DYE
-
GRAY_GLAZED_TERRACOTTA
-
GRAY_SHULKER_BOX
-
GRAY_STAINED_GLASS
-
GRAY_STAINED_GLASS_PANE
-
GRAY_TERRACOTTA
-
GRAY_WALL_BANNER
-
GRAY_WOOL
-
GREEN_BANNER
-
GREEN_BED
-
GREEN_CARPET
-
GREEN_CONCRETE
-
GREEN_CONCRETE_POWDER
-
GREEN_DYE
-
GREEN_GLAZED_TERRACOTTA
-
GREEN_SHULKER_BOX
-
GREEN_STAINED_GLASS
-
GREEN_STAINED_GLASS_PANE
-
GREEN_TERRACOTTA
-
GREEN_WALL_BANNER
-
GREEN_WOOL
-
GRINDSTONE
-
GUARDIAN_SPAWN_EGG
-
GUNPOWDER
-
HAY_BLOCK
-
HEART_OF_THE_SEA
-
HEAVY_WEIGHTED_PRESSURE_PLATE
-
HOGLIN_SPAWN_EGG
-
HONEYCOMB
-
HONEYCOMB_BLOCK
-
HONEY_BLOCK
-
HONEY_BOTTLE
-
HOPPER
-
HOPPER_MINECART
-
HORN_CORAL
-
HORN_CORAL_BLOCK
-
HORN_CORAL_FAN
-
HORN_CORAL_WALL_FAN
-
HORSE_SPAWN_EGG
-
HUSK_SPAWN_EGG
-
ICE
-
INFESTED_CHISELED_STONE_BRICKS
-
INFESTED_COBBLESTONE
-
INFESTED_CRACKED_STONE_BRICKS
-
INFESTED_MOSSY_STONE_BRICKS
-
INFESTED_STONE
-
INFESTED_STONE_BRICKS
-
INK_SAC
We will only add "INK_SAC" forBLACK_DYE
since it's the only material (linked with this material) that is added after 1.13, which means it can use both INK_SACK and INK_SAC. -
IRON_AXE
-
IRON_BARS
-
IRON_BLOCK
-
IRON_BOOTS
-
IRON_CHESTPLATE
-
IRON_DOOR
-
IRON_HELMET
-
IRON_HOE
-
IRON_HORSE_ARMOR
-
IRON_INGOT
-
IRON_LEGGINGS
-
IRON_NUGGET
-
IRON_ORE
-
IRON_PICKAXE
-
IRON_SHOVEL
-
IRON_SWORD
-
IRON_TRAPDOOR
-
ITEM_FRAME
-
JACK_O_LANTERN
-
JIGSAW
-
JUKEBOX
-
JUNGLE_BOAT
-
JUNGLE_BUTTON
-
JUNGLE_DOOR
-
JUNGLE_FENCE
-
JUNGLE_FENCE_GATE
-
JUNGLE_LEAVES
-
JUNGLE_LOG
-
JUNGLE_PLANKS
-
JUNGLE_PRESSURE_PLATE
-
JUNGLE_SAPLING
-
JUNGLE_SIGN
-
JUNGLE_SLAB
-
JUNGLE_STAIRS
-
JUNGLE_TRAPDOOR
-
JUNGLE_WALL_SIGN
-
JUNGLE_WOOD
-
KELP
-
KELP_PLANT
-
KNOWLEDGE_BOOK
-
LADDER
-
LANTERN
-
LAPIS_BLOCK
-
LAPIS_LAZULI
-
LAPIS_ORE
-
LARGE_FERN
-
LAVA
-
LAVA_BUCKET
-
LEAD
-
LEATHER
-
LEATHER_BOOTS
-
LEATHER_CHESTPLATE
-
LEATHER_HELMET
-
LEATHER_HORSE_ARMOR
-
LEATHER_LEGGINGS
-
LECTERN
-
LEVER
-
LIGHT_BLUE_BANNER
-
LIGHT_BLUE_BED
-
LIGHT_BLUE_CARPET
-
LIGHT_BLUE_CONCRETE
-
LIGHT_BLUE_CONCRETE_POWDER
-
LIGHT_BLUE_DYE
-
LIGHT_BLUE_GLAZED_TERRACOTTA
-
LIGHT_BLUE_SHULKER_BOX
-
LIGHT_BLUE_STAINED_GLASS
-
LIGHT_BLUE_STAINED_GLASS_PANE
-
LIGHT_BLUE_TERRACOTTA
-
LIGHT_BLUE_WALL_BANNER
-
LIGHT_BLUE_WOOL
-
LIGHT_GRAY_BANNER
-
LIGHT_GRAY_BED
-
LIGHT_GRAY_CARPET
-
LIGHT_GRAY_CONCRETE
-
LIGHT_GRAY_CONCRETE_POWDER
-
LIGHT_GRAY_DYE
-
LIGHT_GRAY_GLAZED_TERRACOTTA
Renamed to SILVER_GLAZED_TERRACOTTA in 1.12 Renamed to LIGHT_GRAY_GLAZED_TERRACOTTA in 1.14 -
LIGHT_GRAY_SHULKER_BOX
-
LIGHT_GRAY_STAINED_GLASS
-
LIGHT_GRAY_STAINED_GLASS_PANE
-
LIGHT_GRAY_TERRACOTTA
-
LIGHT_GRAY_WALL_BANNER
-
LIGHT_GRAY_WOOL
-
LIGHT_WEIGHTED_PRESSURE_PLATE
-
LILAC
-
LILY_OF_THE_VALLEY
-
LILY_PAD
-
LIME_BANNER
-
LIME_BED
-
LIME_CARPET
-
LIME_CONCRETE
-
LIME_CONCRETE_POWDER
-
LIME_DYE
-
LIME_GLAZED_TERRACOTTA
-
LIME_SHULKER_BOX
-
LIME_STAINED_GLASS
-
LIME_STAINED_GLASS_PANE
-
LIME_TERRACOTTA
-
LIME_WALL_BANNER
-
LIME_WOOL
-
LINGERING_POTION
-
LLAMA_SPAWN_EGG
-
LODESTONE
-
LOOM
-
MAGENTA_BANNER
-
MAGENTA_BED
-
MAGENTA_CARPET
-
MAGENTA_CONCRETE
-
MAGENTA_CONCRETE_POWDER
-
MAGENTA_DYE
-
MAGENTA_GLAZED_TERRACOTTA
-
MAGENTA_SHULKER_BOX
-
MAGENTA_STAINED_GLASS
-
MAGENTA_STAINED_GLASS_PANE
-
MAGENTA_TERRACOTTA
-
MAGENTA_WALL_BANNER
-
MAGENTA_WOOL
-
MAGMA_BLOCK
-
MAGMA_CREAM
-
MAGMA_CUBE_SPAWN_EGG
-
MAP
Adding this to the duplicated list will give you a filled map for 1.13+ versions and removing it from duplicated list will still give you a filled map in -1.12 versions. Since higher versions are our priority I'll keep 1.13+ support until I can come up with something to fix it. -
MELON
-
MELON_SEEDS
-
MELON_SLICE
-
MELON_STEM
-
MILK_BUCKET
-
MINECART
-
MOJANG_BANNER_PATTERN
-
MOOSHROOM_SPAWN_EGG
-
MOSSY_COBBLESTONE
-
MOSSY_COBBLESTONE_SLAB
-
MOSSY_COBBLESTONE_STAIRS
-
MOSSY_COBBLESTONE_WALL
-
MOSSY_STONE_BRICKS
-
MOSSY_STONE_BRICK_SLAB
-
MOSSY_STONE_BRICK_STAIRS
-
MOSSY_STONE_BRICK_WALL
-
MOVING_PISTON
-
MULE_SPAWN_EGG
-
MUSHROOM_STEM
-
MUSHROOM_STEW
-
MUSIC_DISC_11
-
MUSIC_DISC_13
-
MUSIC_DISC_BLOCKS
-
MUSIC_DISC_CAT
-
MUSIC_DISC_CHIRP
-
MUSIC_DISC_FAR
-
MUSIC_DISC_MALL
-
MUSIC_DISC_MELLOHI
-
MUSIC_DISC_PIGSTEP
-
MUSIC_DISC_STAL
-
MUSIC_DISC_STRAD
-
MUSIC_DISC_WAIT
-
MUSIC_DISC_WARD
-
MUTTON
-
MYCELIUM
-
NAME_TAG
-
NAUTILUS_SHELL
-
NETHERITE_AXE
-
NETHERITE_BLOCK
-
NETHERITE_BOOTS
-
NETHERITE_CHESTPLATE
-
NETHERITE_HELMET
-
NETHERITE_HOE
-
NETHERITE_INGOT
-
NETHERITE_LEGGINGS
-
NETHERITE_PICKAXE
-
NETHERITE_SCRAP
-
NETHERITE_SHOVEL
-
NETHERITE_SWORD
-
NETHERRACK
-
NETHER_BRICK
-
NETHER_BRICKS
-
NETHER_BRICK_FENCE
-
NETHER_BRICK_SLAB
-
NETHER_BRICK_STAIRS
-
NETHER_BRICK_WALL
-
NETHER_GOLD_ORE
-
NETHER_PORTAL
-
NETHER_QUARTZ_ORE
-
NETHER_SPROUTS
-
NETHER_STAR
-
NETHER_WART
Just like mentioned in https://minecraft.gamepedia.com/Nether_Wart Nether wart is also known as nether stalk in the code. NETHER_STALK is the planted state of nether warts. -
NETHER_WART_BLOCK
-
NOTE_BLOCK
-
OAK_BOAT
-
OAK_BUTTON
-
OAK_DOOR
-
OAK_FENCE
-
OAK_FENCE_GATE
-
OAK_LEAVES
-
OAK_LOG
-
OAK_PLANKS
-
OAK_PRESSURE_PLATE
-
OAK_SAPLING
-
OAK_SIGN
-
OAK_SLAB
-
OAK_STAIRS
-
OAK_TRAPDOOR
-
OAK_WALL_SIGN
-
OAK_WOOD
-
OBSERVER
-
OBSIDIAN
-
OCELOT_SPAWN_EGG
-
ORANGE_BANNER
-
ORANGE_BED
-
ORANGE_CARPET
-
ORANGE_CONCRETE
-
ORANGE_CONCRETE_POWDER
-
ORANGE_DYE
-
ORANGE_GLAZED_TERRACOTTA
-
ORANGE_SHULKER_BOX
-
ORANGE_STAINED_GLASS
-
ORANGE_STAINED_GLASS_PANE
-
ORANGE_TERRACOTTA
-
ORANGE_TULIP
-
ORANGE_WALL_BANNER
-
ORANGE_WOOL
-
OXEYE_DAISY
-
PACKED_ICE
-
PAINTING
-
PANDA_SPAWN_EGG
-
PAPER
-
PARROT_SPAWN_EGG
-
PEONY
-
PETRIFIED_OAK_SLAB
-
PHANTOM_MEMBRANE
-
PHANTOM_SPAWN_EGG
-
PIGLIN_BANNER_PATTERN
-
PIGLIN_SPAWN_EGG
-
PIG_SPAWN_EGG
-
PILLAGER_SPAWN_EGG
-
PINK_BANNER
-
PINK_BED
-
PINK_CARPET
-
PINK_CONCRETE
-
PINK_CONCRETE_POWDER
-
PINK_DYE
-
PINK_GLAZED_TERRACOTTA
-
PINK_SHULKER_BOX
-
PINK_STAINED_GLASS
-
PINK_STAINED_GLASS_PANE
-
PINK_TERRACOTTA
-
PINK_TULIP
-
PINK_WALL_BANNER
-
PINK_WOOL
-
PISTON
-
PISTON_HEAD
-
PLAYER_HEAD
-
PLAYER_WALL_HEAD
-
PODZOL
-
POISONOUS_POTATO
-
POLAR_BEAR_SPAWN_EGG
-
POLISHED_ANDESITE
-
POLISHED_ANDESITE_SLAB
-
POLISHED_ANDESITE_STAIRS
-
POLISHED_BASALT
-
POLISHED_BLACKSTONE
-
POLISHED_BLACKSTONE_BRICKS
-
POLISHED_BLACKSTONE_BRICK_SLAB
-
POLISHED_BLACKSTONE_BRICK_STAIRS
-
POLISHED_BLACKSTONE_BRICK_WALL
-
POLISHED_BLACKSTONE_BUTTON
-
POLISHED_BLACKSTONE_PRESSURE_PLATE
-
POLISHED_BLACKSTONE_SLAB
-
POLISHED_BLACKSTONE_STAIRS
-
POLISHED_BLACKSTONE_WALL
-
POLISHED_DIORITE
-
POLISHED_DIORITE_SLAB
-
POLISHED_DIORITE_STAIRS
-
POLISHED_GRANITE
-
POLISHED_GRANITE_SLAB
-
POLISHED_GRANITE_STAIRS
-
POPPED_CHORUS_FRUIT
-
POPPY
-
PORKCHOP
-
POTATO
-
POTATOES
-
POTION
-
POTTED_ACACIA_SAPLING
-
POTTED_ALLIUM
-
POTTED_AZURE_BLUET
-
POTTED_BAMBOO
-
POTTED_BIRCH_SAPLING
-
POTTED_BLUE_ORCHID
-
POTTED_BROWN_MUSHROOM
-
POTTED_CACTUS
-
POTTED_CORNFLOWER
-
POTTED_CRIMSON_FUNGUS
-
POTTED_DANDELION
-
POTTED_DARK_OAK_SAPLING
-
POTTED_DEAD_BUSH
-
POTTED_FERN
-
POTTED_JUNGLE_SAPLING
-
POTTED_LILY_OF_THE_VALLEY
-
POTTED_OAK_SAPLING
-
POTTED_ORANGE_TULIP
-
POTTED_OXEYE_DAISY
-
POTTED_PINK_TULIP
-
POTTED_POPPY
-
POTTED_RED_MUSHROOM
-
POTTED_RED_TULIP
-
POTTED_SPRUCE_SAPLING
-
POTTED_WHITE_TULIP
-
POTTED_WITHER_ROSE
-
POWERED_RAIL
-
PRISMARINE
-
PRISMARINE_BRICKS
-
PRISMARINE_BRICK_SLAB
-
PRISMARINE_BRICK_STAIRS
-
PRISMARINE_CRYSTALS
-
PRISMARINE_SHARD
-
PRISMARINE_SLAB
-
PRISMARINE_STAIRS
-
PRISMARINE_WALL
-
PUFFERFISH
-
PUFFERFISH_BUCKET
-
PUFFERFISH_SPAWN_EGG
-
PUMPKIN
-
PUMPKIN_PIE
-
PUMPKIN_SEEDS
-
PUMPKIN_STEM
-
PURPLE_BANNER
-
PURPLE_BED
-
PURPLE_CARPET
-
PURPLE_CONCRETE
-
PURPLE_CONCRETE_POWDER
-
PURPLE_DYE
-
PURPLE_GLAZED_TERRACOTTA
-
PURPLE_SHULKER_BOX
-
PURPLE_STAINED_GLASS
-
PURPLE_STAINED_GLASS_PANE
-
PURPLE_TERRACOTTA
-
PURPLE_WALL_BANNER
-
PURPLE_WOOL
-
PURPUR_BLOCK
-
PURPUR_PILLAR
-
PURPUR_SLAB
-
PURPUR_STAIRS
-
QUARTZ
-
QUARTZ_BLOCK
-
QUARTZ_BRICKS
-
QUARTZ_PILLAR
-
QUARTZ_SLAB
-
QUARTZ_STAIRS
-
RABBIT
-
RABBIT_FOOT
-
RABBIT_HIDE
-
RABBIT_SPAWN_EGG
-
RABBIT_STEW
-
RAIL
-
RAVAGER_SPAWN_EGG
-
REDSTONE
-
REDSTONE_BLOCK
-
REDSTONE_LAMP
Unlike redstone torch, REDSTONE_LAMP_ON isn't an item. The name is just here on the list for matching.- See Also:
REDSTONE_TORCH
-
REDSTONE_ORE
-
REDSTONE_TORCH
REDSTONE_TORCH_OFF isn't an item, but a block. But REDSTONE_TORCH_ON is the item. The name is just here on the list for matching. -
REDSTONE_WALL_TORCH
-
REDSTONE_WIRE
-
RED_BANNER
-
RED_BED
Data value 14 or 0 -
RED_CARPET
-
RED_CONCRETE
-
RED_CONCRETE_POWDER
-
RED_DYE
-
RED_GLAZED_TERRACOTTA
-
RED_MUSHROOM
-
RED_MUSHROOM_BLOCK
-
RED_NETHER_BRICKS
-
RED_NETHER_BRICK_SLAB
-
RED_NETHER_BRICK_STAIRS
-
RED_NETHER_BRICK_WALL
-
RED_SAND
-
RED_SANDSTONE
-
RED_SANDSTONE_SLAB
-
RED_SANDSTONE_STAIRS
-
RED_SANDSTONE_WALL
-
RED_SHULKER_BOX
-
RED_STAINED_GLASS
-
RED_STAINED_GLASS_PANE
-
RED_TERRACOTTA
-
RED_TULIP
-
RED_WALL_BANNER
-
RED_WOOL
-
REPEATER
-
REPEATING_COMMAND_BLOCK
-
RESPAWN_ANCHOR
-
ROSE_BUSH
-
ROTTEN_FLESH
-
SADDLE
-
SALMON
-
SALMON_BUCKET
-
SALMON_SPAWN_EGG
-
SAND
-
SANDSTONE
-
SANDSTONE_SLAB
-
SANDSTONE_STAIRS
-
SANDSTONE_WALL
-
SCAFFOLDING
-
SCUTE
-
SEAGRASS
-
SEA_LANTERN
-
SEA_PICKLE
-
SHEARS
-
SHEEP_SPAWN_EGG
-
SHIELD
-
SHROOMLIGHT
-
SHULKER_BOX
-
SHULKER_SHELL
-
SHULKER_SPAWN_EGG
-
SILVERFISH_SPAWN_EGG
-
SKELETON_HORSE_SPAWN_EGG
-
SKELETON_SKULL
-
SKELETON_SPAWN_EGG
-
SKELETON_WALL_SKULL
-
SKULL_BANNER_PATTERN
-
SLIME_BALL
-
SLIME_BLOCK
-
SLIME_SPAWN_EGG
-
SMITHING_TABLE
-
SMOKER
-
SMOOTH_QUARTZ
-
SMOOTH_QUARTZ_SLAB
-
SMOOTH_QUARTZ_STAIRS
-
SMOOTH_RED_SANDSTONE
-
SMOOTH_RED_SANDSTONE_SLAB
-
SMOOTH_RED_SANDSTONE_STAIRS
-
SMOOTH_SANDSTONE
-
SMOOTH_SANDSTONE_SLAB
-
SMOOTH_SANDSTONE_STAIRS
-
SMOOTH_STONE
-
SMOOTH_STONE_SLAB
-
SNOW
-
SNOWBALL
-
SNOW_BLOCK
-
SOUL_CAMPFIRE
-
SOUL_FIRE
-
SOUL_LANTERN
-
SOUL_SAND
-
SOUL_SOIL
-
SOUL_TORCH
-
SOUL_WALL_TORCH
-
SPAWNER
-
SPECTRAL_ARROW
-
SPIDER_EYE
-
SPIDER_SPAWN_EGG
-
SPLASH_POTION
-
SPONGE
-
SPRUCE_BOAT
-
SPRUCE_BUTTON
-
SPRUCE_DOOR
-
SPRUCE_FENCE
-
SPRUCE_FENCE_GATE
-
SPRUCE_LEAVES
-
SPRUCE_LOG
-
SPRUCE_PLANKS
-
SPRUCE_PRESSURE_PLATE
-
SPRUCE_SAPLING
-
SPRUCE_SIGN
-
SPRUCE_SLAB
-
SPRUCE_STAIRS
-
SPRUCE_TRAPDOOR
-
SPRUCE_WALL_SIGN
-
SPRUCE_WOOD
-
SQUID_SPAWN_EGG
-
STICK
-
STICKY_PISTON
-
STONE
-
STONECUTTER
-
STONE_AXE
-
STONE_BRICKS
-
STONE_BRICK_SLAB
-
STONE_BRICK_STAIRS
-
STONE_BRICK_WALL
-
STONE_BUTTON
-
STONE_HOE
-
STONE_PICKAXE
-
STONE_PRESSURE_PLATE
-
STONE_SHOVEL
-
STONE_SLAB
-
STONE_STAIRS
-
STONE_SWORD
-
STRAY_SPAWN_EGG
-
STRIDER_SPAWN_EGG
-
STRING
-
STRIPPED_ACACIA_LOG
-
STRIPPED_ACACIA_WOOD
-
STRIPPED_BIRCH_LOG
-
STRIPPED_BIRCH_WOOD
-
STRIPPED_CRIMSON_HYPHAE
-
STRIPPED_CRIMSON_STEM
-
STRIPPED_DARK_OAK_LOG
-
STRIPPED_DARK_OAK_WOOD
-
STRIPPED_JUNGLE_LOG
-
STRIPPED_JUNGLE_WOOD
-
STRIPPED_OAK_LOG
-
STRIPPED_OAK_WOOD
-
STRIPPED_SPRUCE_LOG
-
STRIPPED_SPRUCE_WOOD
-
STRIPPED_WARPED_HYPHAE
-
STRIPPED_WARPED_STEM
-
STRUCTURE_BLOCK
-
STRUCTURE_VOID
Originally developers used barrier blocks for its purpose. So technically this isn't really considered as a suggested material. -
SUGAR
-
SUGAR_CANE
Sugar Cane is a known material in pre-1.13 Use XBlock when comparing block types. -
SUNFLOWER
-
SUSPICIOUS_STEW
-
SWEET_BERRIES
-
SWEET_BERRY_BUSH
-
TALL_GRASS
-
TALL_SEAGRASS
-
TARGET
-
TERRACOTTA
-
TIPPED_ARROW
-
TNT
-
TNT_MINECART
-
TORCH
-
TOTEM_OF_UNDYING
-
TRADER_LLAMA_SPAWN_EGG
-
TRAPPED_CHEST
-
TRIDENT
-
TRIPWIRE
-
TRIPWIRE_HOOK
-
TROPICAL_FISH
-
TROPICAL_FISH_BUCKET
-
TROPICAL_FISH_SPAWN_EGG
-
TUBE_CORAL
-
TUBE_CORAL_BLOCK
-
TUBE_CORAL_FAN
-
TUBE_CORAL_WALL_FAN
-
TURTLE_EGG
-
TURTLE_HELMET
-
TURTLE_SPAWN_EGG
-
TWISTING_VINES
-
TWISTING_VINES_PLANT
-
VEX_SPAWN_EGG
-
VILLAGER_SPAWN_EGG
-
VINDICATOR_SPAWN_EGG
-
VINE
-
VOID_AIR
1.13 tag is not added because it's the same thing asAIR
- See Also:
CAVE_AIR
-
WALL_TORCH
-
WANDERING_TRADER_SPAWN_EGG
-
WARPED_BUTTON
-
WARPED_DOOR
-
WARPED_FENCE
-
WARPED_FENCE_GATE
-
WARPED_FUNGUS
-
WARPED_FUNGUS_ON_A_STICK
-
WARPED_HYPHAE
-
WARPED_NYLIUM
-
WARPED_PLANKS
-
WARPED_PRESSURE_PLATE
-
WARPED_ROOTS
-
WARPED_SIGN
-
WARPED_SLAB
-
WARPED_STAIRS
-
WARPED_STEM
-
WARPED_TRAPDOOR
-
WARPED_WALL_SIGN
-
WARPED_WART_BLOCK
-
WATER
This is used for blocks only. In 1.13- WATER will turn into STATIONARY_WATER after it finished spreading. After 1.13+ this uses https://hub.spigotmc.org/javadocs/spigot/org/bukkit/block/data/Levelled.html water flowing system. Use XBlock for this instead. -
WATER_BUCKET
-
WEEPING_VINES
-
WEEPING_VINES_PLANT
-
WET_SPONGE
-
WHEAT
Wheat is a known material in pre-1.13 Use XBlock when comparing block types. -
WHEAT_SEEDS
-
WHITE_BANNER
-
WHITE_BED
-
WHITE_CARPET
-
WHITE_CONCRETE
-
WHITE_CONCRETE_POWDER
-
WHITE_DYE
-
WHITE_GLAZED_TERRACOTTA
-
WHITE_SHULKER_BOX
-
WHITE_STAINED_GLASS
-
WHITE_STAINED_GLASS_PANE
-
WHITE_TERRACOTTA
-
WHITE_TULIP
-
WHITE_WALL_BANNER
-
WHITE_WOOL
-
WITCH_SPAWN_EGG
-
WITHER_ROSE
-
WITHER_SKELETON_SKULL
-
WITHER_SKELETON_SPAWN_EGG
-
WITHER_SKELETON_WALL_SKULL
-
WOLF_SPAWN_EGG
-
WOODEN_AXE
-
WOODEN_HOE
-
WOODEN_PICKAXE
-
WOODEN_SHOVEL
-
WOODEN_SWORD
-
WRITABLE_BOOK
-
WRITTEN_BOOK
-
YELLOW_BANNER
-
YELLOW_BED
-
YELLOW_CARPET
-
YELLOW_CONCRETE
-
YELLOW_CONCRETE_POWDER
-
YELLOW_DYE
-
YELLOW_GLAZED_TERRACOTTA
-
YELLOW_SHULKER_BOX
-
YELLOW_STAINED_GLASS
-
YELLOW_STAINED_GLASS_PANE
-
YELLOW_TERRACOTTA
-
YELLOW_WALL_BANNER
-
YELLOW_WOOL
-
ZOGLIN_SPAWN_EGG
-
ZOMBIE_HEAD
-
ZOMBIE_HORSE_SPAWN_EGG
-
ZOMBIE_SPAWN_EGG
-
ZOMBIE_VILLAGER_SPAWN_EGG
-
ZOMBIE_WALL_HEAD
-
ZOMBIFIED_PIGLIN_SPAWN_EGG
-
-
Field Details
-
Method Details
-
values
Returns an array containing the constants of this enum type, in the order they are declared.- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-
isNewVersion
public static boolean isNewVersion()Checks if the version is 1.13 Aquatic Update or higher. An invocation of this method yields the cached result from the expression:13
}- Returns:
- true if 1.13 or higher.
- Since:
- 1.0.0
- See Also:
getVersion()
,supports(int)
-
isOneEight
public static boolean isOneEight()This is just an extra method that method that can be used for many cases. It can be used inPlayerInteractEvent
or when accessingHumanEntity.getMainHand()
, or other compatibility related methods.An invocation of this method yields exactly the same result as the expression:
!
supports(int)
9- Since:
- 2.0.0
-
getVersion
public static double getVersion()The current version of the server.- Returns:
- the current server version or 0.0 if unknown.
- Since:
- 2.0.0
- See Also:
isNewVersion()
-
contains
Checks if XMaterial enum contains a material with the given name.You should use
matchXMaterial(String)
instead if you're going to get the XMaterial object after checking if it's available in the list by doing a simpleOptional.isPresent()
check. This is just to avoid multiple loops for maximum performance.- Parameters:
name
- name of the material.- Returns:
- true if XMaterial enum has this material.
- Since:
- 1.0.0
-
matchXMaterial
Parses the given material name as an XMaterial with unspecified data value.- Since:
- 2.0.0
- See Also:
matchXMaterialWithData(String)
-
matchXMaterial
Parses the given material as an XMaterial.- Throws:
IllegalArgumentException
- may be thrown as an unexpected exception.- Since:
- 2.0.0
- See Also:
matchDefinedXMaterial(String, byte)
,matchXMaterial(ItemStack)
-
matchXMaterial
Parses the given item as an XMaterial using its material and data value (durability).- Parameters:
item
- the ItemStack to match.- Returns:
- an XMaterial if matched any.
- Throws:
IllegalArgumentException
- may be thrown as an unexpected exception.- Since:
- 2.0.0
- See Also:
matchDefinedXMaterial(String, byte)
-
matchXMaterial
Gets the XMaterial based on the material's ID (Magic Value) and data value.
You should avoid using this for performance issues.- Parameters:
id
- the ID (Magic value) of the material.data
- the data value of the material.- Returns:
- a parsed XMaterial with the same ID and data value.
- Since:
- 2.0.0
- See Also:
matchXMaterial(ItemStack)
-
supports
public static boolean supports(int version)Checks if the specified version is the same version or higher than the current server version.- Parameters:
version
- the major version to be checked. "1." is ignored. E.g. 1.12 = 12 | 1.9 = 9- Returns:
- true of the version is equal or higher than the current version.
- Since:
- 2.0.0
-
toWord
Converts the enum names to a more friendly and readable string.- Returns:
- a formatted string.
- Since:
- 2.1.0
- See Also:
toWord(String)
-
getMajorVersion
Gets the exact major version (..., 1.9, 1.10, ..., 1.14)- Parameters:
version
- SupportsBukkit.getVersion()
,Bukkit.getBukkitVersion()
and normal formats such as "1.14"- Returns:
- the exact major version.
- Since:
- 2.0.0
-
isDamageable
Checks if the material can be damaged by using it. Names going through this method are not formatted.- Parameters:
name
- the name of the material.- Returns:
- true of the material can be damaged.
- Since:
- 1.0.0
- See Also:
isDamageable()
-
isOneOf
public static boolean isOneOf(@Nonnull org.bukkit.Material material, @Nullable List<String> materials)Checks if the list of given material names matches the given base material. Mostly used for configs.Supports
String.contains(java.lang.CharSequence)
CONTAINS:NAME
and Regular ExpressionREGEX:PATTERN
formats.Example:
XMaterial material =
matchXMaterial(ItemStack)
; if (material.isOneOf(plugin.getConfig().getStringList("disabled-items")) return;
CONTAINS
Examples:"CONTAINS:CHEST" -> CHEST, ENDERCHEST, TRAPPED_CHEST -> true
"cOnTaINS:dYe" -> GREEN_DYE, YELLOW_DYE, BLUE_DYE, INK_SACK -> true
REGEX
Examples"REGEX:^.+_.+_.+$" -> Every Material with 3 underlines or more: SHULKER_SPAWN_EGG, SILVERFISH_SPAWN_EGG, SKELETON_HORSE_SPAWN_EGG
"REGEX:^.{1,3}$" -> Material names that have 3 letters only: BED, MAP, AIR
The reason that there are tags for
CONTAINS
andREGEX
is for the performance. Please avoid using theREGEX
tag if you can use theCONTAINS
tag. It'll have a huge impact on performance. Please avoid using(capturing groups)
there's no use for them in this case. If you want to use groups, use(?: non-capturing groups)
. It's faster.You can make a cache for pre-compiled RegEx patterns from your config. It's better, but not much faster since these patterns are not that complex.
Want to learn RegEx? You can mess around in RegExr website.
- Parameters:
material
- the base material to match other materials with.materials
- the material names to check base material on.- Returns:
- true if one of the given material names is similar to the base material.
- Since:
- 3.1.1
-
getMaterialVersion
public int getMaterialVersion()Gets the version which this material was added in. If the material doesn't have a version it'll return 0;- Returns:
- the Minecraft version which tihs material was added in.
- Since:
- 3.0.0
-
setType
@Nonnull public org.bukkit.inventory.ItemStack setType(@Nonnull org.bukkit.inventory.ItemStack item)Sets theMaterial
(and data value on older versions) of an item. Damageable materials will not have their durability changed.Use
parseItem()
instead when creating new ItemStacks.- Parameters:
item
- the item to change its type.- Since:
- 3.0.0
- See Also:
parseItem()
-
isOneOf
Checks if the list of given material names matches the given base material. Mostly used for configs.- Parameters:
materials
- the material names to check base material on.- Returns:
- true if one of the given material names is similar to the base material.
- Since:
- 3.0.0
- See Also:
isOneOf(Material, List)
-
toString
User-friendly readable name for this material In most cases you should be usingEnum.name()
instead. -
getId
public int getId()Gets the ID (Magic value) of the material.- Returns:
- the ID of the material or -1 if it's a new block or the material is not supported.
- Since:
- 2.2.0
- See Also:
matchXMaterial(int, byte)
-
isDuplicated
public boolean isDuplicated()Checks if the material has any duplicates.- Returns:
- true if there is a duplicated name for this material, otherwise false.
- Since:
- 2.0.0
- See Also:
isDuplicated(String)
-
isDamageable
public boolean isDamageable()Checks if the material can be damaged by using it. Names going through this method are not formatted.- Returns:
- true if the item can be damaged (have its durability changed), otherwise false.
- Since:
- 1.0.0
- See Also:
isDamageable(String)
-
getData
public byte getData()The data value of this material pre-flattening.Can be accessed with
ItemStack.getData()
thenMaterialData#getData()
orItemStack.getDurability()
if not damageable.- Returns:
- data of this material, or 0 if none.
- Since:
- 1.0.0
-
getLegacy
Get a list of materials names that was previously used by older versions. If the material was added in a new versionisNewVersion()
, then the first element will indicate which version the material was added in.- Returns:
- a list of legacy material names and the first element as the version the material was added in if new.
- Since:
- 1.0.0
-
parseItem
Parses an item from this XMaterial. Uses data values on older versions.- Returns:
- an ItemStack with the same material (and data value if in older versions.)
- Since:
- 1.0.0
- See Also:
parseItem(boolean)
,setType(ItemStack)
-
parseItem
Parses an item from this XMaterial. Uses data values on older versions.- Parameters:
suggest
- if trueparseMaterial(boolean)
true will be used.- Returns:
- an ItemStack with the same material (and data value if in older versions.)
- Since:
- 2.0.0
- See Also:
setType(ItemStack)
-
parseMaterial
Parses the material of this XMaterial.- Returns:
- the material related to this XMaterial based on the server version.
- Since:
- 1.0.0
- See Also:
parseMaterial(boolean)
-
parseMaterial
Parses the material of this XMaterial and accepts suggestions.- Parameters:
suggest
- use a suggested material (from older materials) if the material is added in a later version of Minecraft.- Returns:
- the material related to this XMaterial based on the server version.
- Since:
- 2.0.0
-
isSimilar
Checks if an item has the same material (and data value on older versions).- Parameters:
item
- item to check.- Returns:
- true if the material is the same as the item's material (and data value if on older versions), otherwise false.
- Since:
- 1.0.0
-
getSuggestions
Gets the suggested material names that can be used if the material is not supported in the current version.- Returns:
- a list of suggested material names.
- Since:
- 2.0.0
- See Also:
parseMaterial(boolean)
-
isSupported
public boolean isSupported()Checks if this material is supported in the current version. Suggested materials will be ignored.Note that you should use
parseMaterial()
and check if it's null if you're going to parse and use the material later.- Returns:
- true if the material exists in
Material
list. - Since:
- 2.0.0
-
isFromNewSystem
public boolean isFromNewSystem()Checks if the material is newly added after the 1.13 Aquatic Update.- Returns:
- true if the material was newly added, otherwise false.
- Since:
- 2.0.0
- See Also:
getMaterialVersion()
-