Add PlayerSwitchAvatarEvent

This commit is contained in:
KingRainbow44
2023-08-29 23:48:51 -04:00
Unverified
parent e3f15bca47
commit dbc45f36f0
2 changed files with 67 additions and 10 deletions
@@ -0,0 +1,37 @@
package emu.grasscutter.server.event.player;
import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.game.entity.EntityAvatar;
import emu.grasscutter.game.player.Player;
import emu.grasscutter.server.event.Cancellable;
import emu.grasscutter.server.event.types.PlayerEvent;
import lombok.*;
@Getter
public final class PlayerSwitchAvatarEvent extends PlayerEvent implements Cancellable {
private final Avatar previousAvatar;
@Setter private Avatar newAvatar;
public PlayerSwitchAvatarEvent(Player player,
Avatar previousAvatar,
Avatar newAvatar) {
super(player);
this.previousAvatar = previousAvatar;
this.newAvatar = newAvatar;
}
/**
* @return The previous avatar as an entity.
*/
public EntityAvatar getPreviousAvatarEntity() {
return this.previousAvatar.getAsEntity();
}
/**
* @return The new avatar as an entity.
*/
public EntityAvatar getNewAvatarEntity() {
return this.newAvatar.getAsEntity();
}
}