diff --git a/multification-bukkit/src/com/eternalcode/multification/bukkit/notice/resolver/sound/SoundAccessor.java b/multification-bukkit/src/com/eternalcode/multification/bukkit/notice/resolver/sound/SoundAccessor.java index dd700e8..4633d57 100644 --- a/multification-bukkit/src/com/eternalcode/multification/bukkit/notice/resolver/sound/SoundAccessor.java +++ b/multification-bukkit/src/com/eternalcode/multification/bukkit/notice/resolver/sound/SoundAccessor.java @@ -1,12 +1,14 @@ package com.eternalcode.multification.bukkit.notice.resolver.sound; import java.lang.reflect.Method; +import org.bukkit.NamespacedKey; import org.bukkit.Sound; public final class SoundAccessor { private static final Method VALUE_OF_METHOD; private static final Method nameMethod; + private static final Method keyMethod; static { try { @@ -15,6 +17,9 @@ public final class SoundAccessor { nameMethod = Sound.class.getMethod("name"); nameMethod.setAccessible(true); + + keyMethod = Sound.class.getMethod("getKey"); + keyMethod.setAccessible(true); } catch (NoSuchMethodException noSuchMethodException) { throw new RuntimeException(noSuchMethodException); @@ -42,4 +47,13 @@ public static String name(Sound sound) { } } + public static NamespacedKey key(Sound sound) { + try { + return (NamespacedKey) keyMethod.invoke(sound); + } + catch (ReflectiveOperationException reflectiveOperationException) { + throw new RuntimeException(reflectiveOperationException); + } + } + } diff --git a/multification-bukkit/src/com/eternalcode/multification/bukkit/notice/resolver/sound/SoundBukkitResolver.java b/multification-bukkit/src/com/eternalcode/multification/bukkit/notice/resolver/sound/SoundBukkitResolver.java index 5527a75..4d7767e 100644 --- a/multification-bukkit/src/com/eternalcode/multification/bukkit/notice/resolver/sound/SoundBukkitResolver.java +++ b/multification-bukkit/src/com/eternalcode/multification/bukkit/notice/resolver/sound/SoundBukkitResolver.java @@ -26,7 +26,7 @@ public NoticeKey noticeKey() { @Override public void send(Audience audience, ComponentSerializer componentSerializer, SoundBukkit content) { - String soundKey = content.sound().getKey().getKey(); + String soundKey = SoundAccessor.key(content.sound()).getKey(); Sound sound = Sound.sound( Key.key(soundKey), Sound.Source.valueOf(content.toKyoriCategory().name()),