first commit
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
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
This commit is contained in:
commit
bbccd4a815
454 files changed
+45050
No files matched your search
+113
@@ -0,0 +1,113 @@
|
||||
/*
|
||||
* Decompiled with CFR 0.152.
|
||||
*
|
||||
* Could not load the following classes:
|
||||
* org.bukkit.Bukkit
|
||||
* org.bukkit.entity.Player
|
||||
*/
|
||||
package de.maxhenkel.voicechat.plugins.impl.audiochannel;
|
||||
|
||||
import de.maxhenkel.voicechat.api.VoicechatConnection;
|
||||
import de.maxhenkel.voicechat.api.audiochannel.StaticAudioChannel;
|
||||
import de.maxhenkel.voicechat.api.packets.MicrophonePacket;
|
||||
import de.maxhenkel.voicechat.plugins.impl.ServerPlayerImpl;
|
||||
import de.maxhenkel.voicechat.plugins.impl.VoicechatServerApiImpl;
|
||||
import de.maxhenkel.voicechat.plugins.impl.audiochannel.AudioChannelImpl;
|
||||
import de.maxhenkel.voicechat.voice.common.GroupSoundPacket;
|
||||
import de.maxhenkel.voicechat.voice.server.ClientConnection;
|
||||
import de.maxhenkel.voicechat.voice.server.Group;
|
||||
import de.maxhenkel.voicechat.voice.server.Server;
|
||||
import de.maxhenkel.voicechat.voice.server.ServerGroupManager;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class StaticAudioChannelImpl
|
||||
extends AudioChannelImpl
|
||||
implements StaticAudioChannel {
|
||||
protected boolean bypassGroupIsolation;
|
||||
protected final Set<UUID> targets = new HashSet<UUID>();
|
||||
|
||||
public StaticAudioChannelImpl(UUID channelId, Server server) {
|
||||
super(channelId, server);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void send(byte[] opusData) {
|
||||
this.broadcast(new GroupSoundPacket(this.channelId, this.channelId, opusData, this.sequenceNumber.getAndIncrement(), this.category));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void send(MicrophonePacket packet) {
|
||||
this.send(packet.getOpusEncodedData());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flush() {
|
||||
GroupSoundPacket packet = new GroupSoundPacket(this.channelId, this.channelId, new byte[0], this.sequenceNumber.getAndIncrement(), this.category);
|
||||
this.broadcast(packet);
|
||||
}
|
||||
|
||||
/*
|
||||
* WARNING - Removed try catching itself - possible behaviour change.
|
||||
*/
|
||||
private void broadcast(GroupSoundPacket packet) {
|
||||
Set<UUID> set = this.targets;
|
||||
synchronized (set) {
|
||||
ServerGroupManager groupManager = this.server.getGroupManager();
|
||||
for (UUID target : this.targets) {
|
||||
Group playerGroup;
|
||||
Player player;
|
||||
ClientConnection connection = this.server.getConnection(target);
|
||||
if (connection == null || (player = Bukkit.getPlayer((UUID)target)) == null || !this.bypassGroupIsolation && (playerGroup = groupManager.getPlayerGroup(player)) != null && playerGroup.isIsolated() || this.filter != null && !this.filter.test(new ServerPlayerImpl(player))) continue;
|
||||
VoicechatServerApiImpl.sendPacket(player, packet);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBypassGroupIsolation(boolean bypassGroupIsolation) {
|
||||
this.bypassGroupIsolation = bypassGroupIsolation;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean bypassesGroupIsolation() {
|
||||
return this.bypassGroupIsolation;
|
||||
}
|
||||
|
||||
/*
|
||||
* WARNING - Removed try catching itself - possible behaviour change.
|
||||
*/
|
||||
@Override
|
||||
public void addTarget(VoicechatConnection target) {
|
||||
Set<UUID> set = this.targets;
|
||||
synchronized (set) {
|
||||
this.targets.add(target.getPlayer().getUuid());
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* WARNING - Removed try catching itself - possible behaviour change.
|
||||
*/
|
||||
@Override
|
||||
public void removeTarget(VoicechatConnection target) {
|
||||
Set<UUID> set = this.targets;
|
||||
synchronized (set) {
|
||||
this.targets.remove(target.getPlayer().getUuid());
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* WARNING - Removed try catching itself - possible behaviour change.
|
||||
*/
|
||||
@Override
|
||||
public void clearTargets() {
|
||||
Set<UUID> set = this.targets;
|
||||
synchronized (set) {
|
||||
this.targets.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user