use injections
This commit is contained in:
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user