From d4c8d0b7328c4e9cfb38ed33ac2677a14d406f7f Mon Sep 17 00:00:00 2001 From: zontreck Date: Mon, 1 Apr 2024 17:57:27 -0700 Subject: [PATCH] Attempt to patch Flight sometimes randomly deactivating. --- gradle.properties | 2 +- .../enchantments/EnchantmentEvents.java | 22 ++++++++----------- .../enchantments/FlightEnchantment.java | 2 +- 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/gradle.properties b/gradle.properties index bea5b7c..6d65219 100644 --- a/gradle.properties +++ b/gradle.properties @@ -48,7 +48,7 @@ mod_name=Thresholds # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. mod_license=GPLv3 # The mod version. See https://semver.org/ -mod_version=1201.4.040124.0514 +mod_version=1201.4.040124.1700 # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. # This should match the base package used for the mod sources. # See https://maven.apache.org/guides/mini/guide-naming-conventions.html diff --git a/src/main/java/dev/zontreck/otemod/enchantments/EnchantmentEvents.java b/src/main/java/dev/zontreck/otemod/enchantments/EnchantmentEvents.java index 984dd1a..a6cca87 100644 --- a/src/main/java/dev/zontreck/otemod/enchantments/EnchantmentEvents.java +++ b/src/main/java/dev/zontreck/otemod/enchantments/EnchantmentEvents.java @@ -1,5 +1,6 @@ package dev.zontreck.otemod.enchantments; +import dev.zontreck.libzontreck.util.ServerUtilities; import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerPlayer; import net.minecraftforge.event.TickEvent; @@ -11,30 +12,25 @@ import net.minecraftforge.server.ServerLifecycleHooks; @Mod.EventBusSubscriber public class EnchantmentEvents { - private static boolean canTick = false; + private static int TICKS = 0; @SubscribeEvent public static void onServerTick(TickEvent.ServerTickEvent event) { - if(event.phase == TickEvent.Phase.END) - { - MinecraftServer server = ServerLifecycleHooks.getCurrentServer(); - canTick = server!=null; - } - } + MinecraftServer server = ServerLifecycleHooks.getCurrentServer(); + if(server.getPlayerCount() == 0) return; - @SubscribeEvent - public static void onTick(LivingEvent.LivingTickEvent tick) - { - if(canTick) + if(TICKS >= 20) { - // Process Enchantments - if(tick.getEntity() instanceof ServerPlayer sp) + for(ServerPlayer sp : server.getPlayerList().getPlayers()) { FlightEnchantment.runEntityTick(sp); ConsumptionMending.onEntityTick(sp); NightVisionEnchantment.runEntityTick(sp); } + } + + TICKS++; } } \ No newline at end of file diff --git a/src/main/java/dev/zontreck/otemod/enchantments/FlightEnchantment.java b/src/main/java/dev/zontreck/otemod/enchantments/FlightEnchantment.java index 83cc789..bf5af54 100644 --- a/src/main/java/dev/zontreck/otemod/enchantments/FlightEnchantment.java +++ b/src/main/java/dev/zontreck/otemod/enchantments/FlightEnchantment.java @@ -87,7 +87,7 @@ public class FlightEnchantment extends Enchantment MobEffectInstance inst = new MobEffectInstance(ModEffects.FLIGHT.get(), 60*20, 0, false, false, true); MobEffectInstance existing = sp.getEffect(ModEffects.FLIGHT.get()); - if(existing!= null) + if(existing != null) { if(existing.getDuration() <= (30 * 20)) {