|
1 | 1 | package org.modsauce.otyacraftenginerenewed.fabric; |
2 | 2 |
|
| 3 | +import dev.architectury.registry.registries.DeferredRegister; |
| 4 | +import dev.architectury.registry.registries.RegistrySupplier; |
| 5 | +import net.minecraft.advancements.CriterionTrigger; |
| 6 | +import net.minecraft.core.registries.Registries; |
3 | 7 | import org.modsauce.otyacraftenginerenewed.OtyacraftEngine; |
| 8 | +import org.modsauce.otyacraftenginerenewed.advancement.ModInvolvementTrigger; |
| 9 | +import org.modsauce.otyacraftenginerenewed.advancement.OECriteriaTriggers; |
4 | 10 | import net.fabricmc.api.ModInitializer; |
5 | 11 |
|
6 | 12 | public class OtyacraftEngineFabric implements ModInitializer { |
| 13 | + // Create a DeferredRegister for criteria triggers |
| 14 | + public static final DeferredRegister<CriterionTrigger<?>> CRITERIA_TRIGGERS = |
| 15 | + DeferredRegister.create(OtyacraftEngine.MODID, Registries.TRIGGER_TYPE); |
| 16 | + |
| 17 | + // Register the trigger |
| 18 | + public static final RegistrySupplier<ModInvolvementTrigger> MOD_INVOLVEMENT_TRIGGER = |
| 19 | + CRITERIA_TRIGGERS.register("mod_involvement", ModInvolvementTrigger::new); |
| 20 | + |
7 | 21 | @Override |
8 | 22 | public void onInitialize() { |
| 23 | + // Register criteria triggers FIRST |
| 24 | + CRITERIA_TRIGGERS.register(); |
| 25 | + |
| 26 | + // Set the trigger instance so common code can access it |
| 27 | + OECriteriaTriggers.setModInvolvementTrigger(MOD_INVOLVEMENT_TRIGGER.get()); |
| 28 | + |
| 29 | + // Initialize common criteria triggers |
| 30 | + OECriteriaTriggers.init(); |
| 31 | + |
| 32 | + // Initialize the rest of the mod |
9 | 33 | OtyacraftEngine.init(); |
10 | 34 | } |
11 | 35 | } |
0 commit comments