Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-18 04:20:08 +01:00
Add stopSound for specific sound category & unit test for SoundCategory
Dieser Commit ist enthalten in:
Ursprung
63c13c5e62
Commit
7564d60241
@ -322,15 +322,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
@Override
|
||||
public void stopSound(Sound sound) {
|
||||
stopSound(CraftSound.getSound(sound));
|
||||
stopSound(sound, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stopSound(String sound) {
|
||||
stopSound(sound, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stopSound(Sound sound, org.bukkit.SoundCategory category) {
|
||||
stopSound(CraftSound.getSound(sound), category);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stopSound(String sound, org.bukkit.SoundCategory category) {
|
||||
if (getHandle().playerConnection == null) return;
|
||||
PacketDataSerializer packetdataserializer = new PacketDataSerializer(Unpooled.buffer());
|
||||
|
||||
packetdataserializer.a("");
|
||||
packetdataserializer.a(category == null ? "" : net.minecraft.server.SoundCategory.valueOf(category.name()).a());
|
||||
packetdataserializer.a(sound);
|
||||
getHandle().playerConnection.sendPacket(new PacketPlayOutCustomPayload("MC|StopSound", packetdataserializer));
|
||||
}
|
||||
|
@ -24,4 +24,18 @@ public class SoundTest {
|
||||
assertNotNull(effect + "", Sound.valueOf(effect.a().replace('.', '_').toUpperCase(java.util.Locale.ENGLISH)));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCategory() {
|
||||
for (SoundCategory category : SoundCategory.values()) {
|
||||
assertNotNull(category + "", net.minecraft.server.SoundCategory.valueOf(category.name()));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCategoryReverse() {
|
||||
for (net.minecraft.server.SoundCategory category : net.minecraft.server.SoundCategory.values()) {
|
||||
assertNotNull(category + "", SoundCategory.valueOf(category.name()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren