This commit is contained in:
Daniel Mills 2020-07-27 20:49:26 -04:00
parent 1ae1cebab6
commit 108499706a
181 changed files with 11266 additions and 498 deletions

View File

@ -1,10 +1,11 @@
package ninja.bytecode.iris;
package com.volmit.iris;
import org.bukkit.generator.ChunkGenerator.BiomeGrid;
import org.bukkit.generator.ChunkGenerator.ChunkData;
import com.volmit.iris.util.ChunkPosition;
import lombok.Data;
import ninja.bytecode.iris.util.ChunkPosition;
@Data
public class GeneratedChunk

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris;
package com.volmit.iris;
import java.io.File;
import java.io.IOException;
@ -30,40 +30,38 @@ import org.bukkit.util.Vector;
import org.zeroturnaround.zip.ZipUtil;
import com.google.gson.Gson;
import ninja.bytecode.iris.generator.IrisChunkGenerator;
import ninja.bytecode.iris.object.IrisBiome;
import ninja.bytecode.iris.object.IrisDimension;
import ninja.bytecode.iris.object.IrisGenerator;
import ninja.bytecode.iris.object.IrisObject;
import ninja.bytecode.iris.object.IrisObjectPlacement;
import ninja.bytecode.iris.object.IrisRegion;
import ninja.bytecode.iris.util.BiomeResult;
import ninja.bytecode.iris.util.BlockDataTools;
import ninja.bytecode.iris.util.BoardManager;
import ninja.bytecode.iris.util.BoardProvider;
import ninja.bytecode.iris.util.BoardSettings;
import ninja.bytecode.iris.util.CNG;
import ninja.bytecode.iris.util.Cuboid;
import ninja.bytecode.iris.util.Cuboid.CuboidDirection;
import ninja.bytecode.iris.util.Desc;
import ninja.bytecode.iris.util.Direction;
import ninja.bytecode.iris.util.GroupedExecutor;
import ninja.bytecode.iris.util.IO;
import ninja.bytecode.iris.util.RNG;
import ninja.bytecode.iris.util.ScoreDirection;
import ninja.bytecode.iris.wand.WandController;
import ninja.bytecode.shuriken.collections.KList;
import ninja.bytecode.shuriken.collections.KMap;
import ninja.bytecode.shuriken.collections.KSet;
import ninja.bytecode.shuriken.execution.J;
import ninja.bytecode.shuriken.format.Form;
import ninja.bytecode.shuriken.json.JSONException;
import ninja.bytecode.shuriken.json.JSONObject;
import ninja.bytecode.shuriken.logging.L;
import ninja.bytecode.shuriken.math.RollingSequence;
import ninja.bytecode.shuriken.reaction.O;
import ninja.bytecode.shuriken.tools.JarScanner;
import com.volmit.iris.generator.IrisChunkGenerator;
import com.volmit.iris.object.IrisBiome;
import com.volmit.iris.object.IrisDimension;
import com.volmit.iris.object.IrisGenerator;
import com.volmit.iris.object.IrisObject;
import com.volmit.iris.object.IrisObjectPlacement;
import com.volmit.iris.object.IrisRegion;
import com.volmit.iris.util.BiomeResult;
import com.volmit.iris.util.BlockDataTools;
import com.volmit.iris.util.BoardManager;
import com.volmit.iris.util.BoardProvider;
import com.volmit.iris.util.BoardSettings;
import com.volmit.iris.util.CNG;
import com.volmit.iris.util.Cuboid;
import com.volmit.iris.util.Desc;
import com.volmit.iris.util.Direction;
import com.volmit.iris.util.Form;
import com.volmit.iris.util.GroupedExecutor;
import com.volmit.iris.util.IO;
import com.volmit.iris.util.J;
import com.volmit.iris.util.JSONException;
import com.volmit.iris.util.JSONObject;
import com.volmit.iris.util.JarScanner;
import com.volmit.iris.util.KList;
import com.volmit.iris.util.KMap;
import com.volmit.iris.util.KSet;
import com.volmit.iris.util.O;
import com.volmit.iris.util.RNG;
import com.volmit.iris.util.RollingSequence;
import com.volmit.iris.util.ScoreDirection;
import com.volmit.iris.util.Cuboid.CuboidDirection;
import com.volmit.iris.wand.WandController;
public class Iris extends JavaPlugin implements BoardProvider
{
@ -602,16 +600,6 @@ public class Iris extends JavaPlugin implements BoardProvider
dim = args[1];
}
boolean obfuscate = false;
for(String i : args)
{
if(i.equalsIgnoreCase("-o"))
{
obfuscate = true;
}
}
String dimm = dim;
IrisDimension dimension = data.getDimensionLoader().load(dimm);
File folder = new File(getDataFolder(), "exports/" + dimension.getLoadKey());
@ -639,18 +627,15 @@ public class Iris extends JavaPlugin implements BoardProvider
continue;
}
String name = obfuscate ? UUID.randomUUID().toString().replaceAll("-", "") : k;
String name = UUID.randomUUID().toString().replaceAll("-", "");
newNames.add(name);
renameObjects.put(k, name);
}
if(obfuscate)
{
j.setPlace(newNames);
}
j.setPlace(newNames);
}
}
KMap<String, KList<String>> lookupObjects = renameObjects.flip();
biomes.forEach((i) -> i.getObjects().forEach((j) -> j.getPlace().forEach((k) ->
@ -689,13 +674,13 @@ public class Iris extends JavaPlugin implements BoardProvider
IO.writeAll(new File(folder, "biomes/" + i.getLoadKey() + ".json"), new JSONObject(new Gson().toJson(i)).toString(0));
}
ZipUtil.pack(folder, new File(getDataFolder(), "exports/" + dimension.getLoadKey() + ".iris"));
ZipUtil.pack(folder, new File(getDataFolder(), "exports/" + dimension.getLoadKey() + ".iris"), 9);
IO.delete(folder);
}
catch(Throwable e)
{
L.ex(e);
e.printStackTrace();
}
sender.sendMessage("Done!");

View File

@ -1,11 +1,11 @@
package ninja.bytecode.iris;
package com.volmit.iris;
import org.bukkit.World;
import ninja.bytecode.iris.object.IrisDimension;
import ninja.bytecode.iris.object.IrisRegion;
import ninja.bytecode.iris.util.BiomeResult;
import ninja.bytecode.shuriken.collections.KMap;
import com.volmit.iris.object.IrisDimension;
import com.volmit.iris.object.IrisRegion;
import com.volmit.iris.util.BiomeResult;
import com.volmit.iris.util.KMap;
public interface IrisContext
{

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris;
package com.volmit.iris;
import java.io.File;
@ -6,19 +6,19 @@ import org.bukkit.World.Environment;
import org.bukkit.block.Biome;
import com.google.gson.Gson;
import com.volmit.iris.object.IrisBiome;
import com.volmit.iris.object.IrisBiomeDecorator;
import com.volmit.iris.object.IrisDimension;
import com.volmit.iris.object.IrisGenerator;
import com.volmit.iris.object.IrisNoiseGenerator;
import com.volmit.iris.object.IrisObjectPlacement;
import com.volmit.iris.object.IrisRegion;
import com.volmit.iris.util.IO;
import com.volmit.iris.util.JSONObject;
import com.volmit.iris.util.ObjectResourceLoader;
import com.volmit.iris.util.ResourceLoader;
import lombok.Data;
import ninja.bytecode.iris.object.IrisBiome;
import ninja.bytecode.iris.object.IrisBiomeDecorator;
import ninja.bytecode.iris.object.IrisDimension;
import ninja.bytecode.iris.object.IrisGenerator;
import ninja.bytecode.iris.object.IrisNoiseGenerator;
import ninja.bytecode.iris.object.IrisObjectPlacement;
import ninja.bytecode.iris.object.IrisRegion;
import ninja.bytecode.iris.util.IO;
import ninja.bytecode.iris.util.ObjectResourceLoader;
import ninja.bytecode.iris.util.ResourceLoader;
import ninja.bytecode.shuriken.json.JSONObject;
@Data
public class IrisDataManager

View File

@ -1,12 +1,12 @@
package ninja.bytecode.iris;
package com.volmit.iris;
import java.io.File;
import org.bukkit.Bukkit;
import ninja.bytecode.iris.util.ChronoLatch;
import ninja.bytecode.iris.util.FileWatcher;
import ninja.bytecode.shuriken.collections.KSet;
import com.volmit.iris.util.ChronoLatch;
import com.volmit.iris.util.FileWatcher;
import com.volmit.iris.util.KSet;
public class IrisHotloadManager
{

View File

@ -1,7 +1,8 @@
package ninja.bytecode.iris;
package com.volmit.iris;
import com.volmit.iris.util.RollingSequence;
import lombok.Data;
import ninja.bytecode.shuriken.math.RollingSequence;
@Data
public class IrisMetrics
@ -11,11 +12,11 @@ public class IrisMetrics
private final RollingSequence loss;
public int generators = 0;
public int noiseHits = 0;
public IrisMetrics(int memory)
{
total = new RollingSequence(memory);
perSecond = new RollingSequence(5);
loss = new RollingSequence(memory);
}
}
}

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris;
package com.volmit.iris;
import lombok.Data;

View File

@ -1,28 +1,29 @@
package ninja.bytecode.iris.generator;
package com.volmit.iris.generator;
import java.util.concurrent.locks.ReentrantLock;
import org.bukkit.World;
import com.volmit.iris.Iris;
import com.volmit.iris.layer.GenLayerBiome;
import com.volmit.iris.object.InferredType;
import com.volmit.iris.object.IrisBiome;
import com.volmit.iris.object.IrisBiomeGeneratorLink;
import com.volmit.iris.object.IrisDimension;
import com.volmit.iris.object.IrisGenerator;
import com.volmit.iris.object.IrisRegion;
import com.volmit.iris.util.BiomeResult;
import com.volmit.iris.util.CNG;
import com.volmit.iris.util.ChronoLatch;
import com.volmit.iris.util.ChunkPosition;
import com.volmit.iris.util.IrisInterpolation;
import com.volmit.iris.util.KList;
import com.volmit.iris.util.KMap;
import com.volmit.iris.util.M;
import com.volmit.iris.util.RNG;
import lombok.Data;
import lombok.EqualsAndHashCode;
import ninja.bytecode.iris.Iris;
import ninja.bytecode.iris.layer.GenLayerBiome;
import ninja.bytecode.iris.object.InferredType;
import ninja.bytecode.iris.object.IrisBiome;
import ninja.bytecode.iris.object.IrisBiomeGeneratorLink;
import ninja.bytecode.iris.object.IrisDimension;
import ninja.bytecode.iris.object.IrisGenerator;
import ninja.bytecode.iris.object.IrisRegion;
import ninja.bytecode.iris.util.BiomeResult;
import ninja.bytecode.iris.util.CNG;
import ninja.bytecode.iris.util.ChronoLatch;
import ninja.bytecode.iris.util.ChunkPosition;
import ninja.bytecode.iris.util.IrisInterpolation;
import ninja.bytecode.iris.util.RNG;
import ninja.bytecode.shuriken.collections.KList;
import ninja.bytecode.shuriken.collections.KMap;
import ninja.bytecode.shuriken.math.M;
@Data
@EqualsAndHashCode(callSuper = false)

View File

@ -1,12 +1,12 @@
package ninja.bytecode.iris.generator;
package com.volmit.iris.generator;
import org.bukkit.Material;
import org.bukkit.block.data.BlockData;
import ninja.bytecode.iris.Iris;
import ninja.bytecode.iris.object.IrisDimension;
import ninja.bytecode.iris.util.InvertedBiomeGrid;
import ninja.bytecode.iris.util.RNG;
import com.volmit.iris.Iris;
import com.volmit.iris.object.IrisDimension;
import com.volmit.iris.util.InvertedBiomeGrid;
import com.volmit.iris.util.RNG;
public abstract class CeilingChunkGenerator extends PostBlockChunkGenerator
{

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.generator;
package com.volmit.iris.generator;
import java.util.List;
import java.util.Random;
@ -20,18 +20,18 @@ import org.bukkit.event.world.WorldUnloadEvent;
import org.bukkit.generator.BlockPopulator;
import org.bukkit.generator.ChunkGenerator;
import com.volmit.iris.Iris;
import com.volmit.iris.IrisContext;
import com.volmit.iris.IrisMetrics;
import com.volmit.iris.util.BlockDataTools;
import com.volmit.iris.util.CNG;
import com.volmit.iris.util.ChronoLatch;
import com.volmit.iris.util.PrecisionStopwatch;
import com.volmit.iris.util.RNG;
import lombok.Data;
import lombok.EqualsAndHashCode;
import net.md_5.bungee.api.ChatColor;
import ninja.bytecode.iris.Iris;
import ninja.bytecode.iris.IrisContext;
import ninja.bytecode.iris.IrisMetrics;
import ninja.bytecode.iris.util.BlockDataTools;
import ninja.bytecode.iris.util.CNG;
import ninja.bytecode.iris.util.ChronoLatch;
import ninja.bytecode.iris.util.RNG;
import ninja.bytecode.shuriken.bench.PrecisionStopwatch;
import ninja.bytecode.shuriken.logging.L;
@Data
@EqualsAndHashCode(callSuper = false)
@ -286,7 +286,7 @@ public abstract class ContextualChunkGenerator extends ChunkGenerator implements
Iris.instance.imsg(i, ChatColor.RED + "- Then simply run /iris dev");
}
L.ex(e);
e.printStackTrace();
onFailure(e);
}

