This commit is contained in:
Jesse Boyd 2016-08-28 19:03:42 +10:00
parent c0228054ef
commit 727c1d2e8b

View File

@ -15,6 +15,7 @@ import com.sk89q.jnbt.CompoundTag;
import com.sk89q.jnbt.ListTag;
import com.sk89q.jnbt.StringTag;
import com.sk89q.jnbt.Tag;
import com.sk89q.worldedit.bukkit.adapter.BukkitImplAdapter;
import com.sk89q.worldedit.internal.Constants;
import java.io.File;
import java.lang.reflect.Field;
@ -65,11 +66,25 @@ import org.bukkit.generator.ChunkGenerator;
public class BukkitQueue18R3 extends BukkitQueue_0<Chunk, ChunkSection[], ChunkSection> {
public static Field isDirty;
public BukkitQueue18R3(final String world) {
super(world);
checkVersion("v1_8_R3");
}
@Override
public void setupAdapter(BukkitImplAdapter adapter) {
if (this.adapter == null) {
try {
isDirty = ChunkSection.class.getDeclaredField("isDirty");
isDirty.setAccessible(true);
Fawe.debug("isDirty found");
} catch (Throwable e) {}
}
super.setupAdapter(adapter);
}
@Override
public boolean isChunkLoaded(int x, int z) {
return getWorld().isChunkLoaded(x, z);
@ -351,6 +366,9 @@ public class BukkitQueue18R3 extends BukkitQueue_0<Chunk, ChunkSection[], ChunkS
continue;
}
ChunkSection section = sections[j];
if (section != null && isDirty != null) {
isDirty.set(section, true);
}
if ((section == null) || (fs.getCount(j) >= 4096)) {
section = new ChunkSection(j << 4, flag, newArray);
sections[j] = section;