From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jake Potrebic 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 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)); }