mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-19 10:43:14 +00:00
Temp fixes
This commit is contained in:
parent
b87153a445
commit
7a7fee1d8a
20
.idea/workspace.xml
generated
20
.idea/workspace.xml
generated
@ -60,10 +60,10 @@
|
|||||||
<recent name="com.volmit.iris.gen.v2.scaffold.stream.sources" />
|
<recent name="com.volmit.iris.gen.v2.scaffold.stream.sources" />
|
||||||
</key>
|
</key>
|
||||||
<key name="CopyClassDialog.RECENTS_KEY">
|
<key name="CopyClassDialog.RECENTS_KEY">
|
||||||
|
<recent name="com.volmit.iris.v2.scaffold.engine" />
|
||||||
<recent name="com.volmit.iris.v2.generator.actuator" />
|
<recent name="com.volmit.iris.v2.generator.actuator" />
|
||||||
<recent name="com.volmit.iris.command" />
|
<recent name="com.volmit.iris.command" />
|
||||||
<recent name="com.volmit.iris.v2.scaffold.hunk.view" />
|
<recent name="com.volmit.iris.v2.scaffold.hunk.view" />
|
||||||
<recent name="com.volmit.iris.v2.scaffold.engine" />
|
|
||||||
<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">
|
||||||
@ -74,7 +74,7 @@
|
|||||||
<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>
|
||||||
<component name="RunManager" selected="Maven.Iris Release">
|
<component name="RunManager" selected="Maven.Iris Build">
|
||||||
<configuration default="true" type="MavenRunConfiguration" factoryName="Maven">
|
<configuration default="true" type="MavenRunConfiguration" factoryName="Maven">
|
||||||
<MavenSettings>
|
<MavenSettings>
|
||||||
<option name="myGeneralSettings" />
|
<option name="myGeneralSettings" />
|
||||||
@ -147,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="1604235922783">
|
<state width="1921" height="983" key="GridCell.Tab.0.bottom" timestamp="1604241709027">
|
||||||
<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="1604235922783" />
|
<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="1604241709027" />
|
||||||
<state width="1921" height="983" key="GridCell.Tab.0.center" timestamp="1604235922783">
|
<state width="1921" height="983" key="GridCell.Tab.0.center" timestamp="1604241709026">
|
||||||
<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="1604235922783" />
|
<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="1604241709026" />
|
||||||
<state width="1921" height="983" key="GridCell.Tab.0.left" timestamp="1604235922783">
|
<state width="1921" height="983" key="GridCell.Tab.0.left" timestamp="1604241709026">
|
||||||
<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="1604235922783" />
|
<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="1604241709026" />
|
||||||
<state width="1921" height="983" key="GridCell.Tab.0.right" timestamp="1604235922783">
|
<state width="1921" height="983" key="GridCell.Tab.0.right" timestamp="1604241709027">
|
||||||
<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="1604235922783" />
|
<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="1604241709027" />
|
||||||
<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>
|
||||||
|
@ -13,4 +13,9 @@ public class CaveResult
|
|||||||
this.floor = floor;
|
this.floor = floor;
|
||||||
this.ceiling = ceiling;
|
this.ceiling = ceiling;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isWithin(int v)
|
||||||
|
{
|
||||||
|
return v > floor || v < ceiling;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
package com.volmit.iris.v2.generator;
|
package com.volmit.iris.v2.generator;
|
||||||
|
|
||||||
|
import com.volmit.iris.object.*;
|
||||||
|
import com.volmit.iris.util.*;
|
||||||
import com.volmit.iris.v2.scaffold.data.DataProvider;
|
import com.volmit.iris.v2.scaffold.data.DataProvider;
|
||||||
import com.volmit.iris.v2.scaffold.engine.Engine;
|
import com.volmit.iris.v2.scaffold.engine.Engine;
|
||||||
import com.volmit.iris.util.B;
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.Biome;
|
import org.bukkit.block.Biome;
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
@ -12,16 +13,6 @@ import com.volmit.iris.v2.scaffold.stream.ProceduralStream;
|
|||||||
import com.volmit.iris.v2.scaffold.stream.interpolation.Interpolated;
|
import com.volmit.iris.v2.scaffold.stream.interpolation.Interpolated;
|
||||||
import com.volmit.iris.manager.IrisDataManager;
|
import com.volmit.iris.manager.IrisDataManager;
|
||||||
import com.volmit.iris.noise.CNG;
|
import com.volmit.iris.noise.CNG;
|
||||||
import com.volmit.iris.object.DecorationPart;
|
|
||||||
import com.volmit.iris.object.InferredType;
|
|
||||||
import com.volmit.iris.object.IrisBiome;
|
|
||||||
import com.volmit.iris.object.IrisDecorator;
|
|
||||||
import com.volmit.iris.object.IrisBiomePaletteLayer;
|
|
||||||
import com.volmit.iris.object.IrisGenerator;
|
|
||||||
import com.volmit.iris.object.IrisRegion;
|
|
||||||
import com.volmit.iris.util.KList;
|
|
||||||
import com.volmit.iris.util.M;
|
|
||||||
import com.volmit.iris.util.RNG;
|
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@ -56,6 +47,7 @@ public class IrisComplex implements DataProvider
|
|||||||
private ProceduralStream<BlockData> rockStream;
|
private ProceduralStream<BlockData> rockStream;
|
||||||
private ProceduralStream<BlockData> fluidStream;
|
private ProceduralStream<BlockData> fluidStream;
|
||||||
private ProceduralStream<BlockData> glassStream;
|
private ProceduralStream<BlockData> glassStream;
|
||||||
|
private ProceduralStream<KList<CaveResult>> caveStream;
|
||||||
|
|
||||||
public ProceduralStream<IrisBiome> getBiomeStream(InferredType type)
|
public ProceduralStream<IrisBiome> getBiomeStream(InferredType type)
|
||||||
{
|
{
|
||||||
@ -164,6 +156,7 @@ public class IrisComplex implements DataProvider
|
|||||||
.convertAware2D((b, xx,zz) -> decorateFor(b, xx, zz, DecorationPart.SHORE_LINE));
|
.convertAware2D((b, xx,zz) -> decorateFor(b, xx, zz, DecorationPart.SHORE_LINE));
|
||||||
seaSurfaceDecoration = trueBiomeStream
|
seaSurfaceDecoration = trueBiomeStream
|
||||||
.convertAware2D((b, xx,zz) -> decorateFor(b, xx, zz, DecorationPart.SEA_SURFACE));
|
.convertAware2D((b, xx,zz) -> decorateFor(b, xx, zz, DecorationPart.SEA_SURFACE));
|
||||||
|
caveStream = ProceduralStream.of((x, z) -> engine.getFramework().getCaveModifier().genCaves(x, z, x.intValue() & 15, z.intValue() & 15, null), Interpolated.CAVE_RESULTS);
|
||||||
//@done
|
//@done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -46,6 +46,7 @@ public class IrisEngine implements Engine
|
|||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// getFramework().getCaveModifier().modify(x, z, blocks, biomes);
|
||||||
getFramework().getEngineParallax().insertParallax(x, z, blocks);
|
getFramework().getEngineParallax().insertParallax(x, z, blocks);
|
||||||
getParallax().cleanup();
|
getParallax().cleanup();
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,7 @@ import com.volmit.iris.util.RNG;
|
|||||||
import com.volmit.iris.v2.generator.actuator.IrisBiomeActuator;
|
import com.volmit.iris.v2.generator.actuator.IrisBiomeActuator;
|
||||||
import com.volmit.iris.v2.generator.actuator.IrisDecorantActuator;
|
import com.volmit.iris.v2.generator.actuator.IrisDecorantActuator;
|
||||||
import com.volmit.iris.v2.generator.actuator.IrisTerrainActuator;
|
import com.volmit.iris.v2.generator.actuator.IrisTerrainActuator;
|
||||||
|
import com.volmit.iris.v2.generator.modifier.IrisCaveModifier;
|
||||||
import com.volmit.iris.v2.scaffold.engine.Engine;
|
import com.volmit.iris.v2.scaffold.engine.Engine;
|
||||||
import com.volmit.iris.v2.scaffold.engine.EngineActuator;
|
import com.volmit.iris.v2.scaffold.engine.EngineActuator;
|
||||||
import com.volmit.iris.v2.scaffold.engine.EngineFramework;
|
import com.volmit.iris.v2.scaffold.engine.EngineFramework;
|
||||||
@ -23,6 +24,9 @@ public class IrisEngineFramework implements EngineFramework {
|
|||||||
@Getter
|
@Getter
|
||||||
private final Engine engine;
|
private final Engine engine;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
private final IrisCaveModifier caveModifier;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
private final IrisComplex complex;
|
private final IrisComplex complex;
|
||||||
|
|
||||||
@ -41,6 +45,7 @@ public class IrisEngineFramework implements EngineFramework {
|
|||||||
public IrisEngineFramework(Engine engine)
|
public IrisEngineFramework(Engine engine)
|
||||||
{
|
{
|
||||||
this.engine = engine;
|
this.engine = engine;
|
||||||
|
this.caveModifier = new IrisCaveModifier(engine);
|
||||||
this.complex = new IrisComplex(getEngine());
|
this.complex = new IrisComplex(getEngine());
|
||||||
this.engineParallax = new IrisEngineParallax(getEngine());
|
this.engineParallax = new IrisEngineParallax(getEngine());
|
||||||
this.terrainActuator = new IrisTerrainActuator(getEngine());
|
this.terrainActuator = new IrisTerrainActuator(getEngine());
|
||||||
|
@ -3,7 +3,9 @@ package com.volmit.iris.v2.generator.actuator;
|
|||||||
import com.volmit.iris.noise.CNG;
|
import com.volmit.iris.noise.CNG;
|
||||||
import com.volmit.iris.object.IrisBiome;
|
import com.volmit.iris.object.IrisBiome;
|
||||||
import com.volmit.iris.object.IrisCarveLayer;
|
import com.volmit.iris.object.IrisCarveLayer;
|
||||||
|
import com.volmit.iris.object.IrisCaveLayer;
|
||||||
import com.volmit.iris.object.IrisNoiseGenerator;
|
import com.volmit.iris.object.IrisNoiseGenerator;
|
||||||
|
import com.volmit.iris.util.CaveResult;
|
||||||
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;
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package com.volmit.iris.v2.generator.actuator;
|
package com.volmit.iris.v2.generator.modifier;
|
||||||
|
|
||||||
import com.volmit.iris.gen.atomics.AtomicSliver;
|
|
||||||
import com.volmit.iris.noise.FastNoiseDouble;
|
import com.volmit.iris.noise.FastNoiseDouble;
|
||||||
import com.volmit.iris.object.IrisCaveLayer;
|
import com.volmit.iris.object.IrisCaveLayer;
|
||||||
import com.volmit.iris.util.B;
|
import com.volmit.iris.util.B;
|
||||||
@ -8,14 +7,16 @@ import com.volmit.iris.util.CaveResult;
|
|||||||
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.EngineAssignedBiModifier;
|
||||||
import com.volmit.iris.v2.scaffold.engine.EngineAssignedModifier;
|
import com.volmit.iris.v2.scaffold.engine.EngineAssignedModifier;
|
||||||
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;
|
||||||
|
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
public class IrisCaveModifier extends EngineAssignedModifier<BlockData>
|
public class IrisCaveModifier extends EngineAssignedBiModifier<BlockData, Biome>
|
||||||
{
|
{
|
||||||
public static final BlockData CAVE_AIR = B.getBlockData("CAVE_AIR");
|
public static final BlockData CAVE_AIR = B.getBlockData("CAVE_AIR");
|
||||||
public static final BlockData AIR = B.getBlockData("AIR");
|
public static final BlockData AIR = B.getBlockData("AIR");
|
||||||
@ -30,8 +31,16 @@ public class IrisCaveModifier extends EngineAssignedModifier<BlockData>
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onModify(int x, int z, Hunk<BlockData> output) {
|
public void onModify(int x, int z, Hunk<BlockData> a, Hunk<Biome> b) {
|
||||||
|
Hunk.computeDual2D(getParallelism(), a, b, (xx,yy,zz, ha, hb) -> {
|
||||||
|
for(int i = 0; i < ha.getWidth(); i++)
|
||||||
|
{
|
||||||
|
for(int j = 0; j < ha.getDepth(); i++)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public KList<CaveResult> genCaves(double wxx, double wzz, int x, int z, Hunk<BlockData> data)
|
public KList<CaveResult> genCaves(double wxx, double wzz, int x, int z, Hunk<BlockData> data)
|
@ -0,0 +1,18 @@
|
|||||||
|
package com.volmit.iris.v2.scaffold.engine;
|
||||||
|
|
||||||
|
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
||||||
|
|
||||||
|
public abstract class EngineAssignedBiModifier<A, B> extends EngineAssignedComponent implements EngineBiModifier<A, B>
|
||||||
|
{
|
||||||
|
public EngineAssignedBiModifier(Engine engine, String name)
|
||||||
|
{
|
||||||
|
super(engine, name);
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract void onModify(int x, int z, Hunk<A> a, Hunk<B> b);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void modify(int x, int z, Hunk<A> a, Hunk<B> b) {
|
||||||
|
onModify(x, z, a, b);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,7 @@
|
|||||||
|
package com.volmit.iris.v2.scaffold.engine;
|
||||||
|
|
||||||
|
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
||||||
|
|
||||||
|
public interface EngineBiModifier<A, B> extends EngineComponent {
|
||||||
|
public void modify(int x, int z, Hunk<A> a, Hunk<B> b);
|
||||||
|
}
|
@ -1,5 +1,7 @@
|
|||||||
package com.volmit.iris.v2.scaffold.engine;
|
package com.volmit.iris.v2.scaffold.engine;
|
||||||
|
|
||||||
|
import com.volmit.iris.v2.generator.IrisEngine;
|
||||||
|
import com.volmit.iris.v2.generator.modifier.IrisCaveModifier;
|
||||||
import org.bukkit.block.Biome;
|
import org.bukkit.block.Biome;
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
|
|
||||||
@ -24,4 +26,6 @@ public interface EngineFramework extends DataProvider
|
|||||||
public EngineActuator<BlockData> getDecorantActuator();
|
public EngineActuator<BlockData> getDecorantActuator();
|
||||||
|
|
||||||
public EngineActuator<Biome> getBiomeActuator();
|
public EngineActuator<Biome> getBiomeActuator();
|
||||||
|
|
||||||
|
public IrisCaveModifier getCaveModifier();
|
||||||
}
|
}
|
||||||
|
@ -605,7 +605,7 @@ public interface Hunk<T>
|
|||||||
return compute2D(getIdeal2DParallelism(), v);
|
return compute2D(getIdeal2DParallelism(), v);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <A, B> void compute2D(int parallelism, Hunk<A> a, Hunk<B> b, Consumer5<Integer, Integer, Integer, Hunk<A>, Hunk<B>> v)
|
public static <A, B> void computeDual2D(int parallelism, Hunk<A> a, Hunk<B> b, Consumer5<Integer, Integer, Integer, Hunk<A>, Hunk<B>> v)
|
||||||
{
|
{
|
||||||
if(a.getWidth() != b.getWidth() || a.getHeight() != b.getHeight() || a.getDepth() != b.getDepth())
|
if(a.getWidth() != b.getWidth() || a.getHeight() != b.getHeight() || a.getDepth() != b.getDepth())
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,9 @@ package com.volmit.iris.v2.scaffold.stream.interpolation;
|
|||||||
|
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
|
import com.volmit.iris.object.IrisCaveLayer;
|
||||||
|
import com.volmit.iris.util.CaveResult;
|
||||||
|
import com.volmit.iris.util.KList;
|
||||||
import com.volmit.iris.v2.scaffold.stream.ProceduralStream;
|
import com.volmit.iris.v2.scaffold.stream.ProceduralStream;
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
|
|
||||||
@ -10,6 +13,7 @@ import com.volmit.iris.util.RNG;
|
|||||||
public interface Interpolated<T>
|
public interface Interpolated<T>
|
||||||
{
|
{
|
||||||
public static final Interpolated<BlockData> BLOCK_DATA = of((t) -> 0D, (t) -> null);
|
public static final Interpolated<BlockData> BLOCK_DATA = of((t) -> 0D, (t) -> null);
|
||||||
|
public static final Interpolated<KList<CaveResult>> CAVE_RESULTS = of((t) -> 0D, (t) -> null);
|
||||||
public static final Interpolated<RNG> RNG = of((t) -> 0D, (t) -> null);
|
public static final Interpolated<RNG> RNG = of((t) -> 0D, (t) -> null);
|
||||||
public static final Interpolated<Double> DOUBLE = of((t) -> t, (t) -> t);
|
public static final Interpolated<Double> DOUBLE = of((t) -> t, (t) -> t);
|
||||||
public static final Interpolated<Integer> INT = of((t) -> Double.valueOf(t), (t) -> t.intValue());
|
public static final Interpolated<Integer> INT = of((t) -> Double.valueOf(t), (t) -> t.intValue());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user