Mantle in pregen methods

This commit is contained in:
cyberpwn 2021-09-21 08:18:00 -04:00
parent 1609e232a2
commit 726718a6f5
10 changed files with 69 additions and 0 deletions

View File

@ -21,6 +21,7 @@ package com.volmit.iris.core.pregenerator;
import com.volmit.iris.Iris; import com.volmit.iris.Iris;
import com.volmit.iris.util.collection.KSet; import com.volmit.iris.util.collection.KSet;
import com.volmit.iris.util.format.Form; import com.volmit.iris.util.format.Form;
import com.volmit.iris.util.mantle.Mantle;
import com.volmit.iris.util.math.M; import com.volmit.iris.util.math.M;
import com.volmit.iris.util.math.Position2; import com.volmit.iris.util.math.Position2;
import com.volmit.iris.util.math.RollingSequence; import com.volmit.iris.util.math.RollingSequence;
@ -272,4 +273,8 @@ public class IrisPregenerator {
public boolean paused() { public boolean paused() {
return paused.get(); return paused.get();
} }
public Mantle getMantle() {
return generator.getMantle();
}
} }

View File

@ -19,6 +19,7 @@
package com.volmit.iris.core.pregenerator; package com.volmit.iris.core.pregenerator;
import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KList;
import com.volmit.iris.util.mantle.Mantle;
import com.volmit.iris.util.math.Position2; import com.volmit.iris.util.math.Position2;
import com.volmit.iris.util.math.Spiraled; import com.volmit.iris.util.math.Spiraled;
import com.volmit.iris.util.math.Spiraler; import com.volmit.iris.util.math.Spiraler;

View File

@ -18,6 +18,8 @@
package com.volmit.iris.core.pregenerator; package com.volmit.iris.core.pregenerator;
import com.volmit.iris.util.mantle.Mantle;
/** /**
* Represents something that is capable of generating in chunks or regions, or both * Represents something that is capable of generating in chunks or regions, or both
*/ */
@ -74,4 +76,6 @@ public interface PregeneratorMethod {
* @param listener * @param listener
*/ */
void generateChunk(int x, int z, PregenListener listener); void generateChunk(int x, int z, PregenListener listener);
Mantle getMantle();
} }

View File

@ -20,6 +20,7 @@ package com.volmit.iris.core.pregenerator.methods;
import com.volmit.iris.core.pregenerator.PregenListener; import com.volmit.iris.core.pregenerator.PregenListener;
import com.volmit.iris.core.pregenerator.PregeneratorMethod; import com.volmit.iris.core.pregenerator.PregeneratorMethod;
import com.volmit.iris.util.mantle.Mantle;
import io.papermc.lib.PaperLib; import io.papermc.lib.PaperLib;
import org.bukkit.World; import org.bukkit.World;
@ -64,4 +65,9 @@ public class AsyncOrMedievalPregenMethod implements PregeneratorMethod {
public void generateChunk(int x, int z, PregenListener listener) { public void generateChunk(int x, int z, PregenListener listener) {
method.generateChunk(x, z, listener); method.generateChunk(x, z, listener);
} }
@Override
public Mantle getMantle() {
return method.getMantle();
}
} }

View File

@ -22,7 +22,9 @@ import com.volmit.iris.Iris;
import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.IrisSettings;
import com.volmit.iris.core.pregenerator.PregenListener; import com.volmit.iris.core.pregenerator.PregenListener;
import com.volmit.iris.core.pregenerator.PregeneratorMethod; import com.volmit.iris.core.pregenerator.PregeneratorMethod;
import com.volmit.iris.core.tools.IrisToolbelt;
import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KList;
import com.volmit.iris.util.mantle.Mantle;
import com.volmit.iris.util.parallel.MultiBurst; import com.volmit.iris.util.parallel.MultiBurst;
import com.volmit.iris.util.scheduling.J; import com.volmit.iris.util.scheduling.J;
import io.papermc.lib.PaperLib; import io.papermc.lib.PaperLib;
@ -127,4 +129,14 @@ public class AsyncPregenMethod implements PregeneratorMethod {
listener.onChunkGenerating(x, z); listener.onChunkGenerating(x, z);
future.add(burst.complete(() -> completeChunk(x, z, listener))); future.add(burst.complete(() -> completeChunk(x, z, listener)));
} }
@Override
public Mantle getMantle() {
if(IrisToolbelt.isIrisWorld(world))
{
return IrisToolbelt.access(world).getEngine().getMantle().getMantle();
}
return null;
}
} }

View File

