mirror of
https://github.com/plexusorg/Plex-FAWE.git
synced 2025-06-11 20:13:55 +00:00
Fix setting blocks in null sections
This commit is contained in:
@ -227,7 +227,7 @@ public final class BukkitAdapter_1_14 {
|
||||
for (; i < 4096; i++) {
|
||||
char ordinal = set[i];
|
||||
switch (ordinal) {
|
||||
case 0:
|
||||
case BlockID.__RESERVED__:
|
||||
break outer;
|
||||
case BlockID.AIR:
|
||||
case BlockID.CAVE_AIR:
|
||||
@ -247,14 +247,17 @@ public final class BukkitAdapter_1_14 {
|
||||
for (; i < 4096; i++) {
|
||||
char ordinal = set[i];
|
||||
switch (ordinal) {
|
||||
case 0:
|
||||
case BlockID.__RESERVED__:
|
||||
ordinal = getArr[i];
|
||||
set[i] = ordinal;
|
||||
switch (ordinal) {
|
||||
case BlockID.__RESERVED__:
|
||||
ordinal = BlockID.AIR;
|
||||
case BlockID.AIR:
|
||||
case BlockID.CAVE_AIR:
|
||||
case BlockID.VOID_AIR:
|
||||
air++;
|
||||
default:
|
||||
set[i] = ordinal;
|
||||
}
|
||||
break;
|
||||
case BlockID.AIR:
|
||||
|
@ -38,6 +38,7 @@ import java.util.concurrent.Future;
|
||||
import java.util.function.Function;
|
||||
import javax.annotation.Nullable;
|
||||
import net.minecraft.server.v1_14_R1.BiomeBase;
|
||||
import net.minecraft.server.v1_14_R1.Block;
|
||||
import net.minecraft.server.v1_14_R1.BlockPosition;
|
||||
import net.minecraft.server.v1_14_R1.Chunk;
|
||||
import net.minecraft.server.v1_14_R1.ChunkSection;
|
||||
@ -564,17 +565,20 @@ public class BukkitGetBlocks_1_14 extends CharGetBlocks {
|
||||
return data;
|
||||
}
|
||||
|
||||
char[] paletteToBlockChars = FaweCache.IMP.PALETTE_TO_BLOCK_CHAR.get();
|
||||
char[] paletteToOrdinal = FaweCache.IMP.PALETTE_TO_BLOCK_CHAR.get();
|
||||
try {
|
||||
final int size = num_palette;
|
||||
if (size != 1) {
|
||||
for (int i = 0; i < size; i++) {
|
||||
if (num_palette != 1) {
|
||||
for (int i = 0; i < num_palette; i++) {
|
||||
char ordinal = ordinal(palette.a(i), adapter);
|
||||
paletteToBlockChars[i] = ordinal;
|
||||
paletteToOrdinal[i] = ordinal;
|
||||
}
|
||||
for (int i = 0; i < 4096; i++) {
|
||||
char paletteVal = data[i];
|
||||
char val = paletteToBlockChars[paletteVal];
|
||||
char val = paletteToOrdinal[paletteVal];
|
||||
if (val == Character.MAX_VALUE) {
|
||||
val = ordinal(palette.a(i), adapter);
|
||||
paletteToOrdinal[i] = val;
|
||||
}
|
||||
data[i] = val;
|
||||
}
|
||||
} else {
|
||||
@ -583,14 +587,14 @@ public class BukkitGetBlocks_1_14 extends CharGetBlocks {
|
||||
}
|
||||
} finally {
|
||||
for (int i = 0; i < num_palette; i++) {
|
||||
paletteToBlockChars[i] = Character.MAX_VALUE;
|
||||
paletteToOrdinal[i] = Character.MAX_VALUE;
|
||||
}
|
||||
}
|
||||
return data;
|
||||
} catch (IllegalAccessException e) {
|
||||
e.printStackTrace();
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user