From c4cb75eb50feea2d4ab4994bc30b0887e6cdfec4 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Tue, 5 Oct 2021 10:56:51 +0100 Subject: [PATCH] Fixed conditions --- .../reforges/reforges/util/ReforgeLookup.java | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/eco-core/core-plugin/src/main/java/com/willfp/reforges/reforges/util/ReforgeLookup.java b/eco-core/core-plugin/src/main/java/com/willfp/reforges/reforges/util/ReforgeLookup.java index 1aaab8a..e2a4917 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/reforges/reforges/util/ReforgeLookup.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/reforges/reforges/util/ReforgeLookup.java @@ -2,6 +2,7 @@ package com.willfp.reforges.reforges.util; import com.willfp.eco.core.EcoPlugin; import com.willfp.reforges.ReforgesPlugin; +import com.willfp.reforges.conditions.ConfiguredCondition; import com.willfp.reforges.reforges.Reforge; import com.willfp.reforges.reforges.meta.ReforgeTarget; import org.bukkit.entity.Player; @@ -174,12 +175,34 @@ public class ReforgeLookup { } for (Reforge reforge : added) { - reforge.handleActivation(player); + boolean areConditionsMet = true; + for (ConfiguredCondition condition : reforge.getConditions()) { + if (!condition.getCondition().isConditionMet(player, condition.getConfig())) { + areConditionsMet = false; + break; + } + } + if (areConditionsMet) { + reforge.handleActivation(player); + } } for (Reforge reforge : removed) { reforge.handleDeactivation(player); } + + for (Reforge reforge : after) { + boolean areConditionsMet = true; + for (ConfiguredCondition condition : reforge.getConditions()) { + if (!condition.getCondition().isConditionMet(player, condition.getConfig())) { + areConditionsMet = false; + break; + } + } + if (!areConditionsMet) { + reforge.handleDeactivation(player); + } + } }); }