use injections

This commit is contained in:
ImUrX committed 2020-02-08 16:49:39 -03:00
1 parent fe56ab8d3e
commit a83088e685
1 file changed
+11 -2
@@ -5,13 +5,22 @@ import net.minecraft.entity.player.PlayerAbilities;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow; 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) @Mixin(PlayerEntity.class)
public abstract class PlayerEntityMixin { public abstract class PlayerEntityMixin {
@Shadow @Shadow
public PlayerAbilities abilities; public PlayerAbilities abilities;
public int getMaxNetherPortalTime() { @Inject(
return this.abilities.invulnerable ? CarpetSettings.portalCreativeDelay : CarpetSettings.portalSurvivalDelay; method = "getMaxNetherPortalTime()I",
at = @At("HEAD"),
cancellable = true
)
public void onMaxNetherPortalTime(CallbackInfoReturnable<Integer> cir) {
if(CarpetSettings.portalCreativeDelay != 1) cir.setReturnValue(CarpetSettings.portalCreativeDelay);
else if(CarpetSettings.portalSurvivalDelay != 80) cir.setReturnValue(CarpetSettings.portalSurvivalDelay);
} }
} }