@ -20,6 +20,7 @@ package com.volmit.iris.core.pregenerator.methods;
import com.volmit.iris.core.pregenerator.PregenListener; import com.volmit.iris.core.pregenerator.PregenListener;
import com.volmit.iris.core.pregenerator.PregeneratorMethod; import com.volmit.iris.core.pregenerator.PregeneratorMethod;
import com.volmit.iris.util.mantle.Mantle;
public class DummyPregenMethod implements PregeneratorMethod { public class DummyPregenMethod implements PregeneratorMethod {
@Override @Override
@ -56,4 +57,9 @@ public class DummyPregenMethod implements PregeneratorMethod {
public void generateChunk(int x, int z, PregenListener listener) { public void generateChunk(int x, int z, PregenListener listener) {
} }
@Override
public Mantle getMantle() {
return null;
}
} }

View File

@ -22,6 +22,7 @@ import com.volmit.iris.core.pregenerator.PregenListener;
import com.volmit.iris.core.pregenerator.PregeneratorMethod; import com.volmit.iris.core.pregenerator.PregeneratorMethod;
import com.volmit.iris.engine.object.HeadlessWorld; import com.volmit.iris.engine.object.HeadlessWorld;
import com.volmit.iris.engine.platform.HeadlessGenerator; import com.volmit.iris.engine.platform.HeadlessGenerator;
import com.volmit.iris.util.mantle.Mantle;
import lombok.Getter; import lombok.Getter;
public class HeadlessPregenMethod implements PregeneratorMethod { public class HeadlessPregenMethod implements PregeneratorMethod {
@ -73,4 +74,9 @@ public class HeadlessPregenMethod implements PregeneratorMethod {
public void generateChunk(int x, int z, PregenListener listener) { public void generateChunk(int x, int z, PregenListener listener) {
throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
} }
@Override
public Mantle getMantle() {
return generator.getEngine().getMantle().getMantle();
}
} }

View File

@ -24,6 +24,7 @@ import com.volmit.iris.core.pregenerator.PregenListener;
import com.volmit.iris.core.pregenerator.PregeneratorMethod; import com.volmit.iris.core.pregenerator.PregeneratorMethod;
import com.volmit.iris.core.tools.IrisToolbelt; import com.volmit.iris.core.tools.IrisToolbelt;
import com.volmit.iris.engine.object.HeadlessWorld; import com.volmit.iris.engine.object.HeadlessWorld;
import com.volmit.iris.util.mantle.Mantle;
import com.volmit.iris.util.math.Position2; import com.volmit.iris.util.math.Position2;
import org.bukkit.World; import org.bukkit.World;
@ -98,4 +99,14 @@ public class HybridPregenMethod implements PregeneratorMethod {
public void generateChunk(int x, int z, PregenListener listener) { public void generateChunk(int x, int z, PregenListener listener) {
inWorld.generateChunk(x, z, listener); inWorld.generateChunk(x, z, listener);
} }
@Override
public Mantle getMantle() {
if (headless == null)
{
return inWorld.getMantle();
}
return headless.getMantle();
}
} }

View File

@ -21,7 +21,9 @@ package com.volmit.iris.core.pregenerator.methods;
import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.IrisSettings;
import com.volmit.iris.core.pregenerator.PregenListener; import com.volmit.iris.core.pregenerator.PregenListener;
import com.volmit.iris.core.pregenerator.PregeneratorMethod; import com.volmit.iris.core.pregenerator.PregeneratorMethod;
import com.volmit.iris.core.tools.IrisToolbelt;
import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KList;
import com.volmit.iris.util.mantle.Mantle;
import com.volmit.iris.util.scheduling.J; import com.volmit.iris.util.scheduling.J;
import org.bukkit.Chunk; import org.bukkit.Chunk;
import org.bukkit.World; import org.bukkit.World;
@ -105,4 +107,14 @@ public class MedievalPregenMethod implements PregeneratorMethod {
listener.onChunkGenerated(x, z); listener.onChunkGenerated(x, z);
})); }));
} }
@Override
public Mantle getMantle() {
if(IrisToolbelt.isIrisWorld(world))
{
return IrisToolbelt.access(world).getEngine().getMantle().getMantle();
}
return null;
}
} }

View File

@ -34,6 +34,7 @@ import com.volmit.iris.core.pregenerator.syndicate.command.SyndicateOK;
import com.volmit.iris.core.pregenerator.syndicate.command.SyndicateSendProgress; import com.volmit.iris.core.pregenerator.syndicate.command.SyndicateSendProgress;
import com.volmit.iris.engine.object.IrisDimension; import com.volmit.iris.engine.object.IrisDimension;
import com.volmit.iris.util.io.IO; import com.volmit.iris.util.io.IO;
import com.volmit.iris.util.mantle.Mantle;
import com.volmit.iris.util.scheduling.J; import com.volmit.iris.util.scheduling.J;
import lombok.Getter; import lombok.Getter;
import org.zeroturnaround.zip.ZipUtil; import org.zeroturnaround.zip.ZipUtil;
@ -265,4 +266,9 @@ public class SyndicatePregenMethod implements PregeneratorMethod {
public void generateChunk(int x, int z, PregenListener listener) { public void generateChunk(int x, int z, PregenListener listener) {
} }
@Override
public Mantle getMantle() {
return null;
}
} }