mirror of
https://github.com/Melledy/Grasscutter.git
synced 2024-11-27 23:24:39 +00:00
Player join & quit event
This commit is contained in:
parent
d1ec5b3553
commit
f37ab46139
@ -37,6 +37,7 @@ import emu.grasscutter.net.proto.PlayerWorldLocationInfoOuterClass;
|
|||||||
import emu.grasscutter.net.proto.ProfilePictureOuterClass.ProfilePicture;
|
import emu.grasscutter.net.proto.ProfilePictureOuterClass.ProfilePicture;
|
||||||
import emu.grasscutter.net.proto.SocialDetailOuterClass.SocialDetail;
|
import emu.grasscutter.net.proto.SocialDetailOuterClass.SocialDetail;
|
||||||
import emu.grasscutter.net.proto.SocialShowAvatarInfoOuterClass;
|
import emu.grasscutter.net.proto.SocialShowAvatarInfoOuterClass;
|
||||||
|
import emu.grasscutter.server.event.game.PlayerQuitEvent;
|
||||||
import emu.grasscutter.server.game.GameServer;
|
import emu.grasscutter.server.game.GameServer;
|
||||||
import emu.grasscutter.server.game.GameSession;
|
import emu.grasscutter.server.game.GameSession;
|
||||||
import emu.grasscutter.server.packet.send.*;
|
import emu.grasscutter.server.packet.send.*;
|
||||||
@ -1026,6 +1027,9 @@ public class Player {
|
|||||||
this.save();
|
this.save();
|
||||||
this.getTeamManager().saveAvatars();
|
this.getTeamManager().saveAvatars();
|
||||||
this.getFriendsList().save();
|
this.getFriendsList().save();
|
||||||
|
|
||||||
|
// Call quit event.
|
||||||
|
PlayerQuitEvent event = new PlayerQuitEvent(this); event.call();
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum SceneLoadState {
|
public enum SceneLoadState {
|
||||||
|
@ -0,0 +1,17 @@
|
|||||||
|
package emu.grasscutter.server.event.game;
|
||||||
|
|
||||||
|
import emu.grasscutter.game.player.Player;
|
||||||
|
import emu.grasscutter.server.event.Cancellable;
|
||||||
|
import emu.grasscutter.server.event.types.GameEvent;
|
||||||
|
|
||||||
|
public final class PlayerJoinEvent extends GameEvent implements Cancellable {
|
||||||
|
private final Player player;
|
||||||
|
|
||||||
|
public PlayerJoinEvent(Player player) {
|
||||||
|
this.player = player;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Player getPlayer() {
|
||||||
|
return this.player;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
package emu.grasscutter.server.event.game;
|
||||||
|
|
||||||
|
import emu.grasscutter.game.player.Player;
|
||||||
|
import emu.grasscutter.server.event.types.GameEvent;
|
||||||
|
|
||||||
|
public final class PlayerQuitEvent extends GameEvent {
|
||||||
|
private final Player player;
|
||||||
|
|
||||||
|
public PlayerQuitEvent(Player player) {
|
||||||
|
this.player = player;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Player getPlayer() {
|
||||||
|
return this.player;
|
||||||
|
}
|
||||||
|
}
|
@ -13,6 +13,7 @@ import emu.grasscutter.net.packet.Opcodes;
|
|||||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||||
import emu.grasscutter.net.proto.SetPlayerBornDataReqOuterClass.SetPlayerBornDataReq;
|
import emu.grasscutter.net.proto.SetPlayerBornDataReqOuterClass.SetPlayerBornDataReq;
|
||||||
import emu.grasscutter.net.packet.PacketHandler;
|
import emu.grasscutter.net.packet.PacketHandler;
|
||||||
|
import emu.grasscutter.server.event.game.PlayerJoinEvent;
|
||||||
import emu.grasscutter.server.game.GameSession;
|
import emu.grasscutter.server.game.GameSession;
|
||||||
import emu.grasscutter.server.game.GameSession.SessionState;
|
import emu.grasscutter.server.game.GameSession.SessionState;
|
||||||
|
|
||||||
@ -25,7 +26,7 @@ public class HandlerSetPlayerBornDataReq extends PacketHandler {
|
|||||||
|
|
||||||
// Sanity checks
|
// Sanity checks
|
||||||
int avatarId = req.getAvatarId();
|
int avatarId = req.getAvatarId();
|
||||||
int startingSkillDepot = 0;
|
int startingSkillDepot;
|
||||||
if (avatarId == GameConstants.MAIN_CHARACTER_MALE) {
|
if (avatarId == GameConstants.MAIN_CHARACTER_MALE) {
|
||||||
startingSkillDepot = 504;
|
startingSkillDepot = 504;
|
||||||
} else if (avatarId == GameConstants.MAIN_CHARACTER_FEMALE) {
|
} else if (avatarId == GameConstants.MAIN_CHARACTER_FEMALE) {
|
||||||
@ -91,6 +92,10 @@ public class HandlerSetPlayerBornDataReq extends PacketHandler {
|
|||||||
Grasscutter.getLogger().error("Error creating player object: ", e);
|
Grasscutter.getLogger().error("Error creating player object: ", e);
|
||||||
session.close();
|
session.close();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
// Call join event.
|
||||||
|
PlayerJoinEvent event = new PlayerJoinEvent(player); event.call();
|
||||||
|
if(event.isCanceled()) // If event is not cancelled, continue.
|
||||||
|
session.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user