Add stopSound for specific sound category & unit test for SoundCategory

This commit is contained in:
md_5 2016-11-19 14:27:18 +11:00
parent 63c13c5e62
commit 7564d60241
2 changed files with 26 additions and 2 deletions

View File

@ -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));
}

View File

@ -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()));
}
}
}