Use PlayerTickEvent

This commit is contained in:
DBotThePony 2022-09-15 15:44:04 +07:00
parent 3235fcdc73
commit c47b9c52fe
Signed by: DBot
GPG Key ID: DCC23B5715498507
2 changed files with 8 additions and 4 deletions

View File

@ -101,7 +101,7 @@ public final class OverdriveThatMatters {
EVENT_BUS.addListener(EventPriority.LOWEST, GlobalEventHandlerKt::onWorldTick);
EVENT_BUS.addListener(EventPriority.LOWEST, GlobalEventHandlerKt::onServerTick);
EVENT_BUS.addListener(EventPriority.NORMAL, MatteryPlayerCapability.Companion::onLivingTick);
EVENT_BUS.addListener(EventPriority.NORMAL, MatteryPlayerCapability.Companion::onPlayerTick);
EVENT_BUS.addListener(EventPriority.NORMAL, MatteryPlayerCapability.Companion::onHurtEvent);
EVENT_BUS.addGenericListener(Entity.class, EventPriority.NORMAL, MatteryPlayerCapability.Companion::onAttachCapabilityEvent);
EVENT_BUS.addListener(EventPriority.NORMAL, MatteryPlayerCapability.Companion::onPlayerChangeDimensionEvent);

View File

@ -24,9 +24,10 @@ import net.minecraftforge.common.capabilities.ICapabilityProvider
import net.minecraftforge.common.util.INBTSerializable
import net.minecraftforge.common.util.LazyOptional
import net.minecraftforge.event.AttachCapabilitiesEvent
import net.minecraftforge.event.TickEvent
import net.minecraftforge.event.TickEvent.PlayerTickEvent
import net.minecraftforge.event.entity.living.LivingDeathEvent
import net.minecraftforge.event.entity.living.LivingDropsEvent
import net.minecraftforge.event.entity.living.LivingEvent.LivingTickEvent
import net.minecraftforge.event.entity.living.LivingHurtEvent
import net.minecraftforge.event.entity.player.EntityItemPickupEvent
import net.minecraftforge.event.entity.player.PlayerEvent
@ -664,8 +665,11 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial
UNAFFECTED_EFFECTS.add(MobEffects.DOLPHINS_GRACE)
}
fun onLivingTick(event: LivingTickEvent) {
val ent = event.entity
fun onPlayerTick(event: PlayerTickEvent) {
if (event.phase == TickEvent.Phase.START)
return
val ent = event.player
if (ent.level.isClientSide) {
ent.getCapability(MatteryCapability.MATTERY_PLAYER).ifPresentK {