From 68a5bab7041e5814c16916921b5d59abb9d3d31a Mon Sep 17 00:00:00 2001 From: Christian Knaapen Date: Sun, 16 Jan 2022 15:56:09 +0100 Subject: [PATCH] Fixed multiplayer: cache not working. --- build.gradle | 2 +- .../buildmode/ModeSettingsManager.java | 12 ++---------- .../buildmodifier/ModifierSettingsManager.java | 16 ++++------------ 3 files changed, 7 insertions(+), 23 deletions(-) diff --git a/build.gradle b/build.gradle index 1be2a03..29de982 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,7 @@ apply plugin: 'net.minecraftforge.gradle' apply plugin: 'eclipse' apply plugin: 'maven-publish' -version = '1.17.1-2.28' +version = '1.17.1-2.31' group = 'nl.requios.effortlessbuilding' // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = 'effortlessbuilding' diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmode/ModeSettingsManager.java b/src/main/java/nl/requios/effortlessbuilding/buildmode/ModeSettingsManager.java index c929fed..d5a78f5 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmode/ModeSettingsManager.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmode/ModeSettingsManager.java @@ -16,33 +16,25 @@ import javax.annotation.Nonnull; @Mod.EventBusSubscriber public class ModeSettingsManager { - private static ModeSettings cache = null; - //Retrieves the buildsettings of a player through the modeCapability capability //Never returns null @Nonnull public static ModeSettings getModeSettings(Player player) { - if (cache != null) return cache; LazyOptional modeCapability = player.getCapability(ModeCapabilityManager.MODE_CAPABILITY, null); if (modeCapability.isPresent()) { ModeCapabilityManager.IModeCapability capability = modeCapability.orElse(null); - cache = capability.getModeData(); - if (cache == null) { - cache = new ModeSettings(); - capability.setModeData(cache); + if (capability.getModeData() == null){ + capability.setModeData(new ModeSettings()); } - //Add invalidation listener, to invalidate cache - modeCapability.addListener(self -> cache = null); return capability.getModeData(); } EffortlessBuilding.logger.warn("Player does not have modeCapability: " + player); //Return dummy settings return new ModeSettings(); -// throw new IllegalArgumentException("Player does not have modeCapability capability"); } public static void setModeSettings(Player player, ModeSettings modeSettings) { diff --git a/src/main/java/nl/requios/effortlessbuilding/buildmodifier/ModifierSettingsManager.java b/src/main/java/nl/requios/effortlessbuilding/buildmodifier/ModifierSettingsManager.java index bfb55b6..b67e5d7 100644 --- a/src/main/java/nl/requios/effortlessbuilding/buildmodifier/ModifierSettingsManager.java +++ b/src/main/java/nl/requios/effortlessbuilding/buildmodifier/ModifierSettingsManager.java @@ -17,27 +17,19 @@ import javax.annotation.Nonnull; @Mod.EventBusSubscriber public class ModifierSettingsManager { - private static ModifierSettings cache = null; - //Retrieves the buildsettings of a player through the modifierCapability capability //Never returns null @Nonnull public static ModifierSettings getModifierSettings(Player player) { - if (cache != null) return cache; - LazyOptional modifierCapability = - player.getCapability(ModifierCapabilityManager.MODIFIER_CAPABILITY, null); + player.getCapability(ModifierCapabilityManager.MODIFIER_CAPABILITY, null); if (modifierCapability.isPresent()) { ModifierCapabilityManager.IModifierCapability capability = modifierCapability.orElse(null); - cache = capability.getModifierData(); - if (cache == null) { - cache = new ModifierSettings(); - capability.setModifierData(cache); + if (capability.getModifierData() == null){ + capability.setModifierData(new ModifierSettings()); } - //Add invalidation listener, to invalidate cache - modifierCapability.addListener(self -> cache = null); - return cache; + return capability.getModifierData(); } EffortlessBuilding.logger.warn("Player does not have modifierCapability: " + player);