From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: simpleauthority Date: Tue, 28 May 2019 03:41:28 -0700 Subject: [PATCH] Add BlockSoundGroup interface This PR adds the getSoundGroup() method in Block which returns a BlockSoundGroup diff --git a/src/main/java/com/destroystokyo/paper/block/BlockSoundGroup.java b/src/main/java/com/destroystokyo/paper/block/BlockSoundGroup.java new file mode 100644 index 0000000000000000000000000000000000000000..8cf87d228a7006658d52ce0da16c2d74f4706545 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/block/BlockSoundGroup.java @@ -0,0 +1,52 @@ +package com.destroystokyo.paper.block; + +import org.bukkit.Sound; +import org.bukkit.block.Block; +import org.jetbrains.annotations.NotNull; + +/** + * Represents the sounds that a {@link Block} makes in certain situations + *

+ * The sound group includes break, step, place, hit, and fall sounds. + */ +public interface BlockSoundGroup { + /** + * Gets the sound that plays when breaking this block + * + * @return The break sound + */ + @NotNull + Sound getBreakSound(); + + /** + * Gets the sound that plays when stepping on this block + * + * @return The step sound + */ + @NotNull + Sound getStepSound(); + + /** + * Gets the sound that plays when placing this block + * + * @return The place sound + */ + @NotNull + Sound getPlaceSound(); + + /** + * Gets the sound that plays when hitting this block + * + * @return The hit sound + */ + @NotNull + Sound getHitSound(); + + /** + * Gets the sound that plays when this block falls + * + * @return The fall sound + */ + @NotNull + Sound getFallSound(); +} diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java index d6f74dbcfeb153d4b17be2827e2989f2d8160d21..d4ba9c2b858204825d47fd6e91dab8c003df085a 100644 --- a/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java @@ -1,6 +1,7 @@ package org.bukkit.block; import java.util.Collection; + import org.bukkit.Chunk; import org.bukkit.FluidCollisionMode; import org.bukkit.Location; @@ -549,4 +550,16 @@ public interface Block extends Metadatable { */ @NotNull BoundingBox getBoundingBox(); + + // Paper start + /** + * Gets the {@link com.destroystokyo.paper.block.BlockSoundGroup} for this block. + *

+ * This object contains the block, step, place, hit, and fall sounds. + * + * @return the sound group for this block + */ + @NotNull + com.destroystokyo.paper.block.BlockSoundGroup getSoundGroup(); + // Paper end }