Rename excel classes

This commit is contained in:
Melledy 2022-05-28 04:21:47 -07:00
parent f139818224
commit a23b29b65a
123 changed files with 1289 additions and 1507 deletions

View File

@ -4,7 +4,7 @@ import emu.grasscutter.Grasscutter;
import emu.grasscutter.command.Command; import emu.grasscutter.command.Command;
import emu.grasscutter.command.CommandHandler; import emu.grasscutter.command.CommandHandler;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.def.ItemData; import emu.grasscutter.data.excels.ItemData;
import emu.grasscutter.game.entity.EntityItem; import emu.grasscutter.game.entity.EntityItem;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.utils.Position; import emu.grasscutter.utils.Position;

View File

@ -4,8 +4,8 @@ import emu.grasscutter.Grasscutter;
import emu.grasscutter.command.Command; import emu.grasscutter.command.Command;
import emu.grasscutter.command.CommandHandler; import emu.grasscutter.command.CommandHandler;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.def.AvatarData; import emu.grasscutter.data.excels.AvatarData;
import emu.grasscutter.data.def.ItemData; import emu.grasscutter.data.excels.ItemData;
import emu.grasscutter.game.avatar.Avatar; import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.game.inventory.GameItem; import emu.grasscutter.game.inventory.GameItem;
import emu.grasscutter.game.inventory.ItemType; import emu.grasscutter.game.inventory.ItemType;

View File

@ -4,7 +4,7 @@ import emu.grasscutter.Grasscutter;
import emu.grasscutter.command.Command; import emu.grasscutter.command.Command;
import emu.grasscutter.command.CommandHandler; import emu.grasscutter.command.CommandHandler;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.def.ItemData; import emu.grasscutter.data.excels.ItemData;
import emu.grasscutter.game.inventory.GameItem; import emu.grasscutter.game.inventory.GameItem;
import emu.grasscutter.game.inventory.ItemType; import emu.grasscutter.game.inventory.ItemType;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;

View File

@ -4,7 +4,7 @@ import emu.grasscutter.Grasscutter;
import emu.grasscutter.command.Command; import emu.grasscutter.command.Command;
import emu.grasscutter.command.CommandHandler; import emu.grasscutter.command.CommandHandler;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.def.AvatarData; import emu.grasscutter.data.excels.AvatarData;
import emu.grasscutter.game.avatar.Avatar; import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;

View File

@ -3,7 +3,7 @@ package emu.grasscutter.command.commands;
import emu.grasscutter.command.Command; import emu.grasscutter.command.Command;
import emu.grasscutter.command.CommandHandler; import emu.grasscutter.command.CommandHandler;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.def.ItemData; import emu.grasscutter.data.excels.ItemData;
import emu.grasscutter.game.inventory.GameItem; import emu.grasscutter.game.inventory.GameItem;
import emu.grasscutter.game.inventory.ItemType; import emu.grasscutter.game.inventory.ItemType;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;

View File

@ -4,10 +4,10 @@ import emu.grasscutter.Grasscutter;
import emu.grasscutter.command.Command; import emu.grasscutter.command.Command;
import emu.grasscutter.command.CommandHandler; import emu.grasscutter.command.CommandHandler;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.def.AvatarData; import emu.grasscutter.data.excels.AvatarData;
import emu.grasscutter.data.def.GadgetData; import emu.grasscutter.data.excels.GadgetData;
import emu.grasscutter.data.def.ItemData; import emu.grasscutter.data.excels.ItemData;
import emu.grasscutter.data.def.MonsterData; import emu.grasscutter.data.excels.MonsterData;
import emu.grasscutter.game.avatar.Avatar; import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.game.entity.*; import emu.grasscutter.game.entity.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;

View File

@ -3,7 +3,7 @@ package emu.grasscutter.command.commands;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.command.Command; import emu.grasscutter.command.Command;
import emu.grasscutter.command.CommandHandler; import emu.grasscutter.command.CommandHandler;
import emu.grasscutter.data.def.AvatarSkillDepotData; import emu.grasscutter.data.excels.AvatarSkillDepotData;
import emu.grasscutter.game.avatar.Avatar; import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.game.entity.EntityAvatar; import emu.grasscutter.game.entity.EntityAvatar;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;

View File

@ -8,12 +8,12 @@ import java.util.Map;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.utils.Utils; import emu.grasscutter.utils.Utils;
import emu.grasscutter.data.custom.AbilityEmbryoEntry; import emu.grasscutter.data.binout.AbilityEmbryoEntry;
import emu.grasscutter.data.custom.AbilityModifierEntry; import emu.grasscutter.data.binout.AbilityModifierEntry;
import emu.grasscutter.data.custom.OpenConfigEntry; import emu.grasscutter.data.binout.MainQuestData;
import emu.grasscutter.data.custom.MainQuestData; import emu.grasscutter.data.binout.OpenConfigEntry;
import emu.grasscutter.data.custom.ScenePointEntry; import emu.grasscutter.data.binout.ScenePointEntry;
import emu.grasscutter.data.def.*; import emu.grasscutter.data.excels.*;
import it.unimi.dsi.fastutil.ints.Int2ObjectLinkedOpenHashMap; import it.unimi.dsi.fastutil.ints.Int2ObjectLinkedOpenHashMap;
import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;

View File

@ -7,8 +7,8 @@ import org.danilopianini.util.FlexibleQuadTree;
import org.danilopianini.util.SpatialIndex; import org.danilopianini.util.SpatialIndex;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.data.def.ReliquaryAffixData; import emu.grasscutter.data.excels.ReliquaryAffixData;
import emu.grasscutter.data.def.ReliquaryMainPropData; import emu.grasscutter.data.excels.ReliquaryMainPropData;
import emu.grasscutter.game.world.SpawnDataEntry; import emu.grasscutter.game.world.SpawnDataEntry;
import emu.grasscutter.game.world.SpawnDataEntry.SpawnGroupEntry; import emu.grasscutter.game.world.SpawnDataEntry.SpawnGroupEntry;
import emu.grasscutter.utils.WeightedList; import emu.grasscutter.utils.WeightedList;

View File

