Add default implementation for ExtendedWorld in Level

This should hopefully help mod compatibility with mods that
implement their own Levels.

Fixes https://github.com/PaperMC/Starlight/issues/187
This commit is contained in:
Spottedleaf
2023-10-16 07:01:11 -07:00
parent 3a2a5dcc05
commit 8f88b1bea1

View File

@@ -3,7 +3,21 @@ package ca.spottedleaf.moonrise.mixin.starlight.world;
import ca.spottedleaf.moonrise.patches.starlight.world.StarlightWorld;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.LevelAccessor;
import net.minecraft.world.level.chunk.ChunkAccess;
import net.minecraft.world.level.chunk.ChunkStatus;
import net.minecraft.world.level.chunk.LevelChunk;
import org.spongepowered.asm.mixin.Mixin;
@Mixin(Level.class)
public abstract class LevelMixin implements LevelAccessor, AutoCloseable, StarlightWorld {}
public abstract class LevelMixin implements LevelAccessor, AutoCloseable, StarlightWorld {
@Override
public LevelChunk getChunkAtImmediately(final int chunkX, final int chunkZ) {
return this.getChunkSource().getChunk(chunkX, chunkZ, false);
}
@Override
public ChunkAccess getAnyChunkImmediately(final int chunkX, final int chunkZ) {
return this.getChunkSource().getChunk(chunkX, chunkX, ChunkStatus.EMPTY, false);
}
}