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