9
0
mirror of https://github.com/VolmitSoftware/Iris.git synced 2025-12-29 20:19:06 +00:00
This commit is contained in:
Daniel Mills
2020-08-25 16:39:24 -04:00
parent 01fd89f60c
commit ff78830ead
21 changed files with 15882 additions and 6613 deletions

View File

@@ -153,7 +153,6 @@ public class IrisChunkGenerator extends PostBlockChunkGenerator implements IrisC
e.printStackTrace();
}
setAvailableFilters(null);
setSliverCache(null);
Iris.info("Closing Iris Dimension " + getWorld().getName());
}

View File

@@ -4,6 +4,12 @@ import org.bukkit.World;
import org.bukkit.block.data.BlockData;
import com.volmit.iris.Iris;
import com.volmit.iris.gen.post.PostFloatingNibDeleter;
import com.volmit.iris.gen.post.PostNibSmoother;
import com.volmit.iris.gen.post.PostPotholeFiller;
import com.volmit.iris.gen.post.PostSlabber;
import com.volmit.iris.gen.post.PostWallPatcher;
import com.volmit.iris.gen.post.PostWaterlogger;
import com.volmit.iris.util.CaveResult;
import com.volmit.iris.util.IPostBlockAccess;
import com.volmit.iris.util.IrisLock;
@@ -19,7 +25,6 @@ import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = false)
public abstract class PostBlockChunkGenerator extends ParallaxChunkGenerator implements IPostBlockAccess
{
private KList<IrisPostBlockFilter> availableFilters;
private String postKey;
private IrisLock lock;
private int minPhase;
@@ -28,7 +33,6 @@ public abstract class PostBlockChunkGenerator extends ParallaxChunkGenerator imp
public PostBlockChunkGenerator(String dimensionName, int threads)
{
super(dimensionName, threads);
availableFilters = new KList<>();
postKey = "post-" + dimensionName;
lock = new IrisLock("PostChunkGenerator");
}
@@ -36,20 +40,6 @@ public abstract class PostBlockChunkGenerator extends ParallaxChunkGenerator imp
public void onInit(World world, RNG rng)
{
super.onInit(world, rng);
for(Class<? extends IrisPostBlockFilter> i : Iris.postProcessors)
{
try
{
availableFilters.add(i.getConstructor(PostBlockChunkGenerator.class).newInstance(this));
}
catch(Throwable e)
{
Iris.error("Failed to initialize post processor: " + i.getCanonicalName());
fail(e);
}
}
}
@Override
@@ -120,21 +110,34 @@ public abstract class PostBlockChunkGenerator extends ParallaxChunkGenerator imp
public IrisPostBlockFilter createProcessor(String processor, int phase)
{
for(IrisPostBlockFilter i : availableFilters)
if(processor.equals("floating-block-remover"))
{
if(i.getKey().equals(processor))
{
try
{
return i.getClass().getConstructor(PostBlockChunkGenerator.class, int.class).newInstance(this, phase);
}
return new PostFloatingNibDeleter(this, phase);
}
catch(Throwable e)
{
Iris.error("Failed initialize find post processor: " + processor);
fail(e);
}
}
if(processor.equals("nib-smoother"))
{
return new PostNibSmoother(this, phase);
}
if(processor.equals("pothole-filler"))
{
return new PostPotholeFiller(this, phase);
}
if(processor.equals("slabber"))
{
return new PostSlabber(this, phase);
}
if(processor.equals("wall-painter"))
{
return new PostWallPatcher(this, phase);
}
if(processor.equals("waterlogger"))
{
return new PostWaterlogger(this, phase);
}
Iris.error("Failed to find post processor: " + processor);

View File

@@ -5,6 +5,7 @@ import org.bukkit.generator.ChunkGenerator.ChunkData;
import com.volmit.iris.gen.PostBlockChunkGenerator;
import com.volmit.iris.util.B;
import com.volmit.iris.util.DontObfuscate;
import com.volmit.iris.util.IrisPostBlockFilter;
@Post("floating-block-remover")
@@ -12,11 +13,13 @@ public class PostFloatingNibDeleter extends IrisPostBlockFilter
{
private static final BlockData AIR = B.getBlockData("AIR");
@DontObfuscate
public PostFloatingNibDeleter(PostBlockChunkGenerator gen, int phase)
{
super(gen, phase);
}
@DontObfuscate
public PostFloatingNibDeleter(PostBlockChunkGenerator gen)
{
this(gen, 0);

View File

@@ -5,16 +5,19 @@ import org.bukkit.block.data.BlockData;
import org.bukkit.generator.ChunkGenerator.ChunkData;
import com.volmit.iris.gen.PostBlockChunkGenerator;
import com.volmit.iris.util.DontObfuscate;
import com.volmit.iris.util.IrisPostBlockFilter;
@Post("nib-smoother")
public class PostNibSmoother extends IrisPostBlockFilter
{
@DontObfuscate
public PostNibSmoother(PostBlockChunkGenerator gen, int phase)
{
super(gen, phase);
}
@DontObfuscate
public PostNibSmoother(PostBlockChunkGenerator gen)
{
this(gen, 0);

View File

@@ -3,16 +3,19 @@ package com.volmit.iris.gen.post;
import org.bukkit.generator.ChunkGenerator.ChunkData;
import com.volmit.iris.gen.PostBlockChunkGenerator;
import com.volmit.iris.util.DontObfuscate;
import com.volmit.iris.util.IrisPostBlockFilter;
@Post("pothole-filler")
public class PostPotholeFiller extends IrisPostBlockFilter
{
@DontObfuscate
public PostPotholeFiller(PostBlockChunkGenerator gen, int phase)
{
super(gen, phase);
}
@DontObfuscate
public PostPotholeFiller(PostBlockChunkGenerator gen)
{
this(gen, 0);

View File

@@ -5,6 +5,7 @@ import org.bukkit.block.data.BlockData;
import org.bukkit.generator.ChunkGenerator.ChunkData;
import com.volmit.iris.gen.PostBlockChunkGenerator;
import com.volmit.iris.util.DontObfuscate;
import com.volmit.iris.util.IrisPostBlockFilter;
import com.volmit.iris.util.RNG;
@@ -15,12 +16,14 @@ public class PostSlabber extends IrisPostBlockFilter
public static final Material WATER = Material.WATER;
private RNG rng;
@DontObfuscate
public PostSlabber(PostBlockChunkGenerator gen, int phase)
{
super(gen, phase);
rng = gen.getMasterRandom().nextParallelRNG(166456);
}
@DontObfuscate
public PostSlabber(PostBlockChunkGenerator gen)
{
this(gen, 0);

View File

@@ -6,6 +6,7 @@ import org.bukkit.generator.ChunkGenerator.ChunkData;
import com.volmit.iris.gen.PostBlockChunkGenerator;
import com.volmit.iris.object.IrisBiome;
import com.volmit.iris.util.DontObfuscate;
import com.volmit.iris.util.IrisPostBlockFilter;
import com.volmit.iris.util.RNG;
@@ -15,12 +16,14 @@ public class PostWallPatcher extends IrisPostBlockFilter
public static final Material AIR = Material.AIR;
private RNG rng;
@DontObfuscate
public PostWallPatcher(PostBlockChunkGenerator gen, int phase)
{
super(gen, phase);
rng = gen.getMasterRandom().nextParallelRNG(1239456);
}
@DontObfuscate
public PostWallPatcher(PostBlockChunkGenerator gen)
{
this(gen, 0);

View File

@@ -7,6 +7,7 @@ import org.bukkit.generator.ChunkGenerator.ChunkData;
import com.volmit.iris.gen.PostBlockChunkGenerator;
import com.volmit.iris.util.B;
import com.volmit.iris.util.DontObfuscate;
import com.volmit.iris.util.IrisPostBlockFilter;
@Post("waterlogger")
@@ -14,11 +15,13 @@ public class PostWaterlogger extends IrisPostBlockFilter
{
private static final BlockData WATER = B.getBlockData("WATER");
@DontObfuscate
public PostWaterlogger(PostBlockChunkGenerator gen, int phase)
{
super(gen, phase);
}
@DontObfuscate
public PostWaterlogger(PostBlockChunkGenerator gen)
{
super(gen);