[FEAT] Add a way for login/logout event to know if it was sent from vanish
This commit is contained in:
@@ -4,6 +4,7 @@ import com.hypherionmc.craterlib.core.event.CraterEvent;
|
|||||||
import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer;
|
import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@Getter
|
@Getter
|
||||||
@@ -11,18 +12,32 @@ public class CraterPlayerEvent extends CraterEvent {
|
|||||||
|
|
||||||
private final BridgedPlayer player;
|
private final BridgedPlayer player;
|
||||||
|
|
||||||
|
@Getter
|
||||||
public static class PlayerLoggedIn extends CraterPlayerEvent {
|
public static class PlayerLoggedIn extends CraterPlayerEvent {
|
||||||
|
private final boolean isFromVanish;
|
||||||
|
|
||||||
public PlayerLoggedIn(BridgedPlayer player) {
|
public PlayerLoggedIn(BridgedPlayer player) {
|
||||||
|
this(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public PlayerLoggedIn(BridgedPlayer player, boolean isFromVanish) {
|
||||||
super(player);
|
super(player);
|
||||||
|
this.isFromVanish = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Getter @Setter
|
||||||
public static class PlayerLoggedOut extends CraterPlayerEvent {
|
public static class PlayerLoggedOut extends CraterPlayerEvent {
|
||||||
|
private final boolean isFromVanish;
|
||||||
|
|
||||||
public PlayerLoggedOut(BridgedPlayer player) {
|
public PlayerLoggedOut(BridgedPlayer player) {
|
||||||
|
this(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public PlayerLoggedOut(BridgedPlayer player, boolean isFromVanish) {
|
||||||
super(player);
|
super(player);
|
||||||
|
this.isFromVanish = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -12,9 +12,9 @@ public class Vanish {
|
|||||||
public static void register() {
|
public static void register() {
|
||||||
VanishEvents.VANISH_EVENT.register((serverPlayer, b) -> {
|
VanishEvents.VANISH_EVENT.register((serverPlayer, b) -> {
|
||||||
if (b) {
|
if (b) {
|
||||||
CraterEventBus.INSTANCE.postEvent(new CraterPlayerEvent.PlayerLoggedOut(BridgedPlayer.of(serverPlayer)));
|
CraterEventBus.INSTANCE.postEvent(new CraterPlayerEvent.PlayerLoggedOut(BridgedPlayer.of(serverPlayer), true));
|
||||||
} else {
|
} else {
|
||||||
CraterEventBus.INSTANCE.postEvent(new CraterPlayerEvent.PlayerLoggedIn(BridgedPlayer.of(serverPlayer)));
|
CraterEventBus.INSTANCE.postEvent(new CraterPlayerEvent.PlayerLoggedIn(BridgedPlayer.of(serverPlayer), true));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@@ -15,9 +15,9 @@ public class Vanish {
|
|||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void vanishevent(PlayerVanishEvent event) {
|
public void vanishevent(PlayerVanishEvent event) {
|
||||||
if (event.isVanished()) {
|
if (event.isVanished()) {
|
||||||
CraterEventBus.INSTANCE.postEvent(new CraterPlayerEvent.PlayerLoggedOut(BridgedPlayer.of(event.getEntity())));
|
CraterEventBus.INSTANCE.postEvent(new CraterPlayerEvent.PlayerLoggedOut(BridgedPlayer.of(event.getEntity()), true));
|
||||||
} else {
|
} else {
|
||||||
CraterEventBus.INSTANCE.postEvent(new CraterPlayerEvent.PlayerLoggedIn(BridgedPlayer.of(event.getEntity())));
|
CraterEventBus.INSTANCE.postEvent(new CraterPlayerEvent.PlayerLoggedIn(BridgedPlayer.of(event.getEntity()), true));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user