为载具和枪械ID读取添加兜底
This commit is contained in:
parent
db692df419
commit
bca8ba3fce
2 changed files with 25 additions and 6 deletions
|
@ -1,7 +1,6 @@
|
|||
package com.atsuishio.superbwarfare.data.vehicle;
|
||||
|
||||
import com.atsuishio.superbwarfare.Mod;
|
||||
import com.atsuishio.superbwarfare.network.message.receive.GunsDataMessage;
|
||||
import com.atsuishio.superbwarfare.network.message.receive.VehiclesDataMessage;
|
||||
import com.google.gson.Gson;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
|
@ -33,8 +32,17 @@ public class VehicleDataTool {
|
|||
Gson gson = new Gson();
|
||||
var data = gson.fromJson(new InputStreamReader(attribute.open()), DefaultVehicleData.class);
|
||||
|
||||
if (!vehicleData.containsKey(data.id)) {
|
||||
vehicleData.put(data.id, data);
|
||||
String id;
|
||||
if (!data.id.isEmpty()) {
|
||||
id = data.id;
|
||||
} else {
|
||||
var path = entry.getKey().getPath();
|
||||
id = Mod.MODID + ":" + path.substring(VEHICLE_DATA_FOLDER.length() + 1, path.length() - VEHICLE_DATA_FOLDER.length() - 1);
|
||||
Mod.LOGGER.warn("Vehicle ID for {} is empty, try using {} as id", id, path);
|
||||
}
|
||||
|
||||
if (!vehicleData.containsKey(id)) {
|
||||
vehicleData.put(id, data);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
Mod.LOGGER.error(e.getMessage());
|
||||
|
|
|
@ -25,6 +25,8 @@ public class GunsTool {
|
|||
|
||||
public static HashMap<String, DefaultGunData> gunsData = new HashMap<>();
|
||||
|
||||
public static final String GUN_DATA_FOLDER = "guns";
|
||||
|
||||
/**
|
||||
* 初始化数据,从data中读取数据json文件
|
||||
*/
|
||||
|
@ -32,15 +34,24 @@ public class GunsTool {
|
|||
gunsData.clear();
|
||||
GunData.dataCache.invalidateAll();
|
||||
|
||||
for (var entry : manager.listResources("guns", file -> file.getPath().endsWith(".json")).entrySet()) {
|
||||
for (var entry : manager.listResources(GUN_DATA_FOLDER, file -> file.getPath().endsWith(".json")).entrySet()) {
|
||||
var attribute = entry.getValue();
|
||||
|
||||
try {
|
||||
Gson gson = new Gson();
|
||||
var data = gson.fromJson(new InputStreamReader(attribute.open()), DefaultGunData.class);
|
||||
|
||||
if (!gunsData.containsKey(data.id)) {
|
||||
gunsData.put(data.id, data);
|
||||
String id;
|
||||
if (!data.id.trim().isEmpty()) {
|
||||
id = data.id;
|
||||
} else {
|
||||
var path = entry.getKey().getPath();
|
||||
id = Mod.MODID + ":" + path.substring(GUN_DATA_FOLDER.length() + 1, path.length() - GUN_DATA_FOLDER.length() - 1);
|
||||
Mod.LOGGER.warn("Gun ID for {} is empty, try using {} as id", path, id);
|
||||
}
|
||||
|
||||
if (!gunsData.containsKey(id)) {
|
||||
gunsData.put(id, data);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
Mod.LOGGER.error(e.getMessage());
|
||||
|
|
Loading…
Add table
Reference in a new issue