Class VirtualBlock
java.lang.Object
com.github.darksoulq.abyssallib.world.gen.VirtualBlock
- All Implemented Interfaces:
net.kyori.adventure.translation.Translatable, org.bukkit.block.Block, org.bukkit.metadata.Metadatable, org.bukkit.Translatable
A headless block implementation designed for firing block interaction
events or applying logic without directly instantiating a full world state.
-
Constructor Summary
ConstructorsConstructorDescriptionVirtualBlock(org.bukkit.World world, int x, int y, int z, org.bukkit.Material type) Constructs a new virtual block. -
Method Summary
Modifier and TypeMethodDescriptionbooleanapplyBoneMeal(@NotNull org.bukkit.block.BlockFace face) booleanbooleanbreakNaturally(boolean triggerEffect) booleanbreakNaturally(boolean triggerEffect, boolean dropExperience) booleanbreakNaturally(@NotNull org.bukkit.inventory.ItemStack tool, boolean triggerEffect) booleanbreakNaturally(@NotNull org.bukkit.inventory.ItemStack tool, boolean triggerEffect, boolean dropExperience) booleanbreakNaturally(@NotNull org.bukkit.inventory.ItemStack tool, boolean triggerEffect, boolean dropExperience, boolean forceEffect) booleanbreakNaturally(@Nullable org.bukkit.inventory.ItemStack tool) booleancanPlace(@NotNull org.bukkit.block.data.BlockData data) void@NotNull org.bukkit.block.BiomegetBiome()@NotNull org.bukkit.block.data.BlockDataRetrieves the block data for this virtual block based on its material.longintintgetBlockPower(@NotNull org.bukkit.block.BlockFace face) @NotNull org.bukkit.SoundGroupRetrieves the core sound group associated with this block.@NotNull org.bukkit.util.BoundingBoxRetrieves the bounding box for this virtual block.floatgetBreakSpeed(@NotNull org.bukkit.entity.Player player) @NotNull org.bukkit.ChunkgetChunk()@NotNull org.bukkit.util.VoxelShapeRetrieves the collision shape of this virtual block.@NotNull org.bukkit.block.BiomebytegetData()floatgetDestroySpeed(@NotNull org.bukkit.inventory.ItemStack itemStack) floatgetDestroySpeed(@NotNull org.bukkit.inventory.ItemStack itemStack, boolean considerEnchants) @NotNull Collection<org.bukkit.inventory.ItemStack> getDrops()@NotNull Collection<org.bukkit.inventory.ItemStack> getDrops(@Nullable org.bukkit.inventory.ItemStack tool) @NotNull Collection<org.bukkit.inventory.ItemStack> getDrops(@Nullable org.bukkit.inventory.ItemStack tool, @Nullable org.bukkit.entity.Entity entity) @NotNull org.bukkit.block.BlockFacegetFace(@NotNull org.bukkit.block.Block block) doublebytebytebyte@NotNull org.bukkit.LocationGets the location of this virtual block.@NotNull org.bukkit.LocationgetLocation(@Nullable org.bukkit.Location loc) Stores the location of this block into the provided object.@NotNull List<org.bukkit.metadata.MetadataValue> getMetadata(@NotNull String metadataKey) @NotNull org.bukkit.block.PistonMoveReaction@NotNull org.bukkit.block.BlockgetRelative(int modX, int modY, int modZ) Gets a virtual relative block relative to this block's coordinates.@NotNull org.bukkit.block.BlockgetRelative(@NotNull org.bukkit.block.BlockFace face) Gets a virtual relative block at the specified face.@NotNull org.bukkit.block.BlockgetRelative(@NotNull org.bukkit.block.BlockFace face, int distance) Gets a virtual relative block at the specified face and distance.@NotNull com.destroystokyo.paper.block.BlockSoundGroupRetrieves the sound group associated with this block's material.@NotNull org.bukkit.block.BlockStategetState()@NotNull org.bukkit.block.BlockStategetState(boolean useSnapshot) double@NotNull String@NotNull org.bukkit.MaterialgetType()Retrieves the material type of this virtual block.@NotNull org.bukkit.WorldgetWorld()intgetX()intgetY()intgetZ()booleanhasMetadata(@NotNull String metadataKey) booleanisBlockFaceIndirectlyPowered(@NotNull org.bukkit.block.BlockFace face) booleanisBlockFacePowered(@NotNull org.bukkit.block.BlockFace face) booleanbooleanbooleanbooleanbooleanbooleanisEmpty()booleanisLiquid()booleanbooleanisPreferredTool(@NotNull org.bukkit.inventory.ItemStack tool) booleanbooleanisSolid()booleanbooleanisValidTool(@NotNull org.bukkit.inventory.ItemStack itemStack) void@Nullable org.bukkit.util.RayTraceResultrayTrace(@NotNull org.bukkit.Location start, @NotNull org.bukkit.util.Vector direction, double maxDistance, @NotNull org.bukkit.FluidCollisionMode fluidCollisionMode) voidremoveMetadata(@NotNull String metadataKey, @NotNull org.bukkit.plugin.Plugin owningPlugin) voidsetBiome(@NotNull org.bukkit.block.Biome biome) voidsetBlockData(@NotNull org.bukkit.block.data.BlockData data) Sets the material of this virtual block based on the provided block data.voidsetBlockData(@NotNull org.bukkit.block.data.BlockData data, boolean applyPhysics) Sets the block data and ignores physics.voidsetMetadata(@NotNull String metadataKey, @NotNull org.bukkit.metadata.MetadataValue newMetadataValue) voidsetType(@NotNull org.bukkit.Material type) Sets the material type of this virtual block.voidsetType(@NotNull org.bukkit.Material type, boolean applyPhysics) Sets the material type and ignores physics application.voidtick()@NotNull String
-
Constructor Details
-
VirtualBlock
public VirtualBlock(org.bukkit.World world, int x, int y, int z, org.bukkit.Material type) Constructs a new virtual block.- Parameters:
world- The world context.x- The X coordinate.y- The Y coordinate.z- The Z coordinate.type- The material type representing this block.
-
-
Method Details
-
getLocation
@NotNull public @NotNull org.bukkit.Location getLocation()Gets the location of this virtual block.- Specified by:
getLocationin interfaceorg.bukkit.block.Block- Returns:
- The location.
-
getLocation
@NotNull public @NotNull org.bukkit.Location getLocation(@Nullable @Nullable org.bukkit.Location loc) Stores the location of this block into the provided object.- Specified by:
getLocationin interfaceorg.bukkit.block.Block- Parameters:
loc- The location to overwrite.- Returns:
- The modified location object.
-
getType
@NotNull public @NotNull org.bukkit.Material getType()Retrieves the material type of this virtual block.- Specified by:
getTypein interfaceorg.bukkit.block.Block- Returns:
- The material.
-
setType
public void setType(@NotNull @NotNull org.bukkit.Material type) Sets the material type of this virtual block.- Specified by:
setTypein interfaceorg.bukkit.block.Block- Parameters:
type- The new material.
-
setType
public void setType(@NotNull @NotNull org.bukkit.Material type, boolean applyPhysics) Sets the material type and ignores physics application.- Specified by:
setTypein interfaceorg.bukkit.block.Block- Parameters:
type- The new material.applyPhysics- Ignored.
-
getBlockData
@NotNull public @NotNull org.bukkit.block.data.BlockData getBlockData()Retrieves the block data for this virtual block based on its material.- Specified by:
getBlockDatain interfaceorg.bukkit.block.Block- Returns:
- The generated block data.
-
setBlockData
public void setBlockData(@NotNull @NotNull org.bukkit.block.data.BlockData data) Sets the material of this virtual block based on the provided block data.- Specified by:
setBlockDatain interfaceorg.bukkit.block.Block- Parameters:
data- The block data to apply.
-
setBlockData
public void setBlockData(@NotNull @NotNull org.bukkit.block.data.BlockData data, boolean applyPhysics) Sets the block data and ignores physics.- Specified by:
setBlockDatain interfaceorg.bukkit.block.Block- Parameters:
data- The block data to apply.applyPhysics- Ignored.
-
getRelative
@NotNull public @NotNull org.bukkit.block.Block getRelative(int modX, int modY, int modZ) Gets a virtual relative block relative to this block's coordinates.- Specified by:
getRelativein interfaceorg.bukkit.block.Block- Parameters:
modX- The X modifier.modY- The Y modifier.modZ- The Z modifier.- Returns:
- A new empty virtual block at the relative coordinates.
-
getRelative
@NotNull public @NotNull org.bukkit.block.Block getRelative(@NotNull @NotNull org.bukkit.block.BlockFace face) Gets a virtual relative block at the specified face.- Specified by:
getRelativein interfaceorg.bukkit.block.Block- Parameters:
face- The block face to check.- Returns:
- The relative virtual block.
-
getRelative
@NotNull public @NotNull org.bukkit.block.Block getRelative(@NotNull @NotNull org.bukkit.block.BlockFace face, int distance) Gets a virtual relative block at the specified face and distance.- Specified by:
getRelativein interfaceorg.bukkit.block.Block- Parameters:
face- The block face direction.distance- The distance to multiply the offset by.- Returns:
- The relative virtual block.
-
getBoundingBox
@NotNull public @NotNull org.bukkit.util.BoundingBox getBoundingBox()Retrieves the bounding box for this virtual block.- Specified by:
getBoundingBoxin interfaceorg.bukkit.block.Block- Returns:
- A 1x1x1 bounding box at this block's location.
-
getCollisionShape
@NotNull public @NotNull org.bukkit.util.VoxelShape getCollisionShape()Retrieves the collision shape of this virtual block.- Specified by:
getCollisionShapein interfaceorg.bukkit.block.Block- Returns:
- A voxel shape encompassing the standard bounding box.
-
getSoundGroup
@NotNull public @NotNull com.destroystokyo.paper.block.BlockSoundGroup getSoundGroup()Retrieves the sound group associated with this block's material.- Specified by:
getSoundGroupin interfaceorg.bukkit.block.Block- Returns:
- The block sound group.
-
getBlockSoundGroup
@NotNull public @NotNull org.bukkit.SoundGroup getBlockSoundGroup()Retrieves the core sound group associated with this block.- Specified by:
getBlockSoundGroupin interfaceorg.bukkit.block.Block- Returns:
- The sound group.
-
getLightLevel
public byte getLightLevel()- Specified by:
getLightLevelin interfaceorg.bukkit.block.Block
-
getLightFromSky
public byte getLightFromSky()- Specified by:
getLightFromSkyin interfaceorg.bukkit.block.Block
-
getLightFromBlocks
public byte getLightFromBlocks()- Specified by:
getLightFromBlocksin interfaceorg.bukkit.block.Block
-
getData
public byte getData()- Specified by:
getDatain interfaceorg.bukkit.block.Block
-
getFace
@NotNull public @NotNull org.bukkit.block.BlockFace getFace(@NotNull @NotNull org.bukkit.block.Block block) - Specified by:
getFacein interfaceorg.bukkit.block.Block
-
getState
@NotNull public @NotNull org.bukkit.block.BlockState getState()- Specified by:
getStatein interfaceorg.bukkit.block.Block
-
getState
@NotNull public @NotNull org.bukkit.block.BlockState getState(boolean useSnapshot) - Specified by:
getStatein interfaceorg.bukkit.block.Block
-
getBiome
@NotNull public @NotNull org.bukkit.block.Biome getBiome()- Specified by:
getBiomein interfaceorg.bukkit.block.Block
-
getComputedBiome
@NotNull public @NotNull org.bukkit.block.Biome getComputedBiome()- Specified by:
getComputedBiomein interfaceorg.bukkit.block.Block
-
setBiome
public void setBiome(@NotNull @NotNull org.bukkit.block.Biome biome) - Specified by:
setBiomein interfaceorg.bukkit.block.Block
-
isBlockPowered
public boolean isBlockPowered()- Specified by:
isBlockPoweredin interfaceorg.bukkit.block.Block
-
isBlockIndirectlyPowered
public boolean isBlockIndirectlyPowered()- Specified by:
isBlockIndirectlyPoweredin interfaceorg.bukkit.block.Block
-
isBlockFacePowered
public boolean isBlockFacePowered(@NotNull @NotNull org.bukkit.block.BlockFace face) - Specified by:
isBlockFacePoweredin interfaceorg.bukkit.block.Block
-
isBlockFaceIndirectlyPowered
public boolean isBlockFaceIndirectlyPowered(@NotNull @NotNull org.bukkit.block.BlockFace face) - Specified by:
isBlockFaceIndirectlyPoweredin interfaceorg.bukkit.block.Block
-
getBlockPower
public int getBlockPower(@NotNull @NotNull org.bukkit.block.BlockFace face) - Specified by:
getBlockPowerin interfaceorg.bukkit.block.Block
-
getBlockPower
public int getBlockPower()- Specified by:
getBlockPowerin interfaceorg.bukkit.block.Block
-
isEmpty
public boolean isEmpty()- Specified by:
isEmptyin interfaceorg.bukkit.block.Block
-
isLiquid
public boolean isLiquid()- Specified by:
isLiquidin interfaceorg.bukkit.block.Block
-
isBuildable
public boolean isBuildable()- Specified by:
isBuildablein interfaceorg.bukkit.block.Block
-
getTemperature
public double getTemperature()- Specified by:
getTemperaturein interfaceorg.bukkit.block.Block
-
getHumidity
public double getHumidity()- Specified by:
getHumidityin interfaceorg.bukkit.block.Block
-
getPistonMoveReaction
@NotNull public @NotNull org.bukkit.block.PistonMoveReaction getPistonMoveReaction()- Specified by:
getPistonMoveReactionin interfaceorg.bukkit.block.Block
-
breakNaturally
public boolean breakNaturally()- Specified by:
breakNaturallyin interfaceorg.bukkit.block.Block
-
breakNaturally
public boolean breakNaturally(@Nullable @Nullable org.bukkit.inventory.ItemStack tool) - Specified by:
breakNaturallyin interfaceorg.bukkit.block.Block
-
breakNaturally
public boolean breakNaturally(boolean triggerEffect) - Specified by:
breakNaturallyin interfaceorg.bukkit.block.Block
-
breakNaturally
public boolean breakNaturally(boolean triggerEffect, boolean dropExperience) - Specified by:
breakNaturallyin interfaceorg.bukkit.block.Block
-
breakNaturally
public boolean breakNaturally(@NotNull @NotNull org.bukkit.inventory.ItemStack tool, boolean triggerEffect) - Specified by:
breakNaturallyin interfaceorg.bukkit.block.Block
-
breakNaturally
public boolean breakNaturally(@NotNull @NotNull org.bukkit.inventory.ItemStack tool, boolean triggerEffect, boolean dropExperience) - Specified by:
breakNaturallyin interfaceorg.bukkit.block.Block
-
breakNaturally
public boolean breakNaturally(@NotNull @NotNull org.bukkit.inventory.ItemStack tool, boolean triggerEffect, boolean dropExperience, boolean forceEffect) - Specified by:
breakNaturallyin interfaceorg.bukkit.block.Block
-
applyBoneMeal
public boolean applyBoneMeal(@NotNull @NotNull org.bukkit.block.BlockFace face) - Specified by:
applyBoneMealin interfaceorg.bukkit.block.Block
-
getDrops
- Specified by:
getDropsin interfaceorg.bukkit.block.Block
-
getDrops
@NotNull public @NotNull Collection<org.bukkit.inventory.ItemStack> getDrops(@Nullable @Nullable org.bukkit.inventory.ItemStack tool) - Specified by:
getDropsin interfaceorg.bukkit.block.Block
-
getDrops
@NotNull public @NotNull Collection<org.bukkit.inventory.ItemStack> getDrops(@Nullable @Nullable org.bukkit.inventory.ItemStack tool, @Nullable @Nullable org.bukkit.entity.Entity entity) - Specified by:
getDropsin interfaceorg.bukkit.block.Block
-
isPassable
public boolean isPassable()- Specified by:
isPassablein interfaceorg.bukkit.block.Block
-
rayTrace
@Nullable public @Nullable org.bukkit.util.RayTraceResult rayTrace(@NotNull @NotNull org.bukkit.Location start, @NotNull @NotNull org.bukkit.util.Vector direction, double maxDistance, @NotNull @NotNull org.bukkit.FluidCollisionMode fluidCollisionMode) - Specified by:
rayTracein interfaceorg.bukkit.block.Block
-
canPlace
public boolean canPlace(@NotNull @NotNull org.bukkit.block.data.BlockData data) - Specified by:
canPlacein interfaceorg.bukkit.block.Block
-
setMetadata
public void setMetadata(@NotNull @NotNull String metadataKey, @NotNull @NotNull org.bukkit.metadata.MetadataValue newMetadataValue) - Specified by:
setMetadatain interfaceorg.bukkit.metadata.Metadatable
-
getMetadata
-
hasMetadata
- Specified by:
hasMetadatain interfaceorg.bukkit.metadata.Metadatable
-
removeMetadata
public void removeMetadata(@NotNull @NotNull String metadataKey, @NotNull @NotNull org.bukkit.plugin.Plugin owningPlugin) - Specified by:
removeMetadatain interfaceorg.bukkit.metadata.Metadatable
-
isPreferredTool
public boolean isPreferredTool(@NotNull @NotNull org.bukkit.inventory.ItemStack tool) - Specified by:
isPreferredToolin interfaceorg.bukkit.block.Block
-
getBreakSpeed
public float getBreakSpeed(@NotNull @NotNull org.bukkit.entity.Player player) - Specified by:
getBreakSpeedin interfaceorg.bukkit.block.Block
-
getWorld
@NotNull public @NotNull org.bukkit.World getWorld()- Specified by:
getWorldin interfaceorg.bukkit.block.Block
-
getX
public int getX()- Specified by:
getXin interfaceorg.bukkit.block.Block
-
getY
public int getY()- Specified by:
getYin interfaceorg.bukkit.block.Block
-
getZ
public int getZ()- Specified by:
getZin interfaceorg.bukkit.block.Block
-
getBlockKey
public long getBlockKey()- Specified by:
getBlockKeyin interfaceorg.bukkit.block.Block
-
isValidTool
public boolean isValidTool(@NotNull @NotNull org.bukkit.inventory.ItemStack itemStack) - Specified by:
isValidToolin interfaceorg.bukkit.block.Block
-
getChunk
@NotNull public @NotNull org.bukkit.Chunk getChunk()- Specified by:
getChunkin interfaceorg.bukkit.block.Block
-
isCollidable
public boolean isCollidable()- Specified by:
isCollidablein interfaceorg.bukkit.block.Block
-
tick
public void tick()- Specified by:
tickin interfaceorg.bukkit.block.Block
-
fluidTick
public void fluidTick()- Specified by:
fluidTickin interfaceorg.bukkit.block.Block
-
randomTick
public void randomTick()- Specified by:
randomTickin interfaceorg.bukkit.block.Block
-
isBurnable
public boolean isBurnable()- Specified by:
isBurnablein interfaceorg.bukkit.block.Block
-
isReplaceable
public boolean isReplaceable()- Specified by:
isReplaceablein interfaceorg.bukkit.block.Block
-
isSolid
public boolean isSolid()- Specified by:
isSolidin interfaceorg.bukkit.block.Block
-
getTranslationKey
- Specified by:
getTranslationKeyin interfaceorg.bukkit.block.Block- Specified by:
getTranslationKeyin interfaceorg.bukkit.Translatable
-
getDestroySpeed
public float getDestroySpeed(@NotNull @NotNull org.bukkit.inventory.ItemStack itemStack) - Specified by:
getDestroySpeedin interfaceorg.bukkit.block.Block
-
getDestroySpeed
public float getDestroySpeed(@NotNull @NotNull org.bukkit.inventory.ItemStack itemStack, boolean considerEnchants) - Specified by:
getDestroySpeedin interfaceorg.bukkit.block.Block
-
isSuffocating
public boolean isSuffocating()- Specified by:
isSuffocatingin interfaceorg.bukkit.block.Block
-
translationKey
- Specified by:
translationKeyin interfacenet.kyori.adventure.translation.Translatable
-