Files
AsminVoicechat/source/decompiled/de/maxhenkel/voicechat/plugins/impl/VoicechatConnectionImpl.java
T
asminme bbccd4a815
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
first commit
2026-10-24 15:18:03 +02:00

148 lines
4.3 KiB
Java

/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* javax.annotation.Nullable
* org.bukkit.entity.Player
*/
package de.maxhenkel.voicechat.plugins.impl;
import de.maxhenkel.voicechat.Voicechat;
import de.maxhenkel.voicechat.api.ServerPlayer;
import de.maxhenkel.voicechat.api.VoicechatConnection;
import de.maxhenkel.voicechat.plugins.impl.GroupImpl;
import de.maxhenkel.voicechat.plugins.impl.ServerPlayerImpl;
import de.maxhenkel.voicechat.voice.common.PlayerState;
import de.maxhenkel.voicechat.voice.server.Group;
import de.maxhenkel.voicechat.voice.server.PlayerStateManager;
import de.maxhenkel.voicechat.voice.server.Server;
import javax.annotation.Nullable;
import org.bukkit.entity.Player;
public class VoicechatConnectionImpl
implements VoicechatConnection {
private final ServerPlayer player;
private final Player serverPlayer;
private final PlayerState state;
@Nullable
private final de.maxhenkel.voicechat.api.Group group;
public VoicechatConnectionImpl(Player player, PlayerState state) {
this.serverPlayer = player;
this.player = new ServerPlayerImpl(player);
this.state = state;
this.group = GroupImpl.create(state);
}
@Nullable
public static VoicechatConnectionImpl fromPlayer(@Nullable Player player) {
if (player == null) {
return null;
}
Server server = Voicechat.SERVER.getServer();
if (server == null) {
return null;
}
PlayerState state = server.getPlayerStateManager().getState(player.getUniqueId());
if (state == null) {
return null;
}
return new VoicechatConnectionImpl(player, state);
}
@Override
@Nullable
public de.maxhenkel.voicechat.api.Group getGroup() {
return this.group;
}
@Override
public boolean isInGroup() {
return this.group != null;
}
@Override
public void setGroup(@Nullable de.maxhenkel.voicechat.api.Group group) {
Server server = Voicechat.SERVER.getServer();
if (server == null) {
return;
}
if (group == null) {
server.getGroupManager().leaveGroup((Player)this.player.getPlayer());
return;
}
if (group instanceof GroupImpl) {
GroupImpl g = (GroupImpl)group;
Group actualGroup = server.getGroupManager().getGroup(g.getGroup().getId());
if (actualGroup == null) {
server.getGroupManager().addGroup(g.getGroup(), this.serverPlayer);
actualGroup = g.getGroup();
}
server.getGroupManager().joinGroup(actualGroup, this.serverPlayer, g.getGroup().getPassword());
}
}
@Override
public boolean isConnected() {
return !this.state.isDisconnected();
}
@Override
public void setConnected(boolean connected) {
if (this.isInstalled()) {
return;
}
Server server = Voicechat.SERVER.getServer();
if (server == null) {
return;
}
PlayerStateManager manager = server.getPlayerStateManager();
PlayerState actualState = manager.getState(this.state.getUuid());
if (actualState == null) {
return;
}
if (actualState.isDisconnected() != connected) {
return;
}
actualState.setDisconnected(!connected);
manager.broadcastState(null, actualState);
}
@Override
public boolean isDisabled() {
return this.state.isDisabled();
}
@Override
public void setDisabled(boolean disabled) {
if (this.isInstalled()) {
return;
}
Server server = Voicechat.SERVER.getServer();
if (server == null) {
return;
}
PlayerStateManager manager = server.getPlayerStateManager();
PlayerState actualState = manager.getState(this.state.getUuid());
if (actualState == null) {
return;
}
if (actualState.isDisabled() == disabled) {
return;
}
actualState.setDisabled(disabled);
manager.broadcastState(null, actualState);
}
@Override
public boolean isInstalled() {
return Voicechat.SERVER.isCompatible(this.serverPlayer);
}
@Override
public ServerPlayer getPlayer() {
return this.player;
}
}