Merge pull request #428 from NoJokeFNA/fix/sound-wrappers

[1.19] Fix sound wrappers
This commit is contained in:
retrooper authored and GitHub committed 2022-06-21 22:23:16 +02:00
commit 0e471c665d
1 file changed
+42
@@ -19,6 +19,7 @@
package com.github.retrooper.packetevents.wrapper.play.server;
import com.github.retrooper.packetevents.event.PacketSendEvent;
import com.github.retrooper.packetevents.manager.server.ServerVersion;
import com.github.retrooper.packetevents.protocol.packettype.PacketType;
import com.github.retrooper.packetevents.protocol.sound.SoundCategory;
import com.github.retrooper.packetevents.util.Vector3i;
@@ -30,6 +31,7 @@ public class WrapperPlayServerSoundEffect extends PacketWrapper<WrapperPlayServe
private Vector3i effectPosition;
private float volume;
private float pitch;
private long seed;
public WrapperPlayServerSoundEffect(PacketSendEvent event) {
super(event);
@@ -37,12 +39,18 @@ public class WrapperPlayServerSoundEffect extends PacketWrapper<WrapperPlayServe
public WrapperPlayServerSoundEffect(int soundID, SoundCategory soundCategory,
Vector3i effectPosition, float volume, float pitch) {
this(soundID, soundCategory, effectPosition, volume, pitch, -1);
}
public WrapperPlayServerSoundEffect(int soundID, SoundCategory soundCategory,
Vector3i effectPosition, float volume, float pitch, long seed) {
super(PacketType.Play.Server.SOUND_EFFECT);
this.soundID = soundID;
this.soundCategory = soundCategory;
this.effectPosition = effectPosition;
this.volume = volume;
this.pitch = pitch;
this.seed = seed;
}
@Override
@@ -52,6 +60,9 @@ public class WrapperPlayServerSoundEffect extends PacketWrapper<WrapperPlayServe
effectPosition = new Vector3i(readInt(), readInt(), readInt());
volume = readFloat();
pitch = readFloat();
if (serverVersion.isNewerThanOrEquals(ServerVersion.V_1_19)) {
this.seed = readLong();
}
}
@Override
@@ -63,6 +74,19 @@ public class WrapperPlayServerSoundEffect extends PacketWrapper<WrapperPlayServe
writeInt(effectPosition.z);
writeFloat(volume);
writeFloat(pitch);
if (serverVersion.isNewerThanOrEquals(ServerVersion.V_1_19)) {
writeLong(seed);
}
}
@Override
public void copy(WrapperPlayServerSoundEffect wrapper) {
soundID = wrapper.soundID;
soundCategory = wrapper.soundCategory;
effectPosition = wrapper.effectPosition;
volume = wrapper.volume;
pitch = wrapper.pitch;
seed = wrapper.seed;
}
@Override
@@ -113,4 +137,22 @@ public class WrapperPlayServerSoundEffect extends PacketWrapper<WrapperPlayServe
public void setPitch(float pitch) {
this.pitch = pitch;
}
/**
* Seeds only exist in server version 1.19+
*
* @return the seed
*/
public long getSeed() {
return seed;
}
/**
* Seeds only exist in server version 1.19+
*
* @param seed the seed to set
*/
public void setSeed(long seed) {
this.seed = seed;
}
}