mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-14 07:55:57 +01:00
Add PlayerCompleteQuestEvent
This commit is contained in:
@@ -12,13 +12,15 @@ import emu.grasscutter.game.quest.enums.*;
|
||||
import emu.grasscutter.net.proto.ChapterStateOuterClass;
|
||||
import emu.grasscutter.net.proto.QuestOuterClass.Quest;
|
||||
import emu.grasscutter.scripts.data.SceneGroup;
|
||||
import emu.grasscutter.server.event.player.PlayerCompleteQuestEvent;
|
||||
import emu.grasscutter.server.packet.send.*;
|
||||
import emu.grasscutter.utils.Utils;
|
||||
import it.unimi.dsi.fastutil.ints.IntIntImmutablePair;
|
||||
import java.util.*;
|
||||
import javax.script.Bindings;
|
||||
import lombok.*;
|
||||
|
||||
import javax.script.Bindings;
|
||||
import java.util.*;
|
||||
|
||||
@Entity
|
||||
public class GameQuest {
|
||||
@Transient @Getter @Setter private GameMainQuest mainQuest;
|
||||
@@ -195,6 +197,10 @@ public class GameQuest {
|
||||
}
|
||||
|
||||
public void finish() {
|
||||
// Call PlayerCompleteQuestEvent.
|
||||
var event = new PlayerCompleteQuestEvent(this.getOwner(), this);
|
||||
if (!event.call()) return;
|
||||
|
||||
// Check if the quest has been finished.
|
||||
synchronized (this) {
|
||||
if (this.state == QuestState.QUEST_STATE_FINISHED) {
|
||||
|
||||
Reference in New Issue
Block a user