mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-17 09:25:06 +01:00
Move chest rewards to new data format
This commit is contained in:
@@ -2,8 +2,11 @@ package emu.grasscutter.game.world;
|
||||
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import emu.grasscutter.Grasscutter;
|
||||
import emu.grasscutter.data.DataLoader;
|
||||
import emu.grasscutter.server.game.GameServer;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.util.HashMap;
|
||||
@@ -23,13 +26,13 @@ public class WorldDataManager {
|
||||
}
|
||||
|
||||
public synchronized void load(){
|
||||
try {
|
||||
try(InputStream is = DataLoader.load("ChestReward.json", false); InputStreamReader isr = new InputStreamReader(is)) {
|
||||
List<ChestReward> chestReward = Grasscutter.getGsonFactory().fromJson(
|
||||
Files.readString(Path.of(DATA("ChestReward.json"))),
|
||||
isr,
|
||||
TypeToken.getParameterized(List.class, ChestReward.class).getType());
|
||||
|
||||
chestReward.forEach(reward ->
|
||||
reward.getObjNames().forEach(name -> chestRewardMap.put(name, reward)));
|
||||
|
||||
} catch (Exception e) {
|
||||
Grasscutter.getLogger().error("Unable to load chest reward config.", e);
|
||||
}
|
||||
|
||||
135
src/main/resources/defaults/data/ChestReward.json
Normal file
135
src/main/resources/defaults/data/ChestReward.json
Normal file
@@ -0,0 +1,135 @@
|
||||
[
|
||||
{
|
||||
"objNames" : [
|
||||
"SceneObj_Chest_Default_Lv1",
|
||||
"SceneObj_Chest_Locked_Lv1",
|
||||
"SceneObj_Chest_Bramble_Lv1",
|
||||
"SceneObj_Chest_Frozen_Lv1",
|
||||
"SceneObj_Chest_Rock_Lv1",
|
||||
"SceneObj_EssenceChest_Default_Lv1",
|
||||
"SceneObj_EssenceChest_Locked_Lv1"
|
||||
],
|
||||
"advExp" : 10,
|
||||
"resin" : 0,
|
||||
"mora" : 257,
|
||||
"sigil" : 1,
|
||||
"content" : [
|
||||
{
|
||||
"itemId" : 104011,
|
||||
"count": 3
|
||||
},
|
||||
{
|
||||
"itemId" : 104001,
|
||||
"count": 1
|
||||
}
|
||||
],
|
||||
"randomCount": 4,
|
||||
"randomContent": [
|
||||
{
|
||||
"itemId" : 11101,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"itemId" : 11201,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"itemId" : 12101,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"itemId" : 12201,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"itemId" : 13101,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"itemId" : 13201,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"itemId" : 14101,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"itemId" : 14201,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"itemId" : 15101,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"itemId" : 15201,
|
||||
"count": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objNames" : [
|
||||
"SceneObj_Chest_Default_Lv2",
|
||||
"SceneObj_Chest_Locked_Lv2",
|
||||
"SceneObj_Chest_Bramble_Lv2",
|
||||
"SceneObj_Chest_Frozen_Lv2"
|
||||
],
|
||||
"advExp" : 20,
|
||||
"resin" : 2,
|
||||
"mora" : 756,
|
||||
"sigil" : 2,
|
||||
"content" : [
|
||||
{
|
||||
"itemId" : 104012,
|
||||
"count": 3
|
||||
},
|
||||
{
|
||||
"itemId" : 104002,
|
||||
"count": 1
|
||||
}
|
||||
],
|
||||
"randomCount": 4,
|
||||
"randomContent": [
|
||||
{
|
||||
"itemId" : 11201,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"itemId" : 11301,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"itemId" : 12201,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"itemId" : 12301,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"itemId" : 13201,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"itemId" : 13301,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"itemId" : 14201,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"itemId" : 14301,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"itemId" : 15201,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"itemId" : 15301,
|
||||
"count": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user