@ -14,17 +14,17 @@ import com.google.gson.JsonElement;
import com.google.gson.reflect.TypeToken; import com.google.gson.reflect.TypeToken;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.data.binout.AbilityEmbryoEntry;
import emu.grasscutter.data.binout.AbilityModifier;
import emu.grasscutter.data.binout.AbilityModifierEntry;
import emu.grasscutter.data.binout.MainQuestData;
import emu.grasscutter.data.binout.OpenConfigEntry;
import emu.grasscutter.data.binout.ScenePointEntry;
import emu.grasscutter.data.binout.AbilityModifier.AbilityConfigData;
import emu.grasscutter.data.binout.AbilityModifier.AbilityModifierAction;
import emu.grasscutter.data.binout.AbilityModifier.AbilityModifierActionType;
import emu.grasscutter.data.common.PointData; import emu.grasscutter.data.common.PointData;
import emu.grasscutter.data.common.ScenePointConfig; import emu.grasscutter.data.common.ScenePointConfig;
import emu.grasscutter.data.custom.AbilityEmbryoEntry;
import emu.grasscutter.data.custom.AbilityModifier;
import emu.grasscutter.data.custom.AbilityModifier.AbilityConfigData;
import emu.grasscutter.data.custom.AbilityModifier.AbilityModifierAction;
import emu.grasscutter.data.custom.AbilityModifier.AbilityModifierActionType;
import emu.grasscutter.data.custom.AbilityModifierEntry;
import emu.grasscutter.data.custom.OpenConfigEntry;
import emu.grasscutter.data.custom.MainQuestData;
import emu.grasscutter.data.custom.ScenePointEntry;
import emu.grasscutter.game.world.SpawnDataEntry.*; import emu.grasscutter.game.world.SpawnDataEntry.*;
import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
@ -138,18 +138,14 @@ public class ResourceLoader {
@SuppressWarnings({"rawtypes", "unchecked"}) @SuppressWarnings({"rawtypes", "unchecked"})
protected static void loadFromResource(Class<?> c, String fileName, Int2ObjectMap map) throws Exception { protected static void loadFromResource(Class<?> c, String fileName, Int2ObjectMap map) throws Exception {
FileReader fileReader = new FileReader(RESOURCE("ExcelBinOutput/" + fileName)); try (FileReader fileReader = new FileReader(RESOURCE("ExcelBinOutput/" + fileName))) {
Gson gson = Grasscutter.getGsonFactory(); List list = Grasscutter.getGsonFactory().fromJson(fileReader, TypeToken.getParameterized(Collection.class, c).getType());
List list = gson.fromJson(fileReader, List.class);
for (Object o : list) { for (Object o : list) {
Map<String, Object> tempMap = Utils.switchPropertiesUpperLowerCase((Map<String, Object>) o, c); GameResource res = (GameResource) o;
GameResource res = gson.fromJson(gson.toJson(tempMap), TypeToken.get(c).getType()); res.onLoad();
res.onLoad(); map.put(res.getId(), res);
if(map.containsKey(res.getId())) {
map.remove(res.getId());
} }
map.put(res.getId(), res);
} }
} }

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.custom; package emu.grasscutter.data.binout;
public class AbilityEmbryoEntry { public class AbilityEmbryoEntry {
private String name; private String name;

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.custom; package emu.grasscutter.data.binout;
import java.util.Map; import java.util.Map;

View File

@ -1,9 +1,9 @@
package emu.grasscutter.data.custom; package emu.grasscutter.data.binout;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import emu.grasscutter.data.custom.AbilityModifier.AbilityModifierAction; import emu.grasscutter.data.binout.AbilityModifier.AbilityModifierAction;
public class AbilityModifierEntry { public class AbilityModifierEntry {
private String name; // Custom value private String name; // Custom value

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.custom; package emu.grasscutter.data.binout;
import emu.grasscutter.game.quest.enums.LogicType; import emu.grasscutter.game.quest.enums.LogicType;
import emu.grasscutter.game.quest.enums.QuestTrigger; import emu.grasscutter.game.quest.enums.QuestTrigger;

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.custom; package emu.grasscutter.data.binout;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View File

@ -1,21 +1,21 @@
package emu.grasscutter.data.custom; package emu.grasscutter.data.binout;
import emu.grasscutter.data.common.PointData; import emu.grasscutter.data.common.PointData;
public class ScenePointEntry { public class ScenePointEntry {
private String name; private String name;
private PointData pointData; private PointData pointData;
public ScenePointEntry(String name, PointData pointData) { public ScenePointEntry(String name, PointData pointData) {
this.name = name; this.name = name;
this.pointData = pointData; this.pointData = pointData;
} }
public String getName() { public String getName() {
return name; return name;
} }
public PointData getPointData() { public PointData getPointData() {
return pointData; return pointData;
} }
} }

View File

@ -1,17 +1,17 @@
package emu.grasscutter.data.common; package emu.grasscutter.data.common;
public class CurveInfo { public class CurveInfo {
private String Type; private String type;
private String Arith; private String arith;
private float Value; private float value;
public String getType() { public String getType() {
return Type; return type;
} }
public String getArith() { public String getArith() {
return Arith; return arith;
} }
public float getValue() { public float getValue() {
return Value; return value;
} }
} }

View File

@ -3,16 +3,16 @@ package emu.grasscutter.data.common;
import emu.grasscutter.game.props.FightProperty; import emu.grasscutter.game.props.FightProperty;
public class FightPropData { public class FightPropData {
private String PropType; private String propType;
private FightProperty prop; private FightProperty prop;
private float Value; private float value;
public String getPropType() { public String getPropType() {
return PropType; return propType;
} }
public float getValue() { public float getValue() {
return Value; return value;
} }
public FightProperty getProp() { public FightProperty getProp() {
@ -20,6 +20,6 @@ public class FightPropData {
} }
public void onLoad() { public void onLoad() {
this.prop = FightProperty.getPropByName(PropType); this.prop = FightProperty.getPropByName(propType);
} }
} }

View File

@ -3,31 +3,31 @@ package emu.grasscutter.data.common;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
public class ItemParamData { public class ItemParamData {
@SerializedName(value="Id", alternate={"ItemId"}) @SerializedName(value="Id", alternate={"itemId"})
private int Id; private int id;
@SerializedName(value="Count", alternate={"ItemCount"}) @SerializedName(value="Count", alternate={"itemCount"})
private int Count; private int count;
public ItemParamData() {} public ItemParamData() {}
public ItemParamData(int id, int count) { public ItemParamData(int id, int count) {
this.Id = id; this.id = id;
this.Count = count; this.count = count;
} }
public int getId() { public int getId() {
return Id; return id;
} }
public int getItemId() { public int getItemId() {
return Id; return id;
} }
public int getCount() { public int getCount() {
return Count; return count;
} }
public int getItemCount() { public int getItemCount() {
return Count; return count;
} }
} }

View File

@ -1,26 +1,26 @@
package emu.grasscutter.data.common; package emu.grasscutter.data.common;
public class ItemParamStringData { public class ItemParamStringData {
private int Id; private int id;
private String Count; private String count;
public ItemParamStringData() {} public ItemParamStringData() {}
public int getId() { public int getId() {
return Id; return id;
} }
public String getCount() { public String getCount() {
return Count; return count;
} }
public ItemParamData toItemParamData() { public ItemParamData toItemParamData() {
if (Count.contains(";")) { if (count.contains(";")) {
String[] split = Count.split(";"); String[] split = count.split(";");
Count = Count.split(";")[split.length - 1]; count = count.split(";")[split.length - 1];
} else if (Count.contains(".")) { } else if (count.contains(".")) {
return new ItemParamData(Id, (int) Math.ceil(Double.parseDouble(Count))); return new ItemParamData(id, (int) Math.ceil(Double.parseDouble(count)));
} }
return new ItemParamData(Id, Integer.parseInt(Count)); return new ItemParamData(id, Integer.parseInt(count));
} }
} }

View File

@ -3,22 +3,22 @@ package emu.grasscutter.data.common;
import java.util.List; import java.util.List;
public class OpenCondData { public class OpenCondData {
private String CondType; private String condType;
private List<Integer> ParamList; private List<Integer> paramList;
public String getCondType() { public String getCondType() {
return CondType; return condType;
} }
public void setCondType(String condType) { public void setCondType(String condType) {
CondType = condType; condType = condType;
} }
public List<Integer> getParamList() { public List<Integer> getParamList() {
return ParamList; return paramList;
} }
public void setParamList(List<Integer> paramList) { public void setParamList(List<Integer> paramList) {
ParamList = paramList; paramList = paramList;
} }
} }

View File

@ -2,7 +2,7 @@ package emu.grasscutter.data.common;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.def.DailyDungeonData; import emu.grasscutter.data.excels.DailyDungeonData;
import emu.grasscutter.utils.Position; import emu.grasscutter.utils.Position;
import it.unimi.dsi.fastutil.ints.IntArrayList; import it.unimi.dsi.fastutil.ints.IntArrayList;
import it.unimi.dsi.fastutil.ints.IntList; import it.unimi.dsi.fastutil.ints.IntList;

View File

@ -1,13 +1,15 @@
package emu.grasscutter.data.common; package emu.grasscutter.data.common;
public class PropGrowCurve { public class PropGrowCurve {
private String Type; private String type;
private String GrowCurve; private String growCurve;
public String getType(){ public String getType(){
return this.Type; return this.type;
} }
public String getGrowCurve(){ public String getGrowCurve(){
return this.GrowCurve; return this.growCurve;
} }
} }

View File

@ -1,84 +0,0 @@
package emu.grasscutter.data.def;
import java.util.List;
import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType;
import emu.grasscutter.data.ResourceType.LoadPriority;
@ResourceType(name = "AvatarSkillExcelConfigData.json", loadPriority = LoadPriority.HIGHEST)
public class AvatarSkillData extends GameResource {
private int Id;
private float CdTime;
private int CostElemVal;
private int MaxChargeNum;
private int TriggerID;
private boolean IsAttackCameraLock;
private int ProudSkillGroupId;
private String CostElemType;
private List<Float> LockWeightParams;
private long NameTextMapHash;
private String AbilityName;
private String LockShape;
private String GlobalValueKey;
@Override
public int getId(){
return this.Id;
}
public float getCdTime() {
return CdTime;
}
public int getCostElemVal() {
return CostElemVal;
}
public int getMaxChargeNum() {
return MaxChargeNum;
}
public int getTriggerID() {
return TriggerID;
}
public boolean isIsAttackCameraLock() {
return IsAttackCameraLock;
}
public int getProudSkillGroupId() {
return ProudSkillGroupId;
}
public String getCostElemType() {
return CostElemType;
}
public List<Float> getLockWeightParams() {
return LockWeightParams;
}
public long getNameTextMapHash() {
return NameTextMapHash;
}
public String getAbilityName() {
return AbilityName;
}
public String getLockShape() {
return LockShape;
}
public String getGlobalValueKey() {
return GlobalValueKey;
}
@Override
public void onLoad() {
}
}

View File

@ -1,173 +0,0 @@
package emu.grasscutter.data.def;
import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType;
import java.util.List;
import java.util.stream.Collectors;
@ResourceType(name = "CombineExcelConfigData.json")
public class CombineData extends GameResource {
private int CombineId;
private int PlayerLevel;
private boolean IsDefaultShow;
private int CombineType;
private int SubCombineType;
private int ResultItemId;
private int ResultItemCount;
private int ScoinCost;
private List<CombineItemPair> RandomItems;
private List<CombineItemPair> MaterialItems;
private long EffectDescTextMapHash;
private String RecipeType;
@Override
public int getId() {
return this.CombineId;
}
@Override
public void onLoad() {
super.onLoad();
// clean data
RandomItems = RandomItems.stream().filter(item -> item.Id > 0).collect(Collectors.toList());
MaterialItems = MaterialItems.stream().filter(item -> item.Id > 0).collect(Collectors.toList());
}
public static class CombineItemPair {
private int Id;
private int Count;
public CombineItemPair(int id, int count) {
Id = id;
Count = count;
}
public int getId() {
return Id;
}
public void setId(int id) {
Id = id;
}
public int getCount() {
return Count;
}
public void setCount(int count) {
Count = count;
}
}
public int getCombineId() {
return CombineId;
}
public void setCombineId(int combineId) {
CombineId = combineId;
}
public int getPlayerLevel() {
return PlayerLevel;
}
public void setPlayerLevel(int playerLevel) {
PlayerLevel = playerLevel;
}
public boolean isDefaultShow() {
return IsDefaultShow;
}
public void setDefaultShow(boolean defaultShow) {
IsDefaultShow = defaultShow;
}
public int getCombineType() {
return CombineType;
}
public void setCombineType(int combineType) {
CombineType = combineType;
}
public int getSubCombineType() {
return SubCombineType;
}
public void setSubCombineType(int subCombineType) {
SubCombineType = subCombineType;
}
public int getResultItemId() {
return ResultItemId;
}
public void setResultItemId(int resultItemId) {
ResultItemId = resultItemId;
}
public int getResultItemCount() {
return ResultItemCount;
}
public void setResultItemCount(int resultItemCount) {
ResultItemCount = resultItemCount;
}
public int getScoinCost() {
return ScoinCost;
}
public void setScoinCost(int scoinCost) {
ScoinCost = scoinCost;
}
public List<CombineItemPair> getRandomItems() {
return RandomItems;
}
public void setRandomItems(List<CombineItemPair> randomItems) {
RandomItems = randomItems;
}
public List<CombineItemPair> getMaterialItems() {
return MaterialItems;
}
public void setMaterialItems(List<CombineItemPair> materialItems) {
MaterialItems = materialItems;
}
public long getEffectDescTextMapHash() {
return EffectDescTextMapHash;
}
public void setEffectDescTextMapHash(long effectDescTextMapHash) {
EffectDescTextMapHash = effectDescTextMapHash;
}
public String getRecipeType() {
return RecipeType;
}
public void setRecipeType(String recipeType) {
RecipeType = recipeType;
}
}

View File

@ -1,73 +0,0 @@
package emu.grasscutter.data.def;
import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType;
@ResourceType(name = "TowerFloorExcelConfigData.json")
public class TowerFloorData extends GameResource {
private int FloorId;
private int FloorIndex;
private int LevelId;
private int OverrideMonsterLevel;
private int TeamNum;
private int FloorLevelConfigId;
@Override
public int getId() {
return this.FloorId;
}
@Override
public void onLoad() {
super.onLoad();
}
public int getFloorId() {
return FloorId;
}
public void setFloorId(int floorId) {
FloorId = floorId;
}
public int getFloorIndex() {
return FloorIndex;
}
public void setFloorIndex(int floorIndex) {
FloorIndex = floorIndex;
}
public int getLevelId() {
return LevelId;
}
public void setLevelId(int levelId) {
LevelId = levelId;
}
public int getOverrideMonsterLevel() {
return OverrideMonsterLevel;
}
public void setOverrideMonsterLevel(int overrideMonsterLevel) {
OverrideMonsterLevel = overrideMonsterLevel;
}
public int getTeamNum() {
return TeamNum;
}
public void setTeamNum(int teamNum) {
TeamNum = teamNum;
}
public int getFloorLevelConfigId() {
return FloorLevelConfigId;
}
public void setFloorLevelConfigId(int floorLevelConfigId) {
FloorLevelConfigId = floorLevelConfigId;
}
}

View File

@ -1,55 +0,0 @@
package emu.grasscutter.data.def;
import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType;
@ResourceType(name = "TowerLevelExcelConfigData.json")
public class TowerLevelData extends GameResource {
private int ID;
private int LevelId;
private int LevelIndex;
private int DungeonId;
@Override
public int getId() {
return this.ID;
}
@Override
public void onLoad() {
super.onLoad();
}
public int getID() {
return ID;
}
public void setID(int ID) {
this.ID = ID;
}
public int getLevelId() {
return LevelId;
}
public void setLevelId(int levelId) {
LevelId = levelId;
}
public int getLevelIndex() {
return LevelIndex;
}
public void setLevelIndex(int levelIndex) {
LevelIndex = levelIndex;
}
public int getDungeonId() {
return DungeonId;
}
public void setDungeonId(int dungeonId) {
DungeonId = dungeonId;
}
}

View File

@ -1,70 +0,0 @@
package emu.grasscutter.data.def;
import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType;
import java.util.List;
@ResourceType(name = "TowerScheduleExcelConfigData.json")
public class TowerScheduleData extends GameResource {
private int ScheduleId;
private List<Integer> EntranceFloorId;
private List<ScheduleDetail> Schedules;
private int MonthlyLevelConfigId;
@Override
public int getId() {
return ScheduleId;
}
@Override
public void onLoad() {
super.onLoad();
this.Schedules = this.Schedules.stream()
.filter(item -> item.getFloorList().size() > 0)
.toList();
}
public int getScheduleId() {
return ScheduleId;
}
public void setScheduleId(int scheduleId) {
ScheduleId = scheduleId;
}
public List<Integer> getEntranceFloorId() {
return EntranceFloorId;
}
public void setEntranceFloorId(List<Integer> entranceFloorId) {
EntranceFloorId = entranceFloorId;
}
public List<ScheduleDetail> getSchedules() {
return Schedules;
}
public void setSchedules(List<ScheduleDetail> schedules) {
Schedules = schedules;
}
public int getMonthlyLevelConfigId() {
return MonthlyLevelConfigId;
}
public void setMonthlyLevelConfigId(int monthlyLevelConfigId) {
MonthlyLevelConfigId = monthlyLevelConfigId;
}
public static class ScheduleDetail{
private List<Integer> FloorList;
public List<Integer> getFloorList() {
return FloorList;
}
public void setFloorList(List<Integer> floorList) {
FloorList = floorList;
}
}
}

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
@ -6,21 +6,21 @@ import emu.grasscutter.data.ResourceType;
@ResourceType(name = "AvatarCostumeExcelConfigData.json") @ResourceType(name = "AvatarCostumeExcelConfigData.json")
public class AvatarCostumeData extends GameResource { public class AvatarCostumeData extends GameResource {
private int CostumeId; private int costumeId;
private int ItemId; private int itemId;
private int AvatarId; private int avatarId;
@Override @Override
public int getId() { public int getId() {
return this.CostumeId; return this.costumeId;
} }
public int getItemId() { public int getItemId() {
return this.ItemId; return this.itemId;
} }
public int getAvatarId() { public int getAvatarId() {
return AvatarId; return avatarId;
} }
@Override @Override

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -10,27 +10,27 @@ import emu.grasscutter.data.common.CurveInfo;
@ResourceType(name = "AvatarCurveExcelConfigData.json") @ResourceType(name = "AvatarCurveExcelConfigData.json")
public class AvatarCurveData extends GameResource { public class AvatarCurveData extends GameResource {
private int Level; private int level;
private CurveInfo[] CurveInfos; private CurveInfo[] curveInfos;
private Map<String, Float> curveInfos; private Map<String, Float> curveInfoMap;
@Override @Override
public int getId() { public int getId() {
return this.Level; return this.level;
} }
public int getLevel() { public int getLevel() {
return Level; return level;
} }
public Map<String, Float> getCurveInfos() { public Map<String, Float> getCurveInfos() {
return curveInfos; return curveInfoMap;
} }
@Override @Override
public void onLoad() { public void onLoad() {
this.curveInfos = new HashMap<>(); this.curveInfoMap = new HashMap<>();
Stream.of(this.CurveInfos).forEach(info -> this.curveInfos.put(info.getType(), info.getValue())); Stream.of(this.curveInfos).forEach(info -> this.curveInfoMap.put(info.getType(), info.getValue()));
} }
} }

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import java.util.List; import java.util.List;
@ -6,8 +6,8 @@ import emu.grasscutter.data.GameData;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType; import emu.grasscutter.data.ResourceType;
import emu.grasscutter.data.ResourceType.LoadPriority; import emu.grasscutter.data.ResourceType.LoadPriority;
import emu.grasscutter.data.binout.AbilityEmbryoEntry;
import emu.grasscutter.data.common.PropGrowCurve; import emu.grasscutter.data.common.PropGrowCurve;
import emu.grasscutter.data.custom.AbilityEmbryoEntry;
import emu.grasscutter.game.props.FightProperty; import emu.grasscutter.game.props.FightProperty;
import emu.grasscutter.utils.Utils; import emu.grasscutter.utils.Utils;
import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
@ -17,38 +17,36 @@ import it.unimi.dsi.fastutil.ints.IntList;
@ResourceType(name = "AvatarExcelConfigData.json", loadPriority = LoadPriority.LOW) @ResourceType(name = "AvatarExcelConfigData.json", loadPriority = LoadPriority.LOW)
public class AvatarData extends GameResource { public class AvatarData extends GameResource {
private String name; private String iconName;
private String IconName; private String bodyType;
private String BodyType; private String qualityType;
private String QualityType; private int chargeEfficiency;
private int ChargeEfficiency; private int initialWeapon;
private int InitialWeapon; private String weaponType;
private String WeaponType; private String imageName;
private String ImageName; private int avatarPromoteId;
private int AvatarPromoteId; private String cutsceneShow;
private String CutsceneShow; private int skillDepotId;
private int SkillDepotId; private int staminaRecoverSpeed;
private int StaminaRecoverSpeed; private List<String> candSkillDepotIds;
private List<String> CandSkillDepotIds; private String avatarIdentityType;
private long DescTextMapHash; private List<Integer> avatarPromoteRewardLevelList;
private String AvatarIdentityType; private List<Integer> avatarPromoteRewardIdList;
private List<Integer> AvatarPromoteRewardLevelList;
private List<Integer> AvatarPromoteRewardIdList;
private int FeatureTagGroupID;
private long NameTextMapHash;
private long GachaImageNameHashSuffix;
private long InfoDescTextMapHash;
private float HpBase;
private float AttackBase;
private float DefenseBase;
private float Critical;
private float CriticalHurt;
private List<PropGrowCurve> PropGrowCurves; private long nameTextMapHash;
private int Id;
private float hpBase;
private float attackBase;
private float defenseBase;
private float critical;
private float criticalHurt;
private List<PropGrowCurve> propGrowCurves;
private int id;
// Transient
private String name;
private Int2ObjectMap<String> growthCurveMap; private Int2ObjectMap<String> growthCurveMap;
private float[] hpGrowthCurve; private float[] hpGrowthCurve;
private float[] attackGrowthCurve; private float[] attackGrowthCurve;
@ -58,11 +56,11 @@ public class AvatarData extends GameResource {
private List<Integer> fetters; private List<Integer> fetters;
private int nameCardRewardId; private int nameCardRewardId;
private int nameCardId; private int nameCardId;
@Override @Override
public int getId(){ public int getId(){
return this.Id; return this.id;
} }
public String getName() { public String getName() {
@ -70,107 +68,91 @@ public class AvatarData extends GameResource {
} }
public String getBodyType(){ public String getBodyType(){
return this.BodyType; return this.bodyType;
} }
public String getQualityType(){ public String getQualityType(){
return this.QualityType; return this.qualityType;
} }
public int getChargeEfficiency(){ public int getChargeEfficiency(){
return this.ChargeEfficiency; return this.chargeEfficiency;
} }
public int getInitialWeapon(){ public int getInitialWeapon(){
return this.InitialWeapon; return this.initialWeapon;
} }
public String getWeaponType(){ public String getWeaponType(){
return this.WeaponType; return this.weaponType;
} }
public String getImageName(){ public String getImageName(){
return this.ImageName; return this.imageName;
} }
public int getAvatarPromoteId(){ public int getAvatarPromoteId(){
return this.AvatarPromoteId; return this.avatarPromoteId;
}
public long getGachaImageNameHashSuffix(){
return this.GachaImageNameHashSuffix;
} }
public String getCutsceneShow(){ public String getCutsceneShow(){
return this.CutsceneShow; return this.cutsceneShow;
} }
public int getSkillDepotId(){ public int getSkillDepotId(){
return this.SkillDepotId; return this.skillDepotId;
} }
public int getStaminaRecoverSpeed(){ public int getStaminaRecoverSpeed(){
return this.StaminaRecoverSpeed; return this.staminaRecoverSpeed;
} }
public List<String> getCandSkillDepotIds(){ public List<String> getCandSkillDepotIds(){
return this.CandSkillDepotIds; return this.candSkillDepotIds;
} }
public long getDescTextMapHash(){
return this.DescTextMapHash;
}
public String getAvatarIdentityType(){ public String getAvatarIdentityType(){
return this.AvatarIdentityType; return this.avatarIdentityType;
} }
public List<Integer> getAvatarPromoteRewardLevelList(){ public List<Integer> getAvatarPromoteRewardLevelList(){
return this.AvatarPromoteRewardLevelList; return this.avatarPromoteRewardLevelList;
} }
public List<Integer> getAvatarPromoteRewardIdList(){ public List<Integer> getAvatarPromoteRewardIdList(){
return this.AvatarPromoteRewardIdList; return this.avatarPromoteRewardIdList;
} }
public int getFeatureTagGroupID(){
return this.FeatureTagGroupID;
}
public long getInfoDescTextMapHash(){
return this.InfoDescTextMapHash;
}
public float getBaseHp(int level){ public float getBaseHp(int level){
try { try {
return this.HpBase * this.hpGrowthCurve[level - 1]; return this.hpBase * this.hpGrowthCurve[level - 1];
} catch (Exception e) { } catch (Exception e) {
return this.HpBase; return this.hpBase;
} }
} }
public float getBaseAttack(int level){ public float getBaseAttack(int level){
try { try {
return this.AttackBase * this.attackGrowthCurve[level - 1]; return this.attackBase * this.attackGrowthCurve[level - 1];
} catch (Exception e) { } catch (Exception e) {
return this.AttackBase; return this.attackBase;
} }
} }
public float getBaseDefense(int level){ public float getBaseDefense(int level){
try { try {
return this.DefenseBase * this.defenseGrowthCurve[level - 1]; return this.defenseBase * this.defenseGrowthCurve[level - 1];
} catch (Exception e) { } catch (Exception e) {
return this.DefenseBase; return this.defenseBase;
} }
} }
public float getBaseCritical(){ public float getBaseCritical(){
return this.Critical; return this.critical;
} }
public float getBaseCriticalHurt(){ public float getBaseCriticalHurt(){
return this.CriticalHurt; return this.criticalHurt;
} }
public float getGrowthCurveById(int level, FightProperty prop) { public float getGrowthCurveById(int level, FightProperty prop) {
@ -186,7 +168,7 @@ public class AvatarData extends GameResource {
} }
public long getNameTextMapHash(){ public long getNameTextMapHash(){
return this.NameTextMapHash; return this.nameTextMapHash;
} }
public AvatarSkillDepotData getSkillDepot() { public AvatarSkillDepotData getSkillDepot() {
@ -211,13 +193,13 @@ public class AvatarData extends GameResource {
@Override @Override
public void onLoad() { public void onLoad() {
this.skillDepot = GameData.getAvatarSkillDepotDataMap().get(this.SkillDepotId); this.skillDepot = GameData.getAvatarSkillDepotDataMap().get(this.skillDepotId);
// Get fetters from GameData // Get fetters from GameData
this.fetters = GameData.getFetterDataEntries().get(this.Id); this.fetters = GameData.getFetterDataEntries().get(this.id);
if (GameData.getFetterCharacterCardDataMap().get(this.Id) != null) { if (GameData.getFetterCharacterCardDataMap().get(this.id) != null) {
this.nameCardRewardId = GameData.getFetterCharacterCardDataMap().get(this.Id).getRewardId(); this.nameCardRewardId = GameData.getFetterCharacterCardDataMap().get(this.id).getRewardId();
} }
if (GameData.getRewardDataMap().get(this.nameCardRewardId) != null) { if (GameData.getRewardDataMap().get(this.nameCardRewardId) != null) {
@ -230,7 +212,7 @@ public class AvatarData extends GameResource {
this.defenseGrowthCurve = new float[size]; this.defenseGrowthCurve = new float[size];
for (AvatarCurveData curveData : GameData.getAvatarCurveDataMap().values()) { for (AvatarCurveData curveData : GameData.getAvatarCurveDataMap().values()) {
int level = curveData.getLevel() - 1; int level = curveData.getLevel() - 1;
for (PropGrowCurve growCurve : this.PropGrowCurves) { for (PropGrowCurve growCurve : this.propGrowCurves) {
FightProperty prop = FightProperty.getPropByName(growCurve.getType()); FightProperty prop = FightProperty.getPropByName(growCurve.getType());
switch (prop) { switch (prop) {
case FIGHT_PROP_BASE_HP: case FIGHT_PROP_BASE_HP:
@ -256,7 +238,7 @@ public class AvatarData extends GameResource {
*/ */
// Cache abilities // Cache abilities
String[] split = this.IconName.split("_"); String[] split = this.iconName.split("_");
if (split.length > 0) { if (split.length > 0) {
this.name = split[split.length - 1]; this.name = split[split.length - 1];

View File

@ -1,23 +1,23 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType; import emu.grasscutter.data.ResourceType;
@ResourceType(name = "AvatarFettersLevelExcelConfigData.json") @ResourceType(name = "AvatarFettersLevelExcelConfigData.json")
public class AvatarFetterLevelData extends GameResource { public class AvatarFetterLevelData extends GameResource {
private int FetterLevel; private int fetterLevel;
private int NeedExp; private int needExp;
@Override @Override
public int getId() { public int getId() {
return this.FetterLevel; return this.fetterLevel;
} }
public int getLevel() { public int getLevel() {
return FetterLevel; return fetterLevel;
} }
public int getExp() { public int getExp() {
return NeedExp; return needExp;
} }
} }

View File

@ -1,20 +1,20 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType; import emu.grasscutter.data.ResourceType;
@ResourceType(name = "AvatarFlycloakExcelConfigData.json") @ResourceType(name = "AvatarFlycloakExcelConfigData.json")
public class AvatarFlycloakData extends GameResource { public class AvatarFlycloakData extends GameResource {
private int FlycloakId; private int flycloakId;
private long NameTextMapHash; private long nameTextMapHash;
@Override @Override
public int getId() { public int getId() {
return this.FlycloakId; return this.flycloakId;
} }
public long getNameTextMapHash() { public long getNameTextMapHash() {
return NameTextMapHash; return nameTextMapHash;
} }
@Override @Override

View File

@ -1,23 +1,23 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType; import emu.grasscutter.data.ResourceType;
@ResourceType(name = "AvatarLevelExcelConfigData.json") @ResourceType(name = "AvatarLevelExcelConfigData.json")
public class AvatarLevelData extends GameResource { public class AvatarLevelData extends GameResource {
private int Level; private int level;
private int Exp; private int exp;
@Override @Override
public int getId() { public int getId() {
return this.Level; return this.level;
} }
public int getLevel() { public int getLevel() {
return Level; return level;
} }
public int getExp() { public int getExp() {
return Exp; return exp;
} }
} }

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import java.util.ArrayList; import java.util.ArrayList;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
@ -9,45 +9,45 @@ import emu.grasscutter.data.common.ItemParamData;
@ResourceType(name = "AvatarPromoteExcelConfigData.json") @ResourceType(name = "AvatarPromoteExcelConfigData.json")
public class AvatarPromoteData extends GameResource { public class AvatarPromoteData extends GameResource {
private int AvatarPromoteId; private int avatarPromoteId;
private int PromoteLevel; private int promoteLevel;
private int ScoinCost; private int scoinCost;
private ItemParamData[] CostItems; private ItemParamData[] costItems;
private int UnlockMaxLevel; private int unlockMaxLevel;
private FightPropData[] AddProps; private FightPropData[] addProps;
private int RequiredPlayerLevel; private int requiredPlayerLevel;
@Override @Override
public int getId() { public int getId() {
return (AvatarPromoteId << 8) + PromoteLevel; return (avatarPromoteId << 8) + promoteLevel;
} }
public int getAvatarPromoteId() { public int getAvatarPromoteId() {
return AvatarPromoteId; return avatarPromoteId;
} }
public int getPromoteLevel() { public int getPromoteLevel() {
return PromoteLevel; return promoteLevel;
} }
public ItemParamData[] getCostItems() { public ItemParamData[] getCostItems() {
return CostItems; return costItems;
} }
public int getCoinCost() { public int getCoinCost() {
return ScoinCost; return scoinCost;
} }
public FightPropData[] getAddProps() { public FightPropData[] getAddProps() {
return AddProps; return addProps;
} }
public int getUnlockMaxLevel() { public int getUnlockMaxLevel() {
return UnlockMaxLevel; return unlockMaxLevel;
} }
public int getRequiredPlayerLevel() { public int getRequiredPlayerLevel() {
return RequiredPlayerLevel; return requiredPlayerLevel;
} }
@Override @Override
@ -60,7 +60,7 @@ public class AvatarPromoteData extends GameResource {
} }
trim.add(itemParam); trim.add(itemParam);
} }
this.CostItems = trim.toArray(new ItemParamData[trim.size()]); this.costItems = trim.toArray(new ItemParamData[trim.size()]);
// Trim fight prop data (just in case) // Trim fight prop data (just in case)
ArrayList<FightPropData> parsed = new ArrayList<>(getAddProps().length); ArrayList<FightPropData> parsed = new ArrayList<>(getAddProps().length);
for (FightPropData prop : getAddProps()) { for (FightPropData prop : getAddProps()) {
@ -69,6 +69,6 @@ public class AvatarPromoteData extends GameResource {
parsed.add(prop); parsed.add(prop);
} }
} }
this.AddProps = parsed.toArray(new FightPropData[parsed.size()]); this.addProps = parsed.toArray(new FightPropData[parsed.size()]);
} }
} }

View File

@ -0,0 +1,85 @@
package emu.grasscutter.data.excels;
import java.util.List;
import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType;
import emu.grasscutter.data.ResourceType.LoadPriority;
import emu.grasscutter.game.props.ElementType;
@ResourceType(name = "AvatarSkillExcelConfigData.json", loadPriority = LoadPriority.HIGHEST)
public class AvatarSkillData extends GameResource {
private int id;
private float cdTime;
private int costElemVal;
private int maxChargeNum;
private int triggerID;
private boolean isAttackCameraLock;
private int proudSkillGroupId;
private ElementType costElemType;
private List<Float> lockWeightParams;
private long nameTextMapHash;
private String abilityName;
private String lockShape;
private String globalValueKey;
@Override
public int getId(){
return this.id;
}
public float getCdTime() {
return cdTime;
}
public int getCostElemVal() {
return costElemVal;
}
public int getMaxChargeNum() {
return maxChargeNum;
}
public int getTriggerID() {
return triggerID;
}
public boolean isIsAttackCameraLock() {
return isAttackCameraLock;
}
public int getProudSkillGroupId() {
return proudSkillGroupId;
}
public ElementType getCostElemType() {
return costElemType;
}
public List<Float> getLockWeightParams() {
return lockWeightParams;
}
public long getNameTextMapHash() {
return nameTextMapHash;
}
public String getAbilityName() {
return abilityName;
}
public String getLockShape() {
return lockShape;
}
public String getGlobalValueKey() {
return globalValueKey;
}
@Override
public void onLoad() {
}
}

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import java.util.List; import java.util.List;
@ -6,7 +6,7 @@ import emu.grasscutter.data.GameData;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType; import emu.grasscutter.data.ResourceType;
import emu.grasscutter.data.ResourceType.LoadPriority; import emu.grasscutter.data.ResourceType.LoadPriority;
import emu.grasscutter.data.custom.AbilityEmbryoEntry; import emu.grasscutter.data.binout.AbilityEmbryoEntry;
import emu.grasscutter.game.props.ElementType; import emu.grasscutter.game.props.ElementType;
import emu.grasscutter.utils.Utils; import emu.grasscutter.utils.Utils;
import it.unimi.dsi.fastutil.ints.IntArrayList; import it.unimi.dsi.fastutil.ints.IntArrayList;
@ -15,62 +15,63 @@ import it.unimi.dsi.fastutil.ints.IntList;
@ResourceType(name = "AvatarSkillDepotExcelConfigData.json", loadPriority = LoadPriority.HIGH) @ResourceType(name = "AvatarSkillDepotExcelConfigData.json", loadPriority = LoadPriority.HIGH)
public class AvatarSkillDepotData extends GameResource { public class AvatarSkillDepotData extends GameResource {
private int Id; private int id;
private int EnergySkill; private int energySkill;
private int AttackModeSkill; private int attackModeSkill;
private List<Integer> Skills; private List<Integer> skills;
private List<Integer> SubSkills; private List<Integer> subSkills;
private List<String> ExtraAbilities; private List<String> extraAbilities;
private List<Integer> Talents; private List<Integer> talents;
private List<InherentProudSkillOpens> InherentProudSkillOpens; private List<InherentProudSkillOpens> inherentProudSkillOpens;
private String TalentStarName; private String talentStarName;
private String SkillDepotAbilityGroup; private String skillDepotAbilityGroup;
// Transient
private AvatarSkillData energySkillData; private AvatarSkillData energySkillData;
private ElementType elementType; private ElementType elementType;
private IntList abilities; private IntList abilities;
@Override @Override
public int getId(){ public int getId(){
return this.Id; return this.id;
} }
public int getEnergySkill(){ public int getEnergySkill(){
return this.EnergySkill; return this.energySkill;
} }
public List<Integer> getSkills(){ public List<Integer> getSkills(){
return this.Skills; return this.skills;
} }
public List<Integer> getSubSkills(){ public List<Integer> getSubSkills(){
return this.SubSkills; return this.subSkills;
} }
public int getAttackModeSkill(){ public int getAttackModeSkill(){
return this.AttackModeSkill; return this.attackModeSkill;
} }
public List<String> getExtraAbilities(){ public List<String> getExtraAbilities(){
return this.ExtraAbilities; return this.extraAbilities;
} }
public List<Integer> getTalents(){ public List<Integer> getTalents(){
return this.Talents; return this.talents;
} }
public String getTalentStarName(){ public String getTalentStarName(){
return this.TalentStarName; return this.talentStarName;
} }
public List<InherentProudSkillOpens> getInherentProudSkillOpens(){ public List<InherentProudSkillOpens> getInherentProudSkillOpens(){
return this.InherentProudSkillOpens; return this.inherentProudSkillOpens;
} }
public String getSkillDepotAbilityGroup(){ public String getSkillDepotAbilityGroup(){
return this.SkillDepotAbilityGroup; return this.skillDepotAbilityGroup;
} }
public AvatarSkillData getEnergySkillData() { public AvatarSkillData getEnergySkillData() {
@ -94,30 +95,24 @@ public class AvatarSkillDepotData extends GameResource {
@Override @Override
public void onLoad() { public void onLoad() {
this.energySkillData = GameData.getAvatarSkillDataMap().get(this.EnergySkill); this.energySkillData = GameData.getAvatarSkillDataMap().get(this.energySkill);
if (getEnergySkillData() != null) { if (getEnergySkillData() != null) {
this.elementType = ElementType.getTypeByName(getEnergySkillData().getCostElemType()); this.elementType = getEnergySkillData().getCostElemType();
} else { } else {
this.elementType = ElementType.None; this.elementType = ElementType.None;
} }
} }
public static class InherentProudSkillOpens { public static class InherentProudSkillOpens {
private int ProudSkillGroupId; private int proudSkillGroupId;
private int needAvatarPromoteLevel;
private int NeedAvatarPromoteLevel;
public void setProudSkillGroupId(int ProudSkillGroupId){
this.ProudSkillGroupId = ProudSkillGroupId;
}
public int getProudSkillGroupId(){ public int getProudSkillGroupId(){
return this.ProudSkillGroupId; return this.proudSkillGroupId;
}
public void setNeedAvatarPromoteLevel(int NeedAvatarPromoteLevel){
this.NeedAvatarPromoteLevel = NeedAvatarPromoteLevel;
} }
public int getNeedAvatarPromoteLevel(){ public int getNeedAvatarPromoteLevel(){
return this.NeedAvatarPromoteLevel; return this.needAvatarPromoteLevel;
} }
} }
} }

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import java.util.ArrayList; import java.util.ArrayList;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
@ -8,51 +8,51 @@ import emu.grasscutter.data.common.FightPropData;
@ResourceType(name = "AvatarTalentExcelConfigData.json", loadPriority = LoadPriority.HIGHEST) @ResourceType(name = "AvatarTalentExcelConfigData.json", loadPriority = LoadPriority.HIGHEST)
public class AvatarTalentData extends GameResource { public class AvatarTalentData extends GameResource {
private int TalentId; private int talentId;
private int PrevTalent; private int prevTalent;
private long NameTextMapHash; private long nameTextMapHash;
private String Icon; private String icon;
private int MainCostItemId; private int mainCostItemId;
private int MainCostItemCount; private int mainCostItemCount;
private String OpenConfig; private String openConfig;
private FightPropData[] AddProps; private FightPropData[] addProps;
private float[] ParamList; private float[] paramList;
@Override @Override
public int getId(){ public int getId(){
return this.TalentId; return this.talentId;
} }
public int PrevTalent() { public int PrevTalent() {
return PrevTalent; return prevTalent;
} }
public long getNameTextMapHash() { public long getNameTextMapHash() {
return NameTextMapHash; return nameTextMapHash;
} }
public String getIcon() { public String getIcon() {
return Icon; return icon;
} }
public int getMainCostItemId() { public int getMainCostItemId() {
return MainCostItemId; return mainCostItemId;
} }
public int getMainCostItemCount() { public int getMainCostItemCount() {
return MainCostItemCount; return mainCostItemCount;
} }
public String getOpenConfig() { public String getOpenConfig() {
return OpenConfig; return openConfig;
} }
public FightPropData[] getAddProps() { public FightPropData[] getAddProps() {
return AddProps; return addProps;
} }
public float[] getParamList() { public float[] getParamList() {
return ParamList; return paramList;
} }
@Override @Override
@ -64,6 +64,6 @@ public class AvatarTalentData extends GameResource {
parsed.add(prop); parsed.add(prop);
} }
} }
this.AddProps = parsed.toArray(new FightPropData[parsed.size()]); this.addProps = parsed.toArray(new FightPropData[parsed.size()]);
} }
} }

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType; import emu.grasscutter.data.ResourceType;
@ -6,10 +6,10 @@ import emu.grasscutter.data.ResourceType;
@ResourceType(name = {"AnimalCodexExcelConfigData.json"}) @ResourceType(name = {"AnimalCodexExcelConfigData.json"})
public class CodexAnimalData extends GameResource { public class CodexAnimalData extends GameResource {
private int Id; private int Id;
private String Type; private String type;
private int DescribeId; private int describeId;
private int SortOrder; private int sortOrder;
private CodexAnimalUnlockCondition BAINKHIIMJE; private CodexAnimalUnlockCondition OCCLHPBCDGL;
@Override @Override
public int getId() { public int getId() {
@ -17,19 +17,19 @@ public class CodexAnimalData extends GameResource {
} }
public String getType() { public String getType() {
return Type; return type;
} }
public int getDescribeId() { public int getDescribeId() {
return DescribeId; return describeId;
} }
public int getSortOrder() { public int getSortOrder() {
return SortOrder; return sortOrder;
} }
public CodexAnimalUnlockCondition getUnlockCondition() { public CodexAnimalUnlockCondition getUnlockCondition() {
return BAINKHIIMJE; return OCCLHPBCDGL;
} }
public enum CodexAnimalUnlockCondition { public enum CodexAnimalUnlockCondition {

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
@ -7,15 +7,15 @@ import emu.grasscutter.data.ResourceType;
@ResourceType(name = {"MaterialCodexExcelConfigData.json"}) @ResourceType(name = {"MaterialCodexExcelConfigData.json"})
public class CodexMaterialData extends GameResource { public class CodexMaterialData extends GameResource {
private int Id; private int Id;
private int MaterialId; private int materialId;
private int SortOrder; private int sortOrder;
public int getSortOrder() { public int getSortOrder() {
return SortOrder; return sortOrder;
} }
public int getMaterialId() { public int getMaterialId() {
return MaterialId; return materialId;
} }
public int getId() { public int getId() {

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
@ -7,13 +7,13 @@ import emu.grasscutter.data.ResourceType;
@ResourceType(name = {"QuestCodexExcelConfigData.json"}) @ResourceType(name = {"QuestCodexExcelConfigData.json"})
public class CodexQuestData extends GameResource { public class CodexQuestData extends GameResource {
private int Id; private int Id;
private int ParentQuestId; private int parentQuestId;
private int ChapterId; private int chapterId;
private int SortOrder; private int sortOrder;
private boolean IsDisuse; private boolean isDisuse;
public int getParentQuestId() { public int getParentQuestId() {
return ParentQuestId; return parentQuestId;
} }
public int getId() { public int getId() {
@ -21,15 +21,15 @@ public class CodexQuestData extends GameResource {
} }
public int getChapterId() { public int getChapterId() {
return ChapterId; return chapterId;
} }
public int getSortOrder() { public int getSortOrder() {
return SortOrder; return sortOrder;
} }
public boolean getIsDisuse() { public boolean getIsDisuse() {
return IsDisuse; return isDisuse;
} }
@Override @Override

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
@ -7,17 +7,17 @@ import emu.grasscutter.data.ResourceType;
@ResourceType(name = {"ReliquaryCodexExcelConfigData.json"}) @ResourceType(name = {"ReliquaryCodexExcelConfigData.json"})
public class CodexReliquaryData extends GameResource { public class CodexReliquaryData extends GameResource {
private int Id; private int Id;
private int SuitId; private int suitId;
private int Level; private int level;
private int CupId; private int cupId;
private int LeatherId; private int leatherId;
private int CapId; private int capId;
private int FlowerId; private int flowerId;
private int SandId; private int sandId;
private int SortOrder; private int sortOrder;
public int getSortOrder() { public int getSortOrder() {
return SortOrder; return sortOrder;
} }
public int getId() { public int getId() {
@ -25,31 +25,31 @@ public class CodexReliquaryData extends GameResource {
} }
public int getSuitId() { public int getSuitId() {
return SuitId; return suitId;
} }
public int getLevel() { public int getLevel() {
return Level; return level;
} }
public int getCupId() { public int getCupId() {
return CupId; return cupId;
} }
public int getLeatherId() { public int getLeatherId() {
return LeatherId; return leatherId;
} }
public int getCapId() { public int getCapId() {
return CapId; return capId;
} }
public int getFlowerId() { public int getFlowerId() {
return FlowerId; return flowerId;
} }
public int getSandId() { public int getSandId() {
return SandId; return sandId;
} }
@Override @Override

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
@ -7,15 +7,15 @@ import emu.grasscutter.data.ResourceType;
@ResourceType(name = {"WeaponCodexExcelConfigData.json"}) @ResourceType(name = {"WeaponCodexExcelConfigData.json"})
public class CodexWeaponData extends GameResource { public class CodexWeaponData extends GameResource {
private int Id; private int Id;
private int WeaponId; private int weaponId;
private int SortOrder; private int sortOrder;
public int getSortOrder() { public int getSortOrder() {
return SortOrder; return sortOrder;
} }
public int getWeaponId() { public int getWeaponId() {
return WeaponId; return weaponId;
} }
public int getId() { public int getId() {

View File

@ -0,0 +1,83 @@
package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType;
import emu.grasscutter.data.common.ItemParamData;
import java.util.List;
import java.util.stream.Collectors;
@ResourceType(name = "CombineExcelConfigData.json")
public class CombineData extends GameResource {
private int combineId;
private int playerLevel;
private boolean isDefaultShow;
private int combineType;
private int subCombineType;
private int resultItemId;
private int resultItemCount;
private int scoinCost;
private List<ItemParamData> randomItems;
private List<ItemParamData> materialItems;
private String recipeType;
@Override
public int getId() {
return this.combineId;
}
@Override
public void onLoad() {
super.onLoad();
// clean data
randomItems = randomItems.stream().filter(item -> item.getId() > 0).collect(Collectors.toList());
materialItems = materialItems.stream().filter(item -> item.getId() > 0).collect(Collectors.toList());
}
public int getCombineId() {
return combineId;
}
public int getPlayerLevel() {
return playerLevel;
}
public boolean isDefaultShow() {
return isDefaultShow;
}
public int getCombineType() {
return combineType;
}
public int getSubCombineType() {
return subCombineType;
}
public int getResultItemId() {
return resultItemId;
}
public int getResultItemCount() {
return resultItemCount;
}
public int getScoinCost() {
return scoinCost;
}
public List<ItemParamData> getRandomItems() {
return randomItems;
}
public List<ItemParamData> getMaterialItems() {
return materialItems;
}
public String getRecipeType() {
return recipeType;
}
}

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import java.util.Calendar; import java.util.Calendar;
@ -12,14 +12,14 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
@ResourceType(name = "DailyDungeonConfigData.json") @ResourceType(name = "DailyDungeonConfigData.json")
public class DailyDungeonData extends GameResource { public class DailyDungeonData extends GameResource {
private int Id; private int id;
private int[] Monday; private int[] monday;
private int[] Tuesday; private int[] tuesday;
private int[] Wednesday; private int[] wednesday;
private int[] Thursday; private int[] thursday;
private int[] Friday; private int[] friday;
private int[] Saturday; private int[] saturday;
private int[] Sunday; private int[] sunday;
private static final int[] empty = new int[0]; private static final int[] empty = new int[0];
private final Int2ObjectMap<int[]> map; private final Int2ObjectMap<int[]> map;
@ -30,7 +30,7 @@ public class DailyDungeonData extends GameResource {
@Override @Override
public int getId() { public int getId() {
return this.Id; return this.id;
} }
public int[] getDungeonsByDay(int day) { public int[] getDungeonsByDay(int day) {
@ -39,12 +39,12 @@ public class DailyDungeonData extends GameResource {
@Override @Override
public void onLoad() { public void onLoad() {
map.put(Calendar.MONDAY, Monday); map.put(Calendar.MONDAY, monday);
map.put(Calendar.TUESDAY, Tuesday); map.put(Calendar.TUESDAY, tuesday);
map.put(Calendar.WEDNESDAY, Wednesday); map.put(Calendar.WEDNESDAY, wednesday);
map.put(Calendar.THURSDAY, Thursday); map.put(Calendar.THURSDAY, thursday);
map.put(Calendar.FRIDAY, Friday); map.put(Calendar.FRIDAY, friday);
map.put(Calendar.SATURDAY, Saturday); map.put(Calendar.SATURDAY, saturday);
map.put(Calendar.SUNDAY, Sunday); map.put(Calendar.SUNDAY, sunday);
} }
} }

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
@ -8,25 +8,25 @@ import emu.grasscutter.game.props.SceneType;
@ResourceType(name = "DungeonExcelConfigData.json") @ResourceType(name = "DungeonExcelConfigData.json")
public class DungeonData extends GameResource { public class DungeonData extends GameResource {
private int Id; private int id;
private int SceneId; private int sceneId;
private int ShowLevel; private int showLevel;
private int PassRewardPreviewID; private int passRewardPreviewID;
private String InvolveType; // TODO enum private String involveType; // TODO enum
private RewardPreviewData previewData; private RewardPreviewData previewData;
@Override @Override
public int getId() { public int getId() {
return this.Id; return this.id;
} }
public int getSceneId() { public int getSceneId() {
return SceneId; return sceneId;
} }
public int getShowLevel() { public int getShowLevel() {
return ShowLevel; return showLevel;
} }
public RewardPreviewData getRewardPreview() { public RewardPreviewData getRewardPreview() {
@ -35,8 +35,8 @@ public class DungeonData extends GameResource {
@Override @Override
public void onLoad() { public void onLoad() {
if (this.PassRewardPreviewID > 0) { if (this.passRewardPreviewID > 0) {
this.previewData = GameData.getRewardPreviewDataMap().get(this.PassRewardPreviewID); this.previewData = GameData.getRewardPreviewDataMap().get(this.passRewardPreviewID);
} }
} }
} }

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import java.util.ArrayList; import java.util.ArrayList;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
@ -8,41 +8,41 @@ import emu.grasscutter.data.common.FightPropData;
@ResourceType(name = "EquipAffixExcelConfigData.json") @ResourceType(name = "EquipAffixExcelConfigData.json")
public class EquipAffixData extends GameResource { public class EquipAffixData extends GameResource {
private int AffixId; private int affixId;
private int Id; private int id;
private int Level; private int level;
private long NameTextMapHash; private long nameTextMapHash;
private String OpenConfig; private String openConfig;
private FightPropData[] AddProps; private FightPropData[] addProps;
private float[] ParamList; private float[] paramList;
@Override @Override
public int getId() { public int getId() {
return AffixId; return affixId;
} }
public int getMainId() { public int getMainId() {
return Id; return id;
} }
public int getLevel() { public int getLevel() {
return Level; return level;
} }
public long getNameTextMapHash() { public long getNameTextMapHash() {
return NameTextMapHash; return nameTextMapHash;
} }
public String getOpenConfig() { public String getOpenConfig() {
return OpenConfig; return openConfig;
} }
public FightPropData[] getAddProps() { public FightPropData[] getAddProps() {
return AddProps; return addProps;
} }
public float[] getParamList() { public float[] getParamList() {
return ParamList; return paramList;
} }
@Override @Override
@ -54,6 +54,6 @@ public class EquipAffixData extends GameResource {
parsed.add(prop); parsed.add(prop);
} }
} }
this.AddProps = parsed.toArray(new FightPropData[parsed.size()]); this.addProps = parsed.toArray(new FightPropData[parsed.size()]);
} }
} }

View File

@ -1,24 +1,24 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType; import emu.grasscutter.data.ResourceType;
import emu.grasscutter.data.ResourceType.LoadPriority; import emu.grasscutter.data.ResourceType.LoadPriority;
@ResourceType(name = "FetterCharacterCardExcelConfigData.json", loadPriority = LoadPriority.HIGHEST) @ResourceType(name = "FetterCharacterCardExcelConfigData.json", loadPriority = LoadPriority.HIGHEST)
public class FetterCharacterCardData extends GameResource { public class FetterCharacterCardData extends GameResource {
private int AvatarId; private int avatarId;
private int RewardId; private int rewardId;
@Override @Override
public int getId() { public int getId() {
return AvatarId; return avatarId;
} }
public int getRewardId() { public int getRewardId() {
return RewardId; return rewardId;
} }
@Override @Override
public void onLoad() { public void onLoad() {
} }
} }

View File

@ -1,32 +1,32 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import java.util.List; import java.util.List;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType; import emu.grasscutter.data.ResourceType;
import emu.grasscutter.data.ResourceType.LoadPriority; import emu.grasscutter.data.ResourceType.LoadPriority;
import emu.grasscutter.data.common.OpenCondData; import emu.grasscutter.data.common.OpenCondData;
@ResourceType(name = {"FetterInfoExcelConfigData.json", "FettersExcelConfigData.json", "FetterStoryExcelConfigData.json", "PhotographExpressionExcelConfigData.json", "PhotographPosenameExcelConfigData.json"}, loadPriority = LoadPriority.HIGHEST) @ResourceType(name = {"FetterInfoExcelConfigData.json", "FettersExcelConfigData.json", "FetterStoryExcelConfigData.json", "PhotographExpressionExcelConfigData.json", "PhotographPosenameExcelConfigData.json"}, loadPriority = LoadPriority.HIGHEST)
public class FetterData extends GameResource { public class FetterData extends GameResource {
private int AvatarId; private int avatarId;
private int FetterId; private int fetterId;
private List<OpenCondData> OpenCond; private List<OpenCondData> openCond;
@Override @Override
public int getId() { public int getId() {
return FetterId; return fetterId;
} }
public int getAvatarId() { public int getAvatarId() {
return AvatarId; return avatarId;
} }
public List<OpenCondData> getOpenConds() { public List<OpenCondData> getOpenConds() {
return OpenCond; return openCond;
} }
@Override @Override
public void onLoad() { public void onLoad() {
} }
} }

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType; import emu.grasscutter.data.ResourceType;
@ -6,53 +6,53 @@ import emu.grasscutter.game.props.EntityType;
@ResourceType(name = "GadgetExcelConfigData.json") @ResourceType(name = "GadgetExcelConfigData.json")
public class GadgetData extends GameResource { public class GadgetData extends GameResource {
private int Id; private int id;
private EntityType Type; private EntityType type;
private String JsonName; private String jsonName;
private boolean IsInteractive; private boolean isInteractive;
private String[] Tags; private String[] tags;
private String ItemJsonName; private String itemJsonName;
private String InteeIconName; private String inteeIconName;
private long NameTextMapHash; private long nameTextMapHash;
private int CampID; private int campID;
private String LODPatternName; private String LODPatternName;
@Override @Override
public int getId() { public int getId() {
return this.Id; return this.id;
} }
public EntityType getType() { public EntityType getType() {
return Type; return type;
} }
public String getJsonName() { public String getJsonName() {
return JsonName; return jsonName;
} }
public boolean isInteractive() { public boolean isInteractive() {
return IsInteractive; return isInteractive;
} }
public String[] getTags() { public String[] getTags() {
return Tags; return tags;
} }
public String getItemJsonName() { public String getItemJsonName() {
return ItemJsonName; return itemJsonName;
} }
public String getInteeIconName() { public String getInteeIconName() {
return InteeIconName; return inteeIconName;
} }
public long getNameTextMapHash() { public long getNameTextMapHash() {
return NameTextMapHash; return nameTextMapHash;
} }
public int getCampID() { public int getCampID() {
return CampID; return campID;
} }
public String getLODPatternName() { return LODPatternName; } public String getLODPatternName() { return LODPatternName; }

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType; import emu.grasscutter.data.ResourceType;
@ -9,164 +9,164 @@ import it.unimi.dsi.fastutil.ints.IntSet;
@ResourceType(name = {"MaterialExcelConfigData.json", "WeaponExcelConfigData.json", "ReliquaryExcelConfigData.json"}) @ResourceType(name = {"MaterialExcelConfigData.json", "WeaponExcelConfigData.json", "ReliquaryExcelConfigData.json"})
public class ItemData extends GameResource { public class ItemData extends GameResource {
private int Id; private int id;
private int StackLimit = 1; private int stackLimit = 1;
private int MaxUseCount; private int maxUseCount;
private int RankLevel; private int rankLevel;
private String EffectName; private String effectName;
private int[] SatiationParams; private int[] satiationParams;
private int Rank; private int rank;
private int Weight; private int weight;
private int GadgetId; private int gadgetId;
private int[] DestroyReturnMaterial; private int[] destroyReturnMaterial;
private int[] DestroyReturnMaterialCount; private int[] destroyReturnMaterialCount;
// Food // Food
private String FoodQuality; private String foodQuality;
private String UseTarget; private String useTarget;
private String[] UseParam; private String[] iseParam;
// String enums // String enums
private String ItemType; private String itemType;
private String MaterialType; private String materialType;
private String EquipType; private String equipType;
private String EffectType; private String effectType;
private String DestroyRule; private String destroyRule;
// Relic // Relic
private int MainPropDepotId; private int mainPropDepotId;
private int AppendPropDepotId; private int appendPropDepotId;
private int AppendPropNum; private int appendPropNum;
private int SetId; private int setId;
private int[] AddPropLevels; private int[] addPropLevels;
private int BaseConvExp; private int baseConvExp;
private int MaxLevel; private int maxLevel;
// Weapon // Weapon
private int WeaponPromoteId; private int weaponPromoteId;
private int WeaponBaseExp; private int weaponBaseExp;
private int StoryId; private int storyId;
private int AvatarPromoteId; private int avatarPromoteId;
private int AwakenMaterial; private int awakenMaterial;
private int[] AwakenCosts; private int[] awakenCosts;
private int[] SkillAffix; private int[] skillAffix;
private WeaponProperty[] WeaponProp; private WeaponProperty[] weaponProp;
// Hash // Hash
private String Icon; private String icon;
private long NameTextMapHash; private long nameTextMapHash;
// Post load // Post load
private transient emu.grasscutter.game.inventory.MaterialType materialType; private transient emu.grasscutter.game.inventory.MaterialType materialEnumType;
private transient emu.grasscutter.game.inventory.ItemType itemType; private transient emu.grasscutter.game.inventory.ItemType itemEnumType;
private transient emu.grasscutter.game.inventory.EquipType equipType; private transient emu.grasscutter.game.inventory.EquipType equipEnumType;
private IntSet addPropLevelSet; private IntSet addPropLevelSet;
@Override @Override
public int getId(){ public int getId(){
return this.Id; return this.id;
} }
public String getMaterialTypeString(){ public String getMaterialTypeString(){
return this.MaterialType; return this.materialType;
} }
public int getStackLimit(){ public int getStackLimit(){
return this.StackLimit; return this.stackLimit;
} }
public int getMaxUseCount(){ public int getMaxUseCount(){
return this.MaxUseCount; return this.maxUseCount;
} }
public String getUseTarget(){ public String getUseTarget(){
return this.UseTarget; return this.useTarget;
} }
public String[] getUseParam(){ public String[] getUseParam(){
return this.UseParam; return this.iseParam;
} }
public int getRankLevel(){ public int getRankLevel(){
return this.RankLevel; return this.rankLevel;
} }
public String getFoodQuality(){ public String getFoodQuality(){
return this.FoodQuality; return this.foodQuality;
} }
public String getEffectName(){ public String getEffectName(){
return this.EffectName; return this.effectName;
} }
public int[] getSatiationParams(){ public int[] getSatiationParams(){
return this.SatiationParams; return this.satiationParams;
} }
public int[] getDestroyReturnMaterial(){ public int[] getDestroyReturnMaterial(){
return this.DestroyReturnMaterial; return this.destroyReturnMaterial;
} }
public int[] getDestroyReturnMaterialCount(){ public int[] getDestroyReturnMaterialCount(){
return this.DestroyReturnMaterialCount; return this.destroyReturnMaterialCount;
} }
public long getNameTextMapHash(){ public long getNameTextMapHash(){
return this.NameTextMapHash; return this.nameTextMapHash;
} }
public String getIcon(){ public String getIcon(){
return this.Icon; return this.icon;
} }
public String getItemTypeString(){ public String getItemTypeString(){
return this.ItemType; return this.itemType;
} }
public int getRank(){ public int getRank(){
return this.Rank; return this.rank;
} }
public int getGadgetId() { public int getGadgetId() {
return GadgetId; return gadgetId;
} }
public int getBaseConvExp() { public int getBaseConvExp() {
return BaseConvExp; return baseConvExp;
} }
public int getMainPropDepotId() { public int getMainPropDepotId() {
return MainPropDepotId; return mainPropDepotId;
} }
public int getAppendPropDepotId() { public int getAppendPropDepotId() {
return AppendPropDepotId; return appendPropDepotId;
} }
public int getAppendPropNum() { public int getAppendPropNum() {
return AppendPropNum; return appendPropNum;
} }
public int getSetId() { public int getSetId() {
return SetId; return setId;
} }
public int getWeaponPromoteId() { public int getWeaponPromoteId() {
return WeaponPromoteId; return weaponPromoteId;
} }
public int getWeaponBaseExp() { public int getWeaponBaseExp() {
return WeaponBaseExp; return weaponBaseExp;
} }
public int getAwakenMaterial() { public int getAwakenMaterial() {
return AwakenMaterial; return awakenMaterial;
} }
public int[] getAwakenCosts() { public int[] getAwakenCosts() {
return AwakenCosts; return awakenCosts;
} }
public IntSet getAddPropLevelSet() { public IntSet getAddPropLevelSet() {
@ -174,27 +174,27 @@ public class ItemData extends GameResource {
} }
public int[] getSkillAffix() { public int[] getSkillAffix() {
return SkillAffix; return skillAffix;
} }
public WeaponProperty[] getWeaponProperties() { public WeaponProperty[] getWeaponProperties() {
return WeaponProp; return weaponProp;
} }
public int getMaxLevel() { public int getMaxLevel() {
return MaxLevel; return maxLevel;
} }
public emu.grasscutter.game.inventory.ItemType getItemType() { public emu.grasscutter.game.inventory.ItemType getItemType() {
return this.itemType; return this.itemEnumType;
} }
public emu.grasscutter.game.inventory.MaterialType getMaterialType() { public emu.grasscutter.game.inventory.MaterialType getMaterialType() {
return this.materialType; return this.materialEnumType;
} }
public emu.grasscutter.game.inventory.EquipType getEquipType() { public emu.grasscutter.game.inventory.EquipType getEquipType() {
return this.equipType; return this.equipEnumType;
} }
public boolean canAddRelicProp(int level) { public boolean canAddRelicProp(int level) {
@ -202,23 +202,23 @@ public class ItemData extends GameResource {
} }
public boolean isEquip() { public boolean isEquip() {
return this.itemType == emu.grasscutter.game.inventory.ItemType.ITEM_RELIQUARY || this.itemType == emu.grasscutter.game.inventory.ItemType.ITEM_WEAPON; return this.itemEnumType == emu.grasscutter.game.inventory.ItemType.ITEM_RELIQUARY || this.itemEnumType == emu.grasscutter.game.inventory.ItemType.ITEM_WEAPON;
} }
@Override @Override
public void onLoad() { public void onLoad() {
this.itemType = emu.grasscutter.game.inventory.ItemType.getTypeByName(getItemTypeString()); this.itemEnumType = emu.grasscutter.game.inventory.ItemType.getTypeByName(getItemTypeString());
this.materialType = emu.grasscutter.game.inventory.MaterialType.getTypeByName(getMaterialTypeString()); this.materialEnumType = emu.grasscutter.game.inventory.MaterialType.getTypeByName(getMaterialTypeString());
if (this.itemType == emu.grasscutter.game.inventory.ItemType.ITEM_RELIQUARY) { if (this.itemEnumType == emu.grasscutter.game.inventory.ItemType.ITEM_RELIQUARY) {
this.equipType = emu.grasscutter.game.inventory.EquipType.getTypeByName(this.EquipType); this.equipEnumType = emu.grasscutter.game.inventory.EquipType.getTypeByName(this.equipType);
if (this.AddPropLevels != null && this.AddPropLevels.length > 0) { if (this.addPropLevels != null && this.addPropLevels.length > 0) {
this.addPropLevelSet = new IntOpenHashSet(this.AddPropLevels); this.addPropLevelSet = new IntOpenHashSet(this.addPropLevels);
} }
} else if (this.itemType == emu.grasscutter.game.inventory.ItemType.ITEM_WEAPON) { } else if (this.itemEnumType == emu.grasscutter.game.inventory.ItemType.ITEM_WEAPON) {
this.equipType = emu.grasscutter.game.inventory.EquipType.EQUIP_WEAPON; this.equipEnumType = emu.grasscutter.game.inventory.EquipType.EQUIP_WEAPON;
} else { } else {
this.equipType = emu.grasscutter.game.inventory.EquipType.EQUIP_NONE; this.equipEnumType = emu.grasscutter.game.inventory.EquipType.EQUIP_NONE;
} }
if (this.getWeaponProperties() != null) { if (this.getWeaponProperties() != null) {

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -10,23 +10,23 @@ import emu.grasscutter.data.common.CurveInfo;
@ResourceType(name = "MonsterCurveExcelConfigData.json") @ResourceType(name = "MonsterCurveExcelConfigData.json")
public class MonsterCurveData extends GameResource { public class MonsterCurveData extends GameResource {
private int Level; private int level;
private CurveInfo[] CurveInfos; private CurveInfo[] curveInfos;
private Map<String, Float> curveInfos; private Map<String, Float> curveInfoMap;
@Override @Override
public int getId() { public int getId() {
return Level; return level;
} }
public float getMultByProp(String fightProp) { public float getMultByProp(String fightProp) {
return curveInfos.getOrDefault(fightProp, 1f); return curveInfoMap.getOrDefault(fightProp, 1f);
} }
@Override @Override
public void onLoad() { public void onLoad() {
this.curveInfos = new HashMap<>(); this.curveInfoMap = new HashMap<>();
Stream.of(this.CurveInfos).forEach(info -> this.curveInfos.put(info.getType(), info.getValue())); Stream.of(this.curveInfos).forEach(info -> this.curveInfoMap.put(info.getType(), info.getValue()));
} }
} }

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import java.util.List; import java.util.List;
@ -10,152 +10,153 @@ import emu.grasscutter.data.common.PropGrowCurve;
@ResourceType(name = "MonsterExcelConfigData.json", loadPriority = LoadPriority.LOW) @ResourceType(name = "MonsterExcelConfigData.json", loadPriority = LoadPriority.LOW)
public class MonsterData extends GameResource { public class MonsterData extends GameResource {
private int Id; private int id;
private String MonsterName; private String monsterName;
private String Type; private String type;
private String ServerScript; private String serverScript;
private List<Integer> Affix; private List<Integer> affix;
private String Ai; private String ai;
private int[] Equips; private int[] equips;
private List<HpDrops> HpDrops; private List<HpDrops> hpDrops;
private int KillDropId; private int killDropId;
private String ExcludeWeathers; private String excludeWeathers;
private int FeatureTagGroupID; private int featureTagGroupID;
private int MpPropID; private int mpPropID;
private String Skin; private String skin;
private int DescribeId; private int describeId;
private int CombatBGMLevel; private int combatBGMLevel;
private int EntityBudgetLevel; private int entityBudgetLevel;
private float HpBase; private float hpBase;
private float AttackBase; private float attackBase;
private float DefenseBase; private float defenseBase;
private float FireSubHurt; private float fireSubHurt;
private float ElecSubHurt; private float elecSubHurt;
private float GrassSubHurt; private float grassSubHurt;
private float WaterSubHurt; private float waterSubHurt;
private float WindSubHurt; private float windSubHurt;
private float RockSubHurt; private float rockSubHurt;
private float IceSubHurt; private float iceSubHurt;
private float PhysicalSubHurt; private float physicalSubHurt;
private List<PropGrowCurve> PropGrowCurves; private List<PropGrowCurve> propGrowCurves;
private long NameTextMapHash; private long nameTextMapHash;
private int CampID; private int campID;
// Transient
private int weaponId; private int weaponId;
private MonsterDescribeData describeData; private MonsterDescribeData describeData;
@Override @Override
public int getId() { public int getId() {
return this.Id; return this.id;
} }
public String getMonsterName() { public String getMonsterName() {
return MonsterName; return monsterName;
} }
public String getType() { public String getType() {
return Type; return type;
} }
public String getServerScript() { public String getServerScript() {
return ServerScript; return serverScript;
} }
public List<Integer> getAffix() { public List<Integer> getAffix() {
return Affix; return affix;
} }
public String getAi() { public String getAi() {
return Ai; return ai;
} }
public int[] getEquips() { public int[] getEquips() {
return Equips; return equips;
} }
public List<HpDrops> getHpDrops() { public List<HpDrops> getHpDrops() {
return HpDrops; return hpDrops;
} }
public int getKillDropId() { public int getKillDropId() {
return KillDropId; return killDropId;
} }
public String getExcludeWeathers() { public String getExcludeWeathers() {
return ExcludeWeathers; return excludeWeathers;
} }
public int getFeatureTagGroupID() { public int getFeatureTagGroupID() {
return FeatureTagGroupID; return featureTagGroupID;
} }
public int getMpPropID() { public int getMpPropID() {
return MpPropID; return mpPropID;
} }
public String getSkin() { public String getSkin() {
return Skin; return skin;
} }
public int getDescribeId() { public int getDescribeId() {
return DescribeId; return describeId;
} }
public int getCombatBGMLevel() { public int getCombatBGMLevel() {
return CombatBGMLevel; return combatBGMLevel;
} }
public int getEntityBudgetLevel() { public int getEntityBudgetLevel() {
return EntityBudgetLevel; return entityBudgetLevel;
} }
public float getBaseHp() { public float getBaseHp() {
return HpBase; return hpBase;
} }
public float getBaseAttack() { public float getBaseAttack() {
return AttackBase; return attackBase;
} }
public float getBaseDefense() { public float getBaseDefense() {
return DefenseBase; return defenseBase;
} }
public float getElecSubHurt() { public float getElecSubHurt() {
return ElecSubHurt; return elecSubHurt;
} }
public float getGrassSubHurt() { public float getGrassSubHurt() {
return GrassSubHurt; return grassSubHurt;
} }
public float getWaterSubHurt() { public float getWaterSubHurt() {
return WaterSubHurt; return waterSubHurt;
} }
public float getWindSubHurt() { public float getWindSubHurt() {
return WindSubHurt; return windSubHurt;
} }
public float getIceSubHurt() { public float getIceSubHurt() {
return IceSubHurt; return iceSubHurt;
} }
public float getPhysicalSubHurt() { public float getPhysicalSubHurt() {
return PhysicalSubHurt; return physicalSubHurt;
} }
public List<PropGrowCurve> getPropGrowCurves() { public List<PropGrowCurve> getPropGrowCurves() {
return PropGrowCurves; return propGrowCurves;
} }
public long getNameTextMapHash() { public long getNameTextMapHash() {
return NameTextMapHash; return nameTextMapHash;
} }
public int getCampID() { public int getCampID() {
return CampID; return campID;
} }
public MonsterDescribeData getDescribeData() { public MonsterDescribeData getDescribeData() {
@ -170,7 +171,7 @@ public class MonsterData extends GameResource {
public void onLoad() { public void onLoad() {
this.describeData = GameData.getMonsterDescribeDataMap().get(this.getDescribeId()); this.describeData = GameData.getMonsterDescribeDataMap().get(this.getDescribeId());
for (int id : this.Equips) { for (int id : this.equips) {
if (id == 0) { if (id == 0) {
continue; continue;
} }

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType; import emu.grasscutter.data.ResourceType;
@ -6,31 +6,31 @@ import emu.grasscutter.data.ResourceType.LoadPriority;
@ResourceType(name = "MonsterDescribeExcelConfigData.json", loadPriority = LoadPriority.HIGH) @ResourceType(name = "MonsterDescribeExcelConfigData.json", loadPriority = LoadPriority.HIGH)
public class MonsterDescribeData extends GameResource { public class MonsterDescribeData extends GameResource {
private int Id; private int id;
private long NameTextMapHash; private long nameTextMapHash;
private int TitleID; private int titleID;
private int SpecialNameLabID; private int specialNameLabID;
private String Icon; private String icon;
@Override @Override
public int getId() { public int getId() {
return Id; return id;
} }
public long getNameTextMapHash() { public long getNameTextMapHash() {
return NameTextMapHash; return nameTextMapHash;
} }
public int getTitleID() { public int getTitleID() {
return TitleID; return titleID;
} }
public int getSpecialNameLabID() { public int getSpecialNameLabID() {
return SpecialNameLabID; return specialNameLabID;
} }
public String getIcon() { public String getIcon() {
return Icon; return icon;
} }
@Override @Override

View File

@ -1,68 +1,68 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType; import emu.grasscutter.data.ResourceType;
@ResourceType(name = "NpcExcelConfigData.json") @ResourceType(name = "NpcExcelConfigData.json")
public class NpcData extends GameResource { public class NpcData extends GameResource {
private int Id; private int id;
private String JsonName; private String jsonName;
private String Alias; private String alias;
private String ScriptDataPath; private String scriptDataPath;
private String LuaDataPath; private String luaDataPath;
private boolean IsInteractive; private boolean isInteractive;
private boolean HasMove; private boolean hasMove;
private String DyePart; private String dyePart;
private String BillboardIcon; private String billboardIcon;
private long NameTextMapHash; private long nameTextMapHash;
private int CampID; private int campID;
@Override @Override
public int getId() { public int getId() {
return this.Id; return this.id;
} }
public String getJsonName() { public String getJsonName() {
return JsonName; return jsonName;
} }
public String getAlias() { public String getAlias() {
return Alias; return alias;
} }
public String getScriptDataPath() { public String getScriptDataPath() {
return ScriptDataPath; return scriptDataPath;
} }
public String getLuaDataPath() { public String getLuaDataPath() {
return LuaDataPath; return luaDataPath;
} }
public boolean isIsInteractive() { public boolean isIsInteractive() {
return IsInteractive; return isInteractive;
} }
public boolean isHasMove() { public boolean isHasMove() {
return HasMove; return hasMove;
} }
public String getDyePart() { public String getDyePart() {
return DyePart; return dyePart;
} }
public String getBillboardIcon() { public String getBillboardIcon() {
return BillboardIcon; return billboardIcon;
} }
public long getNameTextMapHash() { public long getNameTextMapHash() {
return NameTextMapHash; return nameTextMapHash;
} }
public int getCampID() { public int getCampID() {
return CampID; return campID;
} }
@Override @Override

View File

@ -1,33 +1,33 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType; import emu.grasscutter.data.ResourceType;
@ResourceType(name = "PlayerLevelExcelConfigData.json") @ResourceType(name = "PlayerLevelExcelConfigData.json")
public class PlayerLevelData extends GameResource { public class PlayerLevelData extends GameResource {
private int Level; private int level;
private int Exp; private int exp;
private int RewardId; private int rewardId;
private int UnlockWorldLevel; private int unlockWorldLevel;
@Override @Override
public int getId() { public int getId() {
return this.Level; return this.level;
} }
public int getLevel() { public int getLevel() {
return Level; return level;
} }
public int getExp() { public int getExp() {
return Exp; return exp;
} }
public int getRewardId() { public int getRewardId() {
return RewardId; return rewardId;
} }
public int getUnlockWorldLevel() { public int getUnlockWorldLevel() {
return UnlockWorldLevel; return unlockWorldLevel;
} }
} }

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -11,82 +11,82 @@ import emu.grasscutter.data.common.ItemParamData;
@ResourceType(name = "ProudSkillExcelConfigData.json") @ResourceType(name = "ProudSkillExcelConfigData.json")
public class ProudSkillData extends GameResource { public class ProudSkillData extends GameResource {
private int ProudSkillId; private int proudSkillId;
private int ProudSkillGroupId; private int proudSkillGroupId;
private int Level; private int level;
private int CoinCost; private int coinCost;
private int BreakLevel; private int breakLevel;
private int ProudSkillType; private int proudSkillType;
private String OpenConfig; private String openConfig;
private List<ItemParamData> CostItems; private List<ItemParamData> costItems;
private List<String> FilterConds; private List<String> filterConds;
private List<String> LifeEffectParams; private List<String> lifeEffectParams;
private FightPropData[] AddProps; private FightPropData[] addProps;
private float[] ParamList; private float[] paramList;
private long[] ParamDescList; private long[] paramDescList;
private long NameTextMapHash; private long nameTextMapHash;
@Override @Override
public int getId() { public int getId() {
return ProudSkillId; return proudSkillId;
} }
public int getProudSkillGroupId() { public int getProudSkillGroupId() {
return ProudSkillGroupId; return proudSkillGroupId;
} }
public int getLevel() { public int getLevel() {
return Level; return level;
} }
public int getCoinCost() { public int getCoinCost() {
return CoinCost; return coinCost;
} }
public int getBreakLevel() { public int getBreakLevel() {
return BreakLevel; return breakLevel;
} }
public int getProudSkillType() { public int getProudSkillType() {
return ProudSkillType; return proudSkillType;
} }
public String getOpenConfig() { public String getOpenConfig() {
return OpenConfig; return openConfig;
} }
public List<ItemParamData> getCostItems() { public List<ItemParamData> getCostItems() {
return CostItems; return costItems;
} }
public List<String> getFilterConds() { public List<String> getFilterConds() {
return FilterConds; return filterConds;
} }
public List<String> getLifeEffectParams() { public List<String> getLifeEffectParams() {
return LifeEffectParams; return lifeEffectParams;
} }
public FightPropData[] getAddProps() { public FightPropData[] getAddProps() {
return AddProps; return addProps;
} }
public float[] getParamList() { public float[] getParamList() {
return ParamList; return paramList;
} }
public long[] getParamDescList() { public long[] getParamDescList() {
return ParamDescList; return paramDescList;
} }
public long getNameTextMapHash() { public long getNameTextMapHash() {
return NameTextMapHash; return nameTextMapHash;
} }
@Override @Override
public void onLoad() { public void onLoad() {
if (this.getOpenConfig() != null & this.getOpenConfig().length() > 0) { if (this.getOpenConfig() != null & this.getOpenConfig().length() > 0) {
this.OpenConfig = "Avatar_" + this.getOpenConfig(); this.openConfig = "Avatar_" + this.getOpenConfig();
} }
// Fight props // Fight props
ArrayList<FightPropData> parsed = new ArrayList<FightPropData>(getAddProps().length); ArrayList<FightPropData> parsed = new ArrayList<FightPropData>(getAddProps().length);
@ -96,6 +96,6 @@ public class ProudSkillData extends GameResource {
parsed.add(prop); parsed.add(prop);
} }
} }
this.AddProps = parsed.toArray(new FightPropData[parsed.size()]); this.addProps = parsed.toArray(new FightPropData[parsed.size()]);
} }
} }

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@ -10,54 +10,54 @@ import emu.grasscutter.game.quest.enums.QuestTrigger;
@ResourceType(name = "QuestExcelConfigData.json") @ResourceType(name = "QuestExcelConfigData.json")
public class QuestData extends GameResource { public class QuestData extends GameResource {
private int SubId; private int subId;
private int MainId; private int mainId;
private int Order; private int order;
private long DescTextMapHash; private long descTextMapHash;
private boolean FinishParent; private boolean finishParent;
private boolean IsRewind; private boolean isRewind;
private LogicType AcceptCondComb; private LogicType acceptCondComb;
private QuestCondition[] acceptConditons; private QuestCondition[] acceptConditons;
private LogicType FinishCondComb; private LogicType finishCondComb;
private QuestCondition[] finishConditons; private QuestCondition[] finishConditons;
private LogicType FailCondComb; private LogicType failCondComb;
private QuestCondition[] failConditons; private QuestCondition[] failConditons;
private List<QuestParam> AcceptCond; private List<QuestParam> acceptCond;
private List<QuestParam> FinishCond; private List<QuestParam> finishCond;
private List<QuestParam> FailCond; private List<QuestParam> failCond;
private List<QuestExecParam> BeginExec; private List<QuestExecParam> beginExec;
private List<QuestExecParam> FinishExec; private List<QuestExecParam> finishExec;
private List<QuestExecParam> FailExec; private List<QuestExecParam> failExec;
public int getId() { public int getId() {
return SubId; return subId;
} }
public int getMainId() { public int getMainId() {
return MainId; return mainId;
} }
public int getOrder() { public int getOrder() {
return Order; return order;
} }
public long getDescTextMapHash() { public long getDescTextMapHash() {
return DescTextMapHash; return descTextMapHash;
} }
public boolean finishParent() { public boolean finishParent() {
return FinishParent; return finishParent;
} }
public boolean isRewind() { public boolean isRewind() {
return IsRewind; return isRewind;
} }
public LogicType getAcceptCondComb() { public LogicType getAcceptCondComb() {
return AcceptCondComb; return acceptCondComb;
} }
public QuestCondition[] getAcceptCond() { public QuestCondition[] getAcceptCond() {
@ -65,7 +65,7 @@ public class QuestData extends GameResource {
} }
public LogicType getFinishCondComb() { public LogicType getFinishCondComb() {
return FinishCondComb; return finishCondComb;
} }
public QuestCondition[] getFinishCond() { public QuestCondition[] getFinishCond() {
@ -73,7 +73,7 @@ public class QuestData extends GameResource {
} }
public LogicType getFailCondComb() { public LogicType getFailCondComb() {
return FailCondComb; return failCondComb;
} }
public QuestCondition[] getFailCond() { public QuestCondition[] getFailCond() {
@ -81,12 +81,12 @@ public class QuestData extends GameResource {
} }
public void onLoad() { public void onLoad() {
this.acceptConditons = AcceptCond.stream().filter(p -> p.Type != null).map(QuestCondition::new).toArray(QuestCondition[]::new); this.acceptConditons = acceptCond.stream().filter(p -> p.Type != null).map(QuestCondition::new).toArray(QuestCondition[]::new);
AcceptCond = null; acceptCond = null;
this.finishConditons = FinishCond.stream().filter(p -> p.Type != null).map(QuestCondition::new).toArray(QuestCondition[]::new); this.finishConditons = finishCond.stream().filter(p -> p.Type != null).map(QuestCondition::new).toArray(QuestCondition[]::new);
FinishCond = null; finishCond = null;
this.failConditons = FailCond.stream().filter(p -> p.Type != null).map(QuestCondition::new).toArray(QuestCondition[]::new); this.failConditons = failCond.stream().filter(p -> p.Type != null).map(QuestCondition::new).toArray(QuestCondition[]::new);
FailCond = null; failCond = null;
} }
public class QuestParam { public class QuestParam {

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType; import emu.grasscutter.data.ResourceType;
@ -10,39 +10,37 @@ public class ReliquaryAffixData extends GameResource {
private int DepotId; private int DepotId;
private int GroupId; private int GroupId;
private String PropType; private FightProperty PropType;
private float PropValue; private float PropValue;
private int Weight; private int Weight;
private int UpgradeWeight; private int UpgradeWeight;
private FightProperty fightProp;
@Override @Override
public int getId() { public int getId() {
return Id; return Id;
} }
public int getDepotId() { public int getDepotId() {
return DepotId; return DepotId;
} }
public int getGroupId() { public int getGroupId() {
return GroupId; return GroupId;
} }
public float getPropValue() { public float getPropValue() {
return PropValue; return PropValue;
} }
public int getWeight() { public int getWeight() {
return Weight; return Weight;
} }
public int getUpgradeWeight() { public int getUpgradeWeight() {
return UpgradeWeight; return UpgradeWeight;
} }
public FightProperty getFightProp() { public FightProperty getFightProp() {
return fightProp; return PropType;
}
@Override
public void onLoad() {
this.fightProp = FightProperty.getPropByName(this.PropType);
} }
} }

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import java.util.List; import java.util.List;
@ -13,10 +13,10 @@ public class ReliquaryLevelData extends GameResource {
private int id; private int id;
private Int2ObjectMap<Float> propMap; private Int2ObjectMap<Float> propMap;
private int Rank; private int rank;
private int Level; private int level;
private int Exp; private int exp;
private List<RelicLevelProperty> AddProps; private List<RelicLevelProperty> addProps;
@Override @Override
public int getId() { public int getId() {
@ -24,15 +24,15 @@ public class ReliquaryLevelData extends GameResource {
} }
public int getRank() { public int getRank() {
return Rank; return rank;
} }
public int getLevel() { public int getLevel() {
return Level; return level;
} }
public int getExp() { public int getExp() {
return Exp; return exp;
} }
public float getPropValue(FightProperty prop) { public float getPropValue(FightProperty prop) {
@ -45,23 +45,23 @@ public class ReliquaryLevelData extends GameResource {
@Override @Override
public void onLoad() { public void onLoad() {
this.id = (Rank << 8) + this.getLevel(); this.id = (rank << 8) + this.getLevel();
this.propMap = new Int2ObjectOpenHashMap<>(); this.propMap = new Int2ObjectOpenHashMap<>();
for (RelicLevelProperty p : AddProps) { for (RelicLevelProperty p : addProps) {
this.propMap.put(FightProperty.getPropByName(p.getPropType()).getId(), (Float) p.getValue()); this.propMap.put(FightProperty.getPropByName(p.getPropType()).getId(), (Float) p.getValue());
} }
} }
public class RelicLevelProperty { public class RelicLevelProperty {
private String PropType; private String propType;
private float Value; private float value;
public String getPropType() { public String getPropType() {
return PropType; return propType;
} }
public float getValue() { public float getValue() {
return Value; return value;
} }
} }
} }

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType; import emu.grasscutter.data.ResourceType;
@ -6,32 +6,26 @@ import emu.grasscutter.game.props.FightProperty;
@ResourceType(name = "ReliquaryMainPropExcelConfigData.json") @ResourceType(name = "ReliquaryMainPropExcelConfigData.json")
public class ReliquaryMainPropData extends GameResource { public class ReliquaryMainPropData extends GameResource {
private int Id; private int id;
private int PropDepotId; private int propDepotId;
private String PropType; private FightProperty propType;
private String AffixName; private int weight;
private int Weight;
private FightProperty fightProp;
@Override @Override
public int getId() { public int getId() {
return Id; return id;
} }
public int getPropDepotId() { public int getPropDepotId() {
return PropDepotId; return propDepotId;
} }
public int getWeight() { public int getWeight() {
return Weight; return weight;
} }
public FightProperty getFightProp() { public FightProperty getFightProp() {
return fightProp; return propType;
}
@Override
public void onLoad() {
this.fightProp = FightProperty.getPropByName(this.PropType);
} }
} }

View File

@ -1,23 +1,23 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType; import emu.grasscutter.data.ResourceType;
@ResourceType(name = "ReliquarySetExcelConfigData.json") @ResourceType(name = "ReliquarySetExcelConfigData.json")
public class ReliquarySetData extends GameResource { public class ReliquarySetData extends GameResource {
private int SetId; private int setId;
private int[] SetNeedNum; private int[] setNeedNum;
private int EquipAffixId; private int EquipAffixId;
private int DisableFilter; private int disableFilter;
private int[] ContainsList; private int[] containsList;
@Override @Override
public int getId() { public int getId() {
return SetId; return setId;
} }
public int[] getSetNeedNum() { public int[] getSetNeedNum() {
return SetNeedNum; return setNeedNum;
} }
public int getEquipAffixId() { public int getEquipAffixId() {
@ -25,11 +25,11 @@ public class ReliquarySetData extends GameResource {
} }
public int getDisableFilter() { public int getDisableFilter() {
return DisableFilter; return disableFilter;
} }
public int[] getContainsList() { public int[] getContainsList() {
return ContainsList; return containsList;
} }
@Override @Override

View File

@ -1,27 +1,27 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import java.util.List; import java.util.List;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType; import emu.grasscutter.data.ResourceType;
import emu.grasscutter.data.common.ItemParamData; import emu.grasscutter.data.common.ItemParamData;
@ResourceType(name = "RewardExcelConfigData.json") @ResourceType(name = "RewardExcelConfigData.json")
public class RewardData extends GameResource { public class RewardData extends GameResource {
public int RewardId; public int rewardId;
public List<ItemParamData> RewardItemList; public List<ItemParamData> rewardItemList;
@Override @Override
public int getId() { public int getId() {
return RewardId; return rewardId;
} }
public List<ItemParamData> getRewardItemList() { public List<ItemParamData> getRewardItemList() {
return RewardItemList; return rewardItemList;
} }
@Override @Override
public void onLoad() { public void onLoad() {
RewardItemList = RewardItemList.stream().filter(i -> i.getId() > 0).toList(); rewardItemList = rewardItemList.stream().filter(i -> i.getId() > 0).toList();
} }
} }

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@ -16,28 +16,28 @@ import emu.grasscutter.data.common.ItemParamStringData;
@ResourceType(name = "RewardPreviewExcelConfigData.json", loadPriority = LoadPriority.HIGH) @ResourceType(name = "RewardPreviewExcelConfigData.json", loadPriority = LoadPriority.HIGH)
public class RewardPreviewData extends GameResource { public class RewardPreviewData extends GameResource {
private int Id; private int id;
private ItemParamStringData[] PreviewItems; private ItemParamStringData[] previewItems;
private ItemParamData[] PreviewItemsArray; private ItemParamData[] previewItemsArray;
@Override @Override
public int getId() { public int getId() {
return this.Id; return this.id;
} }
public ItemParamData[] getPreviewItems() { public ItemParamData[] getPreviewItems() {
return PreviewItemsArray; return previewItemsArray;
} }
@Override @Override
public void onLoad() { public void onLoad() {
if (this.PreviewItems != null && this.PreviewItems.length > 0) { if (this.previewItems != null && this.previewItems.length > 0) {
this.PreviewItemsArray = Arrays.stream(this.PreviewItems) this.previewItemsArray = Arrays.stream(this.previewItems)
.filter(d -> d.getId() > 0 && d.getCount() != null && !d.getCount().isEmpty()) .filter(d -> d.getId() > 0 && d.getCount() != null && !d.getCount().isEmpty())
.map(ItemParamStringData::toItemParamData) .map(ItemParamStringData::toItemParamData)
.toArray(size -> new ItemParamData[size]); .toArray(size -> new ItemParamData[size]);
} else { } else {
this.PreviewItemsArray = new ItemParamData[0]; this.previewItemsArray = new ItemParamData[0];
} }
} }
} }

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
@ -8,22 +8,21 @@ import emu.grasscutter.game.props.SceneType;
@ResourceType(name = "SceneExcelConfigData.json") @ResourceType(name = "SceneExcelConfigData.json")
public class SceneData extends GameResource { public class SceneData extends GameResource {
private int Id; private int id;
private SceneType Type; private SceneType type;
private String ScriptData; private String scriptData;
@Override @Override
public int getId() { public int getId() {
return this.Id; return this.id;
} }
public SceneType getSceneType() { public SceneType getSceneType() {
return Type; return type;
} }
public String getScriptData() { public String getScriptData() {
return ScriptData; return scriptData;
} }
@Override @Override

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType; import emu.grasscutter.data.ResourceType;
@ -9,34 +9,34 @@ import java.util.List;
@ResourceType(name = "ShopGoodsExcelConfigData.json") @ResourceType(name = "ShopGoodsExcelConfigData.json")
public class ShopGoodsData extends GameResource { public class ShopGoodsData extends GameResource {
private int GoodsId; private int goodsId;
private int ShopType; private int shopType;
private int ItemId; private int itemId;
private int ItemCount; private int itemCount;
private int CostScoin; private int costScoin;
private int CostHcoin; private int costHcoin;
private int CostMcoin; private int costMcoin;
private List<ItemParamData> CostItems; private List<ItemParamData> costItems;
private int MinPlayerLevel; private int minPlayerLevel;
private int MaxPlayerLevel; private int maxPlayerLevel;
private int BuyLimit; private int buyLimit;
private int SubTabId; private int subTabId;
private String RefreshType; private String refreshType;
private transient ShopInfo.ShopRefreshType RefreshTypeEnum; private transient ShopInfo.ShopRefreshType refreshTypeEnum;
private int RefreshParam; private int refreshParam;
@Override @Override
public void onLoad() { public void onLoad() {
if (this.RefreshType == null) if (this.refreshType == null)
this.RefreshTypeEnum = ShopInfo.ShopRefreshType.NONE; this.refreshTypeEnum = ShopInfo.ShopRefreshType.NONE;
else { else {
this.RefreshTypeEnum = switch (this.RefreshType) { this.refreshTypeEnum = switch (this.refreshType) {
case "SHOP_REFRESH_DAILY" -> ShopInfo.ShopRefreshType.SHOP_REFRESH_DAILY; case "SHOP_REFRESH_DAILY" -> ShopInfo.ShopRefreshType.SHOP_REFRESH_DAILY;
case "SHOP_REFRESH_WEEKLY" -> ShopInfo.ShopRefreshType.SHOP_REFRESH_WEEKLY; case "SHOP_REFRESH_WEEKLY" -> ShopInfo.ShopRefreshType.SHOP_REFRESH_WEEKLY;
case "SHOP_REFRESH_MONTHLY" -> ShopInfo.ShopRefreshType.SHOP_REFRESH_MONTHLY; case "SHOP_REFRESH_MONTHLY" -> ShopInfo.ShopRefreshType.SHOP_REFRESH_MONTHLY;
@ -51,58 +51,58 @@ public class ShopGoodsData extends GameResource {
} }
public int getGoodsId() { public int getGoodsId() {
return GoodsId; return goodsId;
} }
public int getShopType() { public int getShopType() {
return ShopType; return shopType;
} }
public int getItemId() { public int getItemId() {
return ItemId; return itemId;
} }
public int getItemCount() { public int getItemCount() {
return ItemCount; return itemCount;
} }
public int getCostScoin() { public int getCostScoin() {
return CostScoin; return costScoin;
} }
public int getCostHcoin() { public int getCostHcoin() {
return CostHcoin; return costHcoin;
} }
public int getCostMcoin() { public int getCostMcoin() {
return CostMcoin; return costMcoin;
} }
public List<ItemParamData> getCostItems() { public List<ItemParamData> getCostItems() {
return CostItems; return costItems;
} }
public int getMinPlayerLevel() { public int getMinPlayerLevel() {
return MinPlayerLevel; return minPlayerLevel;
} }
public int getMaxPlayerLevel() { public int getMaxPlayerLevel() {
return MaxPlayerLevel; return maxPlayerLevel;
} }
public int getBuyLimit() { public int getBuyLimit() {
return BuyLimit; return buyLimit;
} }
public int getSubTabId() { public int getSubTabId() {
return SubTabId; return subTabId;
} }
public ShopInfo.ShopRefreshType getRefreshType() { public ShopInfo.ShopRefreshType getRefreshType() {
return RefreshTypeEnum; return refreshTypeEnum;
} }
public int getRefreshParam() { public int getRefreshParam() {
return RefreshParam; return refreshParam;
} }
} }

View File

@ -0,0 +1,49 @@
package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType;
@ResourceType(name = "TowerFloorExcelConfigData.json")
public class TowerFloorData extends GameResource {
private int floorId;
private int floorIndex;
private int levelId;
private int overrideMonsterLevel;
private int teamNum;
private int floorLevelConfigId;
@Override
public int getId() {
return this.floorId;
}
@Override
public void onLoad() {
super.onLoad();
}
public int getFloorId() {
return floorId;
}
public int getFloorIndex() {
return floorIndex;
}
public int getLevelId() {
return levelId;
}
public int getOverrideMonsterLevel() {
return overrideMonsterLevel;
}
public int getTeamNum() {
return teamNum;
}
public int getFloorLevelConfigId() {
return floorLevelConfigId;
}
}

View File

@ -0,0 +1,29 @@
package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType;
@ResourceType(name = "TowerLevelExcelConfigData.json")
public class TowerLevelData extends GameResource {
private int levelId;
private int levelIndex;
private int dungeonId;
@Override
public int getId() {
return this.getLevelId();
}
public int getLevelId() {
return levelId;
}
public int getLevelIndex() {
return levelIndex;
}
public int getDungeonId() {
return dungeonId;
}
}

View File

@ -0,0 +1,51 @@
package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType;
import java.util.List;
@ResourceType(name = "TowerScheduleExcelConfigData.json")
public class TowerScheduleData extends GameResource {
private int scheduleId;
private List<Integer> entranceFloorId;
private List<ScheduleDetail> schedules;
private int monthlyLevelConfigId;
@Override
public int getId() {
return scheduleId;
}
@Override
public void onLoad() {
super.onLoad();
this.schedules = this.schedules.stream()
.filter(item -> item.getFloorList().size() > 0)
.toList();
}
public int getScheduleId() {
return scheduleId;
}
public List<Integer> getEntranceFloorId() {
return entranceFloorId;
}
public List<ScheduleDetail> getSchedules() {
return schedules;
}
public int getMonthlyLevelConfigId() {
return monthlyLevelConfigId;
}
public static class ScheduleDetail{
private List<Integer> floorList;
public List<Integer> getFloorList() {
return floorList;
}
}
}

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -10,23 +10,23 @@ import emu.grasscutter.data.common.CurveInfo;
@ResourceType(name = "WeaponCurveExcelConfigData.json") @ResourceType(name = "WeaponCurveExcelConfigData.json")
public class WeaponCurveData extends GameResource { public class WeaponCurveData extends GameResource {
private int Level; private int level;
private CurveInfo[] CurveInfos; private CurveInfo[] curveInfos;
private Map<String, Float> curveInfos; private Map<String, Float> curveInfosMap;
@Override @Override
public int getId() { public int getId() {
return Level; return level;
} }
public float getMultByProp(String fightProp) { public float getMultByProp(String fightProp) {
return curveInfos.getOrDefault(fightProp, 1f); return curveInfosMap.getOrDefault(fightProp, 1f);
} }
@Override @Override
public void onLoad() { public void onLoad() {
this.curveInfos = new HashMap<>(); this.curveInfosMap = new HashMap<>();
Stream.of(this.CurveInfos).forEach(info -> this.curveInfos.put(info.getType(), info.getValue())); Stream.of(this.curveInfos).forEach(info -> this.curveInfosMap.put(info.getType(), info.getValue()));
} }
} }

View File

@ -1,23 +1,23 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType; import emu.grasscutter.data.ResourceType;
@ResourceType(name = "WeaponLevelExcelConfigData.json") @ResourceType(name = "WeaponLevelExcelConfigData.json")
public class WeaponLevelData extends GameResource { public class WeaponLevelData extends GameResource {
private int Level; private int level;
private int[] RequiredExps; private int[] requiredExps;
@Override @Override
public int getId() { public int getId() {
return this.Level; return this.level;
} }
public int getLevel() { public int getLevel() {
return Level; return level;
} }
public int[] getRequiredExps() { public int[] getRequiredExps() {
return RequiredExps; return requiredExps;
} }
} }

View File

@ -1,4 +1,4 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import java.util.ArrayList; import java.util.ArrayList;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
@ -9,45 +9,45 @@ import emu.grasscutter.data.common.ItemParamData;
@ResourceType(name = "WeaponPromoteExcelConfigData.json") @ResourceType(name = "WeaponPromoteExcelConfigData.json")
public class WeaponPromoteData extends GameResource { public class WeaponPromoteData extends GameResource {
private int WeaponPromoteId; private int weaponPromoteId;
private int PromoteLevel; private int promoteLevel;
private ItemParamData[] CostItems; private ItemParamData[] costItems;
private int CoinCost; private int coinCost;
private FightPropData[] AddProps; private FightPropData[] addProps;
private int UnlockMaxLevel; private int unlockMaxLevel;
private int RequiredPlayerLevel; private int requiredPlayerLevel;
@Override @Override
public int getId() { public int getId() {
return (WeaponPromoteId << 8) + PromoteLevel; return (weaponPromoteId << 8) + promoteLevel;
} }
public int getWeaponPromoteId() { public int getWeaponPromoteId() {
return WeaponPromoteId; return weaponPromoteId;
} }
public int getPromoteLevel() { public int getPromoteLevel() {
return PromoteLevel; return promoteLevel;
} }
public ItemParamData[] getCostItems() { public ItemParamData[] getCostItems() {
return CostItems; return costItems;
} }
public int getCoinCost() { public int getCoinCost() {
return CoinCost; return coinCost;
} }
public FightPropData[] getAddProps() { public FightPropData[] getAddProps() {
return AddProps; return addProps;
} }
public int getUnlockMaxLevel() { public int getUnlockMaxLevel() {
return UnlockMaxLevel; return unlockMaxLevel;
} }
public int getRequiredPlayerLevel() { public int getRequiredPlayerLevel() {
return RequiredPlayerLevel; return requiredPlayerLevel;
} }
@Override @Override
@ -60,7 +60,7 @@ public class WeaponPromoteData extends GameResource {
} }
trim.add(itemParam); trim.add(itemParam);
} }
this.CostItems = trim.toArray(new ItemParamData[trim.size()]); this.costItems = trim.toArray(new ItemParamData[trim.size()]);
// Trim fight prop data // Trim fight prop data
ArrayList<FightPropData> parsed = new ArrayList<>(getAddProps().length); ArrayList<FightPropData> parsed = new ArrayList<>(getAddProps().length);
for (FightPropData prop : getAddProps()) { for (FightPropData prop : getAddProps()) {
@ -69,6 +69,6 @@ public class WeaponPromoteData extends GameResource {
parsed.add(prop); parsed.add(prop);
} }
} }
this.AddProps = parsed.toArray(new FightPropData[parsed.size()]); this.addProps = parsed.toArray(new FightPropData[parsed.size()]);
} }
} }

View File

@ -1,20 +1,20 @@
package emu.grasscutter.data.def; package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameResource; import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType; import emu.grasscutter.data.ResourceType;
@ResourceType(name = "WorldLevelExcelConfigData.json") @ResourceType(name = "WorldLevelExcelConfigData.json")
public class WorldLevelData extends GameResource { public class WorldLevelData extends GameResource {
private int Level; private int level;
private int MonsterLevel; private int monsterLevel;
@Override @Override
public int getId() { public int getId() {
return this.Level; return this.level;
} }
public int getMonsterLevel() { public int getMonsterLevel() {
return MonsterLevel; return monsterLevel;
} }
@Override @Override

View File

@ -7,10 +7,10 @@ import com.google.protobuf.InvalidProtocolBufferException;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.custom.AbilityModifier.AbilityModifierAction; import emu.grasscutter.data.binout.AbilityModifierEntry;
import emu.grasscutter.data.def.AvatarSkillDepotData; import emu.grasscutter.data.binout.AbilityModifier.AbilityModifierAction;
import emu.grasscutter.data.def.ItemData; import emu.grasscutter.data.excels.AvatarSkillDepotData;
import emu.grasscutter.data.custom.AbilityModifierEntry; import emu.grasscutter.data.excels.ItemData;
import emu.grasscutter.game.avatar.Avatar; import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.game.entity.EntityAvatar; import emu.grasscutter.game.entity.EntityAvatar;
import emu.grasscutter.game.entity.EntityClientGadget; import emu.grasscutter.game.entity.EntityClientGadget;

View File

@ -17,24 +17,24 @@ import dev.morphia.annotations.PostLoad;
import dev.morphia.annotations.PrePersist; import dev.morphia.annotations.PrePersist;
import dev.morphia.annotations.Transient; import dev.morphia.annotations.Transient;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.binout.OpenConfigEntry;
import emu.grasscutter.data.binout.OpenConfigEntry.SkillPointModifier;
import emu.grasscutter.data.common.FightPropData; import emu.grasscutter.data.common.FightPropData;
import emu.grasscutter.data.custom.OpenConfigEntry; import emu.grasscutter.data.excels.AvatarData;
import emu.grasscutter.data.custom.OpenConfigEntry.SkillPointModifier; import emu.grasscutter.data.excels.AvatarPromoteData;
import emu.grasscutter.data.def.AvatarData; import emu.grasscutter.data.excels.AvatarSkillData;
import emu.grasscutter.data.def.AvatarPromoteData; import emu.grasscutter.data.excels.AvatarSkillDepotData;
import emu.grasscutter.data.def.AvatarSkillData; import emu.grasscutter.data.excels.AvatarTalentData;
import emu.grasscutter.data.def.AvatarSkillDepotData; import emu.grasscutter.data.excels.EquipAffixData;
import emu.grasscutter.data.def.AvatarSkillDepotData.InherentProudSkillOpens; import emu.grasscutter.data.excels.ProudSkillData;
import emu.grasscutter.data.def.AvatarTalentData; import emu.grasscutter.data.excels.ReliquaryAffixData;
import emu.grasscutter.data.def.EquipAffixData; import emu.grasscutter.data.excels.ReliquaryLevelData;
import emu.grasscutter.data.def.ItemData.WeaponProperty; import emu.grasscutter.data.excels.ReliquaryMainPropData;
import emu.grasscutter.data.def.ProudSkillData; import emu.grasscutter.data.excels.ReliquarySetData;
import emu.grasscutter.data.def.ReliquaryAffixData; import emu.grasscutter.data.excels.WeaponCurveData;
import emu.grasscutter.data.def.ReliquaryLevelData; import emu.grasscutter.data.excels.WeaponPromoteData;
import emu.grasscutter.data.def.ReliquaryMainPropData; import emu.grasscutter.data.excels.AvatarSkillDepotData.InherentProudSkillOpens;
import emu.grasscutter.data.def.ReliquarySetData; import emu.grasscutter.data.excels.ItemData.WeaponProperty;
import emu.grasscutter.data.def.WeaponCurveData;
import emu.grasscutter.data.def.WeaponPromoteData;
import emu.grasscutter.database.DatabaseHelper; import emu.grasscutter.database.DatabaseHelper;
import emu.grasscutter.game.entity.EntityAvatar; import emu.grasscutter.game.entity.EntityAvatar;
import emu.grasscutter.game.inventory.EquipType; import emu.grasscutter.game.inventory.EquipType;

View File

@ -4,8 +4,8 @@ import java.util.Iterator;
import java.util.List; import java.util.List;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.def.AvatarData; import emu.grasscutter.data.excels.AvatarData;
import emu.grasscutter.data.def.AvatarSkillDepotData; import emu.grasscutter.data.excels.AvatarSkillDepotData;
import emu.grasscutter.database.DatabaseHelper; import emu.grasscutter.database.DatabaseHelper;
import emu.grasscutter.game.entity.EntityAvatar; import emu.grasscutter.game.entity.EntityAvatar;
import emu.grasscutter.game.inventory.GameItem; import emu.grasscutter.game.inventory.GameItem;

View File

@ -1,7 +1,8 @@
package emu.grasscutter.game.combine; package emu.grasscutter.game.combine;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.def.CombineData; import emu.grasscutter.data.common.ItemParamData;
import emu.grasscutter.data.excels.CombineData;
import emu.grasscutter.game.inventory.ItemType; import emu.grasscutter.game.inventory.ItemType;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.net.proto.RetcodeOuterClass; import emu.grasscutter.net.proto.RetcodeOuterClass;
@ -71,7 +72,7 @@ public class CombineManger {
CombineResult result = new CombineResult(); CombineResult result = new CombineResult();
result.setMaterial(List.of()); result.setMaterial(List.of());
result.setResult(List.of(new CombineData.CombineItemPair(combineData.getResultItemId(), result.setResult(List.of(new ItemParamData(combineData.getResultItemId(),
combineData.getResultItemCount() * count))); combineData.getResultItemCount() * count)));
// TODO lucky characters // TODO lucky characters
result.setExtra(List.of()); result.setExtra(List.of());

View File

@ -1,44 +1,45 @@
package emu.grasscutter.game.combine; package emu.grasscutter.game.combine;
import emu.grasscutter.data.def.CombineData;
import java.util.List; import java.util.List;
public class CombineResult { import emu.grasscutter.data.common.ItemParamData;
private List<CombineData.CombineItemPair> material; import emu.grasscutter.data.excels.CombineData;
private List<CombineData.CombineItemPair> result;
private List<CombineData.CombineItemPair> extra;
private List<CombineData.CombineItemPair> back;
public List<CombineData.CombineItemPair> getMaterial() { public class CombineResult {
private List<ItemParamData> material;
private List<ItemParamData> result;
private List<ItemParamData> extra;
private List<ItemParamData> back;
public List<ItemParamData> getMaterial() {
return material; return material;
} }
public void setMaterial(List<CombineData.CombineItemPair> material) { public void setMaterial(List<ItemParamData> material) {
this.material = material; this.material = material;
} }
public List<CombineData.CombineItemPair> getResult() { public List<ItemParamData> getResult() {
return result; return result;
} }
public void setResult(List<CombineData.CombineItemPair> result) { public void setResult(List<ItemParamData> result) {
this.result = result; this.result = result;
} }
public List<CombineData.CombineItemPair> getExtra() { public List<ItemParamData> getExtra() {
return extra; return extra;
} }
public void setExtra(List<CombineData.CombineItemPair> extra) { public void setExtra(List<ItemParamData> extra) {
this.extra = extra; this.extra = extra;
} }
public List<CombineData.CombineItemPair> getBack() { public List<ItemParamData> getBack() {
return back; return back;
} }
public void setBack(List<CombineData.CombineItemPair> back) { public void setBack(List<ItemParamData> back) {
this.back = back; this.back = back;
} }

View File

@ -4,7 +4,7 @@ import com.google.gson.reflect.TypeToken;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.data.DataLoader; import emu.grasscutter.data.DataLoader;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.def.ItemData; import emu.grasscutter.data.excels.ItemData;
import emu.grasscutter.game.entity.EntityItem; import emu.grasscutter.game.entity.EntityItem;
import emu.grasscutter.game.entity.EntityMonster; import emu.grasscutter.game.entity.EntityMonster;
import emu.grasscutter.game.inventory.GameItem; import emu.grasscutter.game.inventory.GameItem;

View File

@ -1,7 +1,7 @@
package emu.grasscutter.game.dungeons; package emu.grasscutter.game.dungeons;
import emu.grasscutter.data.common.ItemParamData; import emu.grasscutter.data.common.ItemParamData;
import emu.grasscutter.data.def.DungeonData; import emu.grasscutter.data.excels.DungeonData;
import emu.grasscutter.game.entity.EntityMonster; import emu.grasscutter.game.entity.EntityMonster;
import emu.grasscutter.game.inventory.GameItem; import emu.grasscutter.game.inventory.GameItem;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;

View File

@ -3,8 +3,8 @@ package emu.grasscutter.game.dungeons;
import emu.grasscutter.GameConstants; import emu.grasscutter.GameConstants;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.custom.ScenePointEntry; import emu.grasscutter.data.binout.ScenePointEntry;
import emu.grasscutter.data.def.DungeonData; import emu.grasscutter.data.excels.DungeonData;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.props.SceneType; import emu.grasscutter.game.props.SceneType;
import emu.grasscutter.game.quest.enums.QuestTrigger; import emu.grasscutter.game.quest.enums.QuestTrigger;

View File

@ -2,8 +2,8 @@ package emu.grasscutter.game.entity;
import emu.grasscutter.GameConstants; import emu.grasscutter.GameConstants;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.def.AvatarData; import emu.grasscutter.data.excels.AvatarData;
import emu.grasscutter.data.def.AvatarSkillDepotData; import emu.grasscutter.data.excels.AvatarSkillDepotData;
import emu.grasscutter.game.avatar.Avatar; import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.game.inventory.EquipType; import emu.grasscutter.game.inventory.EquipType;
import emu.grasscutter.game.inventory.GameItem; import emu.grasscutter.game.inventory.GameItem;

View File

@ -4,7 +4,7 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.def.GadgetData; import emu.grasscutter.data.excels.GadgetData;
import emu.grasscutter.game.props.EntityIdType; import emu.grasscutter.game.props.EntityIdType;
import emu.grasscutter.game.props.EntityType; import emu.grasscutter.game.props.EntityType;
import emu.grasscutter.game.props.PlayerProperty; import emu.grasscutter.game.props.PlayerProperty;

View File

@ -1,6 +1,6 @@
package emu.grasscutter.game.entity; package emu.grasscutter.game.entity;
import emu.grasscutter.data.def.ItemData; import emu.grasscutter.data.excels.ItemData;
import emu.grasscutter.game.inventory.GameItem; import emu.grasscutter.game.inventory.GameItem;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.props.EntityIdType; import emu.grasscutter.game.props.EntityIdType;

View File

@ -2,8 +2,8 @@ package emu.grasscutter.game.entity;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.common.PropGrowCurve; import emu.grasscutter.data.common.PropGrowCurve;
import emu.grasscutter.data.def.MonsterCurveData; import emu.grasscutter.data.excels.MonsterCurveData;
import emu.grasscutter.data.def.MonsterData; import emu.grasscutter.data.excels.MonsterData;
import emu.grasscutter.game.dungeons.DungeonChallenge; import emu.grasscutter.game.dungeons.DungeonChallenge;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.props.EntityIdType; import emu.grasscutter.game.props.EntityIdType;

View File

@ -18,7 +18,7 @@ import emu.grasscutter.Grasscutter;
import emu.grasscutter.data.DataLoader; import emu.grasscutter.data.DataLoader;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.common.ItemParamData; import emu.grasscutter.data.common.ItemParamData;
import emu.grasscutter.data.def.ItemData; import emu.grasscutter.data.excels.ItemData;
import emu.grasscutter.database.DatabaseHelper; import emu.grasscutter.database.DatabaseHelper;
import emu.grasscutter.game.avatar.Avatar; import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.game.gacha.GachaBanner.BannerType; import emu.grasscutter.game.gacha.GachaBanner.BannerType;

View File

@ -15,9 +15,9 @@ import dev.morphia.annotations.Transient;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.GameDepot; import emu.grasscutter.data.GameDepot;
import emu.grasscutter.data.def.ItemData; import emu.grasscutter.data.excels.ItemData;
import emu.grasscutter.data.def.ReliquaryAffixData; import emu.grasscutter.data.excels.ReliquaryAffixData;
import emu.grasscutter.data.def.ReliquaryMainPropData; import emu.grasscutter.data.excels.ReliquaryMainPropData;
import emu.grasscutter.database.DatabaseHelper; import emu.grasscutter.database.DatabaseHelper;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.props.FightProperty; import emu.grasscutter.game.props.FightProperty;

View File

@ -8,10 +8,10 @@ import java.util.List;
import emu.grasscutter.GameConstants; import emu.grasscutter.GameConstants;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.common.ItemParamData; import emu.grasscutter.data.common.ItemParamData;
import emu.grasscutter.data.def.AvatarCostumeData; import emu.grasscutter.data.excels.AvatarCostumeData;
import emu.grasscutter.data.def.AvatarData; import emu.grasscutter.data.excels.AvatarData;
import emu.grasscutter.data.def.AvatarFlycloakData; import emu.grasscutter.data.excels.AvatarFlycloakData;
import emu.grasscutter.data.def.ItemData; import emu.grasscutter.data.excels.ItemData;
import emu.grasscutter.database.DatabaseHelper; import emu.grasscutter.database.DatabaseHelper;
import emu.grasscutter.game.avatar.AvatarStorage; import emu.grasscutter.game.avatar.AvatarStorage;
import emu.grasscutter.game.avatar.Avatar; import emu.grasscutter.game.avatar.Avatar;

View File

@ -3,9 +3,9 @@ package emu.grasscutter.game.managers.EnergyManager;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.data.DataLoader; import emu.grasscutter.data.DataLoader;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.def.AvatarSkillDepotData; import emu.grasscutter.data.excels.AvatarSkillDepotData;
import emu.grasscutter.data.def.ItemData; import emu.grasscutter.data.excels.ItemData;
import emu.grasscutter.data.def.MonsterData.HpDrops; import emu.grasscutter.data.excels.MonsterData.HpDrops;
import emu.grasscutter.game.avatar.Avatar; import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.game.entity.EntityAvatar; import emu.grasscutter.game.entity.EntityAvatar;
import emu.grasscutter.game.entity.EntityClientGadget; import emu.grasscutter.game.entity.EntityClientGadget;

View File

@ -7,17 +7,17 @@ import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.binout.OpenConfigEntry;
import emu.grasscutter.data.binout.OpenConfigEntry.SkillPointModifier;
import emu.grasscutter.data.common.ItemParamData; import emu.grasscutter.data.common.ItemParamData;
import emu.grasscutter.data.custom.OpenConfigEntry; import emu.grasscutter.data.excels.AvatarPromoteData;
import emu.grasscutter.data.custom.OpenConfigEntry.SkillPointModifier; import emu.grasscutter.data.excels.AvatarSkillData;
import emu.grasscutter.data.def.AvatarPromoteData; import emu.grasscutter.data.excels.AvatarSkillDepotData;
import emu.grasscutter.data.def.AvatarSkillData; import emu.grasscutter.data.excels.AvatarTalentData;
import emu.grasscutter.data.def.AvatarSkillDepotData; import emu.grasscutter.data.excels.ItemData;
import emu.grasscutter.data.def.ItemData; import emu.grasscutter.data.excels.ProudSkillData;
import emu.grasscutter.data.def.WeaponPromoteData; import emu.grasscutter.data.excels.WeaponPromoteData;
import emu.grasscutter.data.def.AvatarSkillDepotData.InherentProudSkillOpens; import emu.grasscutter.data.excels.AvatarSkillDepotData.InherentProudSkillOpens;
import emu.grasscutter.data.def.AvatarTalentData;
import emu.grasscutter.data.def.ProudSkillData;
import emu.grasscutter.game.avatar.Avatar; import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.game.inventory.GameItem; import emu.grasscutter.game.inventory.GameItem;
import emu.grasscutter.game.inventory.ItemType; import emu.grasscutter.game.inventory.ItemType;

View File

@ -3,7 +3,7 @@ package emu.grasscutter.game.player;
import dev.morphia.annotations.*; import dev.morphia.annotations.*;
import emu.grasscutter.GameConstants; import emu.grasscutter.GameConstants;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.def.PlayerLevelData; import emu.grasscutter.data.excels.PlayerLevelData;
import emu.grasscutter.database.DatabaseHelper; import emu.grasscutter.database.DatabaseHelper;
import emu.grasscutter.game.Account; import emu.grasscutter.game.Account;
import emu.grasscutter.game.CoopRequest; import emu.grasscutter.game.CoopRequest;

View File

@ -3,8 +3,8 @@ package emu.grasscutter.game.player;
import dev.morphia.annotations.Entity; import dev.morphia.annotations.Entity;
import dev.morphia.annotations.Transient; import dev.morphia.annotations.Transient;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.def.CodexAnimalData; import emu.grasscutter.data.excels.CodexAnimalData;
import emu.grasscutter.data.def.CodexReliquaryData; import emu.grasscutter.data.excels.CodexReliquaryData;
import emu.grasscutter.game.entity.EntityMonster; import emu.grasscutter.game.entity.EntityMonster;
import emu.grasscutter.game.entity.GameEntity; import emu.grasscutter.game.entity.GameEntity;
import emu.grasscutter.game.inventory.GameItem; import emu.grasscutter.game.inventory.GameItem;

View File

@ -5,7 +5,7 @@ import java.util.*;
import dev.morphia.annotations.Entity; import dev.morphia.annotations.Entity;
import dev.morphia.annotations.Transient; import dev.morphia.annotations.Transient;
import emu.grasscutter.GameConstants; import emu.grasscutter.GameConstants;
import emu.grasscutter.data.def.AvatarSkillDepotData; import emu.grasscutter.data.excels.AvatarSkillDepotData;
import emu.grasscutter.game.avatar.Avatar; import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.game.entity.EntityAvatar; import emu.grasscutter.game.entity.EntityAvatar;
import emu.grasscutter.game.entity.EntityBaseGadget; import emu.grasscutter.game.entity.EntityBaseGadget;

View File

@ -11,8 +11,8 @@ import dev.morphia.annotations.Id;
import dev.morphia.annotations.Indexed; import dev.morphia.annotations.Indexed;
import dev.morphia.annotations.Transient; import dev.morphia.annotations.Transient;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.custom.MainQuestData; import emu.grasscutter.data.binout.MainQuestData;
import emu.grasscutter.data.def.RewardData; import emu.grasscutter.data.excels.RewardData;
import emu.grasscutter.database.DatabaseHelper; import emu.grasscutter.database.DatabaseHelper;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.props.ActionReason; import emu.grasscutter.game.props.ActionReason;

View File

@ -3,10 +3,10 @@ package emu.grasscutter.game.quest;
import dev.morphia.annotations.Entity; import dev.morphia.annotations.Entity;
import dev.morphia.annotations.Transient; import dev.morphia.annotations.Transient;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.custom.MainQuestData; import emu.grasscutter.data.binout.MainQuestData;
import emu.grasscutter.data.custom.MainQuestData.SubQuestData; import emu.grasscutter.data.binout.MainQuestData.SubQuestData;
import emu.grasscutter.data.def.QuestData; import emu.grasscutter.data.excels.QuestData;
import emu.grasscutter.data.def.QuestData.QuestCondition; import emu.grasscutter.data.excels.QuestData.QuestCondition;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.quest.enums.LogicType; import emu.grasscutter.game.quest.enums.LogicType;
import emu.grasscutter.game.quest.enums.QuestState; import emu.grasscutter.game.quest.enums.QuestState;

View File

@ -9,8 +9,8 @@ import java.util.function.Consumer;
import java.util.function.Function; import java.util.function.Function;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.def.QuestData; import emu.grasscutter.data.excels.QuestData;
import emu.grasscutter.data.def.QuestData.QuestCondition; import emu.grasscutter.data.excels.QuestData.QuestCondition;
import emu.grasscutter.database.DatabaseHelper; import emu.grasscutter.database.DatabaseHelper;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.quest.enums.QuestTrigger; import emu.grasscutter.game.quest.enums.QuestTrigger;

View File

@ -5,7 +5,7 @@ import java.util.Set;
import org.reflections.Reflections; import org.reflections.Reflections;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.data.def.QuestData.QuestCondition; import emu.grasscutter.data.excels.QuestData.QuestCondition;
import emu.grasscutter.game.quest.handlers.QuestBaseHandler; import emu.grasscutter.game.quest.handlers.QuestBaseHandler;
import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;

View File

@ -1,7 +1,7 @@
package emu.grasscutter.game.quest.conditions; package emu.grasscutter.game.quest.conditions;
import emu.grasscutter.data.def.QuestData.QuestCondition;
import emu.grasscutter.game.quest.QuestValue; import emu.grasscutter.game.quest.QuestValue;
import emu.grasscutter.data.excels.QuestData.QuestCondition;
import emu.grasscutter.game.quest.GameQuest; import emu.grasscutter.game.quest.GameQuest;
import emu.grasscutter.game.quest.enums.QuestTrigger; import emu.grasscutter.game.quest.enums.QuestTrigger;
import emu.grasscutter.game.quest.handlers.QuestBaseHandler; import emu.grasscutter.game.quest.handlers.QuestBaseHandler;

View File

@ -1,7 +1,7 @@
package emu.grasscutter.game.quest.conditions; package emu.grasscutter.game.quest.conditions;
import emu.grasscutter.data.def.QuestData.QuestCondition;
import emu.grasscutter.game.quest.QuestValue; import emu.grasscutter.game.quest.QuestValue;
import emu.grasscutter.data.excels.QuestData.QuestCondition;
import emu.grasscutter.game.quest.GameQuest; import emu.grasscutter.game.quest.GameQuest;
import emu.grasscutter.game.quest.enums.QuestTrigger; import emu.grasscutter.game.quest.enums.QuestTrigger;
import emu.grasscutter.game.quest.handlers.QuestBaseHandler; import emu.grasscutter.game.quest.handlers.QuestBaseHandler;

View File

@ -1,7 +1,7 @@
package emu.grasscutter.game.quest.conditions; package emu.grasscutter.game.quest.conditions;
import emu.grasscutter.data.def.QuestData.QuestCondition;
import emu.grasscutter.game.quest.QuestValue; import emu.grasscutter.game.quest.QuestValue;
import emu.grasscutter.data.excels.QuestData.QuestCondition;
import emu.grasscutter.game.quest.GameQuest; import emu.grasscutter.game.quest.GameQuest;
import emu.grasscutter.game.quest.enums.QuestTrigger; import emu.grasscutter.game.quest.enums.QuestTrigger;
import emu.grasscutter.game.quest.handlers.QuestBaseHandler; import emu.grasscutter.game.quest.handlers.QuestBaseHandler;

Some files were not shown because too many files have changed in this diff Show More