删除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;
}
public static final LoadingCache<String, DamageModifier> damageModifiers = CacheBuilder.newBuilder()
.build(new CacheLoader<>() {
public @NotNull DamageModifier load(@NotNull String id) {
var data = VehicleDataTool.vehicleData.getOrDefault(id, new DefaultVehicleData());
public DamageModifier damageModifier() {
var modifier = new DamageModifier();
if (data.applyDefaultDamageModifiers) {
@ -81,10 +78,4 @@ public class VehicleData {
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) {
vehicleData.clear();
VehicleData.dataCache.invalidateAll();
VehicleData.damageModifiers.invalidateAll();
for (var entry : manager.listResources(VEHICLE_DATA_FOLDER, file -> file.getPath().endsWith(".json")).entrySet()) {
var attribute = entry.getValue();

View file

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