View File

@ -1,16 +1,17 @@
package ninja.bytecode.iris.generator;
package com.volmit.iris.generator;
import org.bukkit.Material;
import org.bukkit.block.data.BlockData;
import com.volmit.iris.Iris;
import com.volmit.iris.object.InferredType;
import com.volmit.iris.object.IrisBiome;
import com.volmit.iris.object.IrisDimension;
import com.volmit.iris.object.IrisRegion;
import com.volmit.iris.util.BiomeResult;
import lombok.Data;
import lombok.EqualsAndHashCode;
import ninja.bytecode.iris.Iris;
import ninja.bytecode.iris.object.InferredType;
import ninja.bytecode.iris.object.IrisBiome;
import ninja.bytecode.iris.object.IrisDimension;
import ninja.bytecode.iris.object.IrisRegion;
import ninja.bytecode.iris.util.BiomeResult;
@Data
@EqualsAndHashCode(callSuper = false)

View File

@ -1,18 +1,19 @@
package ninja.bytecode.iris.generator;
package com.volmit.iris.generator;
import java.lang.reflect.Method;
import org.bukkit.Chunk;
import org.bukkit.entity.Player;
import com.volmit.iris.Iris;
import com.volmit.iris.IrisContext;
import com.volmit.iris.object.IrisBiome;
import com.volmit.iris.object.IrisRegion;
import com.volmit.iris.util.BiomeResult;
import com.volmit.iris.util.KMap;
import lombok.Data;
import lombok.EqualsAndHashCode;
import ninja.bytecode.iris.Iris;
import ninja.bytecode.iris.IrisContext;
import ninja.bytecode.iris.object.IrisBiome;
import ninja.bytecode.iris.object.IrisRegion;
import ninja.bytecode.iris.util.BiomeResult;
import ninja.bytecode.shuriken.collections.KMap;
@Data
@EqualsAndHashCode(callSuper = false)

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.generator;
package com.volmit.iris.generator;
import java.io.IOException;
import java.util.concurrent.locks.ReentrantLock;
@ -6,23 +6,24 @@ import java.util.concurrent.locks.ReentrantLock;
import org.bukkit.World;
import org.bukkit.block.data.BlockData;
import com.volmit.iris.Iris;
import com.volmit.iris.object.IrisBiome;
import com.volmit.iris.object.IrisDepositGenerator;
import com.volmit.iris.object.IrisObjectPlacement;
import com.volmit.iris.object.IrisRegion;
import com.volmit.iris.object.atomics.AtomicSliver;
import com.volmit.iris.object.atomics.AtomicSliverMap;
import com.volmit.iris.object.atomics.AtomicWorldData;
import com.volmit.iris.object.atomics.MasterLock;
import com.volmit.iris.util.BiomeMap;
import com.volmit.iris.util.ChunkPosition;
import com.volmit.iris.util.HeightMap;
import com.volmit.iris.util.IObjectPlacer;
import com.volmit.iris.util.KMap;
import com.volmit.iris.util.RNG;
import lombok.Data;
import lombok.EqualsAndHashCode;
import ninja.bytecode.iris.Iris;
import ninja.bytecode.iris.object.IrisBiome;
import ninja.bytecode.iris.object.IrisDepositGenerator;
import ninja.bytecode.iris.object.IrisObjectPlacement;
import ninja.bytecode.iris.object.IrisRegion;
import ninja.bytecode.iris.object.atomics.AtomicSliver;
import ninja.bytecode.iris.object.atomics.AtomicSliverMap;
import ninja.bytecode.iris.object.atomics.AtomicWorldData;
import ninja.bytecode.iris.object.atomics.MasterLock;
import ninja.bytecode.iris.util.BiomeMap;
import ninja.bytecode.iris.util.ChunkPosition;
import ninja.bytecode.iris.util.HeightMap;
import ninja.bytecode.iris.util.IObjectPlacer;
import ninja.bytecode.iris.util.RNG;
import ninja.bytecode.shuriken.collections.KMap;
@Data
@EqualsAndHashCode(callSuper = false)

View File

