This commit is contained in:
Jesse Boyd 2017-04-20 16:54:57 +10:00
parent f0e310da6d
commit a08b68cac4
No known key found for this signature in database
GPG Key ID: 59F1DE6293AF6E1F
3 changed files with 45 additions and 35 deletions

View File

@ -85,7 +85,9 @@ public class RollbackOptimizedHistory extends DiskStorageHistory {
if (super.close()) {
// Save to DB
RollbackDatabase db = DBHandler.IMP.getDatabase(getWorld());
if (db != null) {
db.logEdit(this);
}
return true;
}
return false;

View File

@ -256,6 +256,7 @@ public class ForgeChunk_All extends CharFaweChunk<Chunk, ForgeQueue_All> {
getParent().getChangeTask().run(previous, this);
}
// Trim tiles
if (!tiles.isEmpty()) {
Set<Map.Entry<BlockPos, TileEntity>> entryset = tiles.entrySet();
Iterator<Map.Entry<BlockPos, TileEntity>> iterator = entryset.iterator();
while (iterator.hasNext()) {
@ -271,10 +272,13 @@ public class ForgeChunk_All extends CharFaweChunk<Chunk, ForgeQueue_All> {
}
int k = FaweCache.CACHE_J[ly][lz][lx];
if (array[k] != 0) {
tile.getValue().invalidate();;
synchronized (ForgeChunk_All.class) {
tile.getValue().invalidate();
iterator.remove();
}
}
}
}
// Efficiently merge sections
for (int j = 0; j < sections.length; j++) {
int count = this.getCount(j);

View File

@ -256,6 +256,7 @@ public class SpongeChunk_1_11 extends CharFaweChunk<Chunk, SpongeQueue_1_11> {
getParent().getChangeTask().run(previous, this);
}
// Trim tiles
if (!tiles.isEmpty()) {
Set<Map.Entry<BlockPos, TileEntity>> entryset = tiles.entrySet();
Iterator<Map.Entry<BlockPos, TileEntity>> iterator = entryset.iterator();
while (iterator.hasNext()) {
@ -271,10 +272,13 @@ public class SpongeChunk_1_11 extends CharFaweChunk<Chunk, SpongeQueue_1_11> {
}
int k = FaweCache.CACHE_J[ly][lz][lx];
if (array[k] != 0) {
tile.getValue().invalidate();;
synchronized (SpongeChunk_1_11.class) {
tile.getValue().invalidate();
iterator.remove();
}
}
}
}
HashSet<UUID> entsToRemove = this.getEntityRemoves();
if (!entsToRemove.isEmpty()) {
synchronized (SpongeChunk_1_11.class) {