Cleanup Code

This commit is contained in:
Daniel Mills
2021-07-20 11:36:44 -04:00
parent 4e81151e11
commit 4d90bd9e31
45 changed files with 350 additions and 601 deletions

View File

@@ -198,8 +198,7 @@ public class IrisComplex implements DataProvider {
}, Interpolated.DOUBLE).cache2D(cacheSize);
slopeStream = heightStream.slope(3).interpolate().bilinear(3, 3).cache2D(cacheSize);
objectChanceStream = ProceduralStream.ofDouble((x, z) -> {
if(engine.getDimension().hasFeatures(engine))
{
if (engine.getDimension().hasFeatures(engine)) {
AtomicDouble str = new AtomicDouble(1D);
engine.getFramework().getEngineParallax().forEachFeature(x, z, (i)
-> str.set(Math.min(str.get(), i.getObjectChanceModifier(x, z))));

View File

@@ -39,7 +39,6 @@ import com.volmit.iris.util.format.Form;
import com.volmit.iris.util.scheduling.PrecisionStopwatch;
import lombok.Getter;
import lombok.Setter;
import org.bukkit.World;
import org.bukkit.block.Biome;
import org.bukkit.block.data.BlockData;
import org.bukkit.command.CommandSender;
@@ -99,7 +98,7 @@ public class IrisEngineCompound implements EngineCompound {
} else {
double totalWeight = 0D;
engines = new Engine[rootDimension.getDimensionalComposite().size()];
burster = engines.length > 1 ? new MultiBurst("Iris Compound " + rootDimension.getName(), IrisSettings.get().getConcurrency().getEngineThreadPriority(), engines.length) : null;
burster = engines.length > 1 ? new MultiBurst("Iris Compound " + rootDimension.getName(), IrisSettings.get().getConcurrency().getEngineThreadPriority(), engines.length) : null;
int threadDist = (Math.max(2, maximumThreads - engines.length)) / engines.length;
if ((threadDist * engines.length) + engines.length > maximumThreads) {

View File

@@ -28,7 +28,6 @@ import com.volmit.iris.engine.hunk.view.BiomeGridHunkView;
import com.volmit.iris.engine.object.IrisBiome;
import com.volmit.iris.engine.object.IrisBiomeCustom;
import com.volmit.iris.util.documentation.BlockCoordinates;
import com.volmit.iris.util.documentation.ChunkCoordinates;
import com.volmit.iris.util.math.RNG;
import com.volmit.iris.util.scheduling.PrecisionStopwatch;
import org.bukkit.block.Biome;

View File

@@ -25,7 +25,6 @@ import com.volmit.iris.util.collection.KSet;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.block.data.BlockData;
import org.bukkit.block.data.type.Farmland;
public class B {
private static final Material AIR_MATERIAL = Material.AIR;

View File

@@ -18,11 +18,9 @@
package com.volmit.iris.engine.data.chunk;
import com.volmit.iris.Iris;
import com.volmit.iris.core.nms.BiomeBaseInjector;
import com.volmit.iris.core.nms.INMS;
import com.volmit.iris.util.data.IrisBiomeStorage;
import net.minecraft.world.level.chunk.BiomeStorage;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.World;
@@ -39,13 +37,11 @@ public class LinkedTerrainChunk implements TerrainChunk {
private ChunkData rawChunkData;
private final BiomeGrid storage;
public LinkedTerrainChunk(World world)
{
public LinkedTerrainChunk(World world) {
this(null, Bukkit.createChunkData(world));
}
public LinkedTerrainChunk(World world, BiomeGrid storage)
{
public LinkedTerrainChunk(World world, BiomeGrid storage) {
this(storage, Bukkit.createChunkData(world));
}

View File

@@ -19,7 +19,6 @@
package com.volmit.iris.engine.data.mca;
import com.volmit.iris.engine.data.nbt.tag.CompoundTag;
import com.volmit.iris.engine.hunk.storage.ArrayHunk;
import com.volmit.iris.util.collection.KList;
import com.volmit.iris.util.math.Position2;
@@ -242,8 +241,7 @@ public class MCAFile {
return getChunk(getChunkIndex(chunkX, chunkZ));
}
public boolean hasChunk(int chunkX, int chunkZ)
{
public boolean hasChunk(int chunkX, int chunkZ) {
return getChunk(chunkX, chunkZ) != null;
}

View File

@@ -24,21 +24,20 @@ import com.volmit.iris.engine.cache.Cache;
import com.volmit.iris.engine.data.B;
import com.volmit.iris.engine.data.nbt.tag.CompoundTag;
import com.volmit.iris.engine.data.nbt.tag.StringTag;
import com.volmit.iris.util.collection.KList;
import com.volmit.iris.util.collection.KMap;
import com.volmit.iris.util.collection.KSet;
import com.volmit.iris.util.format.C;
import com.volmit.iris.util.math.M;
import com.volmit.iris.util.scheduling.IrisLock;
import org.bukkit.NamespacedKey;
import org.bukkit.block.Biome;
import org.bukkit.block.data.BlockData;
import org.jetbrains.annotations.NotNull;
import java.io.File;
import java.io.IOException;
import java.util.Map;
import java.util.concurrent.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
public class NBTWorld {
private static final BlockData AIR = B.get("AIR");
@@ -50,8 +49,7 @@ public class NBTWorld {
private final File worldFolder;
private final ExecutorService saveQueue;
public NBTWorld(File worldFolder)
{
public NBTWorld(File worldFolder) {
this.worldFolder = worldFolder;
this.loadedRegions = new KMap<>();
this.lastUse = new KMap<>();
@@ -63,20 +61,17 @@ public class NBTWorld {
});
}
public void close()
{
public void close() {
regionLock.lock();
for(Long i : loadedRegions.k())
{
for (Long i : loadedRegions.k()) {
queueSaveUnload(Cache.keyX(i), Cache.keyZ(i));
}
regionLock.unlock();
saveQueue.shutdown();
try {
while(!saveQueue.awaitTermination(3, TimeUnit.SECONDS))
{
while (!saveQueue.awaitTermination(3, TimeUnit.SECONDS)) {
Iris.info("Still Waiting to save MCA Files...");
}
} catch (InterruptedException e) {
@@ -84,52 +79,43 @@ public class NBTWorld {
}
}
public void flushNow()
{
public void flushNow() {
regionLock.lock();
for(Long i : loadedRegions.k())
{
for (Long i : loadedRegions.k()) {
doSaveUnload(Cache.keyX(i), Cache.keyZ(i));
}
regionLock.unlock();
}
public void queueSaveUnload(int x, int z)
{
public void queueSaveUnload(int x, int z) {
saveQueue.submit(() -> doSaveUnload(x, z));
}
public void doSaveUnload(int x, int z)
{
public void doSaveUnload(int x, int z) {
MCAFile f = getMCAOrNull(x, z);
if(f != null)
{
if (f != null) {
unloadRegion(x, z);
}
saveRegion(x, z, f);
}
public void save()
{
public void save() {
regionLock.lock();
boolean saving = true;
for(Long i : loadedRegions.k())
{
for (Long i : loadedRegions.k()) {
int x = Cache.keyX(i);
int z = Cache.keyZ(i);
if(!lastUse.containsKey(i))
{
if (!lastUse.containsKey(i)) {
lastUse.put(i, M.ms());
}
if(shouldUnload(x, z))
{
if (shouldUnload(x, z)) {
queueSaveUnload(x, z);
}
}
@@ -139,13 +125,11 @@ public class NBTWorld {
regionLock.unlock();
}
public void queueSave()
{
public void queueSave() {
}
public synchronized void unloadRegion(int x, int z)
{
public synchronized void unloadRegion(int x, int z) {
long key = Cache.key(x, z);
regionLock.lock();
loadedRegions.remove(key);
@@ -154,8 +138,7 @@ public class NBTWorld {
Iris.debug("Unloaded Region " + C.GOLD + x + " " + z);
}
public void saveRegion(int x, int z)
{
public void saveRegion(int x, int z) {
long k = Cache.key(x, z);
MCAFile mca = getMCAOrNull(x, z);
try {
@@ -167,8 +150,7 @@ public class NBTWorld {
}
}
public void saveRegion(int x, int z, MCAFile mca)
{
public void saveRegion(int x, int z, MCAFile mca) {
try {
MCAUtil.write(mca, getRegionFile(x, z), true);
Iris.debug("Saved Region " + C.GOLD + x + " " + z);
@@ -178,8 +160,7 @@ public class NBTWorld {
}
}
public boolean shouldUnload(int x, int z)
{
public boolean shouldUnload(int x, int z) {
return getIdleDuration(x, z) > 60000;
}
@@ -296,8 +277,7 @@ public class NBTWorld {
return c;
}
public long getIdleDuration(int x, int z)
{
public long getIdleDuration(int x, int z) {
Long l = lastUse.get(Cache.key(x, z));
return l == null ? 0 : (M.ms() - l);
@@ -311,8 +291,7 @@ public class NBTWorld {
MCAFile mcaf = loadedRegions.get(key);
regionLock.unlock();
if(mcaf == null)
{
if (mcaf == null) {
mcaf = new MCAFile(x, z);
regionLock.lock();
loadedRegions.put(key, mcaf);
@@ -327,8 +306,7 @@ public class NBTWorld {
MCAFile ff = null;
regionLock.lock();
if(loadedRegions.containsKey(key))
{
if (loadedRegions.containsKey(key)) {
lastUse.put(key, M.ms());
ff = loadedRegions.get(key);
}

View File

@@ -357,8 +357,7 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro
return getCompound().isStudio();
}
default MultiBurst burst()
{
default MultiBurst burst() {
return getTarget().getBurster();
}

View File

@@ -447,8 +447,7 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce
IrisWorld ww = (getComposite() == null || getComposite().getWorld() == null) ? IrisWorld.fromWorld(world) : getComposite().getWorld();
generateChunkRawData(ww, x, z, tc).run();
if(!getComposite().getWorld().hasRealWorld())
{
if (!getComposite().getWorld().hasRealWorld()) {
getComposite().getWorld().bind(world);
}
@@ -462,8 +461,7 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce
return tc.getRaw();
}
public void assignHeadlessGenerator(HeadlessGenerator headlessGenerator)
{
public void assignHeadlessGenerator(HeadlessGenerator headlessGenerator) {
this.headlessGenerator = headlessGenerator;
}
@@ -472,8 +470,7 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce
return headlessGenerator;
}
public void assignHeadlessNBTWriter(NBTWorld writer)
{
public void assignHeadlessNBTWriter(NBTWorld writer) {
this.nbtWorld = writer;
}
@@ -492,13 +489,11 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce
BurstExecutor e = burst.burst(1024);
PregenTask.iterateRegion(x, z, (ii, jj) -> e.queue(() -> {
if(l != null)
{
if (l != null) {
l.onChunkGenerating(ii, jj);
}
directWriteChunk(w, ii, jj, writer);
if(l != null)
{
if (l != null) {
l.onChunkGenerated(ii, jj);
}
}));

View File

@@ -30,7 +30,6 @@ import com.volmit.iris.engine.object.common.IrisWorld;
import com.volmit.iris.engine.parallel.MultiBurst;
import com.volmit.iris.util.collection.KList;
import com.volmit.iris.util.collection.KMap;
import org.bukkit.World;
import org.bukkit.block.Biome;
import org.bukkit.block.data.BlockData;
import org.bukkit.command.CommandSender;

View File

@@ -34,7 +34,6 @@ import com.volmit.iris.engine.object.tile.TileData;
import com.volmit.iris.engine.parallax.ParallaxAccess;
import com.volmit.iris.engine.parallax.ParallaxChunkMeta;
import com.volmit.iris.engine.parallel.BurstExecutor;
import com.volmit.iris.engine.parallel.MultiBurst;
import com.volmit.iris.util.collection.KList;
import com.volmit.iris.util.collection.KMap;
import com.volmit.iris.util.collection.KSet;
@@ -205,8 +204,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer {
IrisLock getFeatureLock();
default void forEachFeature(double x, double z, Consumer<IrisFeaturePositional> f) {
if(!getEngine().getDimension().hasFeatures(getEngine()))
{
if (!getEngine().getDimension().hasFeatures(getEngine())) {
return;
}
@@ -235,8 +233,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer {
for (j = -s; j <= s; j++) {
ParallaxChunkMeta m = getParallaxAccess().getMetaR(i + cx, j + cz);
synchronized (m)
{
synchronized (m) {
try {
for (IrisFeaturePositional k : m.getFeatures()) {
if (k.shouldFilter(x, z)) {

View File

@@ -34,9 +34,7 @@ import com.volmit.iris.util.math.M;
import com.volmit.iris.util.math.RNG;
import com.volmit.iris.util.scheduling.ChronoLatch;
import com.volmit.iris.util.scheduling.J;
import org.bukkit.Chunk;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.command.CommandSender;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -49,7 +47,7 @@ public interface IrisAccess extends Hotloadable, DataProvider {
HeadlessGenerator getHeadlessGenerator();
default boolean isHeadless(){
default boolean isHeadless() {
return getHeadlessGenerator() != null;
}
@@ -98,8 +96,7 @@ public interface IrisAccess extends Hotloadable, DataProvider {
boolean isStudio();
default Location lookForBiome(IrisBiome biome, long timeout, Consumer<Integer> triesc) {
if(!getCompound().getWorld().hasRealWorld())
{
if (!getCompound().getWorld().hasRealWorld()) {
Iris.error("Cannot GOTO without a bound world (headless mode)");
return null;
}
@@ -184,8 +181,7 @@ public interface IrisAccess extends Hotloadable, DataProvider {
}
default Location lookForRegion(IrisRegion reg, long timeout, Consumer<Integer> triesc) {
if(!getCompound().getWorld().hasRealWorld())
{
if (!getCompound().getWorld().hasRealWorld()) {
Iris.error("Cannot GOTO without a bound world (headless mode)");
return null;
}

View File

@@ -20,8 +20,6 @@ package com.volmit.iris.engine.headless;
import com.volmit.iris.core.IrisSettings;
import com.volmit.iris.core.pregenerator.PregenListener;
import com.volmit.iris.engine.data.mca.LoadFlags;
import com.volmit.iris.engine.data.mca.MCAFile;
import com.volmit.iris.engine.data.mca.MCAUtil;
import com.volmit.iris.engine.data.mca.NBTWorld;
import com.volmit.iris.engine.framework.EngineCompositeGenerator;
@@ -35,14 +33,13 @@ import java.io.IOException;
@Data
public class HeadlessGenerator {
private static KList<Position2> EMPTYPOINTS = new KList<>();
private static KList<Position2> EMPTYPOINTS = new KList<>();
private final HeadlessWorld world;
private final EngineCompositeGenerator generator;
private final NBTWorld writer;
private final MultiBurst burst;
public HeadlessGenerator(HeadlessWorld world)
{
public HeadlessGenerator(HeadlessWorld world) {
this.world = world;
burst = new MultiBurst("Iris Headless Generator", 9, IrisSettings.getThreadCount(IrisSettings.get().getConcurrency().getPregenThreadCount()));
writer = new NBTWorld(world.getWorld().worldFolder());
@@ -52,40 +49,33 @@ public class HeadlessGenerator {
generator.initialize(world.getWorld());
}
public void generateChunk(int x, int z)
{
public void generateChunk(int x, int z) {
generator.directWriteChunk(world.getWorld(), x, z, writer);
}
public void generateRegion(int x, int z)
{
public void generateRegion(int x, int z) {
generator.directWriteMCA(world.getWorld(), x, z, writer, burst);
}
public void generateRegion(int x, int z, PregenListener listener)
{
public void generateRegion(int x, int z, PregenListener listener) {
generator.directWriteMCA(world.getWorld(), x, z, writer, burst, listener);
}
public File generateRegionToFile(int x, int z, PregenListener listener)
{
public File generateRegionToFile(int x, int z, PregenListener listener) {
generateRegionToFile(x, z, listener);
flush();
return writer.getRegionFile(x, z);
}
public void flush()
{
public void flush() {
writer.flushNow();
}
public void save()
{
public void save() {
writer.save();
}
public void close()
{
public void close() {
burst.shutdownAndAwait();
generator.close();
writer.close();

View File

@@ -40,13 +40,11 @@ public class HeadlessWorld {
private final IrisWorld world;
private boolean studio = false;
public HeadlessWorld(String worldName, IrisDimension dimension, long seed)
{
public HeadlessWorld(String worldName, IrisDimension dimension, long seed) {
this(worldName, dimension, seed, false);
}
public HeadlessWorld(String worldName, IrisDimension dimension, long seed, boolean studio)
{
public HeadlessWorld(String worldName, IrisDimension dimension, long seed, boolean studio) {
this.worldName = worldName;
this.dimension = dimension;
this.studio = studio;
@@ -61,19 +59,16 @@ public class HeadlessWorld {
world.worldFolder().mkdirs();
new File(world.worldFolder(), "region").mkdirs();
if(!studio && !new File(world.worldFolder(), "iris").exists())
{
if (!studio && !new File(world.worldFolder(), "iris").exists()) {
Iris.proj.installIntoWorld(new VolmitSender(Bukkit.getConsoleSender(), Iris.instance.getTag("Headless")), dimension.getLoadKey(), world.worldFolder());
}
}
public HeadlessGenerator generate()
{
public HeadlessGenerator generate() {
return new HeadlessGenerator(this);
}
public World load()
{
public World load() {
return new WorldCreator(worldName)
.environment(dimension.getEnvironment())
.seed(world.seed())
@@ -85,8 +80,7 @@ public class HeadlessWorld {
return new HeadlessWorld(world.getName(), IrisWorlds.access(world).getTarget().getDimension(), world.getSeed());
}
public static HeadlessWorld from(String name, String dimension, long seed)
{
public static HeadlessWorld from(String name, String dimension, long seed) {
return new HeadlessWorld(name, IrisDataManager.loadAnyDimension(dimension), seed);
}
}

View File

@@ -29,8 +29,8 @@ import com.volmit.iris.util.collection.KMap;
import com.volmit.iris.util.collection.KSet;
import com.volmit.iris.util.function.Function2;
import com.volmit.iris.util.function.Function3;
import com.volmit.iris.util.math.Position2;
import com.volmit.iris.util.math.M;
import com.volmit.iris.util.math.Position2;
import com.volmit.iris.util.oldnbt.ByteArrayTag;
import com.volmit.iris.util.oldnbt.CompoundTag;
import com.volmit.iris.util.oldnbt.Tag;
@@ -101,8 +101,7 @@ public class HunkRegionSlice<T> {
public synchronized void save(MultiBurst burst) {
BurstExecutor e = burst.burst();
try
{
try {
for (Position2 i : save.copy()) {
if (i == null) {
continue;
@@ -118,10 +117,7 @@ public class HunkRegionSlice<T> {
}
e.complete();
}
catch(Throwable ee)
{
} catch (Throwable ee) {
Iris.reportError(ee);
}
}

View File

@@ -25,8 +25,8 @@ import com.volmit.iris.engine.hunk.Hunk;
import com.volmit.iris.engine.noise.CNG;
import com.volmit.iris.engine.object.NoiseStyle;
import com.volmit.iris.util.math.BlockPosition;
import com.volmit.iris.util.math.Position2;
import com.volmit.iris.util.math.MathHelper;
import com.volmit.iris.util.math.Position2;
import com.volmit.iris.util.math.RNG;
import com.volmit.iris.util.scheduling.PrecisionStopwatch;
import org.bukkit.Material;

View File

@@ -515,37 +515,28 @@ public class IrisDimension extends IrisRegistrant {
public boolean hasFeatures(DataProvider data) {
return featuresUsed.aquire(() -> {
if(getFeatures().isNotEmpty() || getSpecificFeatures().isNotEmpty())
{
if (getFeatures().isNotEmpty() || getSpecificFeatures().isNotEmpty()) {
return true;
}
for(IrisRegion i : getAllRegions(data))
{
if(i.getFeatures().isNotEmpty())
{
for (IrisRegion i : getAllRegions(data)) {
if (i.getFeatures().isNotEmpty()) {
return true;
}
for(IrisObjectPlacement j : i.getObjects())
{
if(j.isVacuum())
{
for (IrisObjectPlacement j : i.getObjects()) {
if (j.isVacuum()) {
return true;
}
}
for(IrisBiome j : i.getAllBiomes(data))
{
if(j.getFeatures().isNotEmpty())
{
for (IrisBiome j : i.getAllBiomes(data)) {
if (j.getFeatures().isNotEmpty()) {
return true;
}
for(IrisObjectPlacement k : i.getObjects())
{
if(k.isVacuum())
{
for (IrisObjectPlacement k : i.getObjects()) {
if (k.isVacuum()) {
return true;
}
}

View File

@@ -142,13 +142,9 @@ public class IrisLoot {
i.apply(rng, m);
}
try
{
try {
m.setCustomModelData(getCustomModel());
}
catch(Throwable e)
{
} catch (Throwable e) {
Iris.reportError(e);
}
m.setLocalizedName(C.translateAlternateColorCodes('&', displayName));
@@ -231,13 +227,9 @@ public class IrisLoot {
i.apply(rng, m);
}
try
{
try {
m.setCustomModelData(getCustomModel());
}
catch(Throwable e)
{
} catch (Throwable e) {
Iris.reportError(e);
}

View File

@@ -47,31 +47,27 @@ public class IrisWorld {
private int minHeight;
private int maxHeight;
public static IrisWorld fromWorld(World world)
{
public static IrisWorld fromWorld(World world) {
return bindWorld(IrisWorld.builder().build(), world);
}
private static IrisWorld bindWorld(IrisWorld iw, World world)
{
private static IrisWorld bindWorld(IrisWorld iw, World world) {
return iw.name(world.getName())
.worldFolder(world.getWorldFolder())
.seed(world.getSeed())
.minHeight(world.getMinHeight())
.maxHeight(world.getMaxHeight())
.realWorld(world)
.environment(world.getEnvironment());
.worldFolder(world.getWorldFolder())
.seed(world.getSeed())
.minHeight(world.getMinHeight())
.maxHeight(world.getMaxHeight())
.realWorld(world)
.environment(world.getEnvironment());
}
public boolean hasRealWorld()
{
public boolean hasRealWorld() {
return realWorld != null;
}
public List<Player> getPlayers() {
if(hasRealWorld())
{
if (hasRealWorld()) {
return realWorld().getPlayers();
}
@@ -79,8 +75,7 @@ public class IrisWorld {
}
public void evacuate() {
if(hasRealWorld())
{
if (hasRealWorld()) {
IrisWorlds.evacuate(realWorld());
}
}
@@ -90,8 +85,7 @@ public class IrisWorld {
}
public Location spawnLocation() {
if(hasRealWorld())
{
if (hasRealWorld()) {
return realWorld().getSpawnLocation();
}
@@ -100,8 +94,7 @@ public class IrisWorld {
}
public <T extends Entity> Collection<? extends T> getEntitiesByClass(Class<T> t) {
if(hasRealWorld())
{
if (hasRealWorld()) {
return realWorld().getEntitiesByClass(t);
}

View File

@@ -22,7 +22,6 @@ import com.google.gson.Gson;
import com.volmit.iris.engine.hunk.io.HunkIOAdapter;
import com.volmit.iris.engine.hunk.io.PaletteHunkIOAdapter;
import com.volmit.iris.engine.object.IrisFeaturePositional;
import com.volmit.iris.util.collection.KList;
import com.volmit.iris.util.oldnbt.CompoundTag;
import lombok.AllArgsConstructor;
import lombok.Data;

View File

@@ -27,12 +27,10 @@ import com.volmit.iris.engine.object.tile.TileData;
import com.volmit.iris.engine.parallel.GridLock;
import com.volmit.iris.engine.parallel.MultiBurst;
import com.volmit.iris.util.format.C;
import com.volmit.iris.util.format.Form;
import com.volmit.iris.util.math.M;
import com.volmit.iris.util.oldnbt.ByteArrayTag;
import com.volmit.iris.util.oldnbt.CompoundTag;
import com.volmit.iris.util.oldnbt.Tag;
import com.volmit.iris.util.scheduling.PrecisionStopwatch;
import org.bukkit.block.TileState;
import org.bukkit.block.data.BlockData;
@@ -167,7 +165,7 @@ public class ParallaxRegion extends HunkRegion {
tileSlice.save(burst);
updateSlice.save(burst);
saveMetaHunk();
Iris.debug("Saved Parallax Region "+ C.GOLD + getX() + " " + getZ());
Iris.debug("Saved Parallax Region " + C.GOLD + getX() + " " + getZ());
super.save();
}

View File

@@ -99,16 +99,11 @@ public class MultiBurst {
public void shutdownAndAwait() {
service.shutdown();
try
{
while(!service.awaitTermination(10, TimeUnit.SECONDS))
{
try {
while (!service.awaitTermination(10, TimeUnit.SECONDS)) {
Iris.info("Still waiting to shutdown burster...");
}
}
catch(Throwable e)
{
} catch (Throwable e) {
e.printStackTrace();
Iris.reportError(e);
}