GetBlocks should default to air not reserved

This commit is contained in:
dordsor21 2020-07-02 18:16:15 +01:00
parent b58877a57b
commit 18c9da372c
No known key found for this signature in database
GPG Key ID: 1E53E88969FFCF0B
4 changed files with 22 additions and 5 deletions

View File

@ -563,10 +563,13 @@ public class BukkitGetBlocks_1_14 extends CharGetBlocks {
ChunkSection section = getSections()[layer];
// Section is null, return empty array
if (section == null) {
return FaweCache.IMP.EMPTY_CHAR_4096;
data = new char[4096];
Arrays.fill(data, (char) 1);
return data;
}
if (data == null || data == FaweCache.IMP.EMPTY_CHAR_4096) {
data = new char[4096];
Arrays.fill(data, (char) 1);
}
DelegateLock lock = BukkitAdapter_1_14.applyLock(section);
synchronized (lock) {

View File

@ -581,10 +581,13 @@ public class BukkitGetBlocks_1_15_2 extends CharGetBlocks {
ChunkSection section = getSections()[layer];
// Section is null, return empty array
if (section == null) {
return FaweCache.IMP.EMPTY_CHAR_4096;
data = new char[4096];
Arrays.fill(data, (char) 1);
return data;
}
if (data == null || data == FaweCache.IMP.EMPTY_CHAR_4096) {
data = new char[4096];
Arrays.fill(data, (char) 1);
}
DelegateLock lock = BukkitAdapter_1_15_2.applyLock(section);
synchronized (lock) {

View File

@ -552,10 +552,13 @@ public class BukkitGetBlocks_1_16_1 extends CharGetBlocks {
ChunkSection section = getSections()[layer];
// Section is null, return empty array
if (section == null) {
return FaweCache.IMP.EMPTY_CHAR_4096;
data = new char[4096];
Arrays.fill(data, (char) 1);
return data;
}
if (data == null || data == FaweCache.IMP.EMPTY_CHAR_4096) {
data = new char[4096];
Arrays.fill(data, (char) 1);
}
DelegateLock lock = BukkitAdapter_1_16_1.applyLock(section);
synchronized (lock) {

View File

@ -2,12 +2,12 @@ package com.boydti.fawe.beta.implementation.blocks;
import com.boydti.fawe.beta.IChunkGet;
import com.boydti.fawe.beta.IChunkSet;
import com.sk89q.worldedit.extent.Extent;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockState;
import com.sk89q.worldedit.world.block.BlockTypes;
import com.sk89q.worldedit.world.block.BlockTypesCache;
import java.util.Arrays;
public abstract class CharGetBlocks extends CharBlocks implements IChunkGet {
@Override
@ -25,6 +25,14 @@ public abstract class CharGetBlocks extends CharBlocks implements IChunkGet {
return true;
}
public char[] update(int layer, char[] data) {
if (data == null) {
return new char[4096];
}
Arrays.fill(data, (char) 1);
return data;
}
@Override
public boolean trim(boolean aggressive, int layer) {
sections[layer] = EMPTY;