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.util.collection.KSet;
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.Position2;
import com.volmit.iris.util.math.RollingSequence;
@ -272,4 +273,8 @@ public class IrisPregenerator {
public boolean paused() {
return paused.get();
}
public Mantle getMantle() {
return generator.getMantle();
}
}

View File

@ -19,6 +19,7 @@
package com.volmit.iris.core.pregenerator;
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.Spiraled;
import com.volmit.iris.util.math.Spiraler;

View File

@ -18,6 +18,8 @@
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
*/
@ -74,4 +76,6 @@ public interface PregeneratorMethod {
* @param 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.PregeneratorMethod;
import com.volmit.iris.util.mantle.Mantle;
import io.papermc.lib.PaperLib;
import org.bukkit.World;
@ -64,4 +65,9 @@ public class AsyncOrMedievalPregenMethod implements PregeneratorMethod {
public void generateChunk(int x, int z, PregenListener 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.pregenerator.PregenListener;
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.mantle.Mantle;
import com.volmit.iris.util.parallel.MultiBurst;
import com.volmit.iris.util.scheduling.J;
import io.papermc.lib.PaperLib;
@ -127,4 +129,14 @@ public class AsyncPregenMethod implements PregeneratorMethod {
listener.onChunkGenerating(x, z);
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.PregeneratorMethod;
import com.volmit.iris.util.mantle.Mantle;
public class DummyPregenMethod implements PregeneratorMethod {
@Override
@ -56,4 +57,9 @@ public class DummyPregenMethod implements PregeneratorMethod {
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.engine.object.HeadlessWorld;
import com.volmit.iris.engine.platform.HeadlessGenerator;
import com.volmit.iris.util.mantle.Mantle;
import lombok.Getter;
public class HeadlessPregenMethod implements PregeneratorMethod {
@ -73,4 +74,9 @@ public class HeadlessPregenMethod implements PregeneratorMethod {
public void generateChunk(int x, int z, PregenListener listener) {
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.tools.IrisToolbelt;
import com.volmit.iris.engine.object.HeadlessWorld;
import com.volmit.iris.util.mantle.Mantle;
import com.volmit.iris.util.math.Position2;
import org.bukkit.World;
@ -98,4 +99,14 @@ public class HybridPregenMethod implements PregeneratorMethod {
public void generateChunk(int x, int z, PregenListener 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.pregenerator.PregenListener;
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.mantle.Mantle;
import com.volmit.iris.util.scheduling.J;
import org.bukkit.Chunk;
import org.bukkit.World;
@ -105,4 +107,14 @@ public class MedievalPregenMethod implements PregeneratorMethod {
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.engine.object.IrisDimension;
import com.volmit.iris.util.io.IO;
import com.volmit.iris.util.mantle.Mantle;
import com.volmit.iris.util.scheduling.J;
import lombok.Getter;
import org.zeroturnaround.zip.ZipUtil;
@ -265,4 +266,9 @@ public class SyndicatePregenMethod implements PregeneratorMethod {
public void generateChunk(int x, int z, PregenListener listener) {
}
@Override
public Mantle getMantle() {
return null;
}
}