rename to SimpleChangeSetSummary

This commit is contained in:
Jesse Boyd 2020-01-07 00:09:30 +00:00
parent b173c85c78
commit a52b645175
No known key found for this signature in database
GPG Key ID: 59F1DE6293AF6E1F
5 changed files with 41 additions and 30 deletions

View File

@ -5,6 +5,7 @@ import com.boydti.fawe.database.DBHandler;
import com.boydti.fawe.database.RollbackDatabase; import com.boydti.fawe.database.RollbackDatabase;
import com.boydti.fawe.object.changeset.DiskStorageHistory; import com.boydti.fawe.object.changeset.DiskStorageHistory;
import com.sk89q.worldedit.math.BlockVector2; import com.sk89q.worldedit.math.BlockVector2;
import com.boydti.fawe.object.changeset.SimpleChangeSetSummary;
import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.regions.CuboidRegion; import com.sk89q.worldedit.regions.CuboidRegion;
import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.World;

View File

@ -405,35 +405,10 @@ public class DiskStorageHistory extends FaweStreamChangeSet {
return new NBTInputStream(MainUtil.getCompressedIS(new FileInputStream(nbtfFile))); return new NBTInputStream(MainUtil.getCompressedIS(new FileInputStream(nbtfFile)));
} }
protected DiskStorageSummary summarizeShallow() { @Override
return new DiskStorageSummary(getOriginX(), getOriginZ()); public SimpleChangeSetSummary summarize(Region region, boolean shallow) {
}
public DiskStorageSummary summarize(Region region, boolean shallow) {
if (bdFile.exists()) { if (bdFile.exists()) {
int ox = getOriginX(); return super.summarize(region, shallow);
int oz = getOriginZ();
DiskStorageSummary summary = summarizeShallow();
if (region != null && !region.contains(ox, oz)) {
return summary;
}
try (FaweInputStream fis = getBlockIS()) {
if (!shallow) {
int amount = (Settings.IMP.HISTORY.BUFFER_SIZE - HEADER_SIZE) / 9;
MutableFullBlockChange change = new MutableFullBlockChange(null, 0, false);
for (int i = 0; i < amount; i++) {
int x = posDel.readX(fis) + ox;
int y = posDel.readY(fis);
int z = posDel.readZ(fis) + ox;
idDel.readCombined(fis, change);
summary.add(x, z, change.to);
}
}
} catch (EOFException ignored) {
} catch (IOException e) {
e.printStackTrace();
}
return summary;
} }
return null; return null;
} }

View File

@ -15,6 +15,7 @@ import com.sk89q.jnbt.NBTInputStream;
import com.sk89q.jnbt.NBTOutputStream; import com.sk89q.jnbt.NBTOutputStream;
import com.sk89q.worldedit.extent.inventory.BlockBag; import com.sk89q.worldedit.extent.inventory.BlockBag;
import com.sk89q.worldedit.history.change.Change; import com.sk89q.worldedit.history.change.Change;
import com.sk89q.worldedit.regions.Region;
import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.World;
import com.sk89q.worldedit.world.biome.BiomeType; import com.sk89q.worldedit.world.biome.BiomeType;
import com.sk89q.worldedit.world.block.BlockTypes; import com.sk89q.worldedit.world.block.BlockTypes;
@ -729,4 +730,35 @@ public abstract class FaweStreamChangeSet extends FaweChangeSet {
public Iterator<Change> forwardIterator() { public Iterator<Change> forwardIterator() {
return getIterator(true); return getIterator(true);
} }
protected SimpleChangeSetSummary summarizeShallow() {
return new SimpleChangeSetSummary(getOriginX(), getOriginZ());
}
@Override
public SimpleChangeSetSummary summarize(Region region, boolean shallow) {
int ox = getOriginX();
int oz = getOriginZ();
SimpleChangeSetSummary summary = summarizeShallow();
if (region != null && !region.contains(ox, oz)) {
return summary;
}
try (FaweInputStream fis = getBlockIS()) {
if (!shallow) {
int amount = (Settings.IMP.HISTORY.BUFFER_SIZE - HEADER_SIZE) / 9;
MutableFullBlockChange change = new MutableFullBlockChange(null, 0, false);
for (int i = 0; i < amount; i++) {
int x = posDel.readX(fis) + ox;
int y = posDel.readY(fis);
int z = posDel.readZ(fis) + ox;
idDel.readCombined(fis, change);
summary.add(x, z, change.to);
}
}
} catch (EOFException ignored) {
} catch (IOException e) {
e.printStackTrace();
}
return summary;
}
} }

View File

@ -3,12 +3,16 @@ package com.boydti.fawe.object.changeset;
import com.boydti.fawe.config.Settings; import com.boydti.fawe.config.Settings;
import com.boydti.fawe.object.FaweInputStream; import com.boydti.fawe.object.FaweInputStream;
import com.boydti.fawe.object.FaweOutputStream; import com.boydti.fawe.object.FaweOutputStream;
import com.boydti.fawe.object.change.MutableFullBlockChange;
import com.boydti.fawe.object.io.FastByteArrayOutputStream; import com.boydti.fawe.object.io.FastByteArrayOutputStream;
import com.boydti.fawe.object.io.FastByteArraysInputStream; import com.boydti.fawe.object.io.FastByteArraysInputStream;
import com.boydti.fawe.util.MainUtil; import com.boydti.fawe.util.MainUtil;
import com.sk89q.jnbt.NBTInputStream; import com.sk89q.jnbt.NBTInputStream;
import com.sk89q.jnbt.NBTOutputStream; import com.sk89q.jnbt.NBTOutputStream;
import com.sk89q.worldedit.regions.Region;
import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.World;
import java.io.EOFException;
import java.io.IOException; import java.io.IOException;
/** /**
@ -241,6 +245,5 @@ public class MemoryOptimizedHistory extends FaweStreamChangeSet {
@Override @Override
public void setRecordChanges(boolean recordChanges) { public void setRecordChanges(boolean recordChanges) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
} }

View File

@ -10,7 +10,7 @@ import com.boydti.fawe.database.DBHandler;
import com.boydti.fawe.database.RollbackDatabase; import com.boydti.fawe.database.RollbackDatabase;
import com.boydti.fawe.logging.rollback.RollbackOptimizedHistory; import com.boydti.fawe.logging.rollback.RollbackOptimizedHistory;
import com.boydti.fawe.object.RegionWrapper; import com.boydti.fawe.object.RegionWrapper;
import com.boydti.fawe.object.changeset.DiskStorageHistory; import com.boydti.fawe.object.changeset.SimpleChangeSetSummary;
import com.boydti.fawe.util.MainUtil; import com.boydti.fawe.util.MainUtil;
import com.google.common.base.Function; import com.google.common.base.Function;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;