@ -1,16 +1,17 @@
package ninja.bytecode.iris.generator;
package com.volmit.iris.generator;
import org.bukkit.World;
import com.volmit.iris.Iris;
import com.volmit.iris.object.atomics.AtomicSliver;
import com.volmit.iris.object.atomics.AtomicSliverMap;
import com.volmit.iris.util.BiomeMap;
import com.volmit.iris.util.GroupedExecutor;
import com.volmit.iris.util.HeightMap;
import com.volmit.iris.util.RNG;
import lombok.Data;
import lombok.EqualsAndHashCode;
import ninja.bytecode.iris.Iris;
import ninja.bytecode.iris.object.atomics.AtomicSliver;
import ninja.bytecode.iris.object.atomics.AtomicSliverMap;
import ninja.bytecode.iris.util.BiomeMap;
import ninja.bytecode.iris.util.GroupedExecutor;
import ninja.bytecode.iris.util.HeightMap;
import ninja.bytecode.iris.util.RNG;
@Data
@EqualsAndHashCode(callSuper = false)

View File

@ -1,20 +1,20 @@
package ninja.bytecode.iris.generator;
package com.volmit.iris.generator;
import java.util.concurrent.locks.ReentrantLock;
import org.bukkit.World;
import org.bukkit.block.data.BlockData;
import ninja.bytecode.iris.Iris;
import ninja.bytecode.iris.layer.post.PostNippleSmoother;
import ninja.bytecode.iris.layer.post.PostPotholeFiller;
import ninja.bytecode.iris.layer.post.PostSlabber;
import ninja.bytecode.iris.layer.post.PostWallPatcher;
import ninja.bytecode.iris.object.IrisDimension;
import ninja.bytecode.iris.util.IPostBlockAccess;
import ninja.bytecode.iris.util.IrisPostBlockFilter;
import ninja.bytecode.iris.util.RNG;
import ninja.bytecode.shuriken.collections.KList;
import com.volmit.iris.Iris;
import com.volmit.iris.layer.post.PostNippleSmoother;
import com.volmit.iris.layer.post.PostPotholeFiller;
import com.volmit.iris.layer.post.PostSlabber;
import com.volmit.iris.layer.post.PostWallPatcher;
import com.volmit.iris.object.IrisDimension;
import com.volmit.iris.util.IPostBlockAccess;
import com.volmit.iris.util.IrisPostBlockFilter;
import com.volmit.iris.util.KList;
import com.volmit.iris.util.RNG;
public abstract class PostBlockChunkGenerator extends ParallaxChunkGenerator implements IPostBlockAccess
{

View File

@ -1,27 +1,29 @@
package ninja.bytecode.iris.generator;
package com.volmit.iris.generator;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.block.data.Bisected;
import org.bukkit.block.data.Bisected.Half;
import com.volmit.iris.layer.GenLayerCave;
import com.volmit.iris.object.DecorationPart;
import com.volmit.iris.object.InferredType;
import com.volmit.iris.object.IrisBiome;
import com.volmit.iris.object.IrisBiomeDecorator;
import com.volmit.iris.object.IrisRegion;
import com.volmit.iris.object.atomics.AtomicSliver;
import com.volmit.iris.util.BiomeMap;
import com.volmit.iris.util.BiomeResult;
import com.volmit.iris.util.BlockDataTools;
import com.volmit.iris.util.HeightMap;
import com.volmit.iris.util.KList;
import com.volmit.iris.util.M;
import com.volmit.iris.util.RNG;
import org.bukkit.block.data.BlockData;
import lombok.Data;
import lombok.EqualsAndHashCode;
import ninja.bytecode.iris.layer.GenLayerCave;
import ninja.bytecode.iris.object.DecorationPart;
import ninja.bytecode.iris.object.InferredType;
import ninja.bytecode.iris.object.IrisBiome;
import ninja.bytecode.iris.object.IrisBiomeDecorator;
import ninja.bytecode.iris.object.IrisRegion;
import ninja.bytecode.iris.object.atomics.AtomicSliver;
import ninja.bytecode.iris.util.BiomeMap;
import ninja.bytecode.iris.util.BiomeResult;
import ninja.bytecode.iris.util.BlockDataTools;
import ninja.bytecode.iris.util.HeightMap;
import ninja.bytecode.iris.util.RNG;
import ninja.bytecode.shuriken.collections.KList;
import ninja.bytecode.shuriken.math.M;
@Data
@EqualsAndHashCode(callSuper = false)

View File

@ -1,17 +1,17 @@
package ninja.bytecode.iris.layer;
package com.volmit.iris.layer;
import ninja.bytecode.iris.Iris;
import ninja.bytecode.iris.generator.DimensionChunkGenerator;
import ninja.bytecode.iris.object.InferredType;
import ninja.bytecode.iris.object.IrisBiome;
import ninja.bytecode.iris.object.IrisRegion;
import ninja.bytecode.iris.object.IrisRegionRidge;
import ninja.bytecode.iris.object.IrisRegionSpot;
import ninja.bytecode.iris.util.BiomeResult;
import ninja.bytecode.iris.util.CellGenerator;
import ninja.bytecode.iris.util.GenLayer;
import ninja.bytecode.iris.util.RNG;
import ninja.bytecode.shuriken.collections.KList;
import com.volmit.iris.Iris;
import com.volmit.iris.generator.DimensionChunkGenerator;
import com.volmit.iris.object.InferredType;
import com.volmit.iris.object.IrisBiome;
import com.volmit.iris.object.IrisRegion;
import com.volmit.iris.object.IrisRegionRidge;
import com.volmit.iris.object.IrisRegionSpot;
import com.volmit.iris.util.BiomeResult;
import com.volmit.iris.util.CellGenerator;
import com.volmit.iris.util.GenLayer;
import com.volmit.iris.util.KList;
import com.volmit.iris.util.RNG;
public class GenLayerBiome extends GenLayer
{

View File

@ -1,20 +1,20 @@
package ninja.bytecode.iris.layer;
package com.volmit.iris.layer;
import org.bukkit.Material;
import org.bukkit.block.data.BlockData;
import ninja.bytecode.iris.generator.DimensionChunkGenerator;
import ninja.bytecode.iris.object.atomics.AtomicSliver;
import ninja.bytecode.iris.util.BlockDataTools;
import ninja.bytecode.iris.util.CNG;
import ninja.bytecode.iris.util.CaveResult;
import ninja.bytecode.iris.util.FastNoise;
import ninja.bytecode.iris.util.FastNoise.CellularDistanceFunction;
import ninja.bytecode.iris.util.FastNoise.CellularReturnType;
import ninja.bytecode.iris.util.FastNoise.NoiseType;
import ninja.bytecode.iris.util.GenLayer;
import ninja.bytecode.iris.util.RNG;
import ninja.bytecode.shuriken.collections.KList;
import com.volmit.iris.generator.DimensionChunkGenerator;
import com.volmit.iris.object.atomics.AtomicSliver;
import com.volmit.iris.util.BlockDataTools;
import com.volmit.iris.util.CNG;
import com.volmit.iris.util.CaveResult;
import com.volmit.iris.util.FastNoise;
import com.volmit.iris.util.GenLayer;
import com.volmit.iris.util.KList;
import com.volmit.iris.util.RNG;
import com.volmit.iris.util.FastNoise.CellularDistanceFunction;
import com.volmit.iris.util.FastNoise.CellularReturnType;
import com.volmit.iris.util.FastNoise.NoiseType;
public class GenLayerCave extends GenLayer
{

View File

@ -1,10 +1,10 @@
package ninja.bytecode.iris.layer.post;
package com.volmit.iris.layer.post;
import org.bukkit.Material;
import org.bukkit.block.data.BlockData;
import ninja.bytecode.iris.generator.PostBlockChunkGenerator;
import ninja.bytecode.iris.util.IrisPostBlockFilter;
import com.volmit.iris.generator.PostBlockChunkGenerator;
import com.volmit.iris.util.IrisPostBlockFilter;
public class PostNippleSmoother extends IrisPostBlockFilter
{

View File

@ -1,7 +1,7 @@
package ninja.bytecode.iris.layer.post;
package com.volmit.iris.layer.post;
import ninja.bytecode.iris.generator.PostBlockChunkGenerator;
import ninja.bytecode.iris.util.IrisPostBlockFilter;
import com.volmit.iris.generator.PostBlockChunkGenerator;
import com.volmit.iris.util.IrisPostBlockFilter;
public class PostPotholeFiller extends IrisPostBlockFilter
{

View File

@ -1,12 +1,12 @@
package ninja.bytecode.iris.layer.post;
package com.volmit.iris.layer.post;
import org.bukkit.Material;
import org.bukkit.block.data.BlockData;
import org.bukkit.block.data.Waterlogged;
import ninja.bytecode.iris.generator.PostBlockChunkGenerator;
import ninja.bytecode.iris.util.IrisPostBlockFilter;
import ninja.bytecode.iris.util.RNG;
import com.volmit.iris.generator.PostBlockChunkGenerator;
import com.volmit.iris.util.IrisPostBlockFilter;
import com.volmit.iris.util.RNG;
public class PostSlabber extends IrisPostBlockFilter
{

View File

@ -1,12 +1,12 @@
package ninja.bytecode.iris.layer.post;
package com.volmit.iris.layer.post;
import org.bukkit.Material;
import org.bukkit.block.data.BlockData;
import ninja.bytecode.iris.generator.PostBlockChunkGenerator;
import ninja.bytecode.iris.object.IrisBiome;
import ninja.bytecode.iris.util.IrisPostBlockFilter;
import ninja.bytecode.iris.util.RNG;
import com.volmit.iris.generator.PostBlockChunkGenerator;
import com.volmit.iris.object.IrisBiome;
import com.volmit.iris.util.IrisPostBlockFilter;
import com.volmit.iris.util.RNG;
public class PostWallPatcher extends IrisPostBlockFilter
{

View File

@ -1,6 +0,0 @@
package ninja.bytecode.iris.object;
public class Blueprint
{
}

View File

@ -1,8 +1,15 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import com.volmit.iris.util.DontObfuscate;
public enum DecorationPart
{
@DontObfuscate
NONE,
@DontObfuscate
SHORE_LINE,
@DontObfuscate
SEA_SURFACE
}

View File

@ -1,7 +1,12 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import com.volmit.iris.util.DontObfuscate;
public enum Dispersion
{
@DontObfuscate
SCATTER,
@DontObfuscate
WISPY,
}

View File

@ -1,8 +1,15 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import com.volmit.iris.util.DontObfuscate;
public enum Envelope
{
@DontObfuscate
EVERYWHERE,
@DontObfuscate
CELLS,
@DontObfuscate
VEINS,
}

View File

@ -1,10 +1,21 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import com.volmit.iris.util.DontObfuscate;
public enum InferredType
{
@DontObfuscate
SHORE,
@DontObfuscate
LAND,
@DontObfuscate
SEA,
@DontObfuscate
CAVE,
@DontObfuscate
DEFER;
}

View File

@ -1,9 +1,18 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import com.volmit.iris.util.DontObfuscate;
public enum InterpolationMethod
{
@DontObfuscate
NONE,
@DontObfuscate
BILINEAR,
@DontObfuscate
BICUBIC,
@DontObfuscate
HERMITE
}

View File

@ -1,21 +1,27 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import com.volmit.iris.util.Desc;
import com.volmit.iris.util.DontObfuscate;
import lombok.Data;
import ninja.bytecode.iris.util.Desc;
@Desc("Represents a rotation axis with intervals and maxes")
@Data
public class IrisAxisRotationClamp
{
@DontObfuscate
@Desc("Should this axis be rotated at all?")
private boolean enabled = false;
@DontObfuscate
@Desc("The minimum angle (from) or set this and max to zero for any angle degrees")
private double min = 0;
@DontObfuscate
@Desc("The maximum angle (to) or set this and min to zero for any angle degrees")
private double max = 0;
@DontObfuscate
@Desc("Iris spins the axis but not freely. For example an interval of 90 would mean 4 possible angles (right angles) degrees")
private double interval = 0;

View File

@ -1,75 +1,95 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import java.util.concurrent.locks.ReentrantLock;
import org.bukkit.block.Biome;
import org.bukkit.block.data.BlockData;
import com.volmit.iris.util.CNG;
import com.volmit.iris.util.CellGenerator;
import com.volmit.iris.util.Desc;
import com.volmit.iris.util.DontObfuscate;
import com.volmit.iris.util.KList;
import com.volmit.iris.util.RNG;
import lombok.Data;
import lombok.EqualsAndHashCode;
import ninja.bytecode.iris.util.CNG;
import ninja.bytecode.iris.util.CellGenerator;
import ninja.bytecode.iris.util.Desc;
import ninja.bytecode.iris.util.RNG;
import ninja.bytecode.shuriken.collections.KList;
import ninja.bytecode.shuriken.logging.L;
@DontObfuscate
@Desc("Represents a biome in iris.")
@Data
@EqualsAndHashCode(callSuper = false)
public class IrisBiome extends IrisRegistrant
{
@DontObfuscate
@Desc("This is the human readable name for this biome. This can and should be different than the file name. This is not used for loading biomes in other objects.")
private String name = "A Biome";
@DontObfuscate
@Desc("This changes the dispersion of the biome colors if multiple derivatives are chosen")
private Dispersion biomeDispersion = Dispersion.SCATTER;
@DontObfuscate
@Desc("This zooms in the biome colors if multiple derivatives are chosen")
private double biomeZoom = 1;
@DontObfuscate
@Desc("Layers no longer descend from the surface block, they descend from the max possible height the biome can produce (constant) creating mesa like layers.")
private boolean lockLayers = false;
@DontObfuscate
@Desc("The rarity of this biome (integer)")
private int rarity = 1;
@DontObfuscate
@Desc("The raw derivative of this biome. This is required or the terrain will not properly generate. Use any vanilla biome type. Look in examples/biome-list.txt")
private Biome derivative = Biome.THE_VOID;
@DontObfuscate
@Desc("You can instead specify multiple biome derivatives to randomly scatter colors in this biome")
private KList<Biome> biomeScatter = new KList<>();
@DontObfuscate
@Desc("Since 1.13 supports 3D biomes, you can add different derivative colors for anything above the terrain. (Think swampy tree leaves with a desert looking grass surface)")
private KList<Biome> biomeSkyScatter = new KList<>();
@DontObfuscate
@Desc("If this biome has children biomes, and the gen layer chooses one of this biomes children, how much smaller will it be (inside of this biome). Higher values means a smaller biome relative to this biome's size. Set higher than 1.0 and below 3.0 for best results.")
private double childShrinkFactor = 1.5;
@DontObfuscate
@Desc("List any biome names (file names without.json) here as children. Portions of this biome can sometimes morph into their children. Iris supports cyclic relationships such as A > B > A > B. Iris will stop checking 9 biomes down the tree.")
private KList<String> children = new KList<>();
@DontObfuscate
@Desc("The default slab if iris decides to place a slab in this biome. Default is no slab.")
private IrisBiomePaletteLayer slab = new IrisBiomePaletteLayer().zero();
@DontObfuscate
@Desc("The default wall if iris decides to place a wall higher than 2 blocks (steep hills or possibly cliffs)")
private IrisBiomePaletteLayer wall = new IrisBiomePaletteLayer().zero();
@DontObfuscate
@Desc("This defines the layers of materials in this biome. Each layer has a palette and min/max height and some other properties. Usually a grassy/sandy layer then a dirt layer then a stone layer. Iris will fill in the remaining blocks below your layers with stone.")
private KList<IrisBiomePaletteLayer> layers = new KList<IrisBiomePaletteLayer>().qadd(new IrisBiomePaletteLayer());
@DontObfuscate
@Desc("This defines the layers of materials in this biome. Each layer has a palette and min/max height and some other properties. Usually a grassy/sandy layer then a dirt layer then a stone layer. Iris will fill in the remaining blocks below your layers with stone.")
private KList<IrisBiomePaletteLayer> seaLayers = new KList<IrisBiomePaletteLayer>();
@DontObfuscate
@Desc("Decorators are used for things like tall grass, bisected flowers, and even kelp or cactus (random heights)")
private KList<IrisBiomeDecorator> decorators = new KList<IrisBiomeDecorator>();
@DontObfuscate
@Desc("Objects define what schematics (iob files) iris will place in this biome")
private KList<IrisObjectPlacement> objects = new KList<IrisObjectPlacement>();
@DontObfuscate
@Desc("Generators for this biome. Multiple generators with different interpolation sizes will mix with other biomes how you would expect. This defines your biome height relative to the fluid height. Use negative for oceans.")
private KList<IrisBiomeGeneratorLink> generators = new KList<IrisBiomeGeneratorLink>().qadd(new IrisBiomeGeneratorLink());
@DontObfuscate
@Desc("Define biome deposit generators that add onto the existing regional and global deposit generators")
private KList<IrisDepositGenerator> deposits = new KList<>();
@ -160,7 +180,7 @@ public class IrisBiome extends IrisRegistrant
catch(Throwable e)
{
L.ex(e);
e.printStackTrace();
}
}
@ -202,7 +222,7 @@ public class IrisBiome extends IrisRegistrant
catch(Throwable e)
{
L.ex(e);
e.printStackTrace();
}
}
}
@ -275,7 +295,7 @@ public class IrisBiome extends IrisRegistrant
catch(Throwable e)
{
L.ex(e);
e.printStackTrace();
}
}

View File

@ -1,46 +1,58 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import org.bukkit.block.data.BlockData;
import com.volmit.iris.util.BlockDataTools;
import com.volmit.iris.util.CNG;
import com.volmit.iris.util.Desc;
import com.volmit.iris.util.DontObfuscate;
import com.volmit.iris.util.KList;
import com.volmit.iris.util.KMap;
import com.volmit.iris.util.RNG;
import lombok.Data;
import ninja.bytecode.iris.util.BlockDataTools;
import ninja.bytecode.iris.util.CNG;
import ninja.bytecode.iris.util.Desc;
import ninja.bytecode.iris.util.RNG;
import ninja.bytecode.shuriken.collections.KList;
import ninja.bytecode.shuriken.collections.KMap;
@Desc("A biome decorator is used for placing flowers, grass, cacti and so on")
@Data
public class IrisBiomeDecorator
{
@DontObfuscate
@Desc("The varience dispersion is used when multiple blocks are put in the palette. Scatter scrambles them, Wispy shows streak-looking varience")
private Dispersion variance = Dispersion.SCATTER;
@DontObfuscate
@Desc("Dispersion is used to pick places to spawn. Scatter randomly places them (vanilla) or Wispy for a streak like patch system.")
private Dispersion dispersion = Dispersion.SCATTER;
@DontObfuscate
@Desc("If this decorator has a height more than 1 this changes how it picks the height between your maxes. Scatter = random, Wispy = wavy heights")
private Dispersion verticalVariance = Dispersion.SCATTER;
@DontObfuscate
@Desc("Tells iris where this decoration is a part of. I.e. SHORE_LINE or SEA_SURFACE")
private DecorationPart partOf = DecorationPart.NONE;
@DontObfuscate
@Desc("The minimum repeat stack height (setting to 3 would stack 3 of <block> on top of each other")
private int stackMin = 1;
@DontObfuscate
@Desc("The maximum repeat stack height")
private int stackMax = 1;
@DontObfuscate
@Desc("The zoom is for zooming in or out wispy dispersions. Makes patches bigger the higher this zoom value is/")
private double zoom = 1;
@DontObfuscate
@Desc("The vertical zoom is for wispy stack heights. Zooming this in makes stack heights more slowly change over a distance")
private double verticalZoom = 1;
@DontObfuscate
@Desc("The chance for this decorator to decorate at a given X,Y coordinate. This is hit 256 times per chunk (per surface block)")
private double chance = 0.1;
@DontObfuscate
@Desc("The palette of blocks to pick from when this decorator needs to place.")
private KList<String> palette = new KList<String>().qadd("GRASS");

View File

@ -1,20 +1,25 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import com.volmit.iris.Iris;
import com.volmit.iris.util.Desc;
import com.volmit.iris.util.DontObfuscate;
import com.volmit.iris.util.IrisInterpolation;
import lombok.Data;
import ninja.bytecode.iris.Iris;
import ninja.bytecode.iris.util.Desc;
import ninja.bytecode.iris.util.IrisInterpolation;
@Desc("This represents a link to a generator for a biome")
@Data
public class IrisBiomeGeneratorLink
{
@DontObfuscate
@Desc("The generator id")
private String generator = "default";
@DontObfuscate
@Desc("The min block value (value + fluidHeight)")
private int min = 0;
@DontObfuscate
@Desc("The max block value (value + fluidHeight)")
private int max = 0;

View File

@ -1,32 +1,39 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import java.util.concurrent.locks.ReentrantLock;
import org.bukkit.block.data.BlockData;
import com.volmit.iris.util.BlockDataTools;
import com.volmit.iris.util.CNG;
import com.volmit.iris.util.Desc;
import com.volmit.iris.util.DontObfuscate;
import com.volmit.iris.util.KList;
import com.volmit.iris.util.RNG;
import lombok.Data;
import ninja.bytecode.iris.util.BlockDataTools;
import ninja.bytecode.iris.util.CNG;
import ninja.bytecode.iris.util.Desc;
import ninja.bytecode.iris.util.RNG;
import ninja.bytecode.shuriken.collections.KList;
@Desc("A layer of surface / subsurface material in biomes")
@Data
public class IrisBiomePaletteLayer
{
@DontObfuscate
@Desc("The dispersion of materials from the palette")
private Dispersion dispersion = Dispersion.SCATTER;
@DontObfuscate
@Desc("The min thickness of this layer")
private int minHeight = 1;
@DontObfuscate
@Desc("The max thickness of this layer")
private int maxHeight = 1;
@DontObfuscate
@Desc("The terrain zoom mostly for zooming in on a wispy palette")
private double terrainZoom = 5;
@DontObfuscate
@Desc("The palette of blocks to be used in this layer")
private KList<String> palette = new KList<String>().qadd("GRASS_BLOCK");

View File

@ -1,41 +1,51 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import java.util.concurrent.locks.ReentrantLock;
import org.bukkit.block.data.BlockData;
import org.bukkit.util.BlockVector;
import com.volmit.iris.generator.ParallaxChunkGenerator;
import com.volmit.iris.util.BlockDataTools;
import com.volmit.iris.util.Desc;
import com.volmit.iris.util.DontObfuscate;
import com.volmit.iris.util.KList;
import com.volmit.iris.util.RNG;
import lombok.Data;
import ninja.bytecode.iris.generator.ParallaxChunkGenerator;
import ninja.bytecode.iris.util.BlockDataTools;
import ninja.bytecode.iris.util.Desc;
import ninja.bytecode.iris.util.RNG;
import ninja.bytecode.shuriken.collections.KList;
@Data
public class IrisDepositGenerator
{
@DontObfuscate
@Desc("The minimum height this deposit can generate at")
private int minHeight = 7;
@DontObfuscate
@Desc("The maximum height this deposit can generate at")
private int maxHeight = 55;
@DontObfuscate
@Desc("The minimum amount of deposit blocks per clump")
private int minSize = 3;
@DontObfuscate
@Desc("The maximum amount of deposit blocks per clump")
private int maxSize = 5;
@DontObfuscate
@Desc("The maximum amount of clumps per chunk")
private int maxPerChunk = 3;
@DontObfuscate
@Desc("The minimum amount of clumps per chunk")
private int minPerChunk = 1;
@DontObfuscate
@Desc("The palette of blocks to be used in this deposit generator")
private KList<String> palette = new KList<String>();
@DontObfuscate
@Desc("Ore varience is how many different objects clumps iris will create")
private int varience = 8;

View File

@ -1,128 +1,166 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import java.util.concurrent.locks.ReentrantLock;
import org.bukkit.World.Environment;
import org.bukkit.block.data.BlockData;
import com.volmit.iris.util.BlockDataTools;
import com.volmit.iris.util.CNG;
import com.volmit.iris.util.Desc;
import com.volmit.iris.util.DontObfuscate;
import com.volmit.iris.util.KList;
import com.volmit.iris.util.RNG;
import lombok.Data;
import lombok.EqualsAndHashCode;
import ninja.bytecode.iris.util.BlockDataTools;
import ninja.bytecode.iris.util.CNG;
import ninja.bytecode.iris.util.Desc;
import ninja.bytecode.iris.util.RNG;
import ninja.bytecode.shuriken.collections.KList;
@Desc("Represents a dimension")
@Data
@EqualsAndHashCode(callSuper = false)
public class IrisDimension extends IrisRegistrant
{
@DontObfuscate
@Desc("The human readable name of this dimension")
private String name = "A Dimension";
@DontObfuscate
@Desc("The interpolation function for splicing noise maxes together")
private InterpolationMethod interpolationFunction = InterpolationMethod.BICUBIC;
@DontObfuscate
@Desc("The interpolation distance scale. Increase = more smooth, less detail")
private double interpolationScale = 63;
@DontObfuscate
@Desc("The Thickness scale of cave veins")
private double caveThickness = 1D;
@DontObfuscate
@Desc("The cave web scale. Smaller values means scaled up vein networks.")
private double caveScale = 1D;
@DontObfuscate
@Desc("Shift the Y value of the cave networks up or down.")
private double caveShift = 0D;
@DontObfuscate
@Desc("Generate caves or not.")
private boolean caves = true;
@DontObfuscate
@Desc("Carve terrain or not")
private boolean carving = true;
@DontObfuscate
@Desc("Generate decorations or not")
private boolean decorate = true;
@DontObfuscate
@Desc("Use post processing features. Usually for production only as there is a gen speed cost.")
private boolean postProcess = true;
@DontObfuscate
@Desc("The ceiling dimension. Leave blank for normal sky.")
private String ceiling = "";
@DontObfuscate
@Desc("Mirrors the generator floor into the ceiling. Think nether but worse...")
private boolean mirrorCeiling = false;
@DontObfuscate
@Desc("The world environment")
private Environment environment = Environment.NORMAL;
@DontObfuscate
@Desc("Define all of the regions to include in this dimension. Dimensions -> Regions -> Biomes -> Objects etc")
private KList<String> regions = new KList<>();
@DontObfuscate
@Desc("The fluid height for this dimension")
private int fluidHeight = 63;
@DontObfuscate
@Desc("Keep this either undefined or empty. Setting any biome name into this will force iris to only generate the specified biome. Great for testing.")
private String focus = "";
@DontObfuscate
@Desc("Zoom in or out the biome size. Higher = bigger biomes")
private double biomeZoom = 5D;
@DontObfuscate
@Desc("Zoom in or out the terrain. This stretches the terrain. Due to performance improvements, Higher than 2.0 may cause weird rounding artifacts. Lower = more terrain changes per block. Its a true zoom-out.")
private double terrainZoom = 2D;
@DontObfuscate
@Desc("You can rotate the input coordinates by an angle. This can make terrain appear more natural (less sharp corners and lines). This literally rotates the entire dimension by an angle. Hint: Try 12 degrees or something not on a 90 or 45 degree angle.")
private double dimensionAngleDeg = 0;
@DontObfuscate
@Desc("Iris adds a few roughness filters to noise. Increasing this smooths it out. Decreasing this makes it bumpier/scratchy")
private double roughnessZoom = 2D;
@DontObfuscate
@Desc("The height of the roughness filters")
private int roughnessHeight = 3;
@DontObfuscate
@Desc("Coordinate fracturing applies noise to the input coordinates. This creates the 'iris swirls' and wavy features. The distance pushes these waves further into places they shouldnt be. This is a block value multiplier.")
private double coordFractureDistance = 20;
@DontObfuscate
@Desc("Coordinate fracturing zoom. Higher = less frequent warping, Lower = more frequent and rapid warping / swirls.")
private double coordFractureZoom = 8;
@DontObfuscate
@Desc("This zooms in the land space")
private double landZoom = 1;
@DontObfuscate
@Desc("This zooms in the cave biome space")
private double caveBiomeZoom = 1;
@DontObfuscate
@Desc("This can zoom the shores")
private double shoreZoom = 1;
@DontObfuscate
@Desc("This zooms oceanic biomes")
private double seaZoom = 1;
@DontObfuscate
@Desc("Zoom in continents")
private double continentZoom = 1;
@DontObfuscate
@Desc("Change the size of regions")
private double regionZoom = 1;
@DontObfuscate
@Desc("Disable this to stop placing schematics in biomes")
private boolean placeObjects = true;
@DontObfuscate
@Desc("Prevent Leaf decay as if placed in creative mode")
private boolean preventLeafDecay = false;
@DontObfuscate
@Desc("Define global deposit generators")
private KList<IrisDepositGenerator> deposits = new KList<>();
@DontObfuscate
@Desc("The dispersion of materials for the rock palette")
private Dispersion dispersion = Dispersion.SCATTER;
@DontObfuscate
@Desc("The rock zoom mostly for zooming in on a wispy palette")
private double rockZoom = 5;
@DontObfuscate
@Desc("The palette of blocks for 'stone'")
private KList<String> rockPalette = new KList<String>().qadd("STONE");
@DontObfuscate
@Desc("The palette of blocks for 'water'")
private KList<String> fluidPalette = new KList<String>().qadd("WATER");

View File

@ -1,47 +1,60 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import com.volmit.iris.Iris;
import com.volmit.iris.util.Desc;
import com.volmit.iris.util.DontObfuscate;
import com.volmit.iris.util.IrisInterpolation;
import com.volmit.iris.util.KList;
import lombok.Data;
import lombok.EqualsAndHashCode;
import ninja.bytecode.iris.Iris;
import ninja.bytecode.iris.util.Desc;
import ninja.bytecode.iris.util.IrisInterpolation;
import ninja.bytecode.shuriken.collections.KList;
@Desc("Represents a composite generator of noise gens")
@Data
@EqualsAndHashCode(callSuper = false)
public class IrisGenerator extends IrisRegistrant
{
@DontObfuscate
@Desc("The zoom or frequency.")
private double zoom = 1;
@DontObfuscate
@Desc("The opacity, essentially a multiplier on the output.")
private double opacity = 1;
@DontObfuscate
@Desc("The offset to shift this noise x")
private double offsetX = 0;
@DontObfuscate
@Desc("The offset to shift this noise z")
private double offsetZ = 0;
@DontObfuscate
@Desc("The seed for this generator")
private long seed = 1;
@DontObfuscate
@Desc("The interpolation method when two biomes use different heights but this same generator")
private InterpolationMethod interpolationFunction = InterpolationMethod.BICUBIC;
@DontObfuscate
@Desc("The interpolation distance scale (blocks) when two biomes use different heights but this same generator")
private double interpolationScale = 7;
@DontObfuscate
@Desc("Cliff Height Max. Disable with 0 for min and max")
private double cliffHeightMax = 0;
@DontObfuscate
@Desc("Cliff Height Min. Disable with 0 for min and max")
private double cliffHeightMin = 0;
@DontObfuscate
@Desc("The list of noise gens this gen contains.")
private KList<IrisNoiseGenerator> composite = new KList<IrisNoiseGenerator>();
@DontObfuscate
@Desc("The noise gen for cliff height.")
private IrisNoiseGenerator cliffHeightGenerator = new IrisNoiseGenerator();

View File

@ -1,56 +1,73 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import java.util.concurrent.locks.ReentrantLock;
import com.volmit.iris.util.CNG;
import com.volmit.iris.util.Desc;
import com.volmit.iris.util.DontObfuscate;
import com.volmit.iris.util.IrisInterpolation;
import com.volmit.iris.util.KList;
import com.volmit.iris.util.RNG;
import lombok.Data;
import ninja.bytecode.iris.util.CNG;
import ninja.bytecode.iris.util.Desc;
import ninja.bytecode.iris.util.IrisInterpolation;
import ninja.bytecode.iris.util.RNG;
import ninja.bytecode.shuriken.collections.KList;
@Desc("A noise generator")
@Data
public class IrisNoiseGenerator
{
@DontObfuscate
@Desc("The coordinate input zoom")
private double zoom = 1;
@DontObfuscate
@Desc("The output multiplier")
private double opacity = 1;
@DontObfuscate
@Desc("Coordinate offset x")
private double offsetX = 0;
@DontObfuscate
@Desc("Height output offset y")
private double offsetY = 0;
@DontObfuscate
@Desc("Coordinate offset z")
private double offsetZ = 0;
@DontObfuscate
@Desc("The seed")
private long seed = 0;
@DontObfuscate
@Desc("Apply a parametric curve on the output")
private boolean parametric = false;
@DontObfuscate
@Desc("Apply a bezier curve on the output")
private boolean bezier = false;
@DontObfuscate
@Desc("Apply a sin-center curve on the output (0, and 1 = 0 and 0.5 = 1.0 using a sinoid shape.)")
private boolean sinCentered = false;
@DontObfuscate
@Desc("The exponent noise^EXPONENT")
private double exponent = 1;
@DontObfuscate
@Desc("Enable / disable. Outputs offsetY if disabled")
private boolean enabled = true;
@DontObfuscate
@Desc("If this generator uses the default iris swirly/wispy noise generator. Set to false for pure simplex.")
private boolean irisBased = true;
@DontObfuscate
@Desc("Multiple octaves for multple generators of changing zooms added together")
private int octaves = 1;
@DontObfuscate
@Desc("Apply a child noise generator to fracture the input coordinates of this generator")
private KList<IrisNoiseGenerator> fracture = new KList<>();

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import java.io.DataInputStream;
import java.io.DataOutputStream;
@ -15,13 +15,14 @@ import org.bukkit.block.data.BlockData;
import org.bukkit.block.data.type.Leaves;
import org.bukkit.util.BlockVector;
import com.volmit.iris.util.BlockDataTools;
import com.volmit.iris.util.ChunkPosition;
import com.volmit.iris.util.IObjectPlacer;
import com.volmit.iris.util.KMap;
import com.volmit.iris.util.RNG;
import lombok.Data;
import lombok.EqualsAndHashCode;
import ninja.bytecode.iris.util.BlockDataTools;
import ninja.bytecode.iris.util.ChunkPosition;
import ninja.bytecode.iris.util.IObjectPlacer;
import ninja.bytecode.iris.util.RNG;
import ninja.bytecode.shuriken.collections.KMap;
@Data
@EqualsAndHashCode(callSuper = false)

View File

@ -1,41 +1,53 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import com.volmit.iris.Iris;
import com.volmit.iris.util.Desc;
import com.volmit.iris.util.DontObfuscate;
import com.volmit.iris.util.KList;
import com.volmit.iris.util.RNG;
import lombok.Data;
import ninja.bytecode.iris.Iris;
import ninja.bytecode.iris.util.Desc;
import ninja.bytecode.iris.util.RNG;
import ninja.bytecode.shuriken.collections.KList;
@Data
public class IrisObjectPlacement
{
@DontObfuscate
@Desc("List of objects to place")
private KList<String> place = new KList<>();
@DontObfuscate
@Desc("Find and replace blocks")
private KList<IrisObjectReplace> edit = new KList<>();
@DontObfuscate
@Desc("Translate this object's placement")
private IrisObjectTranslate translate = new IrisObjectTranslate();
@DontObfuscate
@Desc("Rotate this objects placement")
private IrisObjectRotation rotation = new IrisObjectRotation();
@DontObfuscate
@Desc("The maximum layer level of a snow filter overtop of this placement. Set to 0 to disable. Max of 1.")
private double snow = 0;
@DontObfuscate
@Desc("The chance for this to place in a chunk. If you need multiple per chunk, set this to 1 and use density.")
private double chance = 1;
@DontObfuscate
@Desc("If the chance check passes, place this many in a single chunk")
private int density = 1;
@DontObfuscate
@Desc("If set to true, objects will place on the terrain height, ignoring the water surface.")
private boolean underwater = false;
@DontObfuscate
@Desc("If set to true, objects will place on the fluid height level Such as boats.")
private boolean onwater = false;
@DontObfuscate
@Desc("If set to true, this object will only place parts of itself where blocks already exist.")
private boolean meld = false;

View File

@ -1,18 +1,23 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import java.util.concurrent.locks.ReentrantLock;
import org.bukkit.block.data.BlockData;
import com.volmit.iris.util.BlockDataTools;
import com.volmit.iris.util.Desc;
import com.volmit.iris.util.DontObfuscate;
import lombok.Data;
import ninja.bytecode.iris.util.BlockDataTools;
import ninja.bytecode.iris.util.Desc;
@Desc("Find and replace object materials")
@Data
public class IrisObjectReplace
{
@DontObfuscate
private String find;
@DontObfuscate
private String replace;
private transient ReentrantLock lock = new ReentrantLock();

View File

@ -1,20 +1,29 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import org.bukkit.util.BlockVector;
import com.volmit.iris.util.Desc;
import com.volmit.iris.util.DontObfuscate;
import lombok.Data;
import ninja.bytecode.iris.util.Desc;
@Desc("Configures rotation for iris")
@Data
public class IrisObjectRotation
{
@DontObfuscate
@Desc("If this rotator is enabled or not")
private boolean enabled = true;
@DontObfuscate
@Desc("The x axis rotation")
private IrisAxisRotationClamp xAxis = new IrisAxisRotationClamp();
@DontObfuscate
@Desc("The y axis rotation")
private IrisAxisRotationClamp yAxis = new IrisAxisRotationClamp(true, 0, 0, 90);
@DontObfuscate
@Desc("The z axis rotation")
private IrisAxisRotationClamp zAxis = new IrisAxisRotationClamp();

View File

@ -1,20 +1,25 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import org.bukkit.util.BlockVector;
import com.volmit.iris.util.Desc;
import com.volmit.iris.util.DontObfuscate;
import lombok.Data;
import ninja.bytecode.iris.util.Desc;
@Desc("Translate objects")
@Data
public class IrisObjectTranslate
{
@DontObfuscate
@Desc("The x shift in blocks")
private int x;
@DontObfuscate
@Desc("The x shift in blocks")
private int y;
@DontObfuscate
@Desc("The x shift in blocks")
private int z;

View File

@ -1,51 +1,65 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import java.util.concurrent.locks.ReentrantLock;
import com.volmit.iris.Iris;
import com.volmit.iris.util.CNG;
import com.volmit.iris.util.Desc;
import com.volmit.iris.util.DontObfuscate;
import com.volmit.iris.util.KList;
import com.volmit.iris.util.KMap;
import com.volmit.iris.util.KSet;
import com.volmit.iris.util.RNG;
import lombok.Data;
import lombok.EqualsAndHashCode;
import ninja.bytecode.iris.Iris;
import ninja.bytecode.iris.util.CNG;
import ninja.bytecode.iris.util.Desc;
import ninja.bytecode.iris.util.RNG;
import ninja.bytecode.shuriken.collections.KList;
import ninja.bytecode.shuriken.collections.KMap;
import ninja.bytecode.shuriken.collections.KSet;
@Desc("Represents an iris region")
@Data
@EqualsAndHashCode(callSuper = false)
public class IrisRegion extends IrisRegistrant
{
@DontObfuscate
@Desc("The name of the region")
private String name = "A Region";
@DontObfuscate
@Desc("The shore ration (How much percent of land should be a shore)")
private double shoreRatio = 0.13;
@DontObfuscate
@Desc("The min shore height")
private double shoreHeightMin = 1.2;
@DontObfuscate
@Desc("The the max shore height")
private double shoreHeightMax = 3.2;
@DontObfuscate
@Desc("The varience of the shore height")
private double shoreHeightZoom = 3.14;
@DontObfuscate
@Desc("The biome implosion ratio, how much to implode biomes into children (chance)")
private double biomeImplosionRatio = 0.4;
@DontObfuscate
@Desc("A list of root-level biomes in this region. Don't specify child biomes of other biomes here. Just the root parents.")
private KList<String> landBiomes = new KList<>();
@DontObfuscate
@Desc("A list of root-level biomes in this region. Don't specify child biomes of other biomes here. Just the root parents.")
private KList<String> seaBiomes = new KList<>();
@DontObfuscate
@Desc("A list of root-level biomes in this region. Don't specify child biomes of other biomes here. Just the root parents.")
private KList<String> shoreBiomes = new KList<>();
@DontObfuscate
@Desc("Ridge biomes create a vein-like network like rivers through this region")
private KList<IrisRegionRidge> ridgeBiomes = new KList<>();
@DontObfuscate
@Desc("Spot biomes splotch themselves across this region like lakes")
private KList<IrisRegionSpot> spotBiomes = new KList<>();

View File

@ -1,32 +1,52 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import com.volmit.iris.util.CellGenerator;
import com.volmit.iris.util.Desc;
import com.volmit.iris.util.DontObfuscate;
import com.volmit.iris.util.RNG;
import lombok.Data;
import ninja.bytecode.iris.util.CellGenerator;
import ninja.bytecode.iris.util.Desc;
import ninja.bytecode.iris.util.RNG;
@Desc("A ridge config")
@Data
public class IrisRegionRidge
{
@DontObfuscate
@Desc("The biome name")
private String biome;
@DontObfuscate
@Desc("The type this biome should override (land sea or shore)")
private InferredType type = InferredType.LAND;
@DontObfuscate
@Desc("What type this spot is (i.e. target SEA but as LAND) like an island. Default matches the target type")
private InferredType as = InferredType.DEFER;
@DontObfuscate
@Desc("The chance this biome will be placed in a given spot")
private double chance = 0.75;
@DontObfuscate
@Desc("The scale of the biome ridge. Higher values = wider veins & bigger connected cells")
private double scale = 5;
@DontObfuscate
@Desc("The chance scale (cell chances)")
private double chanceScale = 4;
@DontObfuscate
@Desc("The shuffle, how 'natural' this looks. Compared to pure polygons")
private double shuffle = 16;
@DontObfuscate
@Desc("The chance shuffle (polygon cell chances)")
private double chanceShuffle = 128;
@DontObfuscate
@Desc("The thickness of the vein")
private double thickness = 0.125;
private transient CellGenerator spot;
private transient CellGenerator ridge;

View File

@ -1,24 +1,37 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import com.volmit.iris.util.CellGenerator;
import com.volmit.iris.util.Desc;
import com.volmit.iris.util.DontObfuscate;
import com.volmit.iris.util.RNG;
import lombok.Data;
import ninja.bytecode.iris.util.CellGenerator;
import ninja.bytecode.iris.util.Desc;
import ninja.bytecode.iris.util.RNG;
@Desc("A spot config")
@Data
public class IrisRegionSpot
{
@DontObfuscate
@Desc("The biome to be placed")
private String biome;
@DontObfuscate
@Desc("Where this spot overrides. Land sea or shore")
private InferredType type = InferredType.LAND;
@DontObfuscate
@Desc("What type this spot is (i.e. target SEA but as LAND) like an island. Default matches the target type")
private InferredType as = InferredType.DEFER;
@DontObfuscate
@Desc("The scale of splotches")
private double scale = 1;
@DontObfuscate
@Desc("Rarity is how often this splotch appears. higher = less often")
private double rarity = 1;
@DontObfuscate
@Desc("The shuffle or how natural the splotch looks like (anti-polygon)")
private double shuffle = 128;

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.object;
package com.volmit.iris.object;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.object.atomics;
package com.volmit.iris.object.atomics;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@ -8,12 +8,12 @@ import java.io.OutputStream;
import org.bukkit.World;
import ninja.bytecode.iris.util.ByteArrayTag;
import ninja.bytecode.iris.util.CompoundTag;
import ninja.bytecode.iris.util.NBTInputStream;
import ninja.bytecode.iris.util.NBTOutputStream;
import ninja.bytecode.iris.util.Tag;
import ninja.bytecode.shuriken.collections.KMap;
import com.volmit.iris.util.ByteArrayTag;
import com.volmit.iris.util.CompoundTag;
import com.volmit.iris.util.KMap;
import com.volmit.iris.util.NBTInputStream;
import com.volmit.iris.util.NBTOutputStream;
import com.volmit.iris.util.Tag;
public class AtomicRegionData
{

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.object.atomics;
package com.volmit.iris.object.atomics;
import java.io.DataInputStream;
import java.io.DataOutputStream;
@ -10,10 +10,11 @@ import org.bukkit.block.data.BlockData;
import org.bukkit.generator.ChunkGenerator.BiomeGrid;
import org.bukkit.generator.ChunkGenerator.ChunkData;
import com.volmit.iris.util.BlockDataTools;
import com.volmit.iris.util.HeightMap;
import com.volmit.iris.util.KMap;
import lombok.Data;
import ninja.bytecode.iris.util.BlockDataTools;
import ninja.bytecode.iris.util.HeightMap;
import ninja.bytecode.shuriken.collections.KMap;
@Data
public class AtomicSliver

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.object.atomics;
package com.volmit.iris.object.atomics;
import java.io.DataInputStream;
import java.io.DataOutputStream;
@ -9,8 +9,9 @@ import java.io.OutputStream;
import org.bukkit.generator.ChunkGenerator.BiomeGrid;
import org.bukkit.generator.ChunkGenerator.ChunkData;
import com.volmit.iris.util.HeightMap;
import lombok.Data;
import ninja.bytecode.iris.util.HeightMap;
@Data
public class AtomicSliverMap

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.object.atomics;
package com.volmit.iris.object.atomics;
import java.io.File;
import java.io.FileInputStream;
@ -7,11 +7,11 @@ import java.io.IOException;
import org.bukkit.World;
import ninja.bytecode.iris.Iris;
import ninja.bytecode.iris.util.ChronoLatch;
import ninja.bytecode.iris.util.ChunkPosition;
import ninja.bytecode.shuriken.collections.KMap;
import ninja.bytecode.shuriken.math.M;
import com.volmit.iris.Iris;
import com.volmit.iris.util.ChronoLatch;
import com.volmit.iris.util.ChunkPosition;
import com.volmit.iris.util.KMap;
import com.volmit.iris.util.M;
public class AtomicWorldData
{

View File

@ -1,8 +1,8 @@
package ninja.bytecode.iris.object.atomics;
package com.volmit.iris.object.atomics;
import java.util.concurrent.locks.ReentrantLock;
import ninja.bytecode.shuriken.collections.KMap;
import com.volmit.iris.util.KMap;
public class MasterLock
{

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
/**
* Provides an incredibly fast averaging object. It swaps values from a sum

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import org.bukkit.util.Vector;

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import java.util.Random;

View File

@ -1,7 +1,6 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import ninja.bytecode.iris.object.IrisBiome;
import ninja.bytecode.shuriken.collections.KMap;
import com.volmit.iris.object.IrisBiome;
public class BiomeDominance extends KMap<IrisBiome, Double>
{

View File

@ -1,6 +1,6 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import ninja.bytecode.iris.object.IrisBiome;
import com.volmit.iris.object.IrisBiome;
public class BiomeMap
{

View File

@ -1,7 +1,8 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import com.volmit.iris.object.IrisBiome;
import lombok.Data;
import ninja.bytecode.iris.object.IrisBiome;
@Data
public class BiomeResult

View File

@ -1,12 +1,10 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.block.data.BlockData;
import ninja.bytecode.iris.Iris;
import ninja.bytecode.shuriken.collections.KList;
import ninja.bytecode.shuriken.collections.KMap;
import com.volmit.iris.Iris;
public class BlockDataTools
{

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import java.util.Collections;
import java.util.List;

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import lombok.Getter;
import org.apache.commons.lang.StringUtils;

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import org.bukkit.entity.Player;
import org.bukkit.scoreboard.Objective;

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import lombok.Builder;
import lombok.Getter;

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import lombok.RequiredArgsConstructor;

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
@FunctionalInterface
public interface BorderCheck<T>

View File

@ -1,6 +1,4 @@
package ninja.bytecode.iris.util;
import ninja.bytecode.shuriken.math.M;
package com.volmit.iris.util;
public class Borders
{

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
/*
* JNBT License

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
/*
* JNBT License

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
public class CDou
{

View File

@ -1,6 +1,4 @@
package ninja.bytecode.iris.util;
import ninja.bytecode.shuriken.collections.KList;
package com.volmit.iris.util;
public class CNG
{

View File

@ -0,0 +1,6 @@
package com.volmit.iris.util;
public interface Callback<T>
{
public void run(T t);
}

View File

@ -1,6 +1,6 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
public interface Callback<T>
public interface CallbackCV<T>
{
public void run(T t);
}

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import lombok.Data;

View File

@ -1,10 +1,11 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import com.volmit.iris.util.FastNoise.CellularDistanceFunction;
import com.volmit.iris.util.FastNoise.CellularReturnType;
import com.volmit.iris.util.FastNoise.NoiseType;
import lombok.Getter;
import lombok.Setter;
import ninja.bytecode.iris.util.FastNoise.CellularDistanceFunction;
import ninja.bytecode.iris.util.FastNoise.CellularReturnType;
import ninja.bytecode.iris.util.FastNoise.NoiseType;
public class CellGenerator
{

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
public class ChronoLatch
{

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import lombok.Data;

View File

@ -0,0 +1,57 @@
package com.volmit.iris.util;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.function.Consumer;
public class Chunker<T>
{
private ExecutorService executor;
private int threads;
private int workload;
private KList<T> q;
public Chunker(KList<T> q)
{
this.q = q;
}
public Chunker<T> threads(int threads)
{
this.threads = threads;
return this;
}
public Chunker<T> workload(int workload)
{
this.workload = workload;
return this;
}
public void execute(Consumer<T> consumer, Callback<Double> progress, int progressInterval)
{
ChronoLatch cl = new ChronoLatch(progressInterval);
Contained<Integer> consumed = new Contained<Integer>(0);
executor = Executors.newFixedThreadPool(threads);
int length = q.size();
int remaining = length;
while(remaining > 0)
{
int at = remaining;
remaining -= (remaining > workload ? workload : remaining);
int to = remaining;
executor.submit(() ->
{
J.dofor(at, (i) -> i >= to, -1, (i) -> J.attempt(() -> consumer.accept(q.get(i))));
consumed.mod((c) -> c += workload);
J.doif(() -> progress != null && cl.flip(), () -> progress.run((double) consumed.get() / (double) length));
});
}
executor.shutdown();
J.attempt(() -> executor.awaitTermination(100, TimeUnit.HOURS));
}
}

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
/*
* JNBT License

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
@FunctionalInterface
public interface Consumer2<A, B>

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
@FunctionalInterface
public interface Consumer3<A, B, C>

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import java.util.function.Function;

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import java.util.ArrayList;
import java.util.HashMap;
@ -15,8 +15,6 @@ import org.bukkit.block.Block;
import org.bukkit.configuration.serialization.ConfigurationSerializable;
import org.bukkit.entity.Entity;
import ninja.bytecode.shuriken.collections.KList;
/**
* Cuboids
*

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
/**
* Represents a cuboid exception

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import org.bukkit.util.Vector;

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.*;

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
/**
* Dimensions

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
/**
* Represents a dimension (coordinates not worlds)

View File

@ -1,13 +1,11 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import org.bukkit.Axis;
import org.bukkit.block.BlockFace;
import org.bukkit.util.Vector;
import ninja.bytecode.iris.util.Cuboid.CuboidDirection;
import ninja.bytecode.shuriken.collections.KList;
import ninja.bytecode.shuriken.collections.KMap;
import com.volmit.iris.util.Cuboid.CuboidDirection;
/**
* Directions

View File

@ -0,0 +1,14 @@
package com.volmit.iris.util;
import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.*;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
@Retention(RUNTIME)
@Target({FIELD, TYPE})
public @interface DontObfuscate
{
}

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
public class DoubleArrayUtils

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
/*
* JNBT License

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
/*
* JNBT License

View File

@ -25,7 +25,7 @@
// The developer's email is jorzixdan.me2@gzixmail.com (for great email, take
// off every 'zix'.)
//
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import javax.vecmath.Vector2f;
import javax.vecmath.Vector3f;

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import org.bukkit.Location;
import org.bukkit.World;

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import org.bukkit.Bukkit;

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
import java.io.File;

View File

@ -1,4 +1,4 @@
package ninja.bytecode.iris.util;
package com.volmit.iris.util;
/*
* JNBT License

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
package com.volmit.iris.util;
@FunctionalInterface
public interface Function2<A, B, R>
{
public R apply(A a, B b);
}

Some files were not shown because too many files have changed in this diff Show More