mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-19 10:43:14 +00:00
Carving & undercarriage
This commit is contained in:
parent
f2339f26ca
commit
7f3b9ec89a
26
.idea/workspace.xml
generated
26
.idea/workspace.xml
generated
@ -44,7 +44,7 @@
|
|||||||
<component name="PropertiesComponent">
|
<component name="PropertiesComponent">
|
||||||
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
|
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
|
||||||
<property name="dart.analysis.tool.window.visible" value="false" />
|
<property name="dart.analysis.tool.window.visible" value="false" />
|
||||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/src/main/java/com/volmit/iris/gen/v2/scaffold/hunk" />
|
<property name="last_opened_file_path" value="$PROJECT_DIR$/src/main/java/com/volmit/iris/v2/nms" />
|
||||||
<property name="project.structure.last.edited" value="Modules" />
|
<property name="project.structure.last.edited" value="Modules" />
|
||||||
<property name="project.structure.proportion" value="0.15" />
|
<property name="project.structure.proportion" value="0.15" />
|
||||||
<property name="project.structure.side.proportion" value="0.23643054" />
|
<property name="project.structure.side.proportion" value="0.23643054" />
|
||||||
@ -67,6 +67,10 @@
|
|||||||
<recent name="com.volmit.iris.v2.scaffold.stream.utility" />
|
<recent name="com.volmit.iris.v2.scaffold.stream.utility" />
|
||||||
</key>
|
</key>
|
||||||
<key name="CopyFile.RECENT_KEYS">
|
<key name="CopyFile.RECENT_KEYS">
|
||||||
|
<recent name="C:\Users\cyberpwn\Documents\development\workspace\Iris\src\main\java\com\volmit\iris\v2\nms" />
|
||||||
|
<recent name="C:\Users\cyberpwn\Documents\development\workspace\Iris\src\main\java\com\volmit\iris\v2\nms\mc16\r2" />
|
||||||
|
<recent name="C:\Users\cyberpwn\Documents\development\workspace\Iris\src\main\java\com\volmit\iris\v2\nms\abstract" />
|
||||||
|
<recent name="C:\Users\cyberpwn\Documents\development\workspace\Iris\src\main\java\com\volmit\iris\v2\nms\mc16" />
|
||||||
<recent name="C:\Users\cyberpwn\Documents\development\workspace\Iris\src\main\java\com\volmit\iris\gen\v2\scaffold\hunk" />
|
<recent name="C:\Users\cyberpwn\Documents\development\workspace\Iris\src\main\java\com\volmit\iris\gen\v2\scaffold\hunk" />
|
||||||
</key>
|
</key>
|
||||||
</component>
|
</component>
|
||||||
@ -123,10 +127,10 @@
|
|||||||
<screen x="0" y="0" width="1920" height="1050" />
|
<screen x="0" y="0" width="1920" height="1050" />
|
||||||
</state>
|
</state>
|
||||||
<state x="410" y="171" width="1234" height="708" key="#com.intellij.execution.impl.EditConfigurationsDialog/-1920.0.1920.1050/1920.0.1920.1050/0.0.1920.1050@0.0.1920.1050" timestamp="1603947263834" />
|
<state x="410" y="171" width="1234" height="708" key="#com.intellij.execution.impl.EditConfigurationsDialog/-1920.0.1920.1050/1920.0.1920.1050/0.0.1920.1050@0.0.1920.1050" timestamp="1603947263834" />
|
||||||
<state x="718" y="163" key="#com.intellij.ide.util.MemberChooser" timestamp="1604143067494">
|
<state x="718" y="163" key="#com.intellij.ide.util.MemberChooser" timestamp="1604186001966">
|
||||||
<screen x="0" y="0" width="1920" height="1050" />
|
<screen x="0" y="0" width="1920" height="1050" />
|
||||||
</state>
|
</state>
|
||||||
<state x="718" y="163" key="#com.intellij.ide.util.MemberChooser/-1920.0.1920.1050/1920.0.1920.1050/0.0.1920.1050@0.0.1920.1050" timestamp="1604143067494" />
|
<state x="718" y="163" key="#com.intellij.ide.util.MemberChooser/-1920.0.1920.1050/1920.0.1920.1050/0.0.1920.1050@0.0.1920.1050" timestamp="1604186001966" />
|
||||||
<state x="675" y="394" key="#com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesDialog.classes" timestamp="1603943257126">
|
<state x="675" y="394" key="#com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesDialog.classes" timestamp="1603943257126">
|
||||||
<screen x="0" y="0" width="1920" height="1050" />
|
<screen x="0" y="0" width="1920" height="1050" />
|
||||||
</state>
|
</state>
|
||||||
@ -143,22 +147,22 @@
|
|||||||
<screen x="0" y="0" width="1920" height="1050" />
|
<screen x="0" y="0" width="1920" height="1050" />
|
||||||
</state>
|
</state>
|
||||||
<state x="485" y="234" key="#com.intellij.structuralsearch.plugin.ui.StructuralSearchDialog/-1920.0.1920.1050/1920.0.1920.1050/0.0.1920.1050@0.0.1920.1050" timestamp="1603860057506" />
|
<state x="485" y="234" key="#com.intellij.structuralsearch.plugin.ui.StructuralSearchDialog/-1920.0.1920.1050/1920.0.1920.1050/0.0.1920.1050@0.0.1920.1050" timestamp="1603860057506" />
|
||||||
<state width="1921" height="983" key="GridCell.Tab.0.bottom" timestamp="1604168119276">
|
<state width="1921" height="983" key="GridCell.Tab.0.bottom" timestamp="1604185046457">
|
||||||
<screen x="0" y="0" width="1920" height="1050" />
|
<screen x="0" y="0" width="1920" height="1050" />
|
||||||
</state>
|
</state>
|
||||||
<state width="1921" height="983" key="GridCell.Tab.0.bottom/-1920.0.1920.1050/1920.0.1920.1050/0.0.1920.1050@0.0.1920.1050" timestamp="1604168119276" />
|
<state width="1921" height="983" key="GridCell.Tab.0.bottom/-1920.0.1920.1050/1920.0.1920.1050/0.0.1920.1050@0.0.1920.1050" timestamp="1604185046457" />
|
||||||
<state width="1921" height="983" key="GridCell.Tab.0.center" timestamp="1604168119275">
|
<state width="1921" height="983" key="GridCell.Tab.0.center" timestamp="1604185046457">
|
||||||
<screen x="0" y="0" width="1920" height="1050" />
|
<screen x="0" y="0" width="1920" height="1050" />
|
||||||
</state>
|
</state>
|
||||||
<state width="1921" height="983" key="GridCell.Tab.0.center/-1920.0.1920.1050/1920.0.1920.1050/0.0.1920.1050@0.0.1920.1050" timestamp="1604168119275" />
|
<state width="1921" height="983" key="GridCell.Tab.0.center/-1920.0.1920.1050/1920.0.1920.1050/0.0.1920.1050@0.0.1920.1050" timestamp="1604185046457" />
|
||||||
<state width="1921" height="983" key="GridCell.Tab.0.left" timestamp="1604168119274">
|
<state width="1921" height="983" key="GridCell.Tab.0.left" timestamp="1604185046457">
|
||||||
<screen x="0" y="0" width="1920" height="1050" />
|
<screen x="0" y="0" width="1920" height="1050" />
|
||||||
</state>
|
</state>
|
||||||
<state width="1921" height="983" key="GridCell.Tab.0.left/-1920.0.1920.1050/1920.0.1920.1050/0.0.1920.1050@0.0.1920.1050" timestamp="1604168119274" />
|
<state width="1921" height="983" key="GridCell.Tab.0.left/-1920.0.1920.1050/1920.0.1920.1050/0.0.1920.1050@0.0.1920.1050" timestamp="1604185046457" />
|
||||||
<state width="1921" height="983" key="GridCell.Tab.0.right" timestamp="1604168119275">
|
<state width="1921" height="983" key="GridCell.Tab.0.right" timestamp="1604185046457">
|
||||||
<screen x="0" y="0" width="1920" height="1050" />
|
<screen x="0" y="0" width="1920" height="1050" />
|
||||||
</state>
|
</state>
|
||||||
<state width="1921" height="983" key="GridCell.Tab.0.right/-1920.0.1920.1050/1920.0.1920.1050/0.0.1920.1050@0.0.1920.1050" timestamp="1604168119275" />
|
<state width="1921" height="983" key="GridCell.Tab.0.right/-1920.0.1920.1050/1920.0.1920.1050/0.0.1920.1050@0.0.1920.1050" timestamp="1604185046457" />
|
||||||
<state x="312" y="0" key="SettingsEditor" timestamp="1603947206451">
|
<state x="312" y="0" key="SettingsEditor" timestamp="1603947206451">
|
||||||
<screen x="0" y="0" width="1920" height="1050" />
|
<screen x="0" y="0" width="1920" height="1050" />
|
||||||
</state>
|
</state>
|
||||||
|
@ -34,6 +34,12 @@ public class IrisCarveLayer
|
|||||||
@Desc("The max height")
|
@Desc("The max height")
|
||||||
private int maxHeight = 220;
|
private int maxHeight = 220;
|
||||||
|
|
||||||
|
@MinNumber(0.0)
|
||||||
|
@MaxNumber(1.0)
|
||||||
|
@DontObfuscate
|
||||||
|
@Desc("The full percentage means the 4D opacity of this carver will decay from 100% to 0% at the min & max vertical ranges. Setting the percent to 1.0 will make a very drastic & charp change at the edge of the vertical min & max. Where as 0.15 means only 15% of the vertical range will actually be 100% opacity.")
|
||||||
|
private double fullPercent = 0.5;
|
||||||
|
|
||||||
@MaxNumber(512)
|
@MaxNumber(512)
|
||||||
@MinNumber(-128)
|
@MinNumber(-128)
|
||||||
@DontObfuscate
|
@DontObfuscate
|
||||||
@ -55,7 +61,19 @@ public class IrisCarveLayer
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
double opacity = Math.pow(IrisInterpolation.sinCenter(M.lerpInverse(getMinHeight(), getMaxHeight(), y)), 4);
|
double innerRange = fullPercent * (maxHeight - minHeight);
|
||||||
|
double opacity = 1D;
|
||||||
|
|
||||||
|
if(y <= minHeight+innerRange)
|
||||||
|
{
|
||||||
|
opacity = IrisInterpolation.bezier(M.lerpInverse(getMinHeight(), minHeight+innerRange, y));
|
||||||
|
}
|
||||||
|
|
||||||
|
else if(y >=maxHeight - innerRange)
|
||||||
|
{
|
||||||
|
opacity = IrisInterpolation.bezier(1D - M.lerpInverse(maxHeight-innerRange, getMaxHeight(), y));
|
||||||
|
}
|
||||||
|
|
||||||
return cng.aquire(() -> getStyle().create(rng.nextParallelRNG(-2340 * getMaxHeight() * getMinHeight()))).fitDouble(0D, 1D, x, y, z) * opacity > getThreshold();
|
return cng.aquire(() -> getStyle().create(rng.nextParallelRNG(-2340 * getMaxHeight() * getMinHeight()))).fitDouble(0D, 1D, x, y, z) * opacity > getThreshold();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.volmit.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
|
import net.royawesome.jlibnoise.Noise;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.World.Environment;
|
import org.bukkit.World.Environment;
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
@ -62,6 +63,10 @@ public class IrisDimension extends IrisRegistrant
|
|||||||
@Desc("Improves the biome grid variation by shuffling the cell grid more depending on the seed. This makes biomes across multiple seeds look far different than before.")
|
@Desc("Improves the biome grid variation by shuffling the cell grid more depending on the seed. This makes biomes across multiple seeds look far different than before.")
|
||||||
private boolean aggressiveBiomeReshuffle = false;
|
private boolean aggressiveBiomeReshuffle = false;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
|
@Desc("Instead of a flat bottom, applies a clamp (using this noise style) to the bottom instead of a flat bottom. Useful for carving out center-dimensions in a dimension composite world.")
|
||||||
|
private IrisShapedGeneratorStyle undercarriage = null;
|
||||||
|
|
||||||
@DontObfuscate
|
@DontObfuscate
|
||||||
@Desc("Upon joining this world, Iris will send a resource pack request to the client. If they have previously selected yes, it will auto-switch depending on which dimension they go to.")
|
@Desc("Upon joining this world, Iris will send a resource pack request to the client. If they have previously selected yes, it will auto-switch depending on which dimension they go to.")
|
||||||
private String resourcePack = "";
|
private String resourcePack = "";
|
||||||
@ -367,6 +372,22 @@ public class IrisDimension extends IrisRegistrant
|
|||||||
return rad.aquire(() -> Math.toRadians(dimensionAngleDeg));
|
return rad.aquire(() -> Math.toRadians(dimensionAngleDeg));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isCarved(int x, int y, int z, RNG rng, int terrainHeight)
|
||||||
|
{
|
||||||
|
if(isCarving() && terrainHeight > getFluidHeight() || y < terrainHeight)
|
||||||
|
{
|
||||||
|
for(IrisCarveLayer j : getCarveLayers())
|
||||||
|
{
|
||||||
|
if(j.isCarved(rng, x, y, z))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public double sinRotate()
|
public double sinRotate()
|
||||||
{
|
{
|
||||||
return sinr.aquire(() -> Math.sin(getDimensionAngle()));
|
return sinr.aquire(() -> Math.sin(getDimensionAngle()));
|
||||||
|
@ -36,7 +36,6 @@ public class IrisShapedGeneratorStyle
|
|||||||
@Required
|
@Required
|
||||||
@MinNumber(-256)
|
@MinNumber(-256)
|
||||||
@MaxNumber(256)
|
@MaxNumber(256)
|
||||||
|
|
||||||
@DontObfuscate
|
@DontObfuscate
|
||||||
@Desc("The max block value")
|
@Desc("The max block value")
|
||||||
private int max = 0;
|
private int max = 0;
|
||||||
|
@ -13,6 +13,6 @@ public class TestGen
|
|||||||
public static void gen(Player p)
|
public static void gen(Player p)
|
||||||
{
|
{
|
||||||
p.teleport(new Location(new WorldCreator("t/" + UUID.randomUUID().toString())
|
p.teleport(new Location(new WorldCreator("t/" + UUID.randomUUID().toString())
|
||||||
.generator(EngineCompositeGenerator.newStudioWorld("overworld")).createWorld(), 0, 70, 0));
|
.generator(EngineCompositeGenerator.newStudioWorld("iris")).createWorld(), 0, 70, 0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,9 +8,12 @@ import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
|||||||
import com.volmit.iris.v2.scaffold.parallel.MultiBurst;
|
import com.volmit.iris.v2.scaffold.parallel.MultiBurst;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
import net.minecraft.server.v1_16_R2.*;
|
||||||
import org.bukkit.block.Biome;
|
import org.bukkit.block.Biome;
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
|
|
||||||
|
import java.util.Iterator;
|
||||||
|
|
||||||
public class IrisEngine implements Engine
|
public class IrisEngine implements Engine
|
||||||
{
|
{
|
||||||
@Getter
|
@Getter
|
||||||
@ -43,8 +46,16 @@ public class IrisEngine implements Engine
|
|||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
|
generateStructureReferences();
|
||||||
|
generateStructures();
|
||||||
getFramework().getEngineParallax().insertParallax(x, z, blocks);
|
getFramework().getEngineParallax().insertParallax(x, z, blocks);
|
||||||
System.out.println("Regions: " + getParallax().getRegionCount() + ", Chunks: " + getParallax().getChunkCount());
|
|
||||||
getParallax().cleanup();
|
getParallax().cleanup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void generateStructureReferences() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void generateStructures() {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -37,8 +37,11 @@ public class IrisEngineCompound implements EngineCompound {
|
|||||||
@Getter
|
@Getter
|
||||||
private final MultiBurst burster;
|
private final MultiBurst burster;
|
||||||
|
|
||||||
|
private IrisDimension root;
|
||||||
|
|
||||||
public IrisEngineCompound(World world, IrisDimension rootDimension, IrisDataManager data, int maximumThreads)
|
public IrisEngineCompound(World world, IrisDimension rootDimension, IrisDataManager data, int maximumThreads)
|
||||||
{
|
{
|
||||||
|
this.root = rootDimension;
|
||||||
Iris.info("Initializing Engine Composite for " + world.getName());
|
Iris.info("Initializing Engine Composite for " + world.getName());
|
||||||
this.world = world;
|
this.world = world;
|
||||||
engineMetadata = EngineData.load(getEngineMetadataFile());
|
engineMetadata = EngineData.load(getEngineMetadataFile());
|
||||||
@ -91,6 +94,11 @@ public class IrisEngineCompound implements EngineCompound {
|
|||||||
return new File(world.getWorldFolder(), "iris/engine-metadata.json");
|
return new File(world.getWorldFolder(), "iris/engine-metadata.json");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IrisDimension getRootDimension() {
|
||||||
|
return root;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void generate(int x, int z, Hunk<BlockData> blocks, Hunk<Biome> biomes)
|
public void generate(int x, int z, Hunk<BlockData> blocks, Hunk<Biome> biomes)
|
||||||
{
|
{
|
||||||
|
@ -1,29 +1,34 @@
|
|||||||
package com.volmit.iris.v2.generator.actuator;
|
package com.volmit.iris.v2.generator.actuator;
|
||||||
|
|
||||||
|
import com.volmit.iris.noise.CNG;
|
||||||
import com.volmit.iris.object.IrisBiome;
|
import com.volmit.iris.object.IrisBiome;
|
||||||
import com.volmit.iris.object.IrisBiomePaletteLayer;
|
import com.volmit.iris.object.IrisCarveLayer;
|
||||||
|
import com.volmit.iris.object.IrisNoiseGenerator;
|
||||||
import com.volmit.iris.util.KList;
|
import com.volmit.iris.util.KList;
|
||||||
import com.volmit.iris.util.RNG;
|
import com.volmit.iris.util.RNG;
|
||||||
import com.volmit.iris.v2.scaffold.engine.Engine;
|
import com.volmit.iris.v2.scaffold.engine.Engine;
|
||||||
import com.volmit.iris.v2.scaffold.engine.EngineAssignedActuator;
|
import com.volmit.iris.v2.scaffold.engine.EngineAssignedActuator;
|
||||||
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.Biome;
|
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
|
|
||||||
public class IrisTerrainActuator extends EngineAssignedActuator<BlockData>
|
public class IrisTerrainActuator extends EngineAssignedActuator<BlockData>
|
||||||
{
|
{
|
||||||
private static final BlockData AIR = Material.AIR.createBlockData();
|
private static final BlockData AIR = Material.AIR.createBlockData();
|
||||||
|
private static final BlockData BEDROCK = Material.BEDROCK.createBlockData();
|
||||||
|
private static final BlockData CAVE_AIR = Material.CAVE_AIR.createBlockData();
|
||||||
private final RNG rng;
|
private final RNG rng;
|
||||||
|
private final boolean hasUnder;
|
||||||
|
|
||||||
public IrisTerrainActuator(Engine engine) {
|
public IrisTerrainActuator(Engine engine) {
|
||||||
super(engine, "Terrain");
|
super(engine, "Terrain");
|
||||||
rng = new RNG(engine.getWorld().getSeed());
|
rng = new RNG(engine.getWorld().getSeed());
|
||||||
|
hasUnder = getDimension().getUndercarriage() != null && !getDimension().getUndercarriage().getGenerator().isFlat();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onActuate(int x, int z, Hunk<BlockData> h) {
|
public void onActuate(int x, int z, Hunk<BlockData> h) {
|
||||||
int i,zf, depth, realX, realZ,hf, he;
|
int i,zf, depth, realX, realZ,hf, he, b;
|
||||||
IrisBiome biome;
|
IrisBiome biome;
|
||||||
KList<BlockData> blocks;
|
KList<BlockData> blocks;
|
||||||
|
|
||||||
@ -33,13 +38,30 @@ public class IrisTerrainActuator extends EngineAssignedActuator<BlockData>
|
|||||||
{
|
{
|
||||||
realX = xf + x;
|
realX = xf + x;
|
||||||
realZ = zf + z;
|
realZ = zf + z;
|
||||||
|
b = hasUnder ? (int) Math.round(getDimension().getUndercarriage().get(rng, realX, realZ)) : 0;
|
||||||
he = (int) Math.round(Math.min(h.getHeight(), getComplex().getHeightStream().get(realX, realZ)));
|
he = (int) Math.round(Math.min(h.getHeight(), getComplex().getHeightStream().get(realX, realZ)));
|
||||||
hf = (int) Math.round(Math.max(Math.min(h.getHeight(), getDimension().getFluidHeight()), he));
|
hf = (int) Math.round(Math.max(Math.min(h.getHeight(), getDimension().getFluidHeight()), he));
|
||||||
biome = getComplex().getTrueBiomeStream().get(realX, realZ);
|
biome = getComplex().getTrueBiomeStream().get(realX, realZ);
|
||||||
blocks = null;
|
blocks = null;
|
||||||
|
|
||||||
for(i = hf; i >= 0; i--)
|
if(hf < b)
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(i = hf; i >= b; i--)
|
||||||
|
{
|
||||||
|
if(i == b && getDimension().isBedrock())
|
||||||
|
{
|
||||||
|
h.set(xf, i, zf, BEDROCK);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(getDimension().isCarved(realX, i, realZ, rng, he))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if(i > he && i <= hf)
|
if(i > he && i <= hf)
|
||||||
{
|
{
|
||||||
h.set(xf, i, zf, getComplex().getFluidStream().get(realX, +realZ));
|
h.set(xf, i, zf, getComplex().getFluidStream().get(realX, +realZ));
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.volmit.iris.v2.scaffold.engine;
|
package com.volmit.iris.v2.scaffold.engine;
|
||||||
|
|
||||||
|
import com.volmit.iris.object.IrisDimension;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.block.Biome;
|
import org.bukkit.block.Biome;
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
@ -10,6 +11,8 @@ import com.volmit.iris.v2.scaffold.parallel.MultiBurst;
|
|||||||
|
|
||||||
public interface EngineCompound extends Listener
|
public interface EngineCompound extends Listener
|
||||||
{
|
{
|
||||||
|
public IrisDimension getRootDimension();
|
||||||
|
|
||||||
public void generate(int x, int z, Hunk<BlockData> blocks, Hunk<Biome> biomes);
|
public void generate(int x, int z, Hunk<BlockData> blocks, Hunk<Biome> biomes);
|
||||||
|
|
||||||
public World getWorld();
|
public World getWorld();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user