27 lines
952 B
Java
27 lines
952 B
Java
package com.alpt.maybeefix.mixin;
|
|
|
|
import net.minecraft.world.World;
|
|
import net.minecraft.world.dimension.DimensionType;
|
|
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.CallbackInfoReturnable;
|
|
|
|
@Mixin(World.class)
|
|
public abstract class WorldMixin {
|
|
@Shadow
|
|
public abstract DimensionType getDimension();
|
|
|
|
// 尝试修复 MC-168329
|
|
// 根据 https://github.com/Lupicus/BeeFix/blob/master/src/main/resources/asm/Level.js 找到问题来源
|
|
// 不过我觉得 hook isRaining 会更香草一点
|
|
|
|
@Inject(method = "isRaining", at = @At("HEAD"), cancellable = true)
|
|
protected void notRainInTheEnd(CallbackInfoReturnable<Boolean> cir) {
|
|
if (!getDimension().hasSkyLight()) {
|
|
cir.setReturnValue(false);
|
|
}
|
|
}
|
|
}
|