diff --git a/src/main/java/ninja/bytecode/iris/generator/biome/IrisBiome.java b/src/main/java/ninja/bytecode/iris/generator/biome/IrisBiome.java index c5648327f..cb253125e 100644 --- a/src/main/java/ninja/bytecode/iris/generator/biome/IrisBiome.java +++ b/src/main/java/ninja/bytecode/iris/generator/biome/IrisBiome.java @@ -1,4 +1,4 @@ -package ninja.bytecode.iris.biome; +package ninja.bytecode.iris.generator.biome; import java.lang.reflect.Field; @@ -6,7 +6,7 @@ import org.bukkit.Material; import org.bukkit.TreeType; import org.bukkit.block.Biome; -import ninja.bytecode.iris.MB; +import ninja.bytecode.iris.util.MB; import ninja.bytecode.iris.util.PolygonGenerator; import ninja.bytecode.shuriken.collections.GList; import ninja.bytecode.shuriken.collections.GMap; @@ -15,63 +15,63 @@ import ninja.bytecode.shuriken.math.CNG; import ninja.bytecode.shuriken.math.M; import ninja.bytecode.shuriken.math.RNG; -public class CBI +public class IrisBiome { //@builder - public static final CBI RIVER = new CBI("River", Biome.RIVER) + public static final IrisBiome RIVER = new IrisBiome("River", Biome.RIVER) .surface(MB.of(Material.SAND)); - public static final CBI BEACH = new CBI("Beach", Biome.BEACHES) + public static final IrisBiome BEACH = new IrisBiome("Beach", Biome.BEACHES) .surface(MB.of(Material.SAND)); - public static final CBI ROAD_GRAVEL = new CBI("Gravel Road", Biome.PLAINS) + public static final IrisBiome ROAD_GRAVEL = new IrisBiome("Gravel Road", Biome.PLAINS) .surface(MB.of(Material.GRAVEL), MB.of(Material.COBBLESTONE)) .scatter(MB.of(Material.TORCH), 0.05); - public static final CBI ROAD_GRASSY = new CBI("Grass Path", Biome.PLAINS) + public static final IrisBiome ROAD_GRASSY = new IrisBiome("Grass Path", Biome.PLAINS) .surface(MB.of(Material.GRASS_PATH)) .scatter(MB.of(Material.TORCH), 0.05); - public static final CBI OCEAN = new CBI("Ocean", Biome.OCEAN) + public static final IrisBiome OCEAN = new IrisBiome("Ocean", Biome.OCEAN) .surface(MB.of(Material.SAND), MB.of(Material.SAND), MB.of(Material.SAND), MB.of(Material.CLAY), MB.of(Material.GRAVEL)) .simplexSurface() .height(-0.03); - public static final CBI DEEP_OCEAN = new CBI("Deep Ocean", Biome.DEEP_OCEAN) + public static final IrisBiome DEEP_OCEAN = new IrisBiome("Deep Ocean", Biome.DEEP_OCEAN) .surface(MB.of(Material.SAND), MB.of(Material.CLAY), MB.of(Material.GRAVEL)) .simplexSurface() .height(-0.07); - public static final CBI DESERT = new CBI("Desert", Biome.DESERT) + public static final IrisBiome DESERT = new IrisBiome("Desert", Biome.DESERT) .surface(MB.of(Material.SAND)) .scatter(MB.of(Material.DEAD_BUSH, 0), 0.008) .dirt(MB.of(Material.SANDSTONE)); - public static final CBI DESERT_RED = new CBI("Red Desert", Biome.DESERT) + public static final IrisBiome DESERT_RED = new IrisBiome("Red Desert", Biome.DESERT) .surface(MB.of(Material.SAND, 1)) .scatter(MB.of(Material.DEAD_BUSH, 0), 0.008) .dirt(MB.of(Material.RED_SANDSTONE)); - public static final CBI DESERT_COMBINED = new CBI("Combined Desert", Biome.DESERT) + public static final IrisBiome DESERT_COMBINED = new IrisBiome("Combined Desert", Biome.DESERT) .surface(MB.of(Material.SAND), MB.of(Material.SAND, 1)) .scatter(MB.of(Material.DEAD_BUSH, 0), 0.008) .dirt(MB.of(Material.SANDSTONE), MB.of(Material.RED_SANDSTONE)) .simplexSurface(); - public static final CBI DESERT_HILLS = new CBI("Desert Hills", Biome.DESERT_HILLS) + public static final IrisBiome DESERT_HILLS = new IrisBiome("Desert Hills", Biome.DESERT_HILLS) .surface(MB.of(Material.SAND)) .amp(0.75) .scatter(MB.of(Material.DEAD_BUSH, 0), 0.08) .dirt(MB.of(Material.SANDSTONE)); - public static final CBI MESA = new CBI("Mesa", Biome.MESA) + public static final IrisBiome MESA = new IrisBiome("Mesa", Biome.MESA) .surface(MB.of(Material.HARD_CLAY), MB.of(Material.STAINED_CLAY, 1), MB.of(Material.STAINED_CLAY, 8), MB.of(Material.STAINED_CLAY, 12)) .dirt(MB.of(Material.CLAY), MB.of(Material.SAND), MB.of(Material.SAND, 1)) .simplexSurface(); - public static final CBI SAVANNA = new CBI("Savanna", Biome.SAVANNA) + public static final IrisBiome SAVANNA = new IrisBiome("Savanna", Biome.SAVANNA) .tree(TreeType.ACACIA, 0.102) .scatter(MB.of(Material.LONG_GRASS, 1), 0.18); - public static final CBI SAVANNA_HILLS = new CBI("Savanna Hills", Biome.SAVANNA_ROCK) + public static final IrisBiome SAVANNA_HILLS = new IrisBiome("Savanna Hills", Biome.SAVANNA_ROCK) .scatter(MB.of(Material.LONG_GRASS, 1), 0.18) .tree(TreeType.ACACIA, 0.102) .amp(0.75); - public static final CBI JUNGLE = new CBI("Jungle", Biome.JUNGLE) + public static final IrisBiome JUNGLE = new IrisBiome("Jungle", Biome.JUNGLE) .scatter(MB.of(Material.LONG_GRASS, 1), 0.058) .tree(TreeType.JUNGLE, 0.9) .tree(TreeType.JUNGLE_BUSH, 0.3) .tree(TreeType.SMALL_JUNGLE, 0.1) .scatter(MB.of(Material.LONG_GRASS, 2), 0.013); - public static final CBI JUNGLE_HILLS = new CBI("Jungle Hills", Biome.JUNGLE_HILLS) + public static final IrisBiome JUNGLE_HILLS = new IrisBiome("Jungle Hills", Biome.JUNGLE_HILLS) .scatter(MB.of(Material.LONG_GRASS, 1), 0.081) .tree(TreeType.JUNGLE, 0.9) .tree(TreeType.JUNGLE_BUSH, 0.3) @@ -79,35 +79,35 @@ public class CBI .amp(1.75) .height(0.166) .scatter(MB.of(Material.LONG_GRASS, 2), 0.02); - public static final CBI SWAMP = new CBI("Swamp", Biome.SWAMPLAND) + public static final IrisBiome SWAMP = new IrisBiome("Swamp", Biome.SWAMPLAND) .scatter(MB.of(Material.LONG_GRASS, 1), 0.04) .tree(TreeType.SWAMP, 0.25) .scatter(MB.of(Material.LONG_GRASS, 2), 0.03); - public static final CBI PLAINS = new CBI("Plains", Biome.PLAINS) + public static final IrisBiome PLAINS = new IrisBiome("Plains", Biome.PLAINS) .scatter(MB.of(Material.LONG_GRASS, 1), 0.38) .amp(0.4) .scatter(MB.of(Material.LONG_GRASS, 2), 0.03); - public static final CBI DECAYING_PLAINS = new CBI("Decaying Plains", Biome.PLAINS) + public static final IrisBiome DECAYING_PLAINS = new IrisBiome("Decaying Plains", Biome.PLAINS) .surface(MB.of(Material.GRASS_PATH), MB.of(Material.GRASS)) .scatter(MB.of(Material.LONG_GRASS, 1), 0.04) .simplexSurface(); - public static final CBI FOREST = new CBI("Forest", Biome.FOREST) + public static final IrisBiome FOREST = new IrisBiome("Forest", Biome.FOREST) .scatter(MB.of(Material.LONG_GRASS, 1), 0.23) .tree(TreeType.TREE, 0.7) .scatter(MB.of(Material.LONG_GRASS, 2), 0.13); - public static final CBI FOREST_HILLS = new CBI("Forest Hills", Biome.FOREST_HILLS) + public static final IrisBiome FOREST_HILLS = new IrisBiome("Forest Hills", Biome.FOREST_HILLS) .scatter(MB.of(Material.LONG_GRASS, 1), 0.23) .amp(0.75) .tree(TreeType.TREE, 0.7) .scatter(MB.of(Material.LONG_GRASS, 2), 0.13); - public static final CBI FOREST_MOUNTAINS = new CBI("Forest Mountains", Biome.MUTATED_EXTREME_HILLS_WITH_TREES) + public static final IrisBiome FOREST_MOUNTAINS = new IrisBiome("Forest Mountains", Biome.MUTATED_EXTREME_HILLS_WITH_TREES) .scatter(MB.of(Material.LONG_GRASS, 1), 0.13) .amp(2.25) .height(0.265) .tree(TreeType.MEGA_REDWOOD, 0.5) .tree(TreeType.TALL_REDWOOD, 0.7) .scatter(MB.of(Material.LONG_GRASS, 2), 0.13); - public static final CBI HAUNTED_FOREST = new CBI("Haunted Forest", Biome.MUTATED_SWAMPLAND) + public static final IrisBiome HAUNTED_FOREST = new IrisBiome("Haunted Forest", Biome.MUTATED_SWAMPLAND) .scatter(MB.of(Material.LONG_GRASS, 1), 0.13) .tree(TreeType.JUNGLE_BUSH, 0.5) .tree(TreeType.BIG_TREE, 0.4) @@ -118,52 +118,52 @@ public class CBI .scatter(MB.of(Material.LONG_GRASS, 2), 0.13) .surface(MB.of(Material.GRASS), MB.of(Material.GRASS), MB.of(Material.GRASS), MB.of(Material.GRASS), MB.of(Material.DIRT), MB.of(Material.DIRT, 1), MB.of(Material.DIRT, 2)) .scatterSurface(); - public static final CBI BIRCH_FOREST = new CBI("Birch Forest", Biome.BIRCH_FOREST) + public static final IrisBiome BIRCH_FOREST = new IrisBiome("Birch Forest", Biome.BIRCH_FOREST) .scatter(MB.of(Material.LONG_GRASS, 1), 0.23) .tree(TreeType.BIRCH, 0.7) .scatter(MB.of(Material.LONG_GRASS, 2), 0.13); - public static final CBI BIRCH_FOREST_HILLS = new CBI("Birch Forest Hills", Biome.BIRCH_FOREST_HILLS) + public static final IrisBiome BIRCH_FOREST_HILLS = new IrisBiome("Birch Forest Hills", Biome.BIRCH_FOREST_HILLS) .scatter(MB.of(Material.LONG_GRASS, 1), 0.23) .tree(TreeType.BIRCH, 0.7) .amp(0.75) .scatter(MB.of(Material.LONG_GRASS, 2), 0.13); - public static final CBI ROOFED_FOREST = new CBI("Roofed Forest", Biome.ROOFED_FOREST) + public static final IrisBiome ROOFED_FOREST = new IrisBiome("Roofed Forest", Biome.ROOFED_FOREST) .scatter(MB.of(Material.LONG_GRASS, 1), 0.23) .tree(TreeType.DARK_OAK, 0.9) .scatter(MB.of(Material.LONG_GRASS, 2), 0.13); - public static final CBI TAIGA = new CBI("Taiga", Biome.TAIGA) + public static final IrisBiome TAIGA = new IrisBiome("Taiga", Biome.TAIGA) .tree(TreeType.REDWOOD, 0.4) .scatter(MB.of(Material.LONG_GRASS, 2), 0.07); - public static final CBI EXTREME_HILLS = new CBI("Extreme Hills", Biome.EXTREME_HILLS) + public static final IrisBiome EXTREME_HILLS = new IrisBiome("Extreme Hills", Biome.EXTREME_HILLS) .scatter(MB.of(Material.LONG_GRASS, 2), 0.04) .amp(1.565) .height(0.22); - public static final CBI EXTREME_HILLS_TREES = new CBI("Extreme Hills +", Biome.EXTREME_HILLS_WITH_TREES) + public static final IrisBiome EXTREME_HILLS_TREES = new IrisBiome("Extreme Hills +", Biome.EXTREME_HILLS_WITH_TREES) .scatter(MB.of(Material.LONG_GRASS, 2), 0.09) .tree(TreeType.REDWOOD, 0.1) .amp(1.525) .height(0.22); - public static final CBI TAIGA_COLD = new CBI("Taiga Cold", Biome.TAIGA_COLD) + public static final IrisBiome TAIGA_COLD = new IrisBiome("Taiga Cold", Biome.TAIGA_COLD) .tree(TreeType.REDWOOD, 0.3) .scatter(MB.of(Material.LONG_GRASS, 2), 0.04); - public static final CBI TAIGA_COLD_HILLS = new CBI("Taiga Cold Hills", Biome.TAIGA_COLD_HILLS) + public static final IrisBiome TAIGA_COLD_HILLS = new IrisBiome("Taiga Cold Hills", Biome.TAIGA_COLD_HILLS) .tree(TreeType.REDWOOD, 0.15).amp(0.75); - public static final CBI ICE_FLATS = new CBI("Ice Flats", Biome.ICE_FLATS); - public static final CBI ICE_MOUNTAINS = new CBI("Ice Mountains", Biome.ICE_MOUNTAINS) + public static final IrisBiome ICE_FLATS = new IrisBiome("Ice Flats", Biome.ICE_FLATS); + public static final IrisBiome ICE_MOUNTAINS = new IrisBiome("Ice Mountains", Biome.ICE_MOUNTAINS) .amp(1.45); - public static final CBI REDWOOD_TAIGA = new CBI("Redwood Taiga", Biome.REDWOOD_TAIGA) + public static final IrisBiome REDWOOD_TAIGA = new IrisBiome("Redwood Taiga", Biome.REDWOOD_TAIGA) .surface(MB.of(Material.DIRT, 2), MB.of(Material.DIRT, 1)) .tree(TreeType.TALL_REDWOOD, 0.7) .tree(TreeType.MEGA_REDWOOD, 0.6) .tree(TreeType.REDWOOD, 0.3) .simplexSurface(); - public static final CBI REDWOOD_TAIGA_HILLS = new CBI("Redwood Taiga Hills", Biome.REDWOOD_TAIGA_HILLS) + public static final IrisBiome REDWOOD_TAIGA_HILLS = new IrisBiome("Redwood Taiga Hills", Biome.REDWOOD_TAIGA_HILLS) .surface(MB.of(Material.DIRT, 2), MB.of(Material.DIRT, 1)) .amp(0.75) .simplexSurface(); //@done - private static final GMap map = build(); + private static final GMap map = build(); private String name; private Biome realBiome; private double height; @@ -177,7 +177,7 @@ public class CBI private GMap schematicGroups; private PolygonGenerator.EnumPolygonGenerator poly; - public CBI(String name, Biome realBiome) + public IrisBiome(String name, Biome realBiome) { this.name = name; this.realBiome = realBiome; @@ -189,17 +189,17 @@ public class CBI surface(new MB(Material.GRASS)).dirt(new MB(Material.DIRT), new MB(Material.DIRT, 1)); } - private static GMap build() + private static GMap build() { - GMap g = new GMap(); + GMap g = new GMap(); - for(Field i : CBI.class.getDeclaredFields()) + for(Field i : IrisBiome.class.getDeclaredFields()) { J.attempt(() -> { i.setAccessible(true); - CBI bb = (CBI) i.get(null); + IrisBiome bb = (IrisBiome) i.get(null); if(!g.containsKey(bb.realBiome)) { @@ -211,58 +211,58 @@ public class CBI return g; } - public CBI scatter(MB mb, Double chance) + public IrisBiome scatter(MB mb, Double chance) { scatterChance.put(mb, chance); return this; } - public CBI tree(TreeType t, Double chance) + public IrisBiome tree(TreeType t, Double chance) { treeChance.put(t, chance); return this; } - public CBI schematic(String t, Double chance) + public IrisBiome schematic(String t, Double chance) { schematicGroups.put(t, chance); return this; } - public CBI simplexSurface() + public IrisBiome simplexSurface() { simplexScatter = true; return this; } - public CBI scatterSurface() + public IrisBiome scatterSurface() { scatterSurface = true; return this; } - public CBI surface(MB... mbs) + public IrisBiome surface(MB... mbs) { surface = new GList<>(mbs); return this; } - public CBI dirt(MB... mbs) + public IrisBiome dirt(MB... mbs) { dirt = new GList<>(mbs); return this; } - public CBI height(double height) + public IrisBiome height(double height) { this.height = height; return this; } - public CBI amp(double amp) + public IrisBiome amp(double amp) { this.amp = amp; return this; @@ -308,7 +308,7 @@ public class CBI { poly = new PolygonGenerator.EnumPolygonGenerator(rng, 0.25, 2, getSurface().toArray(new MB[getSurface().size()]), (g) -> { - return g.fractureWith(new CNG(rng.nextRNG(), 1D, 2).scale(0.0155), 242); + return g.fractureWith(new CNG(rng.nextParallelRNG(56), 1D, 2).scale(0.0155), 242); }); } @@ -321,7 +321,7 @@ public class CBI { poly = new PolygonGenerator.EnumPolygonGenerator(rng, 15.05, 2, getSurface().toArray(new MB[getSurface().size()]), (g) -> { - return g.fractureWith(new CNG(rng.nextRNG(), 1D, 2).scale(0.0155), 224); + return g.fractureWith(new CNG(rng.nextParallelRNG(55), 1D, 2).scale(0.0155), 224); }); } @@ -385,13 +385,13 @@ public class CBI return null; } - public static CBI find(Biome biome) + public static IrisBiome find(Biome biome) { if(map.containsKey(biome)) { return map.get(biome); } - return CBI.PLAINS; + return IrisBiome.PLAINS; } }