Fix null handling in getLoadedChunkAsync for paper/spigot 1.21.3/1.21.4
This commit is contained in:
parent
9e5e65bc8c
commit
c785bd7430
2 changed files with 10 additions and 16 deletions
|
|
@ -38,18 +38,15 @@ public class MapChunkCache121_3 extends GenericMapChunkCache {
|
|||
|
||||
@Override
|
||||
protected Supplier<GenericChunk> getLoadedChunkAsync(DynmapChunk chunk) {
|
||||
CompletableFuture<SerializableChunkData> chunkData = CompletableFuture.supplyAsync(() -> {
|
||||
CompletableFuture<Optional<SerializableChunkData>> chunkData = CompletableFuture.supplyAsync(() -> {
|
||||
CraftWorld cw = (CraftWorld) w;
|
||||
Chunk c = cw.getHandle().getChunkIfLoaded(chunk.x, chunk.z);
|
||||
if (c == null || !c.q) { //!c.loaded
|
||||
return null;
|
||||
if (c == null || !c.q) { // !c.loaded
|
||||
return Optional.empty();
|
||||
}
|
||||
return SerializableChunkData.a(cw.getHandle(), c); //SerializableChunkData.copyOf
|
||||
return Optional.of(SerializableChunkData.a(cw.getHandle(), c)); // SerializableChunkData.copyOf
|
||||
}, ((CraftServer) Bukkit.getServer()).getServer());
|
||||
return () -> {
|
||||
NBTTagCompound nbt = chunkData.join().a(); // SerializableChunkData.write
|
||||
return parseChunkFromNBT(new NBT.NBTCompound(nbt));
|
||||
};
|
||||
return () -> chunkData.join().map(SerializableChunkData::a).map(NBT.NBTCompound::new).map(this::parseChunkFromNBT).orElse(null); // SerializableChunkData::write
|
||||
}
|
||||
|
||||
protected GenericChunk getLoadedChunk(DynmapChunk chunk) {
|
||||
|
|
|
|||
|
|
@ -38,18 +38,15 @@ public class MapChunkCache121_4 extends GenericMapChunkCache {
|
|||
|
||||
@Override
|
||||
protected Supplier<GenericChunk> getLoadedChunkAsync(DynmapChunk chunk) {
|
||||
CompletableFuture<SerializableChunkData> chunkData = CompletableFuture.supplyAsync(() -> {
|
||||
CompletableFuture<Optional<SerializableChunkData>> chunkData = CompletableFuture.supplyAsync(() -> {
|
||||
CraftWorld cw = (CraftWorld) w;
|
||||
Chunk c = cw.getHandle().getChunkIfLoaded(chunk.x, chunk.z);
|
||||
if (c == null || !c.q) { //!c.loaded
|
||||
return null;
|
||||
if (c == null || !c.q) { // !c.loaded
|
||||
return Optional.empty();
|
||||
}
|
||||
return SerializableChunkData.a(cw.getHandle(), c); //SerializableChunkData.copyOf
|
||||
return Optional.of(SerializableChunkData.a(cw.getHandle(), c)); // SerializableChunkData.copyOf
|
||||
}, ((CraftServer) Bukkit.getServer()).getServer());
|
||||
return () -> {
|
||||
NBTTagCompound nbt = chunkData.join().a(); // SerializableChunkData.write
|
||||
return parseChunkFromNBT(new NBT.NBTCompound(nbt));
|
||||
};
|
||||
return () -> chunkData.join().map(SerializableChunkData::a).map(NBT.NBTCompound::new).map(this::parseChunkFromNBT).orElse(null); // SerializableChunkData::write
|
||||
}
|
||||
|
||||
protected GenericChunk getLoadedChunk(DynmapChunk chunk) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue