Obsidian/patches/api/0171-Add-BlockSoundGroup-interface.patch
2024-06-14 14:07:44 -07:00

107 lines
3.6 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: simpleauthority <jacob@algorithmjunkie.com>
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..2bde2b7c960b321d0c1396212858c780280f0520
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/block/BlockSoundGroup.java
@@ -0,0 +1,64 @@
+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
+ * <p>
+ * The sound group includes break, step, place, hit, and fall sounds.
+ * @deprecated use {@link org.bukkit.SoundGroup}
+ */
+@Deprecated(forRemoval = true, since = "1.18.2")
+public interface BlockSoundGroup {
+ /**
+ * Gets the sound that plays when breaking this block
+ *
+ * @return The break sound
+ * @deprecated use {@link org.bukkit.SoundGroup#getBreakSound()}
+ */
+ @NotNull
+ @Deprecated(forRemoval = true, since = "1.18.2")
+ Sound getBreakSound();
+
+ /**
+ * Gets the sound that plays when stepping on this block
+ *
+ * @return The step sound
+ * @deprecated use {@link org.bukkit.SoundGroup#getStepSound()}
+ */
+ @NotNull
+ @Deprecated(forRemoval = true, since = "1.18.2")
+ Sound getStepSound();
+
+ /**
+ * Gets the sound that plays when placing this block
+ *
+ * @return The place sound
+ * @deprecated use {@link org.bukkit.SoundGroup#getPlaceSound()}
+ */
+ @NotNull
+ @Deprecated(forRemoval = true, since = "1.18.2")
+ Sound getPlaceSound();
+
+ /**
+ * Gets the sound that plays when hitting this block
+ *
+ * @return The hit sound
+ * @deprecated use {@link org.bukkit.SoundGroup#getHitSound()}
+ */
+ @NotNull
+ @Deprecated(forRemoval = true, since = "1.18.2")
+ Sound getHitSound();
+
+ /**
+ * Gets the sound that plays when this block falls
+ *
+ * @return The fall sound
+ * @deprecated use {@link org.bukkit.SoundGroup#getFallSound()}
+ */
+ @NotNull
+ @Deprecated(forRemoval = true, since = "1.18.2")
+ Sound getFallSound();
+}
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
index e4393f2bd71308a58305cb870271d6a647ffcd92..e63fc428543498fc5a12856671d83f13f7de8442 100644
--- a/src/main/java/org/bukkit/block/Block.java
+++ b/src/main/java/org/bukkit/block/Block.java
@@ -616,4 +616,25 @@ public interface Block extends Metadatable, Translatable {
* @return <code>true</code> if the block data can be placed here
*/
boolean canPlace(@NotNull BlockData data);
+
+ // Paper start
+ /**
+ * Gets the {@link com.destroystokyo.paper.block.BlockSoundGroup} for this block.
+ * <p>
+ * This object contains the block, step, place, hit, and fall sounds.
+ *
+ * @return the sound group for this block
+ * @deprecated use {@link #getBlockSoundGroup()}
+ */
+ @NotNull
+ @Deprecated(forRemoval = true, since = "1.18.2")
+ com.destroystokyo.paper.block.BlockSoundGroup getSoundGroup();
+
+ /**
+ * Gets the {@link org.bukkit.SoundGroup} for this block.
+ *
+ * @return the sound group for this block
+ */
+ @NotNull org.bukkit.SoundGroup getBlockSoundGroup();
+ // Paper end
}