diff --git a/sources/src/main/java/io/akarin/server/mixin/lighting/MixinChunk.java b/sources/src/main/java/io/akarin/server/mixin/lighting/MixinChunk.java index 3d9761279..2a6b9f43c 100644 --- a/sources/src/main/java/io/akarin/server/mixin/lighting/MixinChunk.java +++ b/sources/src/main/java/io/akarin/server/mixin/lighting/MixinChunk.java @@ -34,7 +34,6 @@ import java.util.concurrent.atomic.AtomicInteger; import javax.annotation.Nullable; -import org.bukkit.Bukkit; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -204,7 +203,7 @@ public abstract class MixinChunk implements IMixinChunk { } } - // this.isGapLightingUpdated = false; + this.isGapLightingUpdated = false; // TODO } } diff --git a/sources/src/main/java/io/akarin/server/mixin/lighting/MixinWorld.java b/sources/src/main/java/io/akarin/server/mixin/lighting/MixinWorld.java index decc32f5e..66c2854ac 100644 --- a/sources/src/main/java/io/akarin/server/mixin/lighting/MixinWorld.java +++ b/sources/src/main/java/io/akarin/server/mixin/lighting/MixinWorld.java @@ -28,6 +28,7 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import net.minecraft.server.BlockPosition; +import net.minecraft.server.Chunk; import net.minecraft.server.EnumSkyBlock; import net.minecraft.server.IChunkProvider; import net.minecraft.server.MinecraftServer; @@ -42,4 +43,5 @@ public abstract class MixinWorld { @Shadow public abstract MinecraftServer getMinecraftServer(); @Shadow public abstract boolean areChunksLoaded(BlockPosition center, int radius, boolean allowEmpty); @Shadow(aliases = "m") public abstract void notifyLightSet(BlockPosition pos); + @Shadow public abstract Chunk getChunkIfLoaded(int x, int z); } diff --git a/sources/src/main/java/io/akarin/server/mixin/lighting/MixinWorldServer.java b/sources/src/main/java/io/akarin/server/mixin/lighting/MixinWorldServer.java index 4751a6fce..ecbca35cd 100644 --- a/sources/src/main/java/io/akarin/server/mixin/lighting/MixinWorldServer.java +++ b/sources/src/main/java/io/akarin/server/mixin/lighting/MixinWorldServer.java @@ -42,6 +42,7 @@ import net.minecraft.server.EnumDirection; import net.minecraft.server.EnumSkyBlock; import net.minecraft.server.IBlockData; import net.minecraft.server.MCUtil; +import net.minecraft.server.MathHelper; import net.minecraft.server.WorldServer; import net.minecraft.server.BlockPosition.PooledBlockPosition; @@ -97,7 +98,7 @@ public abstract class MixinWorldServer extends MixinWorld implements IMixinWorld this.setLightForAsync(lightType, blockpos, 0, currentChunk, neighbors); // Sponge - use thread safe method if (l2 > 0) { - int j3 = Math.abs(i2 - i1); // TODO MathHelper + int j3 = MathHelper.a(i2 - i1); // TODO MathHelper int k3 = Math.abs(j2 - j1); int l3 = Math.abs(k2 - k1); @@ -188,7 +189,6 @@ public abstract class MixinWorldServer extends MixinWorld implements IMixinWorld final IMixinChunk neighbor = (IMixinChunk) neighborChunk; neighbor.getPendingLightUpdates().decrementAndGet(); } - // Sponge end return true; }