diff --git a/src/main/java/carpet/settings/ParsedRule.java b/src/main/java/carpet/settings/ParsedRule.java index b0f0073e..13f02aa5 100644 --- a/src/main/java/carpet/settings/ParsedRule.java +++ b/src/main/java/carpet/settings/ParsedRule.java @@ -117,7 +117,7 @@ public final class ParsedRule implements Comparable { if (!value.equals(get())) { this.field.set(null, value); - SettingsManager.notifyRuleChanged(this, stringValue); + SettingsManager.notifyRuleChanged(source, this, stringValue); } } catch (IllegalAccessException e) diff --git a/src/main/java/carpet/settings/SettingsManager.java b/src/main/java/carpet/settings/SettingsManager.java index 9152ff83..5d0cd0b2 100644 --- a/src/main/java/carpet/settings/SettingsManager.java +++ b/src/main/java/carpet/settings/SettingsManager.java @@ -7,6 +7,7 @@ import net.minecraft.server.network.ServerPlayerEntity; import org.apache.commons.lang3.tuple.Pair; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.util.TriConsumer; import java.io.BufferedReader; import java.io.File; @@ -25,7 +26,6 @@ import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.function.BiConsumer; import java.util.stream.Collectors; public class SettingsManager @@ -34,7 +34,7 @@ public class SettingsManager private static Map> rules = new HashMap<>(); public boolean locked; private MinecraftServer server; - private static List, String>> observers = new ArrayList<>(); + private static List, String>> observers = new ArrayList<>(); public SettingsManager(MinecraftServer server) { @@ -53,14 +53,14 @@ public class SettingsManager } } - public static void addRuleObserver(BiConsumer, String> observer) + public static void addRuleObserver(TriConsumer, String> observer) { observers.add(observer); } - static void notifyRuleChanged(ParsedRule rule, String userTypedValue) + static void notifyRuleChanged(ServerCommandSource source, ParsedRule rule, String userTypedValue) { - observers.forEach(observer -> observer.accept(rule, userTypedValue)); + observers.forEach(observer -> observer.accept(source, rule, userTypedValue)); } public static Iterable getCategories() diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 8e65cc90..9673bf12 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -1,7 +1,7 @@ { "schemaVersion": 1, "id": "carpet", - "version": "0.1", + "version": "${version}", "name": "Carpet Mod in Fabric", "description": "Carpet made out of fabric",