mirror of
https://github.com/Melledy/LunarCore.git
synced 2025-12-23 10:44:36 +01:00
fix Archive
This commit is contained in:
@@ -58,6 +58,7 @@ public class GameData {
|
||||
private static Int2ObjectMap<ChatBubbleExcel> chatBubbleExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
private static Int2ObjectMap<PhoneThemeExcel> phoneThemeExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
private static Int2ObjectMap<MonsterDropExcel> monsterDropExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
private static Int2ObjectMap<MonsterExcel> monsterExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
|
||||
private static Int2ObjectMap<PlayerLevelExcel> playerLevelExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
private static Int2ObjectMap<ExpTypeExcel> expTypeExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
@@ -66,6 +67,7 @@ public class GameData {
|
||||
|
||||
private static Int2ObjectMap<RelicMainAffixExcel> relicMainAffixExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
private static Int2ObjectMap<RelicSubAffixExcel> relicSubAffixExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
private static Int2ObjectMap<RelicSetExcel> relicSetExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
|
||||
// Configs (Bin)
|
||||
@Getter private static Object2ObjectMap<String, FloorInfo> floorInfos = new Object2ObjectOpenHashMap<>();
|
||||
@@ -98,6 +100,35 @@ public class GameData {
|
||||
return allIds;
|
||||
}
|
||||
|
||||
public static List<Integer> getAllRelicIds() {
|
||||
List<Integer> allIds = new ArrayList<>();
|
||||
|
||||
for (Int2ObjectMap.Entry<RelicExcel> entry : relicExcelMap.int2ObjectEntrySet()) {
|
||||
RelicExcel relicExcel = entry.getValue();
|
||||
allIds.add(relicExcel.getId());
|
||||
}
|
||||
|
||||
return allIds;
|
||||
}
|
||||
|
||||
public static int getRelicSetFromId(int relicId) {
|
||||
RelicExcel relicExcel = GameData.getRelicExcelMap().get(relicId);
|
||||
|
||||
if (relicExcel == null) {
|
||||
return 0;
|
||||
}
|
||||
return relicExcel.getSetId();
|
||||
}
|
||||
|
||||
public static int getRelicTypeFromId(int relicId) {
|
||||
RelicExcel relicExcel = GameData.getRelicExcelMap().get(relicId);
|
||||
|
||||
if (relicExcel == null) {
|
||||
return 0;
|
||||
}
|
||||
return relicExcel.getType().getVal();
|
||||
}
|
||||
|
||||
public static List<Integer> getAllMusicIds() {
|
||||
List<Integer> allIds = new ArrayList<>();
|
||||
|
||||
@@ -109,6 +140,17 @@ public class GameData {
|
||||
return allIds;
|
||||
}
|
||||
|
||||
public static List<Integer> getAllMonsterIds() {
|
||||
List<Integer> allIds = new ArrayList<>();
|
||||
|
||||
for (Int2ObjectMap.Entry<MonsterExcel> entry : monsterExcelMap.int2ObjectEntrySet()) {
|
||||
MonsterExcel monsterExcel = entry.getValue();
|
||||
allIds.add(monsterExcel.getId());
|
||||
}
|
||||
|
||||
return allIds;
|
||||
}
|
||||
|
||||
public static int getMusicGroupId(int musicId) {
|
||||
var excel = backGroundMusicExcelMap.get(musicId);
|
||||
return excel != null ? excel.getGroupId() : 0;
|
||||
|
||||
19
src/main/java/emu/lunarcore/data/excel/MonsterExcel.java
Normal file
19
src/main/java/emu/lunarcore/data/excel/MonsterExcel.java
Normal file
@@ -0,0 +1,19 @@
|
||||
package emu.lunarcore.data.excel;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import emu.lunarcore.data.GameResource;
|
||||
import emu.lunarcore.data.ResourceType;
|
||||
import emu.lunarcore.data.common.ItemParam;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = {"MonsterConfig.json"})
|
||||
public class MonsterExcel extends GameResource {
|
||||
private int MonsterID;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return MonsterID;
|
||||
}
|
||||
}
|
||||
@@ -26,6 +26,9 @@ public class RelicExcel extends GameResource {
|
||||
public int getId() {
|
||||
return ID;
|
||||
}
|
||||
public int getSetId() {
|
||||
return SetID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
|
||||
19
src/main/java/emu/lunarcore/data/excel/RelicSetExcel.java
Normal file
19
src/main/java/emu/lunarcore/data/excel/RelicSetExcel.java
Normal file
@@ -0,0 +1,19 @@
|
||||
package emu.lunarcore.data.excel;
|
||||
|
||||
import emu.lunarcore.data.GameDepot;
|
||||
import emu.lunarcore.data.GameResource;
|
||||
import emu.lunarcore.data.ResourceType;
|
||||
import emu.lunarcore.data.ResourceType.LoadPriority;
|
||||
import emu.lunarcore.game.enums.AvatarPropertyType;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = {"RelicSetConfig.json"}, loadPriority = LoadPriority.NORMAL)
|
||||
public class RelicSetExcel extends GameResource {
|
||||
private int SetID;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return SetID;
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,8 @@ package emu.lunarcore.server.packet.send;
|
||||
|
||||
import emu.lunarcore.data.GameData;
|
||||
import emu.lunarcore.proto.GetArchiveDataScRspOuterClass.GetArchiveDataScRsp;
|
||||
import emu.lunarcore.proto.MonsterArchiveOuterClass.MonsterArchive;
|
||||
import emu.lunarcore.proto.RelicArchiveOuterClass.RelicArchive;
|
||||
import emu.lunarcore.server.packet.BasePacket;
|
||||
import emu.lunarcore.server.packet.CmdId;
|
||||
|
||||
@@ -16,6 +18,22 @@ public class PacketGetArchiveDataScRsp extends BasePacket {
|
||||
for (var avatarExcel : GameData.getAvatarExcelMap().values()) {
|
||||
data.getMutableArchiveData().addArchiveAvatarIdList(avatarExcel.getAvatarID());
|
||||
}
|
||||
|
||||
for (var MonsterId : GameData.getAllMonsterIds()) {
|
||||
MonsterArchive monsterinfo = MonsterArchive.newInstance()
|
||||
.setMonsterId(MonsterId)
|
||||
.setNum(1); // todo: add to db
|
||||
|
||||
data.getMutableArchiveData().addArchiveMonsterIdList(monsterinfo);
|
||||
}
|
||||
|
||||
for (var RelicId : GameData.getAllRelicIds()) {
|
||||
RelicArchive relicInfo = RelicArchive.newInstance()
|
||||
.setType(GameData.getRelicTypeFromId(RelicId))
|
||||
.setRelicId(GameData.getRelicSetFromId(RelicId)); // todo: add to db
|
||||
|
||||
data.getMutableArchiveData().addArchiveRelicList(relicInfo);
|
||||
}
|
||||
|
||||
for (var itemExcel : GameData.getItemExcelMap().values()) {
|
||||
if (!itemExcel.isEquipment()) continue;
|
||||
|
||||
Reference in New Issue
Block a user