aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0381-fix-Instruments.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/api/0381-fix-Instruments.patch')
-rw-r--r--patches/api/0381-fix-Instruments.patch115
1 files changed, 115 insertions, 0 deletions
diff --git a/patches/api/0381-fix-Instruments.patch b/patches/api/0381-fix-Instruments.patch
new file mode 100644
index 0000000000..468dc80a34
--- /dev/null
+++ b/patches/api/0381-fix-Instruments.patch
@@ -0,0 +1,115 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Jake Potrebic <[email protected]>
+Date: Fri, 9 Dec 2022 01:34:03 -0800
+Subject: [PATCH] fix Instruments
+
+Add missing instrument enums
+fix some wrong javadocs
+
+diff --git a/src/main/java/org/bukkit/Instrument.java b/src/main/java/org/bukkit/Instrument.java
+index 032d7b812ddc0a85e316882c8f7de0c5a0a4fd30..8df26e0d7bea77bb257cddbc2ab9e969fa160681 100644
+--- a/src/main/java/org/bukkit/Instrument.java
++++ b/src/main/java/org/bukkit/Instrument.java
+@@ -7,7 +7,7 @@ import org.jetbrains.annotations.Nullable;
+ public enum Instrument {
+
+ /**
+- * Piano is the standard instrument for a note block.
++ * Piano (Harp) is the standard instrument for a note block.
+ */
+ PIANO(0x0, Sound.BLOCK_NOTE_BLOCK_HARP),
+ /**
+@@ -21,7 +21,7 @@ public enum Instrument {
+ */
+ SNARE_DRUM(0x2, Sound.BLOCK_NOTE_BLOCK_SNARE),
+ /**
+- * Sticks are normally played when a note block is on top of a glass
++ * Sticks (Hat) are normally played when a note block is on top of a glass
+ * block.
+ */
+ STICKS(0x3, Sound.BLOCK_NOTE_BLOCK_HAT),
+@@ -78,39 +78,37 @@ public enum Instrument {
+ /**
+ * Zombie is normally played when a Zombie Head is on top of the note block.
+ */
+- ZOMBIE(Sound.BLOCK_NOTE_BLOCK_IMITATE_ZOMBIE),
++ ZOMBIE(0x10, Sound.BLOCK_NOTE_BLOCK_IMITATE_ZOMBIE), // Paper
+ /**
+ * Skeleton is normally played when a Skeleton Head is on top of the note block.
+ */
+- SKELETON(Sound.BLOCK_NOTE_BLOCK_IMITATE_SKELETON),
++ SKELETON(0x11, Sound.BLOCK_NOTE_BLOCK_IMITATE_SKELETON), // Paper
+ /**
+ * Creeper is normally played when a Creeper Head is on top of the note block.
+ */
+- CREEPER(Sound.BLOCK_NOTE_BLOCK_IMITATE_CREEPER),
++ CREEPER(0x12, Sound.BLOCK_NOTE_BLOCK_IMITATE_CREEPER), // Paper
+ /**
+ * Dragon is normally played when a Dragon Head is on top of the note block.
+ */
+- DRAGON(Sound.BLOCK_NOTE_BLOCK_IMITATE_ENDER_DRAGON),
++ DRAGON(0x13, Sound.BLOCK_NOTE_BLOCK_IMITATE_ENDER_DRAGON), // Paper
+ /**
+ * Wither Skeleton is normally played when a Wither Skeleton Head is on top of the note block.
+ */
+- WITHER_SKELETON(Sound.BLOCK_NOTE_BLOCK_IMITATE_WITHER_SKELETON),
++ WITHER_SKELETON(0x14, Sound.BLOCK_NOTE_BLOCK_IMITATE_WITHER_SKELETON), // Paper
+ /**
+ * Piglin is normally played when a Piglin Head is on top of the note block.
+ */
+- PIGLIN(Sound.BLOCK_NOTE_BLOCK_IMITATE_PIGLIN),
++ PIGLIN(0x15, Sound.BLOCK_NOTE_BLOCK_IMITATE_PIGLIN), // Paper
+ /**
+ * Custom Sound is normally played when a Player Head with the required data is on top of the note block.
+ */
+- CUSTOM_HEAD(null);
++ CUSTOM_HEAD(0x16, null); // Paper
+
+ private final byte type;
+ private final Sound sound;
+ private static final Map<Byte, Instrument> BY_DATA = Maps.newHashMap();
+
+- private Instrument(final Sound sound) {
+- this(-1, sound);
+- }
++ // Paper - remove ctor (the server still uses the byte magic value)
+
+ private Instrument(final int type, final Sound sound) {
+ this.type = (byte) type;
+@@ -130,9 +128,8 @@ public enum Instrument {
+
+ /**
+ * @return The type ID of this instrument.
+- * @deprecated Magic value
+ */
+- @Deprecated
++ @org.jetbrains.annotations.ApiStatus.Internal // Paper
+ public byte getType() {
+ return this.type;
+ }
+@@ -142,9 +139,8 @@ public enum Instrument {
+ *
+ * @param type The type ID
+ * @return The instrument
+- * @deprecated Magic value
+ */
+- @Deprecated
++ @org.jetbrains.annotations.ApiStatus.Internal // Paper
+ @Nullable
+ public static Instrument getByType(final byte type) {
+ return BY_DATA.get(type);
+diff --git a/src/test/java/org/bukkit/InstrumentTest.java b/src/test/java/org/bukkit/InstrumentTest.java
+index 8c1d88885de7d56c1b7c78d2e6e059b0648c982a..b177a47a5bda05bfe3598ec5e6771b92a73f0edf 100644
+--- a/src/test/java/org/bukkit/InstrumentTest.java
++++ b/src/test/java/org/bukkit/InstrumentTest.java
+@@ -8,9 +8,7 @@ public class InstrumentTest {
+ @Test
+ public void getByType() {
+ for (Instrument instrument : Instrument.values()) {
+- if (instrument.getType() < 0) {
+- continue;
+- }
++ // Paper - byte magic values are still used
+
+ assertThat(Instrument.getByType(instrument.getType()), is(instrument));
+ }