删除damage modifier的缓存

This commit is contained in:
17146 2025-05-24 20:52:40 +08:00 committed by Light_Quanta
parent 5a31860b59
commit 1cf17468c3
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
3 changed files with 24 additions and 28 deletions

View file

@ -62,10 +62,7 @@ public class VehicleData {
return data.mass; return data.mass;
} }
public static final LoadingCache<String, DamageModifier> damageModifiers = CacheBuilder.newBuilder() public DamageModifier damageModifier() {
.build(new CacheLoader<>() {
public @NotNull DamageModifier load(@NotNull String id) {
var data = VehicleDataTool.vehicleData.getOrDefault(id, new DefaultVehicleData());
var modifier = new DamageModifier(); var modifier = new DamageModifier();
if (data.applyDefaultDamageModifiers) { if (data.applyDefaultDamageModifiers) {
@ -81,10 +78,4 @@ public class VehicleData {
return modifier.addAll(data.damageModifiers); return modifier.addAll(data.damageModifiers);
} }
});
public DamageModifier damageModifier() {
return damageModifiers.getUnchecked(id);
}
} }

View file

@ -24,7 +24,6 @@ public class VehicleDataTool {
public static void initJsonData(ResourceManager manager) { public static void initJsonData(ResourceManager manager) {
vehicleData.clear(); vehicleData.clear();
VehicleData.dataCache.invalidateAll(); VehicleData.dataCache.invalidateAll();
VehicleData.damageModifiers.invalidateAll();
for (var entry : manager.listResources(VEHICLE_DATA_FOLDER, file -> file.getPath().endsWith(".json")).entrySet()) { for (var entry : manager.listResources(VEHICLE_DATA_FOLDER, file -> file.getPath().endsWith(".json")).entrySet()) {
var attribute = entry.getValue(); var attribute = entry.getValue();

View file

@ -58,6 +58,7 @@ public class DamageModifier {
/** /**
* 免疫指定类型的伤害 * 免疫指定类型的伤害
*
* @param entityId 伤害来源实体ID * @param entityId 伤害来源实体ID
*/ */
public DamageModifier immuneTo(String entityId) { public DamageModifier immuneTo(String entityId) {
@ -67,6 +68,7 @@ public class DamageModifier {
/** /**
* 免疫指定类型的伤害 * 免疫指定类型的伤害
*
* @param type 伤害来源实体类型 * @param type 伤害来源实体类型
*/ */
public DamageModifier immuneTo(EntityType<?> type) { public DamageModifier immuneTo(EntityType<?> type) {
@ -118,6 +120,7 @@ public class DamageModifier {
/** /**
* 固定减少指定类型的伤害一定数值 * 固定减少指定类型的伤害一定数值
*
* @param value 要减少的数值 * @param value 要减少的数值
* @param entityId 伤害来源实体ID * @param entityId 伤害来源实体ID
*/ */
@ -128,6 +131,7 @@ public class DamageModifier {
/** /**
* 固定减少指定类型的伤害一定数值 * 固定减少指定类型的伤害一定数值
*
* @param value 要减少的数值 * @param value 要减少的数值
* @param type 伤害来源实体类型 * @param type 伤害来源实体类型
*/ */
@ -180,6 +184,7 @@ public class DamageModifier {
/** /**
* 将指定类型的伤害值乘以指定数值 * 将指定类型的伤害值乘以指定数值
*
* @param value 要乘以的数值 * @param value 要乘以的数值
* @param entityId 伤害来源实体ID * @param entityId 伤害来源实体ID
*/ */
@ -190,6 +195,7 @@ public class DamageModifier {
/** /**
* 将指定类型的伤害值乘以指定数值 * 将指定类型的伤害值乘以指定数值
*
* @param value 要乘以的数值 * @param value 要乘以的数值
* @param type 伤害来源实体类型 * @param type 伤害来源实体类型
*/ */