mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-17 09:25:06 +01:00
Add Support of Item Combine (#513)
* Add Support of Item Combine * Add Support of Item Combine Co-authored-by: Melledy <52122272+Melledy@users.noreply.github.com>
This commit is contained in:
@@ -66,8 +66,9 @@ public class GameData {
|
||||
private static final Int2ObjectMap<DailyDungeonData> dailyDungeonDataMap = new Int2ObjectOpenHashMap<>();
|
||||
private static final Int2ObjectMap<DungeonData> dungeonDataMap = new Int2ObjectOpenHashMap<>();
|
||||
private static final Int2ObjectMap<ShopGoodsData> shopGoodsDataMap = new Int2ObjectOpenHashMap<>();
|
||||
private static final Int2ObjectMap<CombineData> combineDataMap = new Int2ObjectOpenHashMap<>();
|
||||
private static final Int2ObjectMap<RewardPreviewData> rewardPreviewDataMap = new Int2ObjectOpenHashMap<>();
|
||||
|
||||
|
||||
// Cache
|
||||
private static Map<Integer, List<Integer>> fetters = new HashMap<>();
|
||||
private static Map<Integer, List<ShopGoodsData>> shopGoods = new HashMap<>();
|
||||
@@ -301,9 +302,6 @@ public class GameData {
|
||||
return shopGoods;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the rewardpreviewdatamap
|
||||
*/
|
||||
public static Int2ObjectMap<RewardPreviewData> getRewardPreviewDataMap() {
|
||||
return rewardPreviewDataMap;
|
||||
}
|
||||
@@ -311,4 +309,8 @@ public class GameData {
|
||||
public static IntList getScenePointIdList() {
|
||||
return scenePointIdList;
|
||||
}
|
||||
|
||||
public static Int2ObjectMap<CombineData> getCombineDataMap() {
|
||||
return combineDataMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,173 @@
|
||||
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 {
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user