diff --git a/build.gradle b/build.gradle index 4b60fe86..b5aefa4b 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,7 @@ plugins { } // Adventure version -ext.adventure = "4.11.0" +ext.adventure = "4.12.0" group 'net.kyori' version '4.1.3-SNAPSHOT' diff --git a/platform-bukkit/src/main/java/net/kyori/adventure/platform/bukkit/CraftBukkitFacet.java b/platform-bukkit/src/main/java/net/kyori/adventure/platform/bukkit/CraftBukkitFacet.java index c11f1f58..53778cba 100644 --- a/platform-bukkit/src/main/java/net/kyori/adventure/platform/bukkit/CraftBukkitFacet.java +++ b/platform-bukkit/src/main/java/net/kyori/adventure/platform/bukkit/CraftBukkitFacet.java @@ -549,11 +549,12 @@ private Object createForEntity(final net.kyori.adventure.sound.Sound sound, fina if (soundCategory == null) return null; final Object nameRl = NEW_RESOURCE_LOCATION.invoke(sound.name().namespace(), sound.name().value()); final java.util.Optional event = (Optional) REGISTRY_GET_OPTIONAL.invoke(REGISTRY_SOUND_EVENT, nameRl); + final long seed = sound.seed().orElseGet(() -> ThreadLocalRandom.current().nextLong()); if (event.isPresent()) { - return NEW_CLIENTBOUND_ENTITY_SOUND.invoke(event.get(), soundCategory, nmsEntity, sound.volume(), sound.pitch(), ThreadLocalRandom.current().nextLong() /* TODO replace with sound seed when 4.12.X releases */); + return NEW_CLIENTBOUND_ENTITY_SOUND.invoke(event.get(), soundCategory, nmsEntity, sound.volume(), sound.pitch(), seed); } else if (NEW_CLIENTBOUND_CUSTOM_SOUND != null && NEW_VEC3 != null) { final Location loc = entity.getLocation(); - return NEW_CLIENTBOUND_CUSTOM_SOUND.invoke(nameRl, soundCategory, NEW_VEC3.invoke(loc.getX(), loc.getY(), loc.getZ()), sound.volume(), sound.pitch(), ThreadLocalRandom.current().nextLong() /* TODO replace with sound seed when 4.12.X releases */); + return NEW_CLIENTBOUND_CUSTOM_SOUND.invoke(nameRl, soundCategory, NEW_VEC3.invoke(loc.getX(), loc.getY(), loc.getZ()), sound.volume(), sound.pitch(), seed); } } catch (final Throwable error) { logError(error, "Failed to send sound tracking an entity");