mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-22 11:54:39 +01:00
43 lines
1.6 KiB
Java
43 lines
1.6 KiB
Java
package emu.grasscutter.game.expedition;
|
|
|
|
import emu.grasscutter.Grasscutter;
|
|
import emu.grasscutter.data.DataLoader;
|
|
import emu.grasscutter.server.game.BaseGameSystem;
|
|
import emu.grasscutter.server.game.GameServer;
|
|
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
|
|
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
|
|
import java.util.List;
|
|
|
|
public class ExpeditionSystem extends BaseGameSystem {
|
|
private final Int2ObjectMap<List<ExpeditionRewardDataList>> expeditionRewardData;
|
|
|
|
public ExpeditionSystem(GameServer server) {
|
|
super(server);
|
|
this.expeditionRewardData = new Int2ObjectOpenHashMap<>();
|
|
this.load();
|
|
}
|
|
|
|
public Int2ObjectMap<List<ExpeditionRewardDataList>> getExpeditionRewardDataList() {
|
|
return expeditionRewardData;
|
|
}
|
|
|
|
public synchronized void load() {
|
|
getExpeditionRewardDataList().clear();
|
|
try {
|
|
List<ExpeditionRewardInfo> banners =
|
|
DataLoader.loadList("ExpeditionReward.json", ExpeditionRewardInfo.class);
|
|
if (banners.size() > 0) {
|
|
for (ExpeditionRewardInfo di : banners) {
|
|
getExpeditionRewardDataList().put(di.getExpId(), di.getExpeditionRewardDataList());
|
|
}
|
|
Grasscutter.getLogger().debug("Expedition reward successfully loaded.");
|
|
} else {
|
|
Grasscutter.getLogger()
|
|
.error("Unable to load expedition reward. Expedition reward size is 0.");
|
|
}
|
|
} catch (Exception e) {
|
|
Grasscutter.getLogger().error("Unable to load expedition reward.", e);
|
|
}
|
|
}
|
|
}
|