mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-14 13:43:55 +01:00
Add Destroy Speed API
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
This commit is contained in:
parent
7ee931eaf2
commit
72ab93ca8a
2 changed files with 56 additions and 0 deletions
|
@ -690,4 +690,31 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr
|
|||
@Deprecated(forRemoval = true)
|
||||
String getTranslationKey();
|
||||
// Paper end
|
||||
|
||||
// Paper start - destroy speed API
|
||||
/**
|
||||
* Gets the speed at which this block will be destroyed by a given {@link ItemStack}
|
||||
* <p>
|
||||
* Default value is 1.0
|
||||
*
|
||||
* @param itemStack {@link ItemStack} used to mine this Block
|
||||
* @return the speed that this Block will be mined by the given {@link ItemStack}
|
||||
*/
|
||||
default float getDestroySpeed(final @NotNull ItemStack itemStack) {
|
||||
return this.getBlockData().getDestroySpeed(itemStack);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the speed at which this block will be destroyed by a given {@link ItemStack}
|
||||
* <p>
|
||||
* Default value is 1.0
|
||||
*
|
||||
* @param itemStack {@link ItemStack} used to mine this Block
|
||||
* @param considerEnchants true to look at enchants on the itemstack
|
||||
* @return the speed that this Block will be mined by the given {@link ItemStack}
|
||||
*/
|
||||
default float getDestroySpeed(@NotNull ItemStack itemStack, boolean considerEnchants) {
|
||||
return this.getBlockData().getDestroySpeed(itemStack, considerEnchants);
|
||||
}
|
||||
// Paper end - destroy speed API
|
||||
}
|
||||
|
|
|
@ -266,4 +266,33 @@ public interface BlockData extends Cloneable {
|
|||
@NotNull
|
||||
@ApiStatus.Experimental
|
||||
BlockState createBlockState();
|
||||
|
||||
// Paper start - destroy speed API
|
||||
/**
|
||||
* Gets the speed at which this block will be destroyed by a given {@link ItemStack}
|
||||
* <p>
|
||||
* Default value is 1.0
|
||||
*
|
||||
* @param itemStack {@link ItemStack} used to mine this Block
|
||||
* @return the speed that this Block will be mined by the given {@link ItemStack}
|
||||
* @apiNote this method assumes default player state and hence, e.g., does not take into account changed
|
||||
* player attributes or potion effects.
|
||||
*/
|
||||
default float getDestroySpeed(final @NotNull ItemStack itemStack) {
|
||||
return this.getDestroySpeed(itemStack, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the speed at which this block will be destroyed by a given {@link ItemStack}
|
||||
* <p>
|
||||
* Default value is 1.0
|
||||
*
|
||||
* @param itemStack {@link ItemStack} used to mine this Block
|
||||
* @param considerEnchants true to look at enchants on the itemstack
|
||||
* @return the speed that this Block will be mined by the given {@link ItemStack}
|
||||
* @apiNote this method assumes default player state and hence, e.g., does not take into account changed
|
||||
* player attributes or potion effects.
|
||||
*/
|
||||
float getDestroySpeed(@NotNull ItemStack itemStack, boolean considerEnchants);
|
||||
// Paper end - destroy speed API
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue