Fix ghost blocks

Dieser Commit ist enthalten in:
Jesse Boyd 2019-04-16 13:29:59 +10:00
Ursprung 8c30c72b73
Commit 629be505e2
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 59F1DE6293AF6E1F
2 geänderte Dateien mit 8 neuen und 2 gelöschten Zeilen

Datei anzeigen

@ -684,6 +684,12 @@ public class BukkitQueue_1_13 extends BukkitQueue_0<net.minecraft.server.v1_13_R
return false; return false;
} }
if (playerChunk.e()) { if (playerChunk.e()) {
ChunkSection[] sections = nmsChunk.getSections();
for (int layer = 0; layer < 16; layer++) {
if (sections[layer] == null && (mask & (1 << layer)) != 0) {
sections[layer] = new ChunkSection(layer << 4, nmsWorld.worldProvider.g());
}
}
TaskManager.IMP.sync(new Supplier<Object>() { TaskManager.IMP.sync(new Supplier<Object>() {
@Override @Override
public Object get() { public Object get() {

Datei anzeigen

@ -15,6 +15,7 @@ import com.boydti.fawe.util.TaskManager;
import com.sk89q.jnbt.CompoundTag; import com.sk89q.jnbt.CompoundTag;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.world.block.BaseBlock; import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockID;
import com.sk89q.worldedit.world.block.BlockState; import com.sk89q.worldedit.world.block.BlockState;
import com.sk89q.worldedit.extent.inventory.BlockBag; import com.sk89q.worldedit.extent.inventory.BlockBag;
import com.sk89q.worldedit.history.change.BlockChange; import com.sk89q.worldedit.history.change.BlockChange;
@ -281,7 +282,6 @@ public abstract class FaweChangeSet implements ChangeSet {
index++; index++;
} }
} }
// TODO
} }
// Block changes // Block changes
for (int layer = 0; layer < layers; layer++) { for (int layer = 0; layer < layers; layer++) {
@ -305,7 +305,7 @@ public abstract class FaweChangeSet implements ChangeSet {
case 1: case 1:
combinedIdCurrent = 0; combinedIdCurrent = 0;
default: default:
int combinedIdPrevious = previousLayer != null ? previousLayer[index] : 0; int combinedIdPrevious = previousLayer != null ? previousLayer[index] : BlockID.AIR;
if (combinedIdCurrent != combinedIdPrevious) { if (combinedIdCurrent != combinedIdPrevious) {
add(xx, yy, zz, combinedIdPrevious, combinedIdCurrent); add(xx, yy, zz, combinedIdPrevious, combinedIdCurrent);
} }