mirror of
https://github.com/Melledy/LunarCore.git
synced 2025-12-23 10:44:36 +01:00
basic GetQuestData
This commit is contained in:
@@ -60,6 +60,7 @@ public class GameData {
|
||||
private static Int2ObjectMap<PhoneThemeExcel> phoneThemeExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
private static Int2ObjectMap<MonsterDropExcel> monsterDropExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
private static Int2ObjectMap<MonsterExcel> monsterExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
private static Int2ObjectMap<QuestExcel> questExcelMap = new Int2ObjectLinkedOpenHashMap<>();
|
||||
|
||||
private static Int2ObjectMap<PlayerLevelExcel> playerLevelExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
private static Int2ObjectMap<ExpTypeExcel> expTypeExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
@@ -141,6 +142,17 @@ public class GameData {
|
||||
return allIds;
|
||||
}
|
||||
|
||||
public static List<Integer> getAllQuestIds() {
|
||||
List<Integer> allIds = new ArrayList<>();
|
||||
|
||||
for (Int2ObjectMap.Entry<QuestExcel> entry : questExcelMap.int2ObjectEntrySet()) {
|
||||
QuestExcel questExcel = entry.getValue();
|
||||
allIds.add(questExcel.getId());
|
||||
}
|
||||
|
||||
return allIds;
|
||||
}
|
||||
|
||||
public static List<Integer> getAllMonsterIds() {
|
||||
List<Integer> allIds = new ArrayList<>();
|
||||
|
||||
|
||||
17
src/main/java/emu/lunarcore/data/excel/QuestExcel.java
Normal file
17
src/main/java/emu/lunarcore/data/excel/QuestExcel.java
Normal file
@@ -0,0 +1,17 @@
|
||||
package emu.lunarcore.data.excel;
|
||||
|
||||
import emu.lunarcore.data.GameResource;
|
||||
import emu.lunarcore.data.ResourceType;
|
||||
import emu.lunarcore.data.ResourceType.LoadPriority;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = {"QuestData.json"}, loadPriority = LoadPriority.NORMAL)
|
||||
public class QuestExcel extends GameResource {
|
||||
private int QuestID;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return QuestID;
|
||||
}
|
||||
}
|
||||
@@ -19,7 +19,8 @@ public class CmdIdUtils {
|
||||
CmdId.PlayerHeartBeatCsReq,
|
||||
CmdId.PlayerHeartBeatScRsp,
|
||||
CmdId.SceneEntityMoveCsReq,
|
||||
CmdId.SceneEntityMoveScRsp
|
||||
CmdId.SceneEntityMoveScRsp,
|
||||
CmdId.GetQuestDataScRsp
|
||||
);
|
||||
|
||||
private static Int2ObjectMap<String> opcodeMap;
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package emu.lunarcore.server.packet.recv;
|
||||
|
||||
import emu.lunarcore.server.game.GameSession;
|
||||
import emu.lunarcore.server.packet.CmdId;
|
||||
import emu.lunarcore.server.packet.Opcodes;
|
||||
import emu.lunarcore.server.packet.PacketHandler;
|
||||
import emu.lunarcore.server.packet.send.PacketGetQuestDataScRsp;
|
||||
|
||||
@Opcodes(CmdId.GetQuestDataCsReq)
|
||||
public class HandlerGetQuestDataCsReq extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] data) throws Exception {
|
||||
session.send(new PacketGetQuestDataScRsp());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package emu.lunarcore.server.packet.send;
|
||||
|
||||
import emu.lunarcore.proto.GetQuestDataScRspOuterClass.GetQuestDataScRsp;
|
||||
import emu.lunarcore.proto.QuestOuterClass.Quest;
|
||||
import emu.lunarcore.proto.QuestOuterClass.Quest.QuestStatus;
|
||||
import emu.lunarcore.server.game.GameSession;
|
||||
import emu.lunarcore.server.packet.BasePacket;
|
||||
import emu.lunarcore.server.packet.CmdId;
|
||||
import emu.lunarcore.data.GameData;
|
||||
|
||||
public class PacketGetQuestDataScRsp extends BasePacket {
|
||||
|
||||
public PacketGetQuestDataScRsp() {
|
||||
super(CmdId.GetQuestDataScRsp);
|
||||
|
||||
var allIds = GameData.getAllQuestIds();
|
||||
|
||||
var data = GetQuestDataScRsp.newInstance()
|
||||
.setTotalAchievementExp(69);
|
||||
|
||||
for (int questId : allIds) {
|
||||
var questItem = Quest.newInstance()
|
||||
.setId(questId)
|
||||
.setStatus(QuestStatus.QUEST_FINISH)
|
||||
.setFinishTime(10000L)
|
||||
.setProgress(1);
|
||||
data.addQuestList(questItem);
|
||||
}
|
||||
|
||||
this.setData(data);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user