From a83088e685d03da0b6b456cacbeedd91f7c62ee5 Mon Sep 17 00:00:00 2001 From: ImUrX Date: Sat, 8 Feb 2020 16:49:39 -0300 Subject: [PATCH] use injections --- src/main/java/carpet/mixins/PlayerEntityMixin.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/carpet/mixins/PlayerEntityMixin.java b/src/main/java/carpet/mixins/PlayerEntityMixin.java index e8a3292d..698ffd5c 100644 --- a/src/main/java/carpet/mixins/PlayerEntityMixin.java +++ b/src/main/java/carpet/mixins/PlayerEntityMixin.java @@ -5,13 +5,22 @@ import net.minecraft.entity.player.PlayerAbilities; import net.minecraft.entity.player.PlayerEntity; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; +import org.spongepowered.asm.mixin.injection.At; @Mixin(PlayerEntity.class) public abstract class PlayerEntityMixin { @Shadow public PlayerAbilities abilities; - public int getMaxNetherPortalTime() { - return this.abilities.invulnerable ? CarpetSettings.portalCreativeDelay : CarpetSettings.portalSurvivalDelay; + @Inject( + method = "getMaxNetherPortalTime()I", + at = @At("HEAD"), + cancellable = true + ) + public void onMaxNetherPortalTime(CallbackInfoReturnable cir) { + if(CarpetSettings.portalCreativeDelay != 1) cir.setReturnValue(CarpetSettings.portalCreativeDelay); + else if(CarpetSettings.portalSurvivalDelay != 80) cir.setReturnValue(CarpetSettings.portalSurvivalDelay); } }