Build AsminVoicechat / prepare-release (push) Successful in 14s
Build AsminVoicechat / build-and-test (17) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (18) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (19) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (20) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (21) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (22) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (23) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (24) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (25) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (26) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (27-ea) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (16) (push) Canceled after 38s
89 lines
3.0 KiB
Java
89 lines
3.0 KiB
Java
/*
|
|
* Decompiled with CFR 0.152.
|
|
*
|
|
* Could not load the following classes:
|
|
* javax.annotation.Nullable
|
|
*/
|
|
package de.maxhenkel.voicechat.plugins.impl.packets;
|
|
|
|
import de.maxhenkel.voicechat.api.Position;
|
|
import de.maxhenkel.voicechat.api.packets.LocationalSoundPacket;
|
|
import de.maxhenkel.voicechat.plugins.impl.PositionImpl;
|
|
import de.maxhenkel.voicechat.plugins.impl.packets.EntitySoundPacketImpl;
|
|
import de.maxhenkel.voicechat.plugins.impl.packets.SoundPacketImpl;
|
|
import de.maxhenkel.voicechat.voice.common.LocationSoundPacket;
|
|
import de.maxhenkel.voicechat.voice.common.Utils;
|
|
import java.util.UUID;
|
|
import javax.annotation.Nullable;
|
|
|
|
public class LocationalSoundPacketImpl
|
|
extends SoundPacketImpl
|
|
implements LocationalSoundPacket {
|
|
private final LocationSoundPacket packet;
|
|
private final PositionImpl position;
|
|
|
|
public LocationalSoundPacketImpl(LocationSoundPacket packet) {
|
|
super(packet);
|
|
this.packet = packet;
|
|
this.position = new PositionImpl(packet.getLocation());
|
|
}
|
|
|
|
@Override
|
|
public Position getPosition() {
|
|
return this.position;
|
|
}
|
|
|
|
@Override
|
|
public float getDistance() {
|
|
return this.packet.getDistance();
|
|
}
|
|
|
|
public LocationSoundPacket getPacket() {
|
|
return this.packet;
|
|
}
|
|
|
|
public static class BuilderImpl
|
|
extends SoundPacketImpl.BuilderImpl<BuilderImpl, LocationalSoundPacket>
|
|
implements LocationalSoundPacket.Builder<BuilderImpl> {
|
|
protected PositionImpl position;
|
|
protected float distance;
|
|
|
|
public BuilderImpl(SoundPacketImpl soundPacket) {
|
|
super(soundPacket);
|
|
if (soundPacket instanceof LocationalSoundPacketImpl) {
|
|
LocationalSoundPacketImpl p = (LocationalSoundPacketImpl)soundPacket;
|
|
this.position = p.position;
|
|
this.distance = p.getDistance();
|
|
} else {
|
|
this.distance = soundPacket instanceof EntitySoundPacketImpl ? ((EntitySoundPacketImpl)soundPacket).getDistance() : Utils.getDefaultDistance();
|
|
}
|
|
}
|
|
|
|
public BuilderImpl(UUID channelId, UUID sender, byte[] opusEncodedData, long sequenceNumber, @Nullable String category) {
|
|
super(channelId, sender, opusEncodedData, sequenceNumber, category);
|
|
this.distance = Utils.getDefaultDistance();
|
|
}
|
|
|
|
@Override
|
|
public BuilderImpl position(Position position) {
|
|
this.position = (PositionImpl)position;
|
|
return this;
|
|
}
|
|
|
|
@Override
|
|
public BuilderImpl distance(float distance) {
|
|
this.distance = distance;
|
|
return this;
|
|
}
|
|
|
|
@Override
|
|
public LocationalSoundPacket build() {
|
|
if (this.position == null) {
|
|
throw new IllegalStateException("position missing");
|
|
}
|
|
return new LocationalSoundPacketImpl(new LocationSoundPacket(this.channelId, this.sender, this.position.getPosition(), this.opusEncodedData, this.sequenceNumber, this.distance, this.category));
|
|
}
|
|
}
|
|
}
|
|
|