geforkt von Mirrors/Paper
Add Destroy Speed API
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
Dieser Commit ist enthalten in:
Ursprung
7ee931eaf2
Commit
72ab93ca8a
@ -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
|
||||
}
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren