From acc5caebf0763915d216fb35f6e37b9ad3b7f3ff Mon Sep 17 00:00:00 2001 From: SHsuperCM Date: Sat, 26 Mar 2022 11:03:40 +0300 Subject: Implemented fallback behavior and fixed weight bug --- src/main/java/shcm/shsupercm/fabric/citresewn/cit/ActiveCITs.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/main/java/shcm/shsupercm/fabric/citresewn/cit/ActiveCITs.java') diff --git a/src/main/java/shcm/shsupercm/fabric/citresewn/cit/ActiveCITs.java b/src/main/java/shcm/shsupercm/fabric/citresewn/cit/ActiveCITs.java index 82f341f..379c94d 100644 --- a/src/main/java/shcm/shsupercm/fabric/citresewn/cit/ActiveCITs.java +++ b/src/main/java/shcm/shsupercm/fabric/citresewn/cit/ActiveCITs.java @@ -5,6 +5,7 @@ import net.minecraft.resource.ResourceManager; import net.minecraft.util.profiler.Profiler; import shcm.shsupercm.fabric.citresewn.api.CITDisposable; import shcm.shsupercm.fabric.citresewn.api.CITTypeContainer; +import shcm.shsupercm.fabric.citresewn.cit.builtin.conditions.core.*; import shcm.shsupercm.fabric.citresewn.config.CITResewnConfig; import shcm.shsupercm.fabric.citresewn.pack.GlobalProperties; import shcm.shsupercm.fabric.citresewn.pack.PackParser; @@ -87,10 +88,15 @@ public class ActiveCITs { private ActiveCITs() {} profiler.swap("citresewn:load_cits"); List> cits = PackParser.parseCITs(resourceManager); + + FallbackCondition.apply(cits); + for (CIT cit : cits) active.cits.computeIfAbsent(cit.type.getClass(), type -> new ArrayList<>()).add(cit); + for (Map.Entry, List>> entry : active.cits.entrySet()) { - entry.getValue().sort(Comparator.>comparingInt(cit -> cit.weight).reversed().thenComparing(cit -> cit.propertiesIdentifier.toString())); + WeightCondition.apply(entry.getValue()); + for (CITTypeContainer typeContainer : CITRegistry.TYPES.values()) if (typeContainer.type == entry.getKey()) { typeContainer.loadUntyped(entry.getValue()); -- cgit