Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
ziqian zhang
Grasscutter
Commits
9d9c6566
Commit
9d9c6566
authored
Apr 28, 2022
by
KingRainbow44
Browse files
Player join & quit event
parent
dc26f9e2
Changes
4
Hide whitespace changes
Inline
Side-by-side
src/main/java/emu/grasscutter/game/player/Player.java
View file @
9d9c6566
...
...
@@ -37,6 +37,7 @@ import emu.grasscutter.net.proto.PlayerWorldLocationInfoOuterClass;
import
emu.grasscutter.net.proto.ProfilePictureOuterClass.ProfilePicture
;
import
emu.grasscutter.net.proto.SocialDetailOuterClass.SocialDetail
;
import
emu.grasscutter.net.proto.SocialShowAvatarInfoOuterClass
;
import
emu.grasscutter.server.event.game.PlayerQuitEvent
;
import
emu.grasscutter.server.game.GameServer
;
import
emu.grasscutter.server.game.GameSession
;
import
emu.grasscutter.server.packet.send.*
;
...
...
@@ -1026,6 +1027,9 @@ public class Player {
this
.
save
();
this
.
getTeamManager
().
saveAvatars
();
this
.
getFriendsList
().
save
();
// Call quit event.
PlayerQuitEvent
event
=
new
PlayerQuitEvent
(
this
);
event
.
call
();
}
public
enum
SceneLoadState
{
...
...
src/main/java/emu/grasscutter/server/event/game/PlayerJoinEvent.java
0 → 100644
View file @
9d9c6566
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
;
}
}
src/main/java/emu/grasscutter/server/event/game/PlayerQuitEvent.java
0 → 100644
View file @
9d9c6566
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
;
}
}
src/main/java/emu/grasscutter/server/packet/recv/HandlerSetPlayerBornDataReq.java
View file @
9d9c6566
...
...
@@ -13,6 +13,7 @@ import emu.grasscutter.net.packet.Opcodes;
import
emu.grasscutter.net.packet.PacketOpcodes
;
import
emu.grasscutter.net.proto.SetPlayerBornDataReqOuterClass.SetPlayerBornDataReq
;
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.SessionState
;
...
...
@@ -25,7 +26,7 @@ public class HandlerSetPlayerBornDataReq extends PacketHandler {
// Sanity checks
int
avatarId
=
req
.
getAvatarId
();
int
startingSkillDepot
=
0
;
int
startingSkillDepot
;
if
(
avatarId
==
GameConstants
.
MAIN_CHARACTER_MALE
)
{
startingSkillDepot
=
504
;
}
else
if
(
avatarId
==
GameConstants
.
MAIN_CHARACTER_FEMALE
)
{
...
...
@@ -91,6 +92,10 @@ public class HandlerSetPlayerBornDataReq extends PacketHandler {
Grasscutter
.
getLogger
().
error
(
"Error creating player object: "
,
e
);
session
.
close
();
}
}
// Call join event.
PlayerJoinEvent
event
=
new
PlayerJoinEvent
(
player
);
event
.
call
();
if
(
event
.
isCanceled
())
// If event is not cancelled, continue.
session
.
close
();
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment