forked from BLOCKFANTASY/LOOHP-Limbo
ConnectionEstablishedEvent
This commit is contained in:
parent
9f2c426a50
commit
ba0f98b6c7
|
|
@ -0,0 +1,37 @@
|
||||||
|
/*
|
||||||
|
* This file is part of Limbo.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2023. LoohpJames <jamesloohp@gmail.com>
|
||||||
|
* Copyright (C) 2023. Contributors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.loohp.limbo.events.connection;
|
||||||
|
|
||||||
|
import com.loohp.limbo.events.Event;
|
||||||
|
import com.loohp.limbo.network.ClientConnection;
|
||||||
|
|
||||||
|
public class ConnectionEstablishedEvent extends Event {
|
||||||
|
|
||||||
|
private ClientConnection connection;
|
||||||
|
|
||||||
|
public ConnectionEstablishedEvent(ClientConnection connection) {
|
||||||
|
this.connection = connection;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ClientConnection getConnection() {
|
||||||
|
return connection;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -22,15 +22,15 @@ package com.loohp.limbo.events.player;
|
||||||
import com.loohp.limbo.events.Cancellable;
|
import com.loohp.limbo.events.Cancellable;
|
||||||
import com.loohp.limbo.events.Event;
|
import com.loohp.limbo.events.Event;
|
||||||
import com.loohp.limbo.network.ClientConnection;
|
import com.loohp.limbo.network.ClientConnection;
|
||||||
import net.md_5.bungee.api.chat.BaseComponent;
|
import net.kyori.adventure.text.Component;
|
||||||
|
|
||||||
public class PlayerLoginEvent extends Event implements Cancellable {
|
public class PlayerLoginEvent extends Event implements Cancellable {
|
||||||
|
|
||||||
private ClientConnection connection;
|
private final ClientConnection connection;
|
||||||
private boolean cancelled;
|
private boolean cancelled;
|
||||||
private BaseComponent[] cancelReason;
|
private Component cancelReason;
|
||||||
|
|
||||||
public PlayerLoginEvent(ClientConnection connection, boolean cancelled, BaseComponent... cancelReason) {
|
public PlayerLoginEvent(ClientConnection connection, boolean cancelled, Component cancelReason) {
|
||||||
this.connection = connection;
|
this.connection = connection;
|
||||||
this.cancelled = cancelled;
|
this.cancelled = cancelled;
|
||||||
this.cancelReason = cancelReason;
|
this.cancelReason = cancelReason;
|
||||||
|
|
@ -40,11 +40,11 @@ public class PlayerLoginEvent extends Event implements Cancellable {
|
||||||
return connection;
|
return connection;
|
||||||
}
|
}
|
||||||
|
|
||||||
public BaseComponent[] getCancelReason() {
|
public Component getCancelReason() {
|
||||||
return cancelReason;
|
return cancelReason;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCancelReason(BaseComponent... cancelReason) {
|
public void setCancelReason(Component cancelReason) {
|
||||||
this.cancelReason = cancelReason;
|
this.cancelReason = cancelReason;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ package com.loohp.limbo.network;
|
||||||
|
|
||||||
import com.loohp.limbo.Limbo;
|
import com.loohp.limbo.Limbo;
|
||||||
import com.loohp.limbo.entity.EntityEquipment;
|
import com.loohp.limbo.entity.EntityEquipment;
|
||||||
|
import com.loohp.limbo.events.connection.ConnectionEstablishedEvent;
|
||||||
import com.loohp.limbo.events.inventory.AnvilRenameInputEvent;
|
import com.loohp.limbo.events.inventory.AnvilRenameInputEvent;
|
||||||
import com.loohp.limbo.events.inventory.InventoryCloseEvent;
|
import com.loohp.limbo.events.inventory.InventoryCloseEvent;
|
||||||
import com.loohp.limbo.events.inventory.InventoryCreativeEvent;
|
import com.loohp.limbo.events.inventory.InventoryCreativeEvent;
|
||||||
|
|
@ -352,6 +353,8 @@ public class ClientConnection extends Thread {
|
||||||
state = ClientState.DISCONNECTED;
|
state = ClientState.DISCONNECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Limbo.getInstance().getEventsManager().callEvent(new ConnectionEstablishedEvent(this));
|
||||||
|
|
||||||
PacketHandshakingIn handshake = (PacketHandshakingIn) channel.readPacket(handShakeSize);
|
PacketHandshakingIn handshake = (PacketHandshakingIn) channel.readPacket(handShakeSize);
|
||||||
|
|
||||||
boolean isBungeecord = Limbo.getInstance().getServerProperties().isBungeecord();
|
boolean isBungeecord = Limbo.getInstance().getServerProperties().isBungeecord();
|
||||||
|
|
@ -546,7 +549,7 @@ public class ClientConnection extends Thread {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PlayerLoginEvent event = Limbo.getInstance().getEventsManager().callEvent(new PlayerLoginEvent(this, false));
|
PlayerLoginEvent event = Limbo.getInstance().getEventsManager().callEvent(new PlayerLoginEvent(this, false, Component.empty()));
|
||||||
if (event.isCancelled()) {
|
if (event.isCancelled()) {
|
||||||
disconnectDuringLogin(event.getCancelReason());
|
disconnectDuringLogin(event.getCancelReason());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue