1
0
Fork 0
minecraft-tweaks-2a03/src/main/java/party/_2a03/mc/mixin/MixinGameMode.java

33 lines
955 B
Java

package party._2a03.mc.mixin;
import net.minecraft.entity.player.PlayerAbilities;
import net.minecraft.world.GameMode;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import party._2a03.mc.util.Config;
@Mixin(GameMode.class)
public class MixinGameMode {
private boolean flying;
@Inject(method = "setAbilities", at = @At("HEAD"))
public void checkFlight(PlayerAbilities abilities, CallbackInfo ci) {
this.flying = abilities.flying;
}
@Inject(method = "setAbilities", at = @At("TAIL"))
public void restoreFlight(PlayerAbilities abilities, CallbackInfo ci) {
if (!Config.getBool("persistentFlight"))
return;
if (abilities.flying)
return;
if (this.flying) {
abilities.allowFlying = true;
abilities.flying = true;
}
}
}