mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 18:23:06 +00:00
Cleanup
This commit is contained in:
parent
1ae1cebab6
commit
108499706a
@ -1,10 +1,11 @@
|
|||||||
package ninja.bytecode.iris;
|
package com.volmit.iris;
|
||||||
|
|
||||||
import org.bukkit.generator.ChunkGenerator.BiomeGrid;
|
import org.bukkit.generator.ChunkGenerator.BiomeGrid;
|
||||||
import org.bukkit.generator.ChunkGenerator.ChunkData;
|
import org.bukkit.generator.ChunkGenerator.ChunkData;
|
||||||
|
|
||||||
|
import com.volmit.iris.util.ChunkPosition;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import ninja.bytecode.iris.util.ChunkPosition;
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class GeneratedChunk
|
public class GeneratedChunk
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris;
|
package com.volmit.iris;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -30,40 +30,38 @@ import org.bukkit.util.Vector;
|
|||||||
import org.zeroturnaround.zip.ZipUtil;
|
import org.zeroturnaround.zip.ZipUtil;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
|
import com.volmit.iris.generator.IrisChunkGenerator;
|
||||||
import ninja.bytecode.iris.generator.IrisChunkGenerator;
|
import com.volmit.iris.object.IrisBiome;
|
||||||
import ninja.bytecode.iris.object.IrisBiome;
|
import com.volmit.iris.object.IrisDimension;
|
||||||
import ninja.bytecode.iris.object.IrisDimension;
|
import com.volmit.iris.object.IrisGenerator;
|
||||||
import ninja.bytecode.iris.object.IrisGenerator;
|
import com.volmit.iris.object.IrisObject;
|
||||||
import ninja.bytecode.iris.object.IrisObject;
|
import com.volmit.iris.object.IrisObjectPlacement;
|
||||||
import ninja.bytecode.iris.object.IrisObjectPlacement;
|
import com.volmit.iris.object.IrisRegion;
|
||||||
import ninja.bytecode.iris.object.IrisRegion;
|
import com.volmit.iris.util.BiomeResult;
|
||||||
import ninja.bytecode.iris.util.BiomeResult;
|
import com.volmit.iris.util.BlockDataTools;
|
||||||
import ninja.bytecode.iris.util.BlockDataTools;
|
import com.volmit.iris.util.BoardManager;
|
||||||
import ninja.bytecode.iris.util.BoardManager;
|
import com.volmit.iris.util.BoardProvider;
|
||||||
import ninja.bytecode.iris.util.BoardProvider;
|
import com.volmit.iris.util.BoardSettings;
|
||||||
import ninja.bytecode.iris.util.BoardSettings;
|
import com.volmit.iris.util.CNG;
|
||||||
import ninja.bytecode.iris.util.CNG;
|
import com.volmit.iris.util.Cuboid;
|
||||||
import ninja.bytecode.iris.util.Cuboid;
|
import com.volmit.iris.util.Desc;
|
||||||
import ninja.bytecode.iris.util.Cuboid.CuboidDirection;
|
import com.volmit.iris.util.Direction;
|
||||||
import ninja.bytecode.iris.util.Desc;
|
import com.volmit.iris.util.Form;
|
||||||
import ninja.bytecode.iris.util.Direction;
|
import com.volmit.iris.util.GroupedExecutor;
|
||||||
import ninja.bytecode.iris.util.GroupedExecutor;
|
import com.volmit.iris.util.IO;
|
||||||
import ninja.bytecode.iris.util.IO;
|
import com.volmit.iris.util.J;
|
||||||
import ninja.bytecode.iris.util.RNG;
|
import com.volmit.iris.util.JSONException;
|
||||||
import ninja.bytecode.iris.util.ScoreDirection;
|
import com.volmit.iris.util.JSONObject;
|
||||||
import ninja.bytecode.iris.wand.WandController;
|
import com.volmit.iris.util.JarScanner;
|
||||||
import ninja.bytecode.shuriken.collections.KList;
|
import com.volmit.iris.util.KList;
|
||||||
import ninja.bytecode.shuriken.collections.KMap;
|
import com.volmit.iris.util.KMap;
|
||||||
import ninja.bytecode.shuriken.collections.KSet;
|
import com.volmit.iris.util.KSet;
|
||||||
import ninja.bytecode.shuriken.execution.J;
|
import com.volmit.iris.util.O;
|
||||||
import ninja.bytecode.shuriken.format.Form;
|
import com.volmit.iris.util.RNG;
|
||||||
import ninja.bytecode.shuriken.json.JSONException;
|
import com.volmit.iris.util.RollingSequence;
|
||||||
import ninja.bytecode.shuriken.json.JSONObject;
|
import com.volmit.iris.util.ScoreDirection;
|
||||||
import ninja.bytecode.shuriken.logging.L;
|
import com.volmit.iris.util.Cuboid.CuboidDirection;
|
||||||
import ninja.bytecode.shuriken.math.RollingSequence;
|
import com.volmit.iris.wand.WandController;
|
||||||
import ninja.bytecode.shuriken.reaction.O;
|
|
||||||
import ninja.bytecode.shuriken.tools.JarScanner;
|
|
||||||
|
|
||||||
public class Iris extends JavaPlugin implements BoardProvider
|
public class Iris extends JavaPlugin implements BoardProvider
|
||||||
{
|
{
|
||||||
@ -602,16 +600,6 @@ public class Iris extends JavaPlugin implements BoardProvider
|
|||||||
dim = args[1];
|
dim = args[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean obfuscate = false;
|
|
||||||
|
|
||||||
for(String i : args)
|
|
||||||
{
|
|
||||||
if(i.equalsIgnoreCase("-o"))
|
|
||||||
{
|
|
||||||
obfuscate = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
String dimm = dim;
|
String dimm = dim;
|
||||||
IrisDimension dimension = data.getDimensionLoader().load(dimm);
|
IrisDimension dimension = data.getDimensionLoader().load(dimm);
|
||||||
File folder = new File(getDataFolder(), "exports/" + dimension.getLoadKey());
|
File folder = new File(getDataFolder(), "exports/" + dimension.getLoadKey());
|
||||||
@ -639,18 +627,15 @@ public class Iris extends JavaPlugin implements BoardProvider
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
String name = obfuscate ? UUID.randomUUID().toString().replaceAll("-", "") : k;
|
String name = UUID.randomUUID().toString().replaceAll("-", "");
|
||||||
newNames.add(name);
|
newNames.add(name);
|
||||||
renameObjects.put(k, name);
|
renameObjects.put(k, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(obfuscate)
|
j.setPlace(newNames);
|
||||||
{
|
|
||||||
j.setPlace(newNames);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
KMap<String, KList<String>> lookupObjects = renameObjects.flip();
|
KMap<String, KList<String>> lookupObjects = renameObjects.flip();
|
||||||
|
|
||||||
biomes.forEach((i) -> i.getObjects().forEach((j) -> j.getPlace().forEach((k) ->
|
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));
|
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);
|
IO.delete(folder);
|
||||||
}
|
}
|
||||||
|
|
||||||
catch(Throwable e)
|
catch(Throwable e)
|
||||||
{
|
{
|
||||||
L.ex(e);
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
sender.sendMessage("Done!");
|
sender.sendMessage("Done!");
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
package ninja.bytecode.iris;
|
package com.volmit.iris;
|
||||||
|
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
|
|
||||||
import ninja.bytecode.iris.object.IrisDimension;
|
import com.volmit.iris.object.IrisDimension;
|
||||||
import ninja.bytecode.iris.object.IrisRegion;
|
import com.volmit.iris.object.IrisRegion;
|
||||||
import ninja.bytecode.iris.util.BiomeResult;
|
import com.volmit.iris.util.BiomeResult;
|
||||||
import ninja.bytecode.shuriken.collections.KMap;
|
import com.volmit.iris.util.KMap;
|
||||||
|
|
||||||
public interface IrisContext
|
public interface IrisContext
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris;
|
package com.volmit.iris;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
@ -6,19 +6,19 @@ import org.bukkit.World.Environment;
|
|||||||
import org.bukkit.block.Biome;
|
import org.bukkit.block.Biome;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
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 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
|
@Data
|
||||||
public class IrisDataManager
|
public class IrisDataManager
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
package ninja.bytecode.iris;
|
package com.volmit.iris;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
|
||||||
import ninja.bytecode.iris.util.ChronoLatch;
|
import com.volmit.iris.util.ChronoLatch;
|
||||||
import ninja.bytecode.iris.util.FileWatcher;
|
import com.volmit.iris.util.FileWatcher;
|
||||||
import ninja.bytecode.shuriken.collections.KSet;
|
import com.volmit.iris.util.KSet;
|
||||||
|
|
||||||
public class IrisHotloadManager
|
public class IrisHotloadManager
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
package ninja.bytecode.iris;
|
package com.volmit.iris;
|
||||||
|
|
||||||
|
import com.volmit.iris.util.RollingSequence;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import ninja.bytecode.shuriken.math.RollingSequence;
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class IrisMetrics
|
public class IrisMetrics
|
||||||
@ -11,11 +12,11 @@ public class IrisMetrics
|
|||||||
private final RollingSequence loss;
|
private final RollingSequence loss;
|
||||||
public int generators = 0;
|
public int generators = 0;
|
||||||
public int noiseHits = 0;
|
public int noiseHits = 0;
|
||||||
|
|
||||||
public IrisMetrics(int memory)
|
public IrisMetrics(int memory)
|
||||||
{
|
{
|
||||||
total = new RollingSequence(memory);
|
total = new RollingSequence(memory);
|
||||||
perSecond = new RollingSequence(5);
|
perSecond = new RollingSequence(5);
|
||||||
loss = new RollingSequence(memory);
|
loss = new RollingSequence(memory);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris;
|
package com.volmit.iris;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
@ -1,28 +1,29 @@
|
|||||||
package ninja.bytecode.iris.generator;
|
package com.volmit.iris.generator;
|
||||||
|
|
||||||
import java.util.concurrent.locks.ReentrantLock;
|
import java.util.concurrent.locks.ReentrantLock;
|
||||||
|
|
||||||
import org.bukkit.World;
|
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.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
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
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
package ninja.bytecode.iris.generator;
|
package com.volmit.iris.generator;
|
||||||
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
|
|
||||||
import ninja.bytecode.iris.Iris;
|
import com.volmit.iris.Iris;
|
||||||
import ninja.bytecode.iris.object.IrisDimension;
|
import com.volmit.iris.object.IrisDimension;
|
||||||
import ninja.bytecode.iris.util.InvertedBiomeGrid;
|
import com.volmit.iris.util.InvertedBiomeGrid;
|
||||||
import ninja.bytecode.iris.util.RNG;
|
import com.volmit.iris.util.RNG;
|
||||||
|
|
||||||
public abstract class CeilingChunkGenerator extends PostBlockChunkGenerator
|
public abstract class CeilingChunkGenerator extends PostBlockChunkGenerator
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.generator;
|
package com.volmit.iris.generator;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
@ -20,18 +20,18 @@ import org.bukkit.event.world.WorldUnloadEvent;
|
|||||||
import org.bukkit.generator.BlockPopulator;
|
import org.bukkit.generator.BlockPopulator;
|
||||||
import org.bukkit.generator.ChunkGenerator;
|
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.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import net.md_5.bungee.api.ChatColor;
|
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
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@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");
|
Iris.instance.imsg(i, ChatColor.RED + "- Then simply run /iris dev");
|
||||||
}
|
}
|
||||||
|
|
||||||
L.ex(e);
|
e.printStackTrace();
|
||||||
onFailure(e);
|
onFailure(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,16 +1,17 @@
|
|||||||
package ninja.bytecode.iris.generator;
|
package com.volmit.iris.generator;
|
||||||
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.data.BlockData;
|
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.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
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
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@ -1,18 +1,19 @@
|
|||||||
package ninja.bytecode.iris.generator;
|
package com.volmit.iris.generator;
|
||||||
|
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
|
|
||||||
import org.bukkit.Chunk;
|
import org.bukkit.Chunk;
|
||||||
import org.bukkit.entity.Player;
|
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.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
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
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.generator;
|
package com.volmit.iris.generator;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.concurrent.locks.ReentrantLock;
|
import java.util.concurrent.locks.ReentrantLock;
|
||||||
@ -6,23 +6,24 @@ import java.util.concurrent.locks.ReentrantLock;
|
|||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.block.data.BlockData;
|
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.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
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
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@ -1,16 +1,17 @@
|
|||||||
package ninja.bytecode.iris.generator;
|
package com.volmit.iris.generator;
|
||||||
|
|
||||||
import org.bukkit.World;
|
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.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
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
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
package ninja.bytecode.iris.generator;
|
package com.volmit.iris.generator;
|
||||||
|
|
||||||
import java.util.concurrent.locks.ReentrantLock;
|
import java.util.concurrent.locks.ReentrantLock;
|
||||||
|
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
|
|
||||||
import ninja.bytecode.iris.Iris;
|
import com.volmit.iris.Iris;
|
||||||
import ninja.bytecode.iris.layer.post.PostNippleSmoother;
|
import com.volmit.iris.layer.post.PostNippleSmoother;
|
||||||
import ninja.bytecode.iris.layer.post.PostPotholeFiller;
|
import com.volmit.iris.layer.post.PostPotholeFiller;
|
||||||
import ninja.bytecode.iris.layer.post.PostSlabber;
|
import com.volmit.iris.layer.post.PostSlabber;
|
||||||
import ninja.bytecode.iris.layer.post.PostWallPatcher;
|
import com.volmit.iris.layer.post.PostWallPatcher;
|
||||||
import ninja.bytecode.iris.object.IrisDimension;
|
import com.volmit.iris.object.IrisDimension;
|
||||||
import ninja.bytecode.iris.util.IPostBlockAccess;
|
import com.volmit.iris.util.IPostBlockAccess;
|
||||||
import ninja.bytecode.iris.util.IrisPostBlockFilter;
|
import com.volmit.iris.util.IrisPostBlockFilter;
|
||||||
import ninja.bytecode.iris.util.RNG;
|
import com.volmit.iris.util.KList;
|
||||||
import ninja.bytecode.shuriken.collections.KList;
|
import com.volmit.iris.util.RNG;
|
||||||
|
|
||||||
public abstract class PostBlockChunkGenerator extends ParallaxChunkGenerator implements IPostBlockAccess
|
public abstract class PostBlockChunkGenerator extends ParallaxChunkGenerator implements IPostBlockAccess
|
||||||
{
|
{
|
||||||
|
@ -1,27 +1,29 @@
|
|||||||
package ninja.bytecode.iris.generator;
|
package com.volmit.iris.generator;
|
||||||
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.block.data.Bisected;
|
import org.bukkit.block.data.Bisected;
|
||||||
import org.bukkit.block.data.Bisected.Half;
|
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 org.bukkit.block.data.BlockData;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
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
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
package ninja.bytecode.iris.layer;
|
package com.volmit.iris.layer;
|
||||||
|
|
||||||
import ninja.bytecode.iris.Iris;
|
import com.volmit.iris.Iris;
|
||||||
import ninja.bytecode.iris.generator.DimensionChunkGenerator;
|
import com.volmit.iris.generator.DimensionChunkGenerator;
|
||||||
import ninja.bytecode.iris.object.InferredType;
|
import com.volmit.iris.object.InferredType;
|
||||||
import ninja.bytecode.iris.object.IrisBiome;
|
import com.volmit.iris.object.IrisBiome;
|
||||||
import ninja.bytecode.iris.object.IrisRegion;
|
import com.volmit.iris.object.IrisRegion;
|
||||||
import ninja.bytecode.iris.object.IrisRegionRidge;
|
import com.volmit.iris.object.IrisRegionRidge;
|
||||||
import ninja.bytecode.iris.object.IrisRegionSpot;
|
import com.volmit.iris.object.IrisRegionSpot;
|
||||||
import ninja.bytecode.iris.util.BiomeResult;
|
import com.volmit.iris.util.BiomeResult;
|
||||||
import ninja.bytecode.iris.util.CellGenerator;
|
import com.volmit.iris.util.CellGenerator;
|
||||||
import ninja.bytecode.iris.util.GenLayer;
|
import com.volmit.iris.util.GenLayer;
|
||||||
import ninja.bytecode.iris.util.RNG;
|
import com.volmit.iris.util.KList;
|
||||||
import ninja.bytecode.shuriken.collections.KList;
|
import com.volmit.iris.util.RNG;
|
||||||
|
|
||||||
public class GenLayerBiome extends GenLayer
|
public class GenLayerBiome extends GenLayer
|
||||||
{
|
{
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
package ninja.bytecode.iris.layer;
|
package com.volmit.iris.layer;
|
||||||
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
|
|
||||||
import ninja.bytecode.iris.generator.DimensionChunkGenerator;
|
import com.volmit.iris.generator.DimensionChunkGenerator;
|
||||||
import ninja.bytecode.iris.object.atomics.AtomicSliver;
|
import com.volmit.iris.object.atomics.AtomicSliver;
|
||||||
import ninja.bytecode.iris.util.BlockDataTools;
|
import com.volmit.iris.util.BlockDataTools;
|
||||||
import ninja.bytecode.iris.util.CNG;
|
import com.volmit.iris.util.CNG;
|
||||||
import ninja.bytecode.iris.util.CaveResult;
|
import com.volmit.iris.util.CaveResult;
|
||||||
import ninja.bytecode.iris.util.FastNoise;
|
import com.volmit.iris.util.FastNoise;
|
||||||
import ninja.bytecode.iris.util.FastNoise.CellularDistanceFunction;
|
import com.volmit.iris.util.GenLayer;
|
||||||
import ninja.bytecode.iris.util.FastNoise.CellularReturnType;
|
import com.volmit.iris.util.KList;
|
||||||
import ninja.bytecode.iris.util.FastNoise.NoiseType;
|
import com.volmit.iris.util.RNG;
|
||||||
import ninja.bytecode.iris.util.GenLayer;
|
import com.volmit.iris.util.FastNoise.CellularDistanceFunction;
|
||||||
import ninja.bytecode.iris.util.RNG;
|
import com.volmit.iris.util.FastNoise.CellularReturnType;
|
||||||
import ninja.bytecode.shuriken.collections.KList;
|
import com.volmit.iris.util.FastNoise.NoiseType;
|
||||||
|
|
||||||
public class GenLayerCave extends GenLayer
|
public class GenLayerCave extends GenLayer
|
||||||
{
|
{
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
package ninja.bytecode.iris.layer.post;
|
package com.volmit.iris.layer.post;
|
||||||
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
|
|
||||||
import ninja.bytecode.iris.generator.PostBlockChunkGenerator;
|
import com.volmit.iris.generator.PostBlockChunkGenerator;
|
||||||
import ninja.bytecode.iris.util.IrisPostBlockFilter;
|
import com.volmit.iris.util.IrisPostBlockFilter;
|
||||||
|
|
||||||
public class PostNippleSmoother extends IrisPostBlockFilter
|
public class PostNippleSmoother extends IrisPostBlockFilter
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package ninja.bytecode.iris.layer.post;
|
package com.volmit.iris.layer.post;
|
||||||
|
|
||||||
import ninja.bytecode.iris.generator.PostBlockChunkGenerator;
|
import com.volmit.iris.generator.PostBlockChunkGenerator;
|
||||||
import ninja.bytecode.iris.util.IrisPostBlockFilter;
|
import com.volmit.iris.util.IrisPostBlockFilter;
|
||||||
|
|
||||||
public class PostPotholeFiller extends IrisPostBlockFilter
|
public class PostPotholeFiller extends IrisPostBlockFilter
|
||||||
{
|
{
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
package ninja.bytecode.iris.layer.post;
|
package com.volmit.iris.layer.post;
|
||||||
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
import org.bukkit.block.data.Waterlogged;
|
import org.bukkit.block.data.Waterlogged;
|
||||||
|
|
||||||
import ninja.bytecode.iris.generator.PostBlockChunkGenerator;
|
import com.volmit.iris.generator.PostBlockChunkGenerator;
|
||||||
import ninja.bytecode.iris.util.IrisPostBlockFilter;
|
import com.volmit.iris.util.IrisPostBlockFilter;
|
||||||
import ninja.bytecode.iris.util.RNG;
|
import com.volmit.iris.util.RNG;
|
||||||
|
|
||||||
public class PostSlabber extends IrisPostBlockFilter
|
public class PostSlabber extends IrisPostBlockFilter
|
||||||
{
|
{
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
package ninja.bytecode.iris.layer.post;
|
package com.volmit.iris.layer.post;
|
||||||
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
|
|
||||||
import ninja.bytecode.iris.generator.PostBlockChunkGenerator;
|
import com.volmit.iris.generator.PostBlockChunkGenerator;
|
||||||
import ninja.bytecode.iris.object.IrisBiome;
|
import com.volmit.iris.object.IrisBiome;
|
||||||
import ninja.bytecode.iris.util.IrisPostBlockFilter;
|
import com.volmit.iris.util.IrisPostBlockFilter;
|
||||||
import ninja.bytecode.iris.util.RNG;
|
import com.volmit.iris.util.RNG;
|
||||||
|
|
||||||
public class PostWallPatcher extends IrisPostBlockFilter
|
public class PostWallPatcher extends IrisPostBlockFilter
|
||||||
{
|
{
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
package ninja.bytecode.iris.object;
|
|
||||||
|
|
||||||
public class Blueprint
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
@ -1,8 +1,15 @@
|
|||||||
package ninja.bytecode.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
|
import com.volmit.iris.util.DontObfuscate;
|
||||||
|
|
||||||
public enum DecorationPart
|
public enum DecorationPart
|
||||||
{
|
{
|
||||||
|
@DontObfuscate
|
||||||
NONE,
|
NONE,
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
SHORE_LINE,
|
SHORE_LINE,
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
SEA_SURFACE
|
SEA_SURFACE
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,12 @@
|
|||||||
package ninja.bytecode.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
|
import com.volmit.iris.util.DontObfuscate;
|
||||||
|
|
||||||
public enum Dispersion
|
public enum Dispersion
|
||||||
{
|
{
|
||||||
|
@DontObfuscate
|
||||||
SCATTER,
|
SCATTER,
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
WISPY,
|
WISPY,
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,15 @@
|
|||||||
package ninja.bytecode.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
|
import com.volmit.iris.util.DontObfuscate;
|
||||||
|
|
||||||
public enum Envelope
|
public enum Envelope
|
||||||
{
|
{
|
||||||
|
@DontObfuscate
|
||||||
EVERYWHERE,
|
EVERYWHERE,
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
CELLS,
|
CELLS,
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
VEINS,
|
VEINS,
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,21 @@
|
|||||||
package ninja.bytecode.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
|
import com.volmit.iris.util.DontObfuscate;
|
||||||
|
|
||||||
public enum InferredType
|
public enum InferredType
|
||||||
{
|
{
|
||||||
|
@DontObfuscate
|
||||||
SHORE,
|
SHORE,
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
LAND,
|
LAND,
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
SEA,
|
SEA,
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
CAVE,
|
CAVE,
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
DEFER;
|
DEFER;
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,18 @@
|
|||||||
package ninja.bytecode.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
|
import com.volmit.iris.util.DontObfuscate;
|
||||||
|
|
||||||
public enum InterpolationMethod
|
public enum InterpolationMethod
|
||||||
{
|
{
|
||||||
|
@DontObfuscate
|
||||||
NONE,
|
NONE,
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
BILINEAR,
|
BILINEAR,
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
BICUBIC,
|
BICUBIC,
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
HERMITE
|
HERMITE
|
||||||
}
|
}
|
||||||
|
@ -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 lombok.Data;
|
||||||
import ninja.bytecode.iris.util.Desc;
|
|
||||||
|
|
||||||
@Desc("Represents a rotation axis with intervals and maxes")
|
@Desc("Represents a rotation axis with intervals and maxes")
|
||||||
@Data
|
@Data
|
||||||
public class IrisAxisRotationClamp
|
public class IrisAxisRotationClamp
|
||||||
{
|
{
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Should this axis be rotated at all?")
|
@Desc("Should this axis be rotated at all?")
|
||||||
private boolean enabled = false;
|
private boolean enabled = false;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The minimum angle (from) or set this and max to zero for any angle degrees")
|
@Desc("The minimum angle (from) or set this and max to zero for any angle degrees")
|
||||||
private double min = 0;
|
private double min = 0;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The maximum angle (to) or set this and min to zero for any angle degrees")
|
@Desc("The maximum angle (to) or set this and min to zero for any angle degrees")
|
||||||
private double max = 0;
|
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")
|
@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;
|
private double interval = 0;
|
||||||
|
|
||||||
|
@ -1,75 +1,95 @@
|
|||||||
package ninja.bytecode.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
import java.util.concurrent.locks.ReentrantLock;
|
import java.util.concurrent.locks.ReentrantLock;
|
||||||
|
|
||||||
import org.bukkit.block.Biome;
|
import org.bukkit.block.Biome;
|
||||||
import org.bukkit.block.data.BlockData;
|
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.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
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.")
|
@Desc("Represents a biome in iris.")
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
public class IrisBiome extends IrisRegistrant
|
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.")
|
@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";
|
private String name = "A Biome";
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("This changes the dispersion of the biome colors if multiple derivatives are chosen")
|
@Desc("This changes the dispersion of the biome colors if multiple derivatives are chosen")
|
||||||
private Dispersion biomeDispersion = Dispersion.SCATTER;
|
private Dispersion biomeDispersion = Dispersion.SCATTER;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("This zooms in the biome colors if multiple derivatives are chosen")
|
@Desc("This zooms in the biome colors if multiple derivatives are chosen")
|
||||||
private double biomeZoom = 1;
|
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.")
|
@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;
|
private boolean lockLayers = false;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The rarity of this biome (integer)")
|
@Desc("The rarity of this biome (integer)")
|
||||||
private int rarity = 1;
|
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")
|
@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;
|
private Biome derivative = Biome.THE_VOID;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("You can instead specify multiple biome derivatives to randomly scatter colors in this biome")
|
@Desc("You can instead specify multiple biome derivatives to randomly scatter colors in this biome")
|
||||||
private KList<Biome> biomeScatter = new KList<>();
|
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)")
|
@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<>();
|
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.")
|
@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;
|
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.")
|
@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<>();
|
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.")
|
@Desc("The default slab if iris decides to place a slab in this biome. Default is no slab.")
|
||||||
private IrisBiomePaletteLayer slab = new IrisBiomePaletteLayer().zero();
|
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)")
|
@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();
|
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.")
|
@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());
|
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.")
|
@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>();
|
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)")
|
@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>();
|
private KList<IrisBiomeDecorator> decorators = new KList<IrisBiomeDecorator>();
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Objects define what schematics (iob files) iris will place in this biome")
|
@Desc("Objects define what schematics (iob files) iris will place in this biome")
|
||||||
private KList<IrisObjectPlacement> objects = new KList<IrisObjectPlacement>();
|
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.")
|
@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());
|
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")
|
@Desc("Define biome deposit generators that add onto the existing regional and global deposit generators")
|
||||||
private KList<IrisDepositGenerator> deposits = new KList<>();
|
private KList<IrisDepositGenerator> deposits = new KList<>();
|
||||||
|
|
||||||
@ -160,7 +180,7 @@ public class IrisBiome extends IrisRegistrant
|
|||||||
|
|
||||||
catch(Throwable e)
|
catch(Throwable e)
|
||||||
{
|
{
|
||||||
L.ex(e);
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -202,7 +222,7 @@ public class IrisBiome extends IrisRegistrant
|
|||||||
|
|
||||||
catch(Throwable e)
|
catch(Throwable e)
|
||||||
{
|
{
|
||||||
L.ex(e);
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -275,7 +295,7 @@ public class IrisBiome extends IrisRegistrant
|
|||||||
|
|
||||||
catch(Throwable e)
|
catch(Throwable e)
|
||||||
{
|
{
|
||||||
L.ex(e);
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,46 +1,58 @@
|
|||||||
package ninja.bytecode.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
import org.bukkit.block.data.BlockData;
|
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 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")
|
@Desc("A biome decorator is used for placing flowers, grass, cacti and so on")
|
||||||
@Data
|
@Data
|
||||||
public class IrisBiomeDecorator
|
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")
|
@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;
|
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.")
|
@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;
|
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")
|
@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;
|
private Dispersion verticalVariance = Dispersion.SCATTER;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Tells iris where this decoration is a part of. I.e. SHORE_LINE or SEA_SURFACE")
|
@Desc("Tells iris where this decoration is a part of. I.e. SHORE_LINE or SEA_SURFACE")
|
||||||
private DecorationPart partOf = DecorationPart.NONE;
|
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")
|
@Desc("The minimum repeat stack height (setting to 3 would stack 3 of <block> on top of each other")
|
||||||
private int stackMin = 1;
|
private int stackMin = 1;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The maximum repeat stack height")
|
@Desc("The maximum repeat stack height")
|
||||||
private int stackMax = 1;
|
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/")
|
@Desc("The zoom is for zooming in or out wispy dispersions. Makes patches bigger the higher this zoom value is/")
|
||||||
private double zoom = 1;
|
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")
|
@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;
|
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)")
|
@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;
|
private double chance = 0.1;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The palette of blocks to pick from when this decorator needs to place.")
|
@Desc("The palette of blocks to pick from when this decorator needs to place.")
|
||||||
private KList<String> palette = new KList<String>().qadd("GRASS");
|
private KList<String> palette = new KList<String>().qadd("GRASS");
|
||||||
|
|
||||||
|
@ -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 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")
|
@Desc("This represents a link to a generator for a biome")
|
||||||
@Data
|
@Data
|
||||||
public class IrisBiomeGeneratorLink
|
public class IrisBiomeGeneratorLink
|
||||||
{
|
{
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The generator id")
|
@Desc("The generator id")
|
||||||
private String generator = "default";
|
private String generator = "default";
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The min block value (value + fluidHeight)")
|
@Desc("The min block value (value + fluidHeight)")
|
||||||
private int min = 0;
|
private int min = 0;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The max block value (value + fluidHeight)")
|
@Desc("The max block value (value + fluidHeight)")
|
||||||
private int max = 0;
|
private int max = 0;
|
||||||
|
|
||||||
|
@ -1,32 +1,39 @@
|
|||||||
package ninja.bytecode.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
import java.util.concurrent.locks.ReentrantLock;
|
import java.util.concurrent.locks.ReentrantLock;
|
||||||
|
|
||||||
import org.bukkit.block.data.BlockData;
|
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.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")
|
@Desc("A layer of surface / subsurface material in biomes")
|
||||||
@Data
|
@Data
|
||||||
public class IrisBiomePaletteLayer
|
public class IrisBiomePaletteLayer
|
||||||
{
|
{
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The dispersion of materials from the palette")
|
@Desc("The dispersion of materials from the palette")
|
||||||
private Dispersion dispersion = Dispersion.SCATTER;
|
private Dispersion dispersion = Dispersion.SCATTER;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The min thickness of this layer")
|
@Desc("The min thickness of this layer")
|
||||||
private int minHeight = 1;
|
private int minHeight = 1;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The max thickness of this layer")
|
@Desc("The max thickness of this layer")
|
||||||
private int maxHeight = 1;
|
private int maxHeight = 1;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The terrain zoom mostly for zooming in on a wispy palette")
|
@Desc("The terrain zoom mostly for zooming in on a wispy palette")
|
||||||
private double terrainZoom = 5;
|
private double terrainZoom = 5;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The palette of blocks to be used in this layer")
|
@Desc("The palette of blocks to be used in this layer")
|
||||||
private KList<String> palette = new KList<String>().qadd("GRASS_BLOCK");
|
private KList<String> palette = new KList<String>().qadd("GRASS_BLOCK");
|
||||||
|
|
||||||
|
@ -1,41 +1,51 @@
|
|||||||
package ninja.bytecode.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
import java.util.concurrent.locks.ReentrantLock;
|
import java.util.concurrent.locks.ReentrantLock;
|
||||||
|
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
import org.bukkit.util.BlockVector;
|
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 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
|
@Data
|
||||||
public class IrisDepositGenerator
|
public class IrisDepositGenerator
|
||||||
{
|
{
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The minimum height this deposit can generate at")
|
@Desc("The minimum height this deposit can generate at")
|
||||||
private int minHeight = 7;
|
private int minHeight = 7;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The maximum height this deposit can generate at")
|
@Desc("The maximum height this deposit can generate at")
|
||||||
private int maxHeight = 55;
|
private int maxHeight = 55;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The minimum amount of deposit blocks per clump")
|
@Desc("The minimum amount of deposit blocks per clump")
|
||||||
private int minSize = 3;
|
private int minSize = 3;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The maximum amount of deposit blocks per clump")
|
@Desc("The maximum amount of deposit blocks per clump")
|
||||||
private int maxSize = 5;
|
private int maxSize = 5;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The maximum amount of clumps per chunk")
|
@Desc("The maximum amount of clumps per chunk")
|
||||||
private int maxPerChunk = 3;
|
private int maxPerChunk = 3;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The minimum amount of clumps per chunk")
|
@Desc("The minimum amount of clumps per chunk")
|
||||||
private int minPerChunk = 1;
|
private int minPerChunk = 1;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The palette of blocks to be used in this deposit generator")
|
@Desc("The palette of blocks to be used in this deposit generator")
|
||||||
private KList<String> palette = new KList<String>();
|
private KList<String> palette = new KList<String>();
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Ore varience is how many different objects clumps iris will create")
|
@Desc("Ore varience is how many different objects clumps iris will create")
|
||||||
private int varience = 8;
|
private int varience = 8;
|
||||||
|
|
||||||
|
@ -1,128 +1,166 @@
|
|||||||
package ninja.bytecode.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
import java.util.concurrent.locks.ReentrantLock;
|
import java.util.concurrent.locks.ReentrantLock;
|
||||||
|
|
||||||
import org.bukkit.World.Environment;
|
import org.bukkit.World.Environment;
|
||||||
import org.bukkit.block.data.BlockData;
|
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.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
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")
|
@Desc("Represents a dimension")
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
public class IrisDimension extends IrisRegistrant
|
public class IrisDimension extends IrisRegistrant
|
||||||
{
|
{
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The human readable name of this dimension")
|
@Desc("The human readable name of this dimension")
|
||||||
private String name = "A Dimension";
|
private String name = "A Dimension";
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The interpolation function for splicing noise maxes together")
|
@Desc("The interpolation function for splicing noise maxes together")
|
||||||
private InterpolationMethod interpolationFunction = InterpolationMethod.BICUBIC;
|
private InterpolationMethod interpolationFunction = InterpolationMethod.BICUBIC;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The interpolation distance scale. Increase = more smooth, less detail")
|
@Desc("The interpolation distance scale. Increase = more smooth, less detail")
|
||||||
private double interpolationScale = 63;
|
private double interpolationScale = 63;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The Thickness scale of cave veins")
|
@Desc("The Thickness scale of cave veins")
|
||||||
private double caveThickness = 1D;
|
private double caveThickness = 1D;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The cave web scale. Smaller values means scaled up vein networks.")
|
@Desc("The cave web scale. Smaller values means scaled up vein networks.")
|
||||||
private double caveScale = 1D;
|
private double caveScale = 1D;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Shift the Y value of the cave networks up or down.")
|
@Desc("Shift the Y value of the cave networks up or down.")
|
||||||
private double caveShift = 0D;
|
private double caveShift = 0D;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Generate caves or not.")
|
@Desc("Generate caves or not.")
|
||||||
private boolean caves = true;
|
private boolean caves = true;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Carve terrain or not")
|
@Desc("Carve terrain or not")
|
||||||
private boolean carving = true;
|
private boolean carving = true;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Generate decorations or not")
|
@Desc("Generate decorations or not")
|
||||||
private boolean decorate = true;
|
private boolean decorate = true;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Use post processing features. Usually for production only as there is a gen speed cost.")
|
@Desc("Use post processing features. Usually for production only as there is a gen speed cost.")
|
||||||
private boolean postProcess = true;
|
private boolean postProcess = true;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The ceiling dimension. Leave blank for normal sky.")
|
@Desc("The ceiling dimension. Leave blank for normal sky.")
|
||||||
private String ceiling = "";
|
private String ceiling = "";
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Mirrors the generator floor into the ceiling. Think nether but worse...")
|
@Desc("Mirrors the generator floor into the ceiling. Think nether but worse...")
|
||||||
private boolean mirrorCeiling = false;
|
private boolean mirrorCeiling = false;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The world environment")
|
@Desc("The world environment")
|
||||||
private Environment environment = Environment.NORMAL;
|
private Environment environment = Environment.NORMAL;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Define all of the regions to include in this dimension. Dimensions -> Regions -> Biomes -> Objects etc")
|
@Desc("Define all of the regions to include in this dimension. Dimensions -> Regions -> Biomes -> Objects etc")
|
||||||
private KList<String> regions = new KList<>();
|
private KList<String> regions = new KList<>();
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The fluid height for this dimension")
|
@Desc("The fluid height for this dimension")
|
||||||
private int fluidHeight = 63;
|
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.")
|
@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 = "";
|
private String focus = "";
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Zoom in or out the biome size. Higher = bigger biomes")
|
@Desc("Zoom in or out the biome size. Higher = bigger biomes")
|
||||||
private double biomeZoom = 5D;
|
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.")
|
@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;
|
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.")
|
@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;
|
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")
|
@Desc("Iris adds a few roughness filters to noise. Increasing this smooths it out. Decreasing this makes it bumpier/scratchy")
|
||||||
private double roughnessZoom = 2D;
|
private double roughnessZoom = 2D;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The height of the roughness filters")
|
@Desc("The height of the roughness filters")
|
||||||
private int roughnessHeight = 3;
|
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.")
|
@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;
|
private double coordFractureDistance = 20;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Coordinate fracturing zoom. Higher = less frequent warping, Lower = more frequent and rapid warping / swirls.")
|
@Desc("Coordinate fracturing zoom. Higher = less frequent warping, Lower = more frequent and rapid warping / swirls.")
|
||||||
private double coordFractureZoom = 8;
|
private double coordFractureZoom = 8;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("This zooms in the land space")
|
@Desc("This zooms in the land space")
|
||||||
private double landZoom = 1;
|
private double landZoom = 1;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("This zooms in the cave biome space")
|
@Desc("This zooms in the cave biome space")
|
||||||
private double caveBiomeZoom = 1;
|
private double caveBiomeZoom = 1;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("This can zoom the shores")
|
@Desc("This can zoom the shores")
|
||||||
private double shoreZoom = 1;
|
private double shoreZoom = 1;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("This zooms oceanic biomes")
|
@Desc("This zooms oceanic biomes")
|
||||||
private double seaZoom = 1;
|
private double seaZoom = 1;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Zoom in continents")
|
@Desc("Zoom in continents")
|
||||||
private double continentZoom = 1;
|
private double continentZoom = 1;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Change the size of regions")
|
@Desc("Change the size of regions")
|
||||||
private double regionZoom = 1;
|
private double regionZoom = 1;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Disable this to stop placing schematics in biomes")
|
@Desc("Disable this to stop placing schematics in biomes")
|
||||||
private boolean placeObjects = true;
|
private boolean placeObjects = true;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Prevent Leaf decay as if placed in creative mode")
|
@Desc("Prevent Leaf decay as if placed in creative mode")
|
||||||
private boolean preventLeafDecay = false;
|
private boolean preventLeafDecay = false;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Define global deposit generators")
|
@Desc("Define global deposit generators")
|
||||||
private KList<IrisDepositGenerator> deposits = new KList<>();
|
private KList<IrisDepositGenerator> deposits = new KList<>();
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The dispersion of materials for the rock palette")
|
@Desc("The dispersion of materials for the rock palette")
|
||||||
private Dispersion dispersion = Dispersion.SCATTER;
|
private Dispersion dispersion = Dispersion.SCATTER;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The rock zoom mostly for zooming in on a wispy palette")
|
@Desc("The rock zoom mostly for zooming in on a wispy palette")
|
||||||
private double rockZoom = 5;
|
private double rockZoom = 5;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The palette of blocks for 'stone'")
|
@Desc("The palette of blocks for 'stone'")
|
||||||
private KList<String> rockPalette = new KList<String>().qadd("STONE");
|
private KList<String> rockPalette = new KList<String>().qadd("STONE");
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The palette of blocks for 'water'")
|
@Desc("The palette of blocks for 'water'")
|
||||||
private KList<String> fluidPalette = new KList<String>().qadd("WATER");
|
private KList<String> fluidPalette = new KList<String>().qadd("WATER");
|
||||||
|
|
||||||
|
@ -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.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
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")
|
@Desc("Represents a composite generator of noise gens")
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
public class IrisGenerator extends IrisRegistrant
|
public class IrisGenerator extends IrisRegistrant
|
||||||
{
|
{
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The zoom or frequency.")
|
@Desc("The zoom or frequency.")
|
||||||
private double zoom = 1;
|
private double zoom = 1;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The opacity, essentially a multiplier on the output.")
|
@Desc("The opacity, essentially a multiplier on the output.")
|
||||||
private double opacity = 1;
|
private double opacity = 1;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The offset to shift this noise x")
|
@Desc("The offset to shift this noise x")
|
||||||
private double offsetX = 0;
|
private double offsetX = 0;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The offset to shift this noise z")
|
@Desc("The offset to shift this noise z")
|
||||||
private double offsetZ = 0;
|
private double offsetZ = 0;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The seed for this generator")
|
@Desc("The seed for this generator")
|
||||||
private long seed = 1;
|
private long seed = 1;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The interpolation method when two biomes use different heights but this same generator")
|
@Desc("The interpolation method when two biomes use different heights but this same generator")
|
||||||
private InterpolationMethod interpolationFunction = InterpolationMethod.BICUBIC;
|
private InterpolationMethod interpolationFunction = InterpolationMethod.BICUBIC;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The interpolation distance scale (blocks) when two biomes use different heights but this same generator")
|
@Desc("The interpolation distance scale (blocks) when two biomes use different heights but this same generator")
|
||||||
private double interpolationScale = 7;
|
private double interpolationScale = 7;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Cliff Height Max. Disable with 0 for min and max")
|
@Desc("Cliff Height Max. Disable with 0 for min and max")
|
||||||
private double cliffHeightMax = 0;
|
private double cliffHeightMax = 0;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Cliff Height Min. Disable with 0 for min and max")
|
@Desc("Cliff Height Min. Disable with 0 for min and max")
|
||||||
private double cliffHeightMin = 0;
|
private double cliffHeightMin = 0;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The list of noise gens this gen contains.")
|
@Desc("The list of noise gens this gen contains.")
|
||||||
private KList<IrisNoiseGenerator> composite = new KList<IrisNoiseGenerator>();
|
private KList<IrisNoiseGenerator> composite = new KList<IrisNoiseGenerator>();
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The noise gen for cliff height.")
|
@Desc("The noise gen for cliff height.")
|
||||||
private IrisNoiseGenerator cliffHeightGenerator = new IrisNoiseGenerator();
|
private IrisNoiseGenerator cliffHeightGenerator = new IrisNoiseGenerator();
|
||||||
|
|
||||||
|
@ -1,56 +1,73 @@
|
|||||||
package ninja.bytecode.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
import java.util.concurrent.locks.ReentrantLock;
|
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 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")
|
@Desc("A noise generator")
|
||||||
@Data
|
@Data
|
||||||
public class IrisNoiseGenerator
|
public class IrisNoiseGenerator
|
||||||
{
|
{
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The coordinate input zoom")
|
@Desc("The coordinate input zoom")
|
||||||
private double zoom = 1;
|
private double zoom = 1;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The output multiplier")
|
@Desc("The output multiplier")
|
||||||
private double opacity = 1;
|
private double opacity = 1;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Coordinate offset x")
|
@Desc("Coordinate offset x")
|
||||||
private double offsetX = 0;
|
private double offsetX = 0;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Height output offset y")
|
@Desc("Height output offset y")
|
||||||
private double offsetY = 0;
|
private double offsetY = 0;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Coordinate offset z")
|
@Desc("Coordinate offset z")
|
||||||
private double offsetZ = 0;
|
private double offsetZ = 0;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The seed")
|
@Desc("The seed")
|
||||||
private long seed = 0;
|
private long seed = 0;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Apply a parametric curve on the output")
|
@Desc("Apply a parametric curve on the output")
|
||||||
private boolean parametric = false;
|
private boolean parametric = false;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Apply a bezier curve on the output")
|
@Desc("Apply a bezier curve on the output")
|
||||||
private boolean bezier = false;
|
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.)")
|
@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;
|
private boolean sinCentered = false;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The exponent noise^EXPONENT")
|
@Desc("The exponent noise^EXPONENT")
|
||||||
private double exponent = 1;
|
private double exponent = 1;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Enable / disable. Outputs offsetY if disabled")
|
@Desc("Enable / disable. Outputs offsetY if disabled")
|
||||||
private boolean enabled = true;
|
private boolean enabled = true;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("If this generator uses the default iris swirly/wispy noise generator. Set to false for pure simplex.")
|
@Desc("If this generator uses the default iris swirly/wispy noise generator. Set to false for pure simplex.")
|
||||||
private boolean irisBased = true;
|
private boolean irisBased = true;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Multiple octaves for multple generators of changing zooms added together")
|
@Desc("Multiple octaves for multple generators of changing zooms added together")
|
||||||
private int octaves = 1;
|
private int octaves = 1;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Apply a child noise generator to fracture the input coordinates of this generator")
|
@Desc("Apply a child noise generator to fracture the input coordinates of this generator")
|
||||||
private KList<IrisNoiseGenerator> fracture = new KList<>();
|
private KList<IrisNoiseGenerator> fracture = new KList<>();
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
import java.io.DataInputStream;
|
import java.io.DataInputStream;
|
||||||
import java.io.DataOutputStream;
|
import java.io.DataOutputStream;
|
||||||
@ -15,13 +15,14 @@ import org.bukkit.block.data.BlockData;
|
|||||||
import org.bukkit.block.data.type.Leaves;
|
import org.bukkit.block.data.type.Leaves;
|
||||||
import org.bukkit.util.BlockVector;
|
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.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
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
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@ -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 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
|
@Data
|
||||||
public class IrisObjectPlacement
|
public class IrisObjectPlacement
|
||||||
{
|
{
|
||||||
|
@DontObfuscate
|
||||||
@Desc("List of objects to place")
|
@Desc("List of objects to place")
|
||||||
private KList<String> place = new KList<>();
|
private KList<String> place = new KList<>();
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Find and replace blocks")
|
@Desc("Find and replace blocks")
|
||||||
private KList<IrisObjectReplace> edit = new KList<>();
|
private KList<IrisObjectReplace> edit = new KList<>();
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Translate this object's placement")
|
@Desc("Translate this object's placement")
|
||||||
private IrisObjectTranslate translate = new IrisObjectTranslate();
|
private IrisObjectTranslate translate = new IrisObjectTranslate();
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Rotate this objects placement")
|
@Desc("Rotate this objects placement")
|
||||||
private IrisObjectRotation rotation = new IrisObjectRotation();
|
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.")
|
@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;
|
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.")
|
@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;
|
private double chance = 1;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("If the chance check passes, place this many in a single chunk")
|
@Desc("If the chance check passes, place this many in a single chunk")
|
||||||
private int density = 1;
|
private int density = 1;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("If set to true, objects will place on the terrain height, ignoring the water surface.")
|
@Desc("If set to true, objects will place on the terrain height, ignoring the water surface.")
|
||||||
private boolean underwater = false;
|
private boolean underwater = false;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("If set to true, objects will place on the fluid height level Such as boats.")
|
@Desc("If set to true, objects will place on the fluid height level Such as boats.")
|
||||||
private boolean onwater = false;
|
private boolean onwater = false;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("If set to true, this object will only place parts of itself where blocks already exist.")
|
@Desc("If set to true, this object will only place parts of itself where blocks already exist.")
|
||||||
private boolean meld = false;
|
private boolean meld = false;
|
||||||
|
|
||||||
|
@ -1,18 +1,23 @@
|
|||||||
package ninja.bytecode.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
import java.util.concurrent.locks.ReentrantLock;
|
import java.util.concurrent.locks.ReentrantLock;
|
||||||
|
|
||||||
import org.bukkit.block.data.BlockData;
|
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 lombok.Data;
|
||||||
import ninja.bytecode.iris.util.BlockDataTools;
|
|
||||||
import ninja.bytecode.iris.util.Desc;
|
|
||||||
|
|
||||||
@Desc("Find and replace object materials")
|
@Desc("Find and replace object materials")
|
||||||
@Data
|
@Data
|
||||||
public class IrisObjectReplace
|
public class IrisObjectReplace
|
||||||
{
|
{
|
||||||
|
@DontObfuscate
|
||||||
private String find;
|
private String find;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
private String replace;
|
private String replace;
|
||||||
|
|
||||||
private transient ReentrantLock lock = new ReentrantLock();
|
private transient ReentrantLock lock = new ReentrantLock();
|
||||||
|
@ -1,20 +1,29 @@
|
|||||||
package ninja.bytecode.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
import org.bukkit.util.BlockVector;
|
import org.bukkit.util.BlockVector;
|
||||||
|
|
||||||
|
import com.volmit.iris.util.Desc;
|
||||||
|
import com.volmit.iris.util.DontObfuscate;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import ninja.bytecode.iris.util.Desc;
|
|
||||||
|
|
||||||
@Desc("Configures rotation for iris")
|
@Desc("Configures rotation for iris")
|
||||||
@Data
|
@Data
|
||||||
public class IrisObjectRotation
|
public class IrisObjectRotation
|
||||||
{
|
{
|
||||||
|
@DontObfuscate
|
||||||
@Desc("If this rotator is enabled or not")
|
@Desc("If this rotator is enabled or not")
|
||||||
private boolean enabled = true;
|
private boolean enabled = true;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The x axis rotation")
|
@Desc("The x axis rotation")
|
||||||
private IrisAxisRotationClamp xAxis = new IrisAxisRotationClamp();
|
private IrisAxisRotationClamp xAxis = new IrisAxisRotationClamp();
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The y axis rotation")
|
@Desc("The y axis rotation")
|
||||||
private IrisAxisRotationClamp yAxis = new IrisAxisRotationClamp(true, 0, 0, 90);
|
private IrisAxisRotationClamp yAxis = new IrisAxisRotationClamp(true, 0, 0, 90);
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The z axis rotation")
|
@Desc("The z axis rotation")
|
||||||
private IrisAxisRotationClamp zAxis = new IrisAxisRotationClamp();
|
private IrisAxisRotationClamp zAxis = new IrisAxisRotationClamp();
|
||||||
|
|
||||||
|
@ -1,20 +1,25 @@
|
|||||||
package ninja.bytecode.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
import org.bukkit.util.BlockVector;
|
import org.bukkit.util.BlockVector;
|
||||||
|
|
||||||
|
import com.volmit.iris.util.Desc;
|
||||||
|
import com.volmit.iris.util.DontObfuscate;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import ninja.bytecode.iris.util.Desc;
|
|
||||||
|
|
||||||
@Desc("Translate objects")
|
@Desc("Translate objects")
|
||||||
@Data
|
@Data
|
||||||
public class IrisObjectTranslate
|
public class IrisObjectTranslate
|
||||||
{
|
{
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The x shift in blocks")
|
@Desc("The x shift in blocks")
|
||||||
private int x;
|
private int x;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The x shift in blocks")
|
@Desc("The x shift in blocks")
|
||||||
private int y;
|
private int y;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The x shift in blocks")
|
@Desc("The x shift in blocks")
|
||||||
private int z;
|
private int z;
|
||||||
|
|
||||||
|
@ -1,51 +1,65 @@
|
|||||||
package ninja.bytecode.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
import java.util.concurrent.locks.ReentrantLock;
|
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.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
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")
|
@Desc("Represents an iris region")
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
public class IrisRegion extends IrisRegistrant
|
public class IrisRegion extends IrisRegistrant
|
||||||
{
|
{
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The name of the region")
|
@Desc("The name of the region")
|
||||||
private String name = "A Region";
|
private String name = "A Region";
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The shore ration (How much percent of land should be a shore)")
|
@Desc("The shore ration (How much percent of land should be a shore)")
|
||||||
private double shoreRatio = 0.13;
|
private double shoreRatio = 0.13;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The min shore height")
|
@Desc("The min shore height")
|
||||||
private double shoreHeightMin = 1.2;
|
private double shoreHeightMin = 1.2;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The the max shore height")
|
@Desc("The the max shore height")
|
||||||
private double shoreHeightMax = 3.2;
|
private double shoreHeightMax = 3.2;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The varience of the shore height")
|
@Desc("The varience of the shore height")
|
||||||
private double shoreHeightZoom = 3.14;
|
private double shoreHeightZoom = 3.14;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The biome implosion ratio, how much to implode biomes into children (chance)")
|
@Desc("The biome implosion ratio, how much to implode biomes into children (chance)")
|
||||||
private double biomeImplosionRatio = 0.4;
|
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.")
|
@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<>();
|
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.")
|
@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<>();
|
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.")
|
@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<>();
|
private KList<String> shoreBiomes = new KList<>();
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Ridge biomes create a vein-like network like rivers through this region")
|
@Desc("Ridge biomes create a vein-like network like rivers through this region")
|
||||||
private KList<IrisRegionRidge> ridgeBiomes = new KList<>();
|
private KList<IrisRegionRidge> ridgeBiomes = new KList<>();
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Spot biomes splotch themselves across this region like lakes")
|
@Desc("Spot biomes splotch themselves across this region like lakes")
|
||||||
private KList<IrisRegionSpot> spotBiomes = new KList<>();
|
private KList<IrisRegionSpot> spotBiomes = new KList<>();
|
||||||
|
|
||||||
|
@ -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 lombok.Data;
|
||||||
import ninja.bytecode.iris.util.CellGenerator;
|
|
||||||
import ninja.bytecode.iris.util.Desc;
|
|
||||||
import ninja.bytecode.iris.util.RNG;
|
|
||||||
|
|
||||||
@Desc("A ridge config")
|
@Desc("A ridge config")
|
||||||
@Data
|
@Data
|
||||||
public class IrisRegionRidge
|
public class IrisRegionRidge
|
||||||
{
|
{
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The biome name")
|
@Desc("The biome name")
|
||||||
private String biome;
|
private String biome;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The type this biome should override (land sea or shore)")
|
@Desc("The type this biome should override (land sea or shore)")
|
||||||
private InferredType type = InferredType.LAND;
|
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")
|
@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;
|
private InferredType as = InferredType.DEFER;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The chance this biome will be placed in a given spot")
|
@Desc("The chance this biome will be placed in a given spot")
|
||||||
private double chance = 0.75;
|
private double chance = 0.75;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The scale of the biome ridge. Higher values = wider veins & bigger connected cells")
|
@Desc("The scale of the biome ridge. Higher values = wider veins & bigger connected cells")
|
||||||
private double scale = 5;
|
private double scale = 5;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The chance scale (cell chances)")
|
@Desc("The chance scale (cell chances)")
|
||||||
private double chanceScale = 4;
|
private double chanceScale = 4;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The shuffle, how 'natural' this looks. Compared to pure polygons")
|
@Desc("The shuffle, how 'natural' this looks. Compared to pure polygons")
|
||||||
private double shuffle = 16;
|
private double shuffle = 16;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The chance shuffle (polygon cell chances)")
|
@Desc("The chance shuffle (polygon cell chances)")
|
||||||
private double chanceShuffle = 128;
|
private double chanceShuffle = 128;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The thickness of the vein")
|
@Desc("The thickness of the vein")
|
||||||
private double thickness = 0.125;
|
private double thickness = 0.125;
|
||||||
|
|
||||||
private transient CellGenerator spot;
|
private transient CellGenerator spot;
|
||||||
private transient CellGenerator ridge;
|
private transient CellGenerator ridge;
|
||||||
|
|
||||||
|
@ -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 lombok.Data;
|
||||||
import ninja.bytecode.iris.util.CellGenerator;
|
|
||||||
import ninja.bytecode.iris.util.Desc;
|
|
||||||
import ninja.bytecode.iris.util.RNG;
|
|
||||||
|
|
||||||
@Desc("A spot config")
|
@Desc("A spot config")
|
||||||
@Data
|
@Data
|
||||||
public class IrisRegionSpot
|
public class IrisRegionSpot
|
||||||
{
|
{
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The biome to be placed")
|
@Desc("The biome to be placed")
|
||||||
private String biome;
|
private String biome;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Where this spot overrides. Land sea or shore")
|
@Desc("Where this spot overrides. Land sea or shore")
|
||||||
private InferredType type = InferredType.LAND;
|
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")
|
@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;
|
private InferredType as = InferredType.DEFER;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The scale of splotches")
|
@Desc("The scale of splotches")
|
||||||
private double scale = 1;
|
private double scale = 1;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("Rarity is how often this splotch appears. higher = less often")
|
@Desc("Rarity is how often this splotch appears. higher = less often")
|
||||||
private double rarity = 1;
|
private double rarity = 1;
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
@Desc("The shuffle or how natural the splotch looks like (anti-polygon)")
|
@Desc("The shuffle or how natural the splotch looks like (anti-polygon)")
|
||||||
private double shuffle = 128;
|
private double shuffle = 128;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.object.atomics;
|
package com.volmit.iris.object.atomics;
|
||||||
|
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
@ -8,12 +8,12 @@ import java.io.OutputStream;
|
|||||||
|
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
|
|
||||||
import ninja.bytecode.iris.util.ByteArrayTag;
|
import com.volmit.iris.util.ByteArrayTag;
|
||||||
import ninja.bytecode.iris.util.CompoundTag;
|
import com.volmit.iris.util.CompoundTag;
|
||||||
import ninja.bytecode.iris.util.NBTInputStream;
|
import com.volmit.iris.util.KMap;
|
||||||
import ninja.bytecode.iris.util.NBTOutputStream;
|
import com.volmit.iris.util.NBTInputStream;
|
||||||
import ninja.bytecode.iris.util.Tag;
|
import com.volmit.iris.util.NBTOutputStream;
|
||||||
import ninja.bytecode.shuriken.collections.KMap;
|
import com.volmit.iris.util.Tag;
|
||||||
|
|
||||||
public class AtomicRegionData
|
public class AtomicRegionData
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.object.atomics;
|
package com.volmit.iris.object.atomics;
|
||||||
|
|
||||||
import java.io.DataInputStream;
|
import java.io.DataInputStream;
|
||||||
import java.io.DataOutputStream;
|
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.BiomeGrid;
|
||||||
import org.bukkit.generator.ChunkGenerator.ChunkData;
|
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 lombok.Data;
|
||||||
import ninja.bytecode.iris.util.BlockDataTools;
|
|
||||||
import ninja.bytecode.iris.util.HeightMap;
|
|
||||||
import ninja.bytecode.shuriken.collections.KMap;
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class AtomicSliver
|
public class AtomicSliver
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.object.atomics;
|
package com.volmit.iris.object.atomics;
|
||||||
|
|
||||||
import java.io.DataInputStream;
|
import java.io.DataInputStream;
|
||||||
import java.io.DataOutputStream;
|
import java.io.DataOutputStream;
|
||||||
@ -9,8 +9,9 @@ import java.io.OutputStream;
|
|||||||
import org.bukkit.generator.ChunkGenerator.BiomeGrid;
|
import org.bukkit.generator.ChunkGenerator.BiomeGrid;
|
||||||
import org.bukkit.generator.ChunkGenerator.ChunkData;
|
import org.bukkit.generator.ChunkGenerator.ChunkData;
|
||||||
|
|
||||||
|
import com.volmit.iris.util.HeightMap;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import ninja.bytecode.iris.util.HeightMap;
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class AtomicSliverMap
|
public class AtomicSliverMap
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.object.atomics;
|
package com.volmit.iris.object.atomics;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
@ -7,11 +7,11 @@ import java.io.IOException;
|
|||||||
|
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
|
|
||||||
import ninja.bytecode.iris.Iris;
|
import com.volmit.iris.Iris;
|
||||||
import ninja.bytecode.iris.util.ChronoLatch;
|
import com.volmit.iris.util.ChronoLatch;
|
||||||
import ninja.bytecode.iris.util.ChunkPosition;
|
import com.volmit.iris.util.ChunkPosition;
|
||||||
import ninja.bytecode.shuriken.collections.KMap;
|
import com.volmit.iris.util.KMap;
|
||||||
import ninja.bytecode.shuriken.math.M;
|
import com.volmit.iris.util.M;
|
||||||
|
|
||||||
public class AtomicWorldData
|
public class AtomicWorldData
|
||||||
{
|
{
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package ninja.bytecode.iris.object.atomics;
|
package com.volmit.iris.object.atomics;
|
||||||
|
|
||||||
import java.util.concurrent.locks.ReentrantLock;
|
import java.util.concurrent.locks.ReentrantLock;
|
||||||
|
|
||||||
import ninja.bytecode.shuriken.collections.KMap;
|
import com.volmit.iris.util.KMap;
|
||||||
|
|
||||||
public class MasterLock
|
public class MasterLock
|
||||||
{
|
{
|
||||||
|
@ -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
|
* Provides an incredibly fast averaging object. It swaps values from a sum
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import ninja.bytecode.iris.object.IrisBiome;
|
import com.volmit.iris.object.IrisBiome;
|
||||||
import ninja.bytecode.shuriken.collections.KMap;
|
|
||||||
|
|
||||||
public class BiomeDominance extends KMap<IrisBiome, Double>
|
public class BiomeDominance extends KMap<IrisBiome, Double>
|
||||||
{
|
{
|
||||||
|
@ -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
|
public class BiomeMap
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
|
import com.volmit.iris.object.IrisBiome;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import ninja.bytecode.iris.object.IrisBiome;
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class BiomeResult
|
public class BiomeResult
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
|
|
||||||
import ninja.bytecode.iris.Iris;
|
import com.volmit.iris.Iris;
|
||||||
import ninja.bytecode.shuriken.collections.KList;
|
|
||||||
import ninja.bytecode.shuriken.collections.KMap;
|
|
||||||
|
|
||||||
public class BlockDataTools
|
public class BlockDataTools
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.scoreboard.Objective;
|
import org.bukkit.scoreboard.Objective;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
@FunctionalInterface
|
@FunctionalInterface
|
||||||
public interface BorderCheck<T>
|
public interface BorderCheck<T>
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import ninja.bytecode.shuriken.math.M;
|
|
||||||
|
|
||||||
public class Borders
|
public class Borders
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* JNBT License
|
* JNBT License
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* JNBT License
|
* JNBT License
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
public class CDou
|
public class CDou
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import ninja.bytecode.shuriken.collections.KList;
|
|
||||||
|
|
||||||
public class CNG
|
public class CNG
|
||||||
{
|
{
|
||||||
|
6
src/main/java/com/volmit/iris/util/Callback.java
Normal file
6
src/main/java/com/volmit/iris/util/Callback.java
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
|
public interface Callback<T>
|
||||||
|
{
|
||||||
|
public void run(T t);
|
||||||
|
}
|
@ -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);
|
public void run(T t);
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
@ -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.Getter;
|
||||||
import lombok.Setter;
|
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
|
public class CellGenerator
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
public class ChronoLatch
|
public class ChronoLatch
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
57
src/main/java/com/volmit/iris/util/Chunker.java
Normal file
57
src/main/java/com/volmit/iris/util/Chunker.java
Normal 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));
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* JNBT License
|
* JNBT License
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
@FunctionalInterface
|
@FunctionalInterface
|
||||||
public interface Consumer2<A, B>
|
public interface Consumer2<A, B>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
@FunctionalInterface
|
@FunctionalInterface
|
||||||
public interface Consumer3<A, B, C>
|
public interface Consumer3<A, B, C>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -15,8 +15,6 @@ import org.bukkit.block.Block;
|
|||||||
import org.bukkit.configuration.serialization.ConfigurationSerializable;
|
import org.bukkit.configuration.serialization.ConfigurationSerializable;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
|
|
||||||
import ninja.bytecode.shuriken.collections.KList;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cuboids
|
* Cuboids
|
||||||
*
|
*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a cuboid exception
|
* Represents a cuboid exception
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
|
@ -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.ElementType.*;
|
||||||
import static java.lang.annotation.RetentionPolicy.*;
|
import static java.lang.annotation.RetentionPolicy.*;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dimensions
|
* Dimensions
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a dimension (coordinates not worlds)
|
* Represents a dimension (coordinates not worlds)
|
||||||
|
@ -1,13 +1,11 @@
|
|||||||
|
|
||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import org.bukkit.Axis;
|
import org.bukkit.Axis;
|
||||||
import org.bukkit.block.BlockFace;
|
import org.bukkit.block.BlockFace;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import ninja.bytecode.iris.util.Cuboid.CuboidDirection;
|
import com.volmit.iris.util.Cuboid.CuboidDirection;
|
||||||
import ninja.bytecode.shuriken.collections.KList;
|
|
||||||
import ninja.bytecode.shuriken.collections.KMap;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Directions
|
* Directions
|
||||||
|
14
src/main/java/com/volmit/iris/util/DontObfuscate.java
Normal file
14
src/main/java/com/volmit/iris/util/DontObfuscate.java
Normal 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
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
|
|
||||||
public class DoubleArrayUtils
|
public class DoubleArrayUtils
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* JNBT License
|
* JNBT License
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* JNBT License
|
* JNBT License
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
// The developer's email is jorzixdan.me2@gzixmail.com (for great email, take
|
// The developer's email is jorzixdan.me2@gzixmail.com (for great email, take
|
||||||
// off every 'zix'.)
|
// off every 'zix'.)
|
||||||
//
|
//
|
||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import javax.vecmath.Vector2f;
|
import javax.vecmath.Vector2f;
|
||||||
import javax.vecmath.Vector3f;
|
import javax.vecmath.Vector3f;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ninja.bytecode.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* JNBT License
|
* JNBT License
|
||||||
|
1564
src/main/java/com/volmit/iris/util/Form.java
Normal file
1564
src/main/java/com/volmit/iris/util/Form.java
Normal file
File diff suppressed because it is too large
Load Diff
7
src/main/java/com/volmit/iris/util/Function2.java
Normal file
7
src/main/java/com/volmit/iris/util/Function2.java
Normal 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
Loading…
x
Reference in New Issue
Block a user