Interface BlockData
- All Superinterfaces:
- Cloneable
- All Known Subinterfaces:
- Ageable,- AmethystCluster,- AnaloguePowerable,- Attachable,- Bamboo,- Barrel,- Bed,- Beehive,- Bell,- BigDripleaf,- Bisected,- BrewingStand,- Brushable,- BubbleColumn,- Cake,- CalibratedSculkSensor,- Campfire,- Candle,- CaveVines,- CaveVinesPlant,- Chain,- Chest,- ChiseledBookshelf,- Cocoa,- CommandBlock,- Comparator,- CoralWallFan,- DaylightDetector,- DecoratedPot,- Directional,- Dispenser,- Door,- Dripleaf,- EnderChest,- EndPortalFrame,- FaceAttachable,- Farmland,- Fence,- Fire,- Furnace,- Gate,- GlassPane,- GlowLichen,- Grindstone,- Hangable,- HangingSign,- Hatchable,- Hopper,- Jigsaw,- Jukebox,- Ladder,- Lantern,- Leaves,- Lectern,- Levelled,- Light,- Lightable,- LightningRod,- MangrovePropagule,- MultipleFacing,- NoteBlock,- Observer,- Openable,- Orientable,- PinkPetals,- Piston,- PistonHead,- PitcherCrop,- PointedDripstone,- Powerable,- Rail,- RedstoneRail,- RedstoneWallTorch,- RedstoneWire,- Repeater,- RespawnAnchor,- Rotatable,- Sapling,- Scaffolding,- SculkCatalyst,- SculkSensor,- SculkShrieker,- SculkVein,- SeaPickle,- Sign,- Slab,- SmallDripleaf,- Snow,- Snowable,- Stairs,- StructureBlock,- Switch,- TechnicalPiston,- TNT,- TrapDoor,- Tripwire,- TripwireHook,- TurtleEgg,- Wall,- WallHangingSign,- WallSign,- Waterlogged
- 
Method SummaryModifier and TypeMethodDescriptionclone()Returns a copy of this BlockData.Creates a new defaultBlockStatefor this type of Block, not bound to a location.Gets a string, which when passed into a method such asServer.createBlockData(java.lang.String)will unambiguously recreate this instance.getAsString(boolean hideUnspecified) Gets a string, which when passed into a method such asServer.createBlockData(java.lang.String)will recreate this or a similar instance where unspecified states (if any) may be optionally omitted.default floatgetDestroySpeed(@NotNull ItemStack itemStack) Gets the speed at which this block will be destroyed by a givenItemStackfloatgetDestroySpeed(@NotNull ItemStack itemStack, boolean considerEnchants) Gets the speed at which this block will be destroyed by a givenItemStackintGet the amount of light emitted by this state when in the world.Get the Material represented by this block data.Returns the reaction of the block when moved by a pistonGets the material that a player would use to place this block.Gets the block'sSoundGroupwhich can be used to get its step sound, hit sound, and others.booleanisFaceSturdy(@NotNull BlockFace face, @NotNull BlockSupport support) Checks if a state'sBlockFaceis capable of providing a given level ofBlockSupportfor neighbouring block states.booleanCheck whether or not this state will occlude other blocks.booleanisPreferredTool(@NotNull ItemStack tool) Returns if the given item is a preferred choice to break this Block.booleanGets if this block is ticked randomly in the world.booleanisSupported(@NotNull Block block) Checks if this state would be properly supported if it were placed at the givenBlock.booleanisSupported(@NotNull Location location) Checks if this state would be properly supported if it were placed at the block at the givenLocation.booleanChecks if the specified BlockData matches this block data.Merges all explicitly set states from the given data with this BlockData.voidMirrors this blockdata using the specifiedMirror.booleanCheck whether or not this state requires a specific item to be used to drop items when broken.voidrotate(@NotNull StructureRotation rotation) Rotates this blockdata by the specifiedStructureRotation.
- 
Method Details- 
getMaterialGet the Material represented by this block data.- Returns:
- the material
 
- 
getAsStringGets a string, which when passed into a method such asServer.createBlockData(java.lang.String)will unambiguously recreate this instance.- Returns:
- serialized data string for this block
 
- 
getAsStringGets a string, which when passed into a method such asServer.createBlockData(java.lang.String)will recreate this or a similar instance where unspecified states (if any) may be optionally omitted. If this instance was parsed and states are omitted, this exact instance will be creatable when parsed again, else their equality cannot be guaranteed.This method will only take effect for BlockData instances created by methods such as Server.createBlockData(String)or any similar method whereby states are optionally defined. If otherwise, the result ofgetAsString()will be returned. The following behaviour would be expected:String dataString = "minecraft:chest[waterlogged=true]" BlockData data = Bukkit.createBlockData(dataString); dataString.equals(data.getAsString(true)); // This would return true dataString.equals(data.getAsString(false)); // This would return false as all states are present dataString.equals(data.getAsString()); // This is equivalent to the above, "getAsString(false)"- Parameters:
- hideUnspecified- true if unspecified states should be omitted, false if they are to be shown as performed by- getAsString().
- Returns:
- serialized data string for this block
 
- 
mergeMerges all explicitly set states from the given data with this BlockData.
 Note that the given data MUST have been created from one of the String parse methods, e.g.Server.createBlockData(java.lang.String)and not have been subsequently modified.
 Note also that the block types must match identically.- Parameters:
- data- the data to merge from
- Returns:
- a new instance of this blockdata with the merged data
 
- 
matchesChecks if the specified BlockData matches this block data.
 The semantics of this method are such that for manually created or modified BlockData it has the same effect asObject.equals(java.lang.Object), whilst for parsed data (that to whichmerge(org.bukkit.block.data.BlockData)applies, it will return true when the type and all explicitly set states match.
 Note that these semantics mean that a.matches(b) may not be the same as b.matches(a)- Parameters:
- data- the data to match against (normally a parsed constant)
- Returns:
- if there is a match
 
- 
cloneReturns a copy of this BlockData.- Returns:
- a copy of the block data
 
- 
getSoundGroupGets the block'sSoundGroupwhich can be used to get its step sound, hit sound, and others.- Returns:
- the sound effect group
 
- 
getLightEmissionint getLightEmission()Get the amount of light emitted by this state when in the world.- Returns:
- the light emission
 
- 
isOccludingboolean isOccluding()Check whether or not this state will occlude other blocks.Block state occlusion affects visual features of other blocks (e.g. leaves and wet sponges will not spawn dripping water particles if an occluding state is below it), or whether light will pass through it. - Returns:
- true if occluding, false otherwise
 
- 
requiresCorrectToolForDropsboolean requiresCorrectToolForDrops()Check whether or not this state requires a specific item to be used to drop items when broken. For example, diamond ore requires an iron pickaxe and will not drop diamonds when broken with a wooden or stone pickaxe.- Returns:
- true if a more specific item is required for drops, false if any item (or an empty hand) will drop items
 
- 
isPreferredToolReturns if the given item is a preferred choice to break this Block. In some cases this determines if a block will drop anything or extra loot.- Parameters:
- tool- The tool or item used for breaking this block
- Returns:
- true if the tool is preferred for breaking this block.
 
- 
getPistonMoveReactionReturns the reaction of the block when moved by a piston- Returns:
- reaction
 
- 
isSupportedChecks if this state would be properly supported if it were placed at the givenBlock.This may be useful, for instance, to check whether or not a wall torch is capable of surviving on its neighbouring block states. - Parameters:
- block- the block position at which the state would be placed
- Returns:
- true if the block is supported, false if this state would not survive the world conditions
 
- 
isSupportedChecks if this state would be properly supported if it were placed at the block at the givenLocation.This may be useful, for instance, to check whether or not a wall torch is capable of surviving on its neighbouring block states. - Parameters:
- location- the location at which the state would be placed
- Returns:
- true if the block is supported, false if this state would not survive the world conditions
 
- 
isFaceSturdyChecks if a state'sBlockFaceis capable of providing a given level ofBlockSupportfor neighbouring block states.Any given state may support either none, one, or more than one level of block support depending on its states. A common example would be a wall's ability to support torches only on the center of the upper block face, whereas a grass block would support all levels of block support on all block faces. - Parameters:
- face- the face to check
- support- the possible support level
- Returns:
- true if the face is sturdy and can support a block, false otherwise
 
- 
getPlacementMaterialGets the material that a player would use to place this block.For most blocks this is the same as getMaterial()but some blocks have different materials used to place them. For example:Material.REDSTONE_WIRE->Material.REDSTONEMaterial.CARROTS->Material.CARROT- Returns:
- placement material or Material.AIRif it doesn't have one
 
- 
rotateRotates this blockdata by the specifiedStructureRotation.This has no effect on blocks that do not have any rotatable states. - Parameters:
- rotation- the rotation
 
- 
mirrorMirrors this blockdata using the specifiedMirror.This has no effect on blocks that do not have any mirrorable states. - Parameters:
- mirror- the mirror
 
- 
createBlockStateCreates a new defaultBlockStatefor this type of Block, not bound to a location.- Returns:
- a new BlockState
 
- 
getDestroySpeedGets the speed at which this block will be destroyed by a givenItemStackDefault value is 1.0 
- 
getDestroySpeedGets the speed at which this block will be destroyed by a givenItemStackDefault value is 1.0 
- 
isRandomlyTickedboolean isRandomlyTicked()Gets if this block is ticked randomly in the world. The blocks current state may change this value.- Returns:
- is ticked randomly
 
 
-