Move custom stat registration to deferred registrar

This commit is contained in:
DBotThePony 2024-08-27 22:34:20 +07:00
parent d10c7d7829
commit f19949b9d6
Signed by: DBot
GPG Key ID: DCC23B5715498507
2 changed files with 14 additions and 4 deletions

View File

@ -125,6 +125,7 @@ public final class OverdriveThatMatters {
MDataComponentTypes.INSTANCE.register(bus);
MArmorMaterials.INSTANCE.register(bus);
MCriteriaTriggers.INSTANCE.register(bus);
MStats.INSTANCE.register(bus);
StorageStack.Companion.register(bus);
MatteryChestMenu.Companion.register(bus);

View File

@ -1,20 +1,29 @@
package ru.dbotthepony.mc.otm.registry
import net.minecraft.core.Registry
import net.minecraft.core.registries.BuiltInRegistries
import net.minecraft.stats.StatFormatter
import net.minecraft.stats.Stats
import net.neoforged.bus.api.IEventBus
import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent
import ru.dbotthepony.mc.otm.registry.StatNames.DAMAGE_ABSORBED
import ru.dbotthepony.mc.otm.registry.StatNames.HEALTH_REGENERATED
import ru.dbotthepony.mc.otm.registry.StatNames.POWER_CONSUMED
object MStats {
private val registrar = MDeferredRegister(BuiltInRegistries.CUSTOM_STAT)
fun register(bus: IEventBus) {
registrar.register(bus)
}
init {
registrar.register(DAMAGE_ABSORBED, DAMAGE_ABSORBED)
registrar.register(HEALTH_REGENERATED, HEALTH_REGENERATED)
registrar.register(POWER_CONSUMED, POWER_CONSUMED)
}
fun registerVanilla(event: FMLCommonSetupEvent) {
event.enqueueWork {
Registry.register(BuiltInRegistries.CUSTOM_STAT, DAMAGE_ABSORBED, DAMAGE_ABSORBED)
Registry.register(BuiltInRegistries.CUSTOM_STAT, HEALTH_REGENERATED, HEALTH_REGENERATED)
Registry.register(BuiltInRegistries.CUSTOM_STAT, POWER_CONSUMED, POWER_CONSUMED)
Stats.CUSTOM[DAMAGE_ABSORBED, StatFormatter.DIVIDE_BY_TEN]
Stats.CUSTOM[HEALTH_REGENERATED, StatFormatter.DIVIDE_BY_TEN]
Stats.CUSTOM[POWER_CONSUMED, StatFormatter.DIVIDE_BY_TEN]