mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-06-18 06:41:08 +00:00
Support Objects in Regions
This commit is contained in:
+1
-1
@@ -5,7 +5,7 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
group 'com.volmit.iris'
|
group 'com.volmit.iris'
|
||||||
version '1.4.3'
|
version '1.4.4'
|
||||||
def apiVersion = '1.17'
|
def apiVersion = '1.17'
|
||||||
def name = 'Iris'
|
def name = 'Iris'
|
||||||
def main = 'com.volmit.iris.Iris'
|
def main = 'com.volmit.iris.Iris'
|
||||||
|
|||||||
@@ -290,7 +290,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer {
|
|||||||
IrisRegion region = getComplex().getRegionStream().get(xx+8, zz+8);
|
IrisRegion region = getComplex().getRegionStream().get(xx+8, zz+8);
|
||||||
IrisBiome biome = getComplex().getTrueBiomeStream().get(xx+8, zz+8);
|
IrisBiome biome = getComplex().getTrueBiomeStream().get(xx+8, zz+8);
|
||||||
after.addAll(generateParallaxJigsaw(rng, x, z, biome, region));
|
after.addAll(generateParallaxJigsaw(rng, x, z, biome, region));
|
||||||
generateParallaxSurface(rng, x, z, biome, true);
|
generateParallaxSurface(rng, x, z, biome, region, true);
|
||||||
generateParallaxMutations(rng, x, z, true);
|
generateParallaxMutations(rng, x, z, true);
|
||||||
return after;
|
return after;
|
||||||
}
|
}
|
||||||
@@ -307,7 +307,8 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer {
|
|||||||
getParallaxAccess().setParallaxGenerated(x, z);
|
getParallaxAccess().setParallaxGenerated(x, z);
|
||||||
RNG rng = new RNG(Cache.key(x, z)).nextParallelRNG(getEngine().getTarget().getWorld().getSeed());
|
RNG rng = new RNG(Cache.key(x, z)).nextParallelRNG(getEngine().getTarget().getWorld().getSeed());
|
||||||
IrisBiome biome = getComplex().getTrueBiomeStream().get(xx+8, zz+8);
|
IrisBiome biome = getComplex().getTrueBiomeStream().get(xx+8, zz+8);
|
||||||
generateParallaxSurface(rng, x, z, biome, false);
|
IrisRegion region = getComplex().getRegionStream().get(xx+8,zz+8);
|
||||||
|
generateParallaxSurface(rng, x, z, biome, region,false);
|
||||||
generateParallaxMutations(rng, x, z, false);
|
generateParallaxMutations(rng, x, z, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -427,7 +428,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer {
|
|||||||
return placeAfter;
|
return placeAfter;
|
||||||
}
|
}
|
||||||
|
|
||||||
default void generateParallaxSurface(RNG rng, int x, int z, IrisBiome biome, boolean vacuum) {
|
default void generateParallaxSurface(RNG rng, int x, int z, IrisBiome biome, IrisRegion region, boolean vacuum) {
|
||||||
for (IrisObjectPlacement i : biome.getSurfaceObjects())
|
for (IrisObjectPlacement i : biome.getSurfaceObjects())
|
||||||
{
|
{
|
||||||
if(i.isVacuum() != vacuum)
|
if(i.isVacuum() != vacuum)
|
||||||
@@ -447,6 +448,26 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (IrisObjectPlacement i : region.getSurfaceObjects())
|
||||||
|
{
|
||||||
|
if(i.isVacuum() != vacuum)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(rng.chance(i.getChance() + rng.d(-0.005, 0.005)) && rng.chance(getComplex().getObjectChanceStream().get(x<<4, z<<4)))
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
place(rng, x << 4, z << 4, i);
|
||||||
|
} catch(Throwable e) {
|
||||||
|
Iris.error("Failed to place objects in the following biome: " + biome.getName());
|
||||||
|
Iris.error("Object(s) " + i.getPlace().toString(", ") + " (" + e.getClass().getSimpleName() + ").");
|
||||||
|
Iris.error("Are these objects missing?");
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
default void generateParallaxMutations(RNG rng, int x, int z, boolean vacuum) {
|
default void generateParallaxMutations(RNG rng, int x, int z, boolean vacuum) {
|
||||||
|
|||||||
Reference in New Issue
Block a user