mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 18:23:06 +00:00
Cleanup
This commit is contained in:
parent
ac85c75cc4
commit
ab2906991d
@ -23,15 +23,12 @@ import com.volmit.iris.engine.object.annotations.Desc;
|
||||
@Desc("Defines if an object is allowed to place in carvings, surfaces or both.")
|
||||
public enum CarvingMode {
|
||||
@Desc("Only place this object on surfaces (NOT under carvings)")
|
||||
|
||||
SURFACE_ONLY,
|
||||
|
||||
@Desc("Only place this object under carvings (NOT on the surface)")
|
||||
|
||||
CARVING_ONLY,
|
||||
|
||||
@Desc("This object can place anywhere")
|
||||
|
||||
ANYWHERE;
|
||||
|
||||
@SuppressWarnings("BooleanMethodIsAlwaysInverted")
|
||||
|
@ -23,22 +23,17 @@ import com.volmit.iris.engine.object.annotations.Desc;
|
||||
@Desc("Represents a location where decorations should go")
|
||||
public enum DecorationPart {
|
||||
@Desc("The default, decorate anywhere")
|
||||
|
||||
NONE,
|
||||
|
||||
@Desc("Targets shore lines (typically for sugar cane)")
|
||||
|
||||
SHORE_LINE,
|
||||
|
||||
@Desc("Target sea surfaces (typically for lilypads)")
|
||||
|
||||
SEA_SURFACE,
|
||||
|
||||
@Desc("Targets the sea floor (entire placement must be bellow sea level)")
|
||||
|
||||
SEA_FLOOR,
|
||||
|
||||
@Desc("Decorates on cave & carving ceilings or underside of overhangs")
|
||||
|
||||
CEILING,
|
||||
}
|
||||
|
@ -23,14 +23,11 @@ import com.volmit.iris.engine.object.annotations.Desc;
|
||||
@Desc("Represents a basic font style to apply to a font family")
|
||||
public enum FontStyle {
|
||||
@Desc("Plain old text")
|
||||
|
||||
PLAIN,
|
||||
|
||||
@Desc("Italicized Text")
|
||||
|
||||
ITALIC,
|
||||
|
||||
@Desc("Bold Text")
|
||||
|
||||
BOLD,
|
||||
}
|
||||
|
@ -23,23 +23,18 @@ import com.volmit.iris.engine.object.annotations.Desc;
|
||||
@Desc("Represents a biome type")
|
||||
public enum InferredType {
|
||||
@Desc("Represents any shore biome type")
|
||||
|
||||
SHORE,
|
||||
|
||||
@Desc("Represents any land biome type")
|
||||
|
||||
LAND,
|
||||
|
||||
@Desc("Represents any sea biome type")
|
||||
|
||||
SEA,
|
||||
|
||||
@Desc("Represents any cave biome type")
|
||||
|
||||
CAVE,
|
||||
|
||||
@Desc("Represents any river biome type")
|
||||
|
||||
RIVER,
|
||||
|
||||
@Desc("Represents any lake biome type")
|
||||
|
@ -23,22 +23,16 @@ import com.volmit.iris.engine.object.annotations.Desc;
|
||||
@Desc("An inventory slot type is used to represent a type of slot for items to fit into in any given inventory.")
|
||||
public enum InventorySlotType {
|
||||
@Desc("Typically the one you want to go with. Storage represnents most slots in inventories.")
|
||||
|
||||
STORAGE,
|
||||
|
||||
@Desc("Used for the fuel slot in Furnaces, Blast furnaces, smokers etc.")
|
||||
|
||||
FUEL,
|
||||
|
||||
@Desc("Used for the cook slot in furnaces")
|
||||
|
||||
FURNACE,
|
||||
|
||||
@Desc("Used for the cook slot in blast furnaces")
|
||||
|
||||
BLAST_FURNACE,
|
||||
|
||||
@Desc("Used for the cook slot in smokers")
|
||||
|
||||
SMOKER,
|
||||
}
|
||||
|
@ -40,14 +40,11 @@ import org.bukkit.inventory.meta.ItemMeta;
|
||||
@Data
|
||||
public class IrisAttributeModifier {
|
||||
@Required
|
||||
|
||||
@Desc("The Attribute type. This type is pulled from the game attributes. Zombie & Horse attributes will not work on non-zombie/horse entities.\nUsing an attribute on an item will have affects when held, or worn. There is no way to specify further granularity as the game picks this depending on the item type.")
|
||||
private Attribute attribute = null;
|
||||
|
||||
@MinNumber(2)
|
||||
@Required
|
||||
|
||||
|
||||
@Desc("The Attribute Name is used internally only for the game. This value should be unique to all other attributes applied to this item/entity. It is not shown in game.")
|
||||
private String name = "";
|
||||
|
||||
|
@ -31,7 +31,6 @@ import lombok.experimental.Accessors;
|
||||
@Desc("Represents a rotation axis with intervals and maxes. The x and z axis values are defaulted to disabled. The Y axis defaults to on, rotating by 90 degree increments.")
|
||||
@Data
|
||||
public class IrisAxisRotationClamp {
|
||||
|
||||
@Desc("Should this axis be rotated at all?")
|
||||
private boolean enabled = false;
|
||||
private transient boolean forceLock = false;
|
||||
|
@ -57,26 +57,21 @@ import java.awt.*;
|
||||
public class IrisBiome extends IrisRegistrant implements IRare {
|
||||
@MinNumber(2)
|
||||
@Required
|
||||
|
||||
@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";
|
||||
|
||||
|
||||
@ArrayType(min = 1, type = IrisBiomeCustom.class)
|
||||
@Desc("If the biome type custom is defined, specify this")
|
||||
private KList<IrisBiomeCustom> customDerivitives;
|
||||
|
||||
|
||||
@Desc("Entity spawns to override or add to this biome. Anytime an entity spawns, it has a chance to be replaced as one of these overrides.")
|
||||
@ArrayType(min = 1, type = IrisEntitySpawnOverride.class)
|
||||
private KList<IrisEntitySpawnOverride> entitySpawnOverrides = new KList<>();
|
||||
|
||||
|
||||
@Desc("Add random chances for terrain features")
|
||||
@ArrayType(min = 1, type = IrisFeaturePotential.class)
|
||||
private KList<IrisFeaturePotential> features = new KList<>();
|
||||
|
||||
|
||||
@Desc("Entity spawns during generation")
|
||||
@ArrayType(min = 1, type = IrisEntityInitialSpawn.class)
|
||||
private KList<IrisEntityInitialSpawn> entityInitialSpawns = new KList<>();
|
||||
@ -85,7 +80,6 @@ public class IrisBiome extends IrisRegistrant implements IRare {
|
||||
@Desc("Effects are ambient effects such as potion effects, random sounds, or even particles around each player. All of these effects are played via packets so two players won't see/hear each others effects.\nDue to performance reasons, effects will play arround the player even if where the effect was played is no longer in the biome the player is in.")
|
||||
private KList<IrisEffect> effects = new KList<>();
|
||||
|
||||
|
||||
@DependsOn({"biomeStyle", "biomeZoom", "biomeScatter"})
|
||||
@Desc("This changes the dispersion of the biome colors if multiple derivatives are chosen.")
|
||||
private IrisGeneratorStyle biomeStyle = NoiseStyle.SIMPLEX.style();
|
||||
@ -94,21 +88,17 @@ public class IrisBiome extends IrisRegistrant implements IRare {
|
||||
@Desc("Define custom block drops for this biome")
|
||||
private KList<IrisBlockDrops> blockDrops = new KList<>();
|
||||
|
||||
|
||||
@Desc("Reference loot tables in this area")
|
||||
private IrisLootReference loot = new IrisLootReference();
|
||||
|
||||
@MinNumber(0.0001)
|
||||
|
||||
@DependsOn({"biomeStyle", "biomeZoom", "biomeScatter"})
|
||||
@Desc("This zooms in the biome colors if multiple derivatives are chosen")
|
||||
private double biomeZoom = 1;
|
||||
|
||||
|
||||
@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;
|
||||
|
||||
|
||||
@Desc("The max layers to iterate below the surface for locked layer biomes (mesa).")
|
||||
private int lockLayersMax = 7;
|
||||
|
||||
@ -117,17 +107,14 @@ public class IrisBiome extends IrisRegistrant implements IRare {
|
||||
@Desc("The rarity of this biome (integer)")
|
||||
private int rarity = 1;
|
||||
|
||||
|
||||
@Desc("A color for visualizing this biome with a color. I.e. #F13AF5. This will show up on the map.")
|
||||
private String color = null;
|
||||
|
||||
@Required
|
||||
|
||||
@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;
|
||||
|
||||
@Required
|
||||
|
||||
@Desc("Override the derivative when vanilla places structures to this derivative. This is useful for example if you have an ocean biome, but you have set the derivative to desert to get a brown-ish color. To prevent desert structures from spawning on top of your ocean, you can set your vanillaDerivative to ocean, to allow for vanilla structures. Not defining this value will simply select the derivative.")
|
||||
private Biome vanillaDerivative = null;
|
||||
|
||||
@ -139,12 +126,10 @@ public class IrisBiome extends IrisRegistrant implements IRare {
|
||||
@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<>();
|
||||
|
||||
|
||||
@DependsOn({"children"})
|
||||
@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;
|
||||
|
||||
|
||||
@DependsOn({"children"})
|
||||
@Desc("If this biome has children biomes, and the gen layer chooses one of this biomes children, How will it be shaped?")
|
||||
private IrisGeneratorStyle childStyle = NoiseStyle.CELLULAR_IRIS_DOUBLE.style();
|
||||
@ -159,15 +144,12 @@ public class IrisBiome extends IrisRegistrant implements IRare {
|
||||
private KList<IrisJigsawStructurePlacement> jigsawStructures = new KList<>();
|
||||
|
||||
@RegistryListBiome
|
||||
|
||||
@Desc("The carving biome. If specified the biome will be used when under a carving instead of this current biome.")
|
||||
private String carvingBiome = "";
|
||||
|
||||
|
||||
@Desc("The default slab if iris decides to place a slab in this biome. Default is no slab.")
|
||||
private IrisBiomePaletteLayer slab = new IrisBiomePaletteLayer().zero();
|
||||
|
||||
|
||||
@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();
|
||||
|
||||
|
@ -63,6 +63,7 @@ public class IrisBiomeCustom {
|
||||
@Desc("Define an ambient particle to be rendered clientside (no server cost!)")
|
||||
private IrisBiomeCustomParticle ambientParticle = null;
|
||||
|
||||
@Required
|
||||
@Desc("The biome's category type")
|
||||
private IrisBiomeCustomCategory category = IrisBiomeCustomCategory.plains;
|
||||
|
||||
|
@ -23,14 +23,11 @@ import com.volmit.iris.engine.object.annotations.Desc;
|
||||
@Desc("Snow, rain, or nothing")
|
||||
public enum IrisBiomeCustomPrecipType {
|
||||
@Desc("No downfall")
|
||||
|
||||
none,
|
||||
|
||||
@Desc("Rain downfall")
|
||||
|
||||
rain,
|
||||
|
||||
@Desc("Snow downfall")
|
||||
|
||||
snow
|
||||
}
|
||||
|
@ -22,11 +22,24 @@ import com.volmit.iris.engine.object.annotations.Desc;
|
||||
|
||||
@Desc("The mob spawn group")
|
||||
public enum IrisBiomeCustomSpawnType {
|
||||
@Desc("Typical monsters that spawn at night, like zombies and skeletons")
|
||||
MONSTER,
|
||||
|
||||
@Desc("Typical creatures like sheep, pigs, cows")
|
||||
CREATURE,
|
||||
|
||||
@Desc("Eg bats")
|
||||
AMBIENT,
|
||||
|
||||
@Desc("Odd spawn group but ok")
|
||||
UNDERGROUND_WATER_CREATURE,
|
||||
|
||||
@Desc("Water mobs like squid, dolphins")
|
||||
WATER_CREATURE,
|
||||
|
||||
@Desc("Fish")
|
||||
WATER_AMBIENT,
|
||||
|
||||
@Desc("Unknown")
|
||||
MISC
|
||||
}
|
||||
|
@ -35,7 +35,6 @@ import lombok.experimental.Accessors;
|
||||
public class IrisBiomeGeneratorLink {
|
||||
|
||||
@RegistryListGenerator
|
||||
|
||||
@Desc("The generator id")
|
||||
private String generator = "default";
|
||||
|
||||
@ -43,7 +42,6 @@ public class IrisBiomeGeneratorLink {
|
||||
@Required
|
||||
@MinNumber(-256) // TODO: WARNING HEIGHT
|
||||
@MaxNumber(256) // TODO: WARNING HEIGHT
|
||||
|
||||
@Desc("The min block value (value + fluidHeight)")
|
||||
private int min = 0;
|
||||
|
||||
@ -51,7 +49,6 @@ public class IrisBiomeGeneratorLink {
|
||||
@Required
|
||||
@MinNumber(-256) // TODO: WARNING HEIGHT
|
||||
@MaxNumber(256) // TODO: WARNING HEIGHT
|
||||
|
||||
@Desc("The max block value (value + fluidHeight)")
|
||||
private int max = 0;
|
||||
|
||||
|
@ -34,7 +34,6 @@ import lombok.experimental.Accessors;
|
||||
@Desc("A biome mutation if a condition is met")
|
||||
@Data
|
||||
public class IrisBiomeMutation {
|
||||
|
||||
@RegistryListBiome
|
||||
@Required
|
||||
@ArrayType(min = 1, type = String.class)
|
||||
|
@ -36,7 +36,6 @@ import org.bukkit.block.data.BlockData;
|
||||
@Desc("A layer of surface / subsurface material in biomes")
|
||||
@Data
|
||||
public class IrisBiomePaletteLayer {
|
||||
|
||||
@Desc("The style of noise")
|
||||
private IrisGeneratorStyle style = NoiseStyle.STATIC.style();
|
||||
|
||||
|
@ -43,20 +43,16 @@ public class IrisBlockDrops {
|
||||
@Desc("The blocks that drop loot")
|
||||
private KList<IrisBlockData> blocks = new KList<>();
|
||||
|
||||
|
||||
@Desc("If exact blocks is set to true, minecraft:barrel[axis=x] will only drop for that axis. When exact is false (default) any barrel will drop the defined drops.")
|
||||
private boolean exactBlocks = false;
|
||||
|
||||
|
||||
@Desc("Add in specific items to drop")
|
||||
@ArrayType(min = 1, type = IrisLoot.class)
|
||||
private KList<IrisLoot> drops = new KList<>();
|
||||
|
||||
|
||||
@Desc("If this is in a biome, setting skipParents to true will ignore the drops in the region and dimension for this block type. The default (false) will allow all three nodes to fire and add to a list of drops.")
|
||||
private boolean skipParents = false;
|
||||
|
||||
|
||||
@Desc("Removes the default vanilla block drops and only drops the given items & any parent loot tables specified for this block type.")
|
||||
private boolean replaceVanillaDrops = false;
|
||||
|
||||
|
@ -39,7 +39,6 @@ import lombok.experimental.Accessors;
|
||||
@Data
|
||||
public class IrisCarveLayer {
|
||||
@Required
|
||||
|
||||
@Desc("The 4d slope this carve layer follows")
|
||||
private IrisGeneratorStyle style = new IrisGeneratorStyle();
|
||||
|
||||
|
@ -43,12 +43,10 @@ public class IrisCaveFluid {
|
||||
@Desc("The fluid height of the cave")
|
||||
private int fluidHeight = 35;
|
||||
|
||||
|
||||
@Desc("Insead of fluidHeight & below being fluid, turning inverse height on will simply spawn fluid in this cave layer from min(max_height, cave_height) to the fluid height. Basically, fluid will spawn above the fluidHeight value instead of below the fluidHeight.")
|
||||
private boolean inverseHeight = false;
|
||||
|
||||
@Required
|
||||
|
||||
@Desc("The fluid type that should spawn here")
|
||||
private IrisBlockData fluidType = new IrisBlockData("CAVE_AIR");
|
||||
|
||||
|
@ -33,16 +33,13 @@ import lombok.experimental.Accessors;
|
||||
@Data
|
||||
public class IrisCaveLayer {
|
||||
@Required
|
||||
|
||||
@Desc("The vertical slope this cave layer follows")
|
||||
private IrisShapedGeneratorStyle verticalSlope = new IrisShapedGeneratorStyle();
|
||||
|
||||
@Required
|
||||
|
||||
@Desc("The horizontal slope this cave layer follows")
|
||||
private IrisShapedGeneratorStyle horizontalSlope = new IrisShapedGeneratorStyle();
|
||||
|
||||
|
||||
@Desc("If defined, a cave fluid will fill this cave below (or above) the specified fluidHeight in this object.")
|
||||
private IrisCaveFluid fluid = new IrisCaveFluid();
|
||||
|
||||
@ -54,7 +51,6 @@ public class IrisCaveLayer {
|
||||
@Desc("The cave thickness.")
|
||||
private double caveThickness = 1D;
|
||||
|
||||
|
||||
@Desc("If set to true, this cave layer can break the surface")
|
||||
private boolean canBreakSurface = false;
|
||||
|
||||
|
@ -29,31 +29,26 @@ import lombok.experimental.Accessors;
|
||||
|
||||
import java.awt.*;
|
||||
|
||||
@Deprecated()
|
||||
@Accessors(chain = true)
|
||||
@NoArgsConstructor
|
||||
@Desc("Represents a color")
|
||||
@Data
|
||||
public class IrisColor {
|
||||
|
||||
@MaxNumber(7)
|
||||
@MinNumber(6)
|
||||
@Desc("Pass in a 6 digit hexadecimal color to fill R G and B values. You can also include the # symbol, but it's not required.")
|
||||
private String hex = null;
|
||||
|
||||
|
||||
@MaxNumber(255)
|
||||
@MinNumber(0)
|
||||
@Desc("Represents the red channel. Only define this if you are not defining the hex value.")
|
||||
private int red = 0;
|
||||
|
||||
|
||||
@MaxNumber(255)
|
||||
@MinNumber(0)
|
||||
@Desc("Represents the green channel. Only define this if you are not defining the hex value.")
|
||||
private int green = 0;
|
||||
|
||||
|
||||
@MaxNumber(255)
|
||||
@MinNumber(0)
|
||||
@Desc("Represents the blue channel. Only define this if you are not defining the hex value.")
|
||||
|
@ -36,16 +36,13 @@ import org.bukkit.block.data.BlockData;
|
||||
@Data
|
||||
public class IrisCompatabilityBlockFilter {
|
||||
@Required
|
||||
|
||||
@Desc("When iris sees this block, and it's not reconized")
|
||||
private String when = "";
|
||||
|
||||
@Required
|
||||
|
||||
@Desc("Replace it with this block. Dont worry if this block is also not reconized, iris repeat this compat check.")
|
||||
private String supplement = "";
|
||||
|
||||
|
||||
@Desc("If exact is true, it compares block data for example minecraft:some_log[axis=x]")
|
||||
private boolean exact = false;
|
||||
|
||||
|
@ -34,12 +34,10 @@ import org.bukkit.Material;
|
||||
@Data
|
||||
public class IrisCompatabilityItemFilter {
|
||||
@Required
|
||||
|
||||
@Desc("When iris sees this block, and it's not reconized")
|
||||
private String when = "";
|
||||
|
||||
@Required
|
||||
|
||||
@Desc("Replace it with this block. Dont worry if this block is also not reconized, iris repeat this compat check.")
|
||||
private String supplement = "";
|
||||
|
||||
|
@ -37,15 +37,12 @@ import org.bukkit.block.data.BlockData;
|
||||
@Desc("A biome decorator is used for placing flowers, grass, cacti and so on")
|
||||
@Data
|
||||
public class IrisDecorator {
|
||||
|
||||
@Desc("The varience dispersion is used when multiple blocks are put in the palette. Scatter scrambles them, Wispy shows streak-looking varience")
|
||||
private IrisGeneratorStyle variance = NoiseStyle.STATIC.style();
|
||||
|
||||
|
||||
@Desc("Forcefully place this decorant anywhere it is supposed to go even if it should not go on a specific surface block. For example, you could force tallgrass to place on top of stone by using this.")
|
||||
private boolean forcePlace = false;
|
||||
|
||||
|
||||
@Desc("Dispersion is used to pick places to spawn. Scatter randomly places them (vanilla) or Wispy for a streak like patch system.")
|
||||
private IrisGeneratorStyle style = NoiseStyle.STATIC.style();
|
||||
|
||||
@ -53,7 +50,6 @@ public class IrisDecorator {
|
||||
@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 IrisGeneratorStyle heightVariance = NoiseStyle.STATIC.style();
|
||||
|
||||
|
||||
@Desc("Tells iris where this decoration is a part of. I.e. SHORE_LINE or SEA_SURFACE")
|
||||
private DecorationPart partOf = DecorationPart.NONE;
|
||||
|
||||
|
@ -39,14 +39,12 @@ public class IrisDepositGenerator {
|
||||
@Required
|
||||
@MinNumber(0)
|
||||
@MaxNumber(256) // TODO: WARNING HEIGHT
|
||||
|
||||
@Desc("The minimum height this deposit can generate at")
|
||||
private int minHeight = 7;
|
||||
|
||||
@Required
|
||||
@MinNumber(0)
|
||||
@MaxNumber(256) // TODO: WARNING HEIGHT
|
||||
|
||||
@Desc("The maximum height this deposit can generate at")
|
||||
private int maxHeight = 55;
|
||||
|
||||
|
@ -53,7 +53,6 @@ public class IrisDimension extends IrisRegistrant {
|
||||
|
||||
@MinNumber(2)
|
||||
@Required
|
||||
|
||||
@Desc("The human readable name of this dimension")
|
||||
private String name = "A Dimension";
|
||||
|
||||
@ -61,48 +60,38 @@ public class IrisDimension extends IrisRegistrant {
|
||||
@ArrayType(min = 1, type = IrisDimensionIndex.class)
|
||||
private KList<IrisDimensionIndex> dimensionalComposite = new KList<>();
|
||||
|
||||
|
||||
@Desc("Create an inverted dimension in the sky (like the nether)")
|
||||
private IrisDimension sky = null;
|
||||
|
||||
@RegistryListJigsaw
|
||||
|
||||
@Desc("If defined, Iris will place the given jigsaw structure where minecraft should place the overworld stronghold.")
|
||||
private String stronghold;
|
||||
|
||||
|
||||
@Desc("Improves the biome grid variation by shuffling the cell grid more depending on the seed. This makes biomes across multiple seeds look far different than before.")
|
||||
private boolean aggressiveBiomeReshuffle = false;
|
||||
|
||||
|
||||
@Desc("Instead of a flat bottom, applies a clamp (using this noise style) to the bottom instead of a flat bottom. Useful for carving out center-dimensions in a dimension composite world.")
|
||||
private IrisShapedGeneratorStyle undercarriage = null;
|
||||
|
||||
|
||||
@Desc("Upon joining this world, Iris will send a resource pack request to the client. If they have previously selected yes, it will auto-switch depending on which dimension they go to.")
|
||||
private String resourcePack = "";
|
||||
|
||||
|
||||
@Desc("Entity spawns to override or add to this dimension")
|
||||
@ArrayType(min = 1, type = IrisEntitySpawnOverride.class)
|
||||
private KList<IrisEntitySpawnOverride> entitySpawnOverrides = new KList<>();
|
||||
|
||||
|
||||
@Desc("Add specific features in exact positions")
|
||||
@ArrayType(min = 1, type = IrisFeaturePositional.class)
|
||||
private KList<IrisFeaturePositional> specificFeatures = new KList<>();
|
||||
|
||||
|
||||
@Desc("Entity spawns during generation")
|
||||
@ArrayType(min = 1, type = IrisEntityInitialSpawn.class)
|
||||
private KList<IrisEntityInitialSpawn> entityInitialSpawns = new KList<>();
|
||||
|
||||
|
||||
@Desc("Add random chances for terrain features")
|
||||
@ArrayType(min = 1, type = IrisFeaturePotential.class)
|
||||
private KList<IrisFeaturePotential> features = new KList<>();
|
||||
|
||||
|
||||
@Desc("Reference loot tables in this area")
|
||||
private IrisLootReference loot = new IrisLootReference();
|
||||
|
||||
@ -114,7 +103,6 @@ public class IrisDimension extends IrisRegistrant {
|
||||
@Desc("Define custom block drops for this dimension")
|
||||
private KList<IrisBlockDrops> blockDrops = new KList<>();
|
||||
|
||||
|
||||
@Desc("Should bedrock be generated or not.")
|
||||
private boolean bedrock = true;
|
||||
|
||||
@ -123,71 +111,54 @@ public class IrisDimension extends IrisRegistrant {
|
||||
@Desc("The land chance. Up to 1.0 for total land or 0.0 for total sea")
|
||||
private double landChance = 0.625;
|
||||
|
||||
|
||||
@Desc("The placement style of regions")
|
||||
private IrisGeneratorStyle regionStyle = NoiseStyle.CELLULAR_IRIS_DOUBLE.style();
|
||||
|
||||
|
||||
@Desc("The placement style of land/sea")
|
||||
private IrisGeneratorStyle continentalStyle = NoiseStyle.CELLULAR_IRIS_DOUBLE.style();
|
||||
|
||||
|
||||
@Desc("The placement style of biomes")
|
||||
private IrisGeneratorStyle landBiomeStyle = NoiseStyle.CELLULAR_IRIS_DOUBLE.style();
|
||||
|
||||
|
||||
@Desc("The placement style of biomes")
|
||||
private IrisGeneratorStyle shoreBiomeStyle = NoiseStyle.CELLULAR_IRIS_DOUBLE.style();
|
||||
|
||||
|
||||
@Desc("The placement style of biomes")
|
||||
private IrisGeneratorStyle seaBiomeStyle = NoiseStyle.CELLULAR_IRIS_DOUBLE.style();
|
||||
|
||||
|
||||
@Desc("The placement style of biomes")
|
||||
private IrisGeneratorStyle caveBiomeStyle = NoiseStyle.CELLULAR_IRIS_DOUBLE.style();
|
||||
|
||||
|
||||
@Desc("The placement style of biomes")
|
||||
private IrisGeneratorStyle riverBiomeStyle = NoiseStyle.CELLULAR_IRIS_DOUBLE.style();
|
||||
|
||||
|
||||
@Desc("The placement style of biomes")
|
||||
private IrisGeneratorStyle lakeBiomeStyle = NoiseStyle.CELLULAR_IRIS_DOUBLE.style();
|
||||
|
||||
|
||||
@Desc("The placement style of biomes")
|
||||
private IrisGeneratorStyle islandBiomeStyle = NoiseStyle.CELLULAR_IRIS_DOUBLE.style();
|
||||
|
||||
|
||||
@Desc("The placement style of biomes")
|
||||
private IrisGeneratorStyle islandBiomeChanceStyle = NoiseStyle.CELLULAR_HEIGHT_IRIS_DOUBLE.style();
|
||||
|
||||
|
||||
@Desc("The placement style of biomes")
|
||||
private IrisGeneratorStyle skylandBiomeStyle = NoiseStyle.CELLULAR_IRIS_DOUBLE.style();
|
||||
|
||||
|
||||
@Desc("Generate caves or not.")
|
||||
private boolean caves = true;
|
||||
|
||||
|
||||
@Desc("Instead of filling objects with air, fills them with cobweb so you can see them")
|
||||
private boolean debugSmartBore = false;
|
||||
|
||||
|
||||
@Desc("Carve terrain or not")
|
||||
private boolean carving = true;
|
||||
|
||||
|
||||
@Desc("If defined, If air is defined below the area, this fluid will always place")
|
||||
private IrisCaveFluid forceFluid = new IrisCaveFluid();
|
||||
|
||||
|
||||
@Desc("Generate decorations or not")
|
||||
private boolean decorate = true;
|
||||
|
||||
|
||||
@Desc("Generate ravines or not")
|
||||
private boolean ravines = false;
|
||||
|
||||
@ -199,23 +170,18 @@ public class IrisDimension extends IrisRegistrant {
|
||||
@Desc("The rarity of ravines. Each chunk has a 1 in X chance")
|
||||
private int ravineRarity = 50;
|
||||
|
||||
|
||||
@Desc("Use post processing or not")
|
||||
private boolean postProcessing = true;
|
||||
|
||||
|
||||
@Desc("Add slabs in post processing")
|
||||
private boolean postProcessingSlabs = true;
|
||||
|
||||
|
||||
@Desc("Add painted walls in post processing")
|
||||
private boolean postProcessingWalls = true;
|
||||
|
||||
|
||||
@Desc("Use post processing for caves or not")
|
||||
private boolean postProcessCaves = true;
|
||||
|
||||
|
||||
@Desc("The world environment")
|
||||
private Environment environment = Environment.NORMAL;
|
||||
|
||||
@ -236,12 +202,10 @@ public class IrisDimension extends IrisRegistrant {
|
||||
private int fluidHeight = 63;
|
||||
|
||||
@RegistryListBiome
|
||||
|
||||
@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 = "";
|
||||
|
||||
@RegistryListBiome
|
||||
|
||||
@Desc("Keep this either undefined or empty. Setting any region name into this will force iris to only generate the specified region. Great for testing.")
|
||||
private String focusRegion = "";
|
||||
|
||||
@ -299,7 +263,6 @@ public class IrisDimension extends IrisRegistrant {
|
||||
@Desc("Disable this to stop placing schematics in biomes")
|
||||
private boolean placeObjects = true;
|
||||
|
||||
|
||||
@Desc("Prevent Leaf decay as if placed in creative mode")
|
||||
private boolean preventLeafDecay = false;
|
||||
|
||||
@ -324,11 +287,9 @@ public class IrisDimension extends IrisRegistrant {
|
||||
@Desc("The rock zoom mostly for zooming in on a wispy palette")
|
||||
private double rockZoom = 5;
|
||||
|
||||
|
||||
@Desc("The palette of blocks for 'stone'")
|
||||
private IrisMaterialPalette rockPalette = new IrisMaterialPalette().qclear().qadd("stone");
|
||||
|
||||
|
||||
@Desc("The palette of blocks for 'water'")
|
||||
private IrisMaterialPalette fluidPalette = new IrisMaterialPalette().qclear().qadd("water");
|
||||
|
||||
|
@ -37,19 +37,15 @@ import lombok.experimental.Accessors;
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class IrisDimensionIndex {
|
||||
@Required
|
||||
|
||||
@Desc("The weight of this dimension. If there are 2 dimensions, if the weight is the same on both, both dimensions will take up 128 blocks of height.")
|
||||
private double weight = 1D;
|
||||
|
||||
|
||||
@Desc("If inverted is set to true, the dimension will be updide down in the world")
|
||||
private boolean inverted = false;
|
||||
|
||||
|
||||
@Desc("Only one dimension layer should be set to primary. The primary dimension layer is where players spawn, and the biomes that the vanilla structure system uses to figure out what structures to place.")
|
||||
private boolean primary = false;
|
||||
|
||||
|
||||
@Required
|
||||
@RegistryListDimension
|
||||
@MinNumber(1)
|
||||
|
@ -39,11 +39,17 @@ import java.util.Map;
|
||||
*/
|
||||
@Desc("A direction object")
|
||||
public enum IrisDirection {
|
||||
@Desc("0, 1, 0")
|
||||
UP_POSITIVE_Y(0, 1, 0, CuboidDirection.Up),
|
||||
@Desc("0, -1, 0")
|
||||
DOWN_NEGATIVE_Y(0, -1, 0, CuboidDirection.Down),
|
||||
@Desc("0, 0, -1")
|
||||
NORTH_NEGATIVE_Z(0, 0, -1, CuboidDirection.North),
|
||||
@Desc("0, 0, 1")
|
||||
SOUTH_POSITIVE_Z(0, 0, 1, CuboidDirection.South),
|
||||
@Desc("1, 0, 0")
|
||||
EAST_POSITIVE_X(1, 0, 0, CuboidDirection.East),
|
||||
@Desc("-1, 0, 0")
|
||||
WEST_NEGATIVE_X(-1, 0, 0, CuboidDirection.West);
|
||||
|
||||
private static KMap<GBiset<IrisDirection, IrisDirection>, DOP> permute = null;
|
||||
|
@ -42,12 +42,9 @@ import org.bukkit.potion.PotionEffectType;
|
||||
@Desc("An iris effect")
|
||||
@Data
|
||||
public class IrisEffect {
|
||||
|
||||
|
||||
@Desc("The potion effect to apply in this area")
|
||||
private String potionEffect = "";
|
||||
|
||||
|
||||
@Desc("The particle effect to apply in the area")
|
||||
private Particle particleEffect = null;
|
||||
|
||||
@ -87,7 +84,6 @@ public class IrisEffect {
|
||||
@Desc("Randomize the altZ by -altZ to altZ")
|
||||
private boolean randomAltZ = true;
|
||||
|
||||
|
||||
@Desc("The sound to play")
|
||||
private Sound sound = null;
|
||||
|
||||
|
@ -40,9 +40,7 @@ import java.lang.reflect.Field;
|
||||
@Desc("Represents an enchantment & level")
|
||||
@Data
|
||||
public class IrisEnchantment {
|
||||
|
||||
@Required
|
||||
|
||||
@Desc("The enchantment")
|
||||
private String enchantment = "";
|
||||
|
||||
|
@ -60,106 +60,81 @@ import java.util.concurrent.atomic.AtomicReference;
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class IrisEntity extends IrisRegistrant {
|
||||
@Required
|
||||
|
||||
@Desc("The type of entity to spawn. To spawn a mythic mob, set this type to unknown and define mythic type.")
|
||||
private EntityType type = EntityType.UNKNOWN;
|
||||
|
||||
@RegistryListMythical
|
||||
@Desc("The type of mythic mob (if mythic mobs is installed). If this is set, make sure to set 'type' to UNKNOWN")
|
||||
|
||||
private String mythicalType = "";
|
||||
|
||||
|
||||
@Desc("The custom name of this entity")
|
||||
private String customName = "";
|
||||
|
||||
|
||||
@Desc("Should the name on this entity be visible even if you arent looking at it.")
|
||||
private boolean customNameVisible = false;
|
||||
|
||||
|
||||
@Desc("If this entity type is a mob, should it be aware of it's surroundings & interact with the world.")
|
||||
private boolean aware = true;
|
||||
|
||||
|
||||
@Desc("If this entity type is a creature, should it have ai goals.")
|
||||
private boolean ai = true;
|
||||
|
||||
|
||||
@Desc("Should this entity be glowing")
|
||||
private boolean glowing = false;
|
||||
|
||||
|
||||
@Desc("Should gravity apply to this entity")
|
||||
private boolean gravity = true;
|
||||
|
||||
|
||||
@Desc("When an entity is invulnerable it can only be damaged by players increative mode.")
|
||||
private boolean invulnerable = false;
|
||||
|
||||
|
||||
@Desc("When an entity is silent it will not produce any sound.")
|
||||
private boolean silent = false;
|
||||
|
||||
|
||||
@Desc("Should this entity be allowed to pickup items")
|
||||
private boolean pickupItems = false;
|
||||
|
||||
|
||||
@Desc("Should this entity be removed when far away")
|
||||
private boolean removable = true;
|
||||
|
||||
|
||||
@Desc("Entity helmet equipment")
|
||||
private IrisLoot helmet = null;
|
||||
|
||||
|
||||
@Desc("Entity chestplate equipment")
|
||||
private IrisLoot chestplate = null;
|
||||
|
||||
|
||||
@Desc("Entity boots equipment")
|
||||
private IrisLoot boots = null;
|
||||
|
||||
|
||||
@Desc("Entity leggings equipment")
|
||||
private IrisLoot leggings = null;
|
||||
|
||||
|
||||
@Desc("Entity main hand equipment")
|
||||
private IrisLoot mainHand = null;
|
||||
|
||||
|
||||
@Desc("Entity off hand equipment")
|
||||
private IrisLoot offHand = null;
|
||||
|
||||
|
||||
@Desc("Make other entities ride this entity")
|
||||
@ArrayType(min = 1, type = IrisEntity.class)
|
||||
private KList<IrisEntity> passengers = new KList<>();
|
||||
|
||||
|
||||
@Desc("Attribute modifiers for this entity")
|
||||
@ArrayType(min = 1, type = IrisAttributeModifier.class)
|
||||
private KList<IrisAttributeModifier> attributes = new KList<>();
|
||||
|
||||
|
||||
@Desc("Loot tables for drops")
|
||||
private IrisLootReference loot = new IrisLootReference();
|
||||
|
||||
|
||||
@Desc("If specified, this entity will be leashed by this entity. I.e. THIS ENTITY Leashed by SPECIFIED. This has no effect on EnderDragons, Withers, Players, or Bats.Non-living entities excluding leashes will not persist as leashholders.")
|
||||
private IrisEntity leashHolder = null;
|
||||
|
||||
|
||||
@Desc("The main gene for a panda if the entity type is a panda")
|
||||
private Gene pandaMainGene = Gene.NORMAL;
|
||||
|
||||
|
||||
@Desc("The hidden gene for a panda if the entity type is a panda")
|
||||
private Gene pandaHiddenGene = Gene.NORMAL;
|
||||
|
||||
|
||||
@Desc("The this entity is ageable, set it's baby status")
|
||||
private boolean baby = false;
|
||||
|
||||
|
@ -41,7 +41,6 @@ import org.bukkit.entity.Entity;
|
||||
public class IrisEntityInitialSpawn {
|
||||
@RegistryListEntity
|
||||
@Required
|
||||
|
||||
@Desc("The entity")
|
||||
private String entity = "";
|
||||
|
||||
|
@ -40,24 +40,18 @@ import org.bukkit.event.entity.EntitySpawnEvent;
|
||||
@Desc("Represents an entity spawn")
|
||||
@Data
|
||||
public class IrisEntitySpawnOverride {
|
||||
|
||||
@RegistryListEntity
|
||||
@Required
|
||||
|
||||
@Desc("The entity")
|
||||
private String entity = "";
|
||||
|
||||
|
||||
@Required
|
||||
|
||||
@Desc("If the following entity type spawns, spawn this entity. Set to unknown for any entity spawn")
|
||||
private EntityType trigger = EntityType.UNKNOWN;
|
||||
|
||||
|
||||
@Desc("If the source is triggered, cancel spawning the original entity instead of ADDING a new entity.")
|
||||
private boolean cancelSourceSpawn = false;
|
||||
|
||||
|
||||
@MinNumber(1)
|
||||
@Desc("The 1 in RARITY chance for this entity to spawn")
|
||||
private int rarity = 1;
|
||||
|
@ -28,15 +28,12 @@ import lombok.Data;
|
||||
|
||||
@Desc("Represents a potential Iris zone")
|
||||
public class IrisFeaturePotential {
|
||||
|
||||
@MinNumber(0)
|
||||
@Required
|
||||
|
||||
@Desc("The rarity is 1 in X chance per chunk")
|
||||
private int rarity = 100;
|
||||
|
||||
@Required
|
||||
|
||||
@Desc("")
|
||||
private IrisFeature zone = new IrisFeature();
|
||||
|
||||
|
@ -61,7 +61,6 @@ public class IrisGenerator extends IrisRegistrant {
|
||||
@Desc("Cell Fracture Coordinate Shuffling")
|
||||
private double cellFractureShuffle = 12D;
|
||||
|
||||
|
||||
@Desc("The height of fracture cells. Set to 0 to disable")
|
||||
private double cellFractureHeight = 0D;
|
||||
|
||||
@ -70,11 +69,9 @@ public class IrisGenerator extends IrisRegistrant {
|
||||
@Desc("How big are the cells (X,Z) relative to the veins that touch them. Between 0 and 1. 0.1 means thick veins, small cells.")
|
||||
private double cellPercentSize = 0.75D;
|
||||
|
||||
|
||||
@Desc("The offset to shift this noise x")
|
||||
private double offsetX = 0;
|
||||
|
||||
|
||||
@Desc("The offset to shift this noise z")
|
||||
private double offsetZ = 0;
|
||||
|
||||
@ -100,7 +97,6 @@ public class IrisGenerator extends IrisRegistrant {
|
||||
@Desc("The list of noise gens this gen contains.")
|
||||
private KList<IrisNoiseGenerator> composite = new KList<>();
|
||||
|
||||
|
||||
@Desc("The noise gen for cliff height.")
|
||||
private IrisNoiseGenerator cliffHeightGenerator = new IrisNoiseGenerator();
|
||||
|
||||
|
@ -36,7 +36,6 @@ import lombok.experimental.Accessors;
|
||||
@Desc("A gen style")
|
||||
@Data
|
||||
public class IrisGeneratorStyle {
|
||||
|
||||
@Required
|
||||
@Desc("The chance is 1 in CHANCE per interval")
|
||||
private NoiseStyle style = NoiseStyle.IRIS;
|
||||
|
@ -36,9 +36,7 @@ import lombok.experimental.Accessors;
|
||||
@Desc("Configures rotation for iris")
|
||||
@Data
|
||||
public class IrisInterpolator {
|
||||
|
||||
@Required
|
||||
|
||||
@Desc("The interpolation method when two biomes use different heights but this same generator")
|
||||
private InterpolationMethod function = InterpolationMethod.BICUBIC;
|
||||
|
||||
|
@ -45,18 +45,15 @@ import java.io.IOException;
|
||||
public class IrisJigsawPiece extends IrisRegistrant {
|
||||
@RegistryListObject
|
||||
@Required
|
||||
|
||||
@Desc("The object this piece represents")
|
||||
private String object = "";
|
||||
|
||||
@Required
|
||||
|
||||
@ArrayType(type = IrisJigsawPieceConnector.class, min = 1)
|
||||
@Desc("The connectors this object contains")
|
||||
private KList<IrisJigsawPieceConnector> connectors = new KList<>();
|
||||
|
||||
@Desc("Configure everything about the object placement. Please don't define this unless you actually need it as using this option will slow down the jigsaw deign stage. Use this where you need it, just avoid using it everywhere to keep things fast.")
|
||||
|
||||
private IrisObjectPlacement placementOptions = new IrisObjectPlacement().setMode(ObjectPlaceMode.FAST_MAX_HEIGHT);
|
||||
|
||||
private transient AtomicCache<Integer> max2dDim = new AtomicCache<>();
|
||||
|
@ -36,20 +36,16 @@ import lombok.experimental.Accessors;
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class IrisJigsawPieceConnector {
|
||||
@Required
|
||||
|
||||
@Desc("The name of this connector, such as entry, or table node. This is a name for organization. Other connectors can specifically use targetName to target a specific connector type. Multiple connectors can use the same name.")
|
||||
private String name = "";
|
||||
|
||||
@Required
|
||||
|
||||
@Desc("Target a piece's connector with the specified name. For any piece's connector, define * or don't define it.")
|
||||
private String targetName = "*";
|
||||
|
||||
|
||||
@Desc("Rotates the placed piece on this connector. If rotation is enabled, this connector will effectivley rotate, if this connector is facing the Z direction, then the connected piece would rotate in the X,Y direction in 90 degree segments.")
|
||||
private boolean rotateConnector = false;
|
||||
|
||||
|
||||
@Desc("If set to true, this connector is allowed to place pieces inside of it's own piece. For example if you are adding a light post, or house on top of a path piece, you would set this to true to allow the piece to collide with the path bounding box.")
|
||||
private boolean innerConnector = false;
|
||||
|
||||
@ -60,31 +56,25 @@ public class IrisJigsawPieceConnector {
|
||||
private KList<String> pools = new KList<>();
|
||||
|
||||
@RegistryListEntity
|
||||
|
||||
@Desc("Pick an entity to spawn on this connector")
|
||||
private String spawnEntity;
|
||||
|
||||
|
||||
@Desc("Stop the entity from despawning")
|
||||
private boolean keepEntity;
|
||||
|
||||
|
||||
@MaxNumber(50)
|
||||
@MinNumber(1)
|
||||
@Desc("The amount of entities to spawn (must be a whole number)")
|
||||
private int entityCount = 1;
|
||||
|
||||
|
||||
@Desc("The relative position this connector is located at for connecting to other pieces")
|
||||
@Required
|
||||
private IrisPosition position = new IrisPosition(0, 0, 0);
|
||||
|
||||
|
||||
@Desc("The relative position to this connector to place entities at")
|
||||
@DependsOn({"spawnEntity"})
|
||||
private IrisPosition entityPosition = null;
|
||||
|
||||
|
||||
@Desc("The direction this connector is facing. If the direction is set to UP, then pieces will place ABOVE the connector.")
|
||||
@Required
|
||||
private IrisDirection direction = IrisDirection.UP_POSITIVE_Y;
|
||||
|
@ -35,7 +35,6 @@ import lombok.experimental.Accessors;
|
||||
public class IrisJigsawPlacement {
|
||||
@RegistryListJigsaw
|
||||
@Required
|
||||
|
||||
@Desc("The jigsaw structure to use")
|
||||
private String structure = "";
|
||||
|
||||
|
@ -40,7 +40,6 @@ import lombok.experimental.Accessors;
|
||||
public class IrisJigsawPool extends IrisRegistrant {
|
||||
@RegistryListJigsawPiece
|
||||
@Required
|
||||
|
||||
@ArrayType(min = 1, type = String.class)
|
||||
@Desc("A list of structure piece pools")
|
||||
private KList<String> pieces = new KList<>();
|
||||
|
@ -39,7 +39,6 @@ import lombok.experimental.Accessors;
|
||||
public class IrisJigsawStructure extends IrisRegistrant {
|
||||
@RegistryListJigsawPiece
|
||||
@Required
|
||||
|
||||
@ArrayType(min = 1, type = String.class)
|
||||
@Desc("The starting pieces. Randomly chooses a starting piece, then connects pieces using the pools define in the starting piece.")
|
||||
private KList<String> pieces = new KList<>();
|
||||
@ -49,15 +48,12 @@ public class IrisJigsawStructure extends IrisRegistrant {
|
||||
@Desc("The maximum pieces that can step out from the center piece")
|
||||
private int maxDepth = 9;
|
||||
|
||||
|
||||
@Desc("Jigsaw grows the parallax layer which slows iris down a bit. Since there are so many pieces, Iris takes the avg piece size and calculates the parallax radius from that. Unless your structures are using only the biggest pieces, your structure should fit in the chosen size fine. If you are seeing cut-off parts of your structures or broken terrain, turn this option on. This option will pick the biggest piece dimensions and multiply it by your (maxDepth+1) * 2 as the size to grow the parallax layer by. But typically keep this off.")
|
||||
private boolean useMaxPieceSizeForParallaxRadius = false;
|
||||
|
||||
@Desc("Add a noise feature to this village")
|
||||
|
||||
private IrisFeature feature = null;
|
||||
|
||||
|
||||
@Desc("If set to true, iris will look for any pieces with only one connector in valid pools for edge connectors and attach them to 'terminate' the paths/piece connectors. Essentially it caps off ends. For example in a village, Iris would add houses to the ends of roads where possible. For terminators to be selected, they can only have one connector or they wont be chosen.")
|
||||
private boolean terminate = true;
|
||||
|
||||
|
@ -38,11 +38,9 @@ import lombok.experimental.Accessors;
|
||||
public class IrisJigsawStructurePlacement extends IrisRegistrant {
|
||||
@RegistryListJigsaw
|
||||
@Required
|
||||
|
||||
@Desc("The structure to place")
|
||||
private String structure;
|
||||
|
||||
|
||||
@Required
|
||||
@Desc("The 1 in X chance rarity")
|
||||
private int rarity = 100;
|
||||
|
@ -48,7 +48,6 @@ import java.awt.*;
|
||||
@Desc("Represents a loot entry")
|
||||
@Data
|
||||
public class IrisLoot {
|
||||
|
||||
@Desc("The target inventory slot types to fill this loot with")
|
||||
private InventorySlotType slotTypes = InventorySlotType.STORAGE;
|
||||
|
||||
@ -78,11 +77,9 @@ public class IrisLoot {
|
||||
@Desc("Maximum durability percent")
|
||||
private double maxDurability = 1;
|
||||
|
||||
|
||||
@Desc("Define a custom model identifier 1.14+ only")
|
||||
private Integer customModel = null;
|
||||
|
||||
|
||||
@Desc("Set this to true to prevent it from being broken")
|
||||
private boolean unbreakable = false;
|
||||
|
||||
@ -90,12 +87,10 @@ public class IrisLoot {
|
||||
@Desc("The item flags to add")
|
||||
private KList<ItemFlag> itemFlags = new KList<>();
|
||||
|
||||
|
||||
@Desc("Apply enchantments to this item")
|
||||
@ArrayType(min = 1, type = IrisEnchantment.class)
|
||||
private KList<IrisEnchantment> enchantments = new KList<>();
|
||||
|
||||
|
||||
@Desc("Apply attribute modifiers to this item")
|
||||
@ArrayType(min = 1, type = IrisAttributeModifier.class)
|
||||
private KList<IrisAttributeModifier> attributes = new KList<>();
|
||||
@ -106,15 +101,12 @@ public class IrisLoot {
|
||||
|
||||
@RegistryListItemType
|
||||
@Required
|
||||
|
||||
@Desc("This is the item or block type. Does not accept minecraft:*. Only materials such as DIAMOND_SWORD or DIRT.")
|
||||
private String type = "";
|
||||
|
||||
|
||||
@Desc("The dye color")
|
||||
private DyeColor dyeColor = null;
|
||||
|
||||
|
||||
@Desc("The leather armor color")
|
||||
private String leatherColor = null;
|
||||
|
||||
|
@ -36,12 +36,9 @@ import lombok.experimental.Accessors;
|
||||
@Desc("Represents a loot entry")
|
||||
@Data
|
||||
public class IrisLootReference {
|
||||
|
||||
|
||||
@Desc("Add = add on top of parent tables, Replace = clear first then add these. Clear = Remove all and dont add loot from this or parent.")
|
||||
private LootMode mode = LootMode.ADD;
|
||||
|
||||
|
||||
@RegistryListLoot
|
||||
@ArrayType(min = 1, type = String.class)
|
||||
@Desc("Add loot table registries here")
|
||||
|
@ -41,9 +41,7 @@ import org.bukkit.inventory.ItemStack;
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class IrisLootTable extends IrisRegistrant {
|
||||
@Required
|
||||
|
||||
@Desc("The name of this loot table")
|
||||
|
||||
@MinNumber(2)
|
||||
private String name = "";
|
||||
|
||||
@ -59,7 +57,6 @@ public class IrisLootTable extends IrisRegistrant {
|
||||
@Desc("The minimum amount of loot that can be picked in this table at a time.")
|
||||
private int minPicked = 1;
|
||||
|
||||
|
||||
@Desc("The loot in this table")
|
||||
@ArrayType(min = 1, type = IrisLoot.class)
|
||||
private KList<IrisLoot> loot = new KList<>();
|
||||
|
@ -39,7 +39,6 @@ import org.bukkit.block.data.BlockData;
|
||||
@Desc("A palette of materials")
|
||||
@Data
|
||||
public class IrisMaterialPalette {
|
||||
|
||||
@Desc("The style of noise")
|
||||
private IrisGeneratorStyle style = NoiseStyle.STATIC.style();
|
||||
|
||||
|
@ -39,12 +39,10 @@ import lombok.experimental.Accessors;
|
||||
@Desc("A noise generator")
|
||||
@Data
|
||||
public class IrisNoiseGenerator {
|
||||
|
||||
@MinNumber(0.0001)
|
||||
@Desc("The coordinate input zoom")
|
||||
private double zoom = 1;
|
||||
|
||||
|
||||
@Desc("Reverse the output. So that noise = -noise + opacity")
|
||||
private boolean negative = false;
|
||||
|
||||
@ -53,15 +51,12 @@ public class IrisNoiseGenerator {
|
||||
@Desc("The output multiplier")
|
||||
private double opacity = 1;
|
||||
|
||||
|
||||
@Desc("Coordinate offset x")
|
||||
private double offsetX = 0;
|
||||
|
||||
|
||||
@Desc("Height output offset y. Avoid using with terrain generation.")
|
||||
private double offsetY = 0;
|
||||
|
||||
|
||||
@Desc("Coordinate offset z")
|
||||
private double offsetZ = 0;
|
||||
|
||||
@ -69,28 +64,22 @@ public class IrisNoiseGenerator {
|
||||
@Desc("The seed")
|
||||
private long seed = 0;
|
||||
|
||||
|
||||
@Desc("Apply a parametric curve on the output")
|
||||
private boolean parametric = false;
|
||||
|
||||
|
||||
@Desc("Apply a bezier curve on the output")
|
||||
private boolean bezier = false;
|
||||
|
||||
|
||||
@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;
|
||||
|
||||
|
||||
@Desc("The exponent noise^EXPONENT")
|
||||
private double exponent = 1;
|
||||
|
||||
|
||||
@Desc("Enable / disable. Outputs offsetY if disabled")
|
||||
private boolean enabled = true;
|
||||
|
||||
@Required
|
||||
|
||||
@Desc("The Noise Style")
|
||||
private IrisGeneratorStyle style = NoiseStyle.IRIS.style();
|
||||
|
||||
|
@ -32,7 +32,6 @@ import lombok.experimental.Accessors;
|
||||
@Desc("Translate objects")
|
||||
@Data
|
||||
public class IrisObjectLimit {
|
||||
|
||||
@MinNumber(0)
|
||||
@MaxNumber(255)
|
||||
@Desc("The minimum height for placement (bottom of object)")
|
||||
|
@ -37,23 +37,18 @@ import org.bukkit.block.data.BlockData;
|
||||
@Desc("Represents loot within this object or jigsaw piece")
|
||||
@Data
|
||||
public class IrisObjectLoot {
|
||||
|
||||
|
||||
@ArrayType(min = 1, type = IrisBlockData.class)
|
||||
@Desc("The list of blocks this loot table should apply to")
|
||||
private KList<IrisBlockData> filter = new KList<>();
|
||||
|
||||
@Desc("Exactly match the block data or not")
|
||||
|
||||
private boolean exact = false;
|
||||
|
||||
|
||||
@Desc("The loot table name")
|
||||
@Required
|
||||
@RegistryListLoot
|
||||
private String name;
|
||||
|
||||
|
||||
@Desc("The weight of this loot table being chosen")
|
||||
private int weight = 1;
|
||||
|
||||
|
@ -53,7 +53,6 @@ public class IrisObjectPlacement {
|
||||
@Desc("Rotate this objects placement")
|
||||
private IrisObjectRotation rotation = new IrisObjectRotation();
|
||||
|
||||
|
||||
@Desc("Limit the max height or min height of placement.")
|
||||
private IrisObjectLimit clamp = new IrisObjectLimit();
|
||||
|
||||
@ -87,51 +86,39 @@ public class IrisObjectPlacement {
|
||||
@Desc("When bore is enabled, lower min-y of the cuboid it removes")
|
||||
private int boreExtendMinY = 0;
|
||||
|
||||
|
||||
@Desc("If set to true, objects will place on the terrain height, ignoring the water surface.")
|
||||
private boolean underwater = false;
|
||||
|
||||
|
||||
@Desc("If set to true, objects will place in carvings (such as underground) or under an overhang.")
|
||||
private CarvingMode carvingSupport = CarvingMode.SURFACE_ONLY;
|
||||
|
||||
|
||||
@Desc("If this is defined, this object wont place on the terrain heightmap, but instead on this virtual heightmap")
|
||||
private IrisNoiseGenerator heightmap;
|
||||
|
||||
|
||||
@Desc("If set to true, Iris will try to fill the insides of 'rooms' and 'pockets' where air should fit based off of raytrace checks. This prevents a village house placing in an area where a tree already exists, and instead replaces the parts of the tree where the interior of the structure is. \n\nThis operation does not affect warmed-up generation speed however it does slow down loading objects.")
|
||||
private boolean smartBore = false;
|
||||
|
||||
|
||||
@Desc("If set to true, Blocks placed underwater that could be waterlogged are waterlogged.")
|
||||
private boolean waterloggable = false;
|
||||
|
||||
|
||||
@Desc("If set to true, objects will place on the fluid height level Such as boats.")
|
||||
private boolean onwater = false;
|
||||
|
||||
|
||||
@Desc("If set to true, this object will only place parts of itself where blocks already exist. Warning: Melding is very performance intensive!")
|
||||
private boolean meld = false;
|
||||
|
||||
|
||||
@Desc("If set to true, this object will place from the ground up instead of height checks when not y locked to the surface. This is not compatable with X and Z axis rotations (it may look off)")
|
||||
private boolean bottom = false;
|
||||
|
||||
|
||||
@Desc("If set to true, air will be placed before the schematic places.")
|
||||
private boolean bore = false;
|
||||
|
||||
|
||||
@Desc("Use a generator to warp the field of coordinates. Using simplex for example would make a square placement warp like a flag")
|
||||
private IrisGeneratorStyle warp = new IrisGeneratorStyle(NoiseStyle.FLAT);
|
||||
|
||||
|
||||
@Desc("If the place mode is set to CENTER_HEIGHT_RIGID and you have an X/Z translation, Turning on translate center will also translate the center height check.")
|
||||
private boolean translateCenter = false;
|
||||
|
||||
|
||||
@Desc("The placement mode")
|
||||
private ObjectPlaceMode mode = ObjectPlaceMode.CENTER_HEIGHT;
|
||||
|
||||
@ -139,11 +126,9 @@ public class IrisObjectPlacement {
|
||||
@Desc("Find and replace blocks")
|
||||
private KList<IrisObjectReplace> edit = new KList<>();
|
||||
|
||||
|
||||
@Desc("Translate this object's placement")
|
||||
private IrisObjectTranslate translate = new IrisObjectTranslate();
|
||||
|
||||
|
||||
@Desc("Scale Objects")
|
||||
private IrisObjectScale scale = new IrisObjectScale();
|
||||
|
||||
|
@ -22,19 +22,12 @@ import com.volmit.iris.engine.object.annotations.Desc;
|
||||
|
||||
@Desc("Use 3D Interpolation on scaled objects if they are larger than the origin.")
|
||||
public enum IrisObjectPlacementScaleInterpolator {
|
||||
|
||||
@Desc("Don't interpolate, big cubes")
|
||||
NONE,
|
||||
|
||||
|
||||
@Desc("Uses linear interpolation in 3 dimensions, generally pretty good, but slow")
|
||||
TRILINEAR,
|
||||
|
||||
|
||||
@Desc("Uses cubic spline interpolation in 3 dimensions, even better, but extreme slowdowns")
|
||||
TRICUBIC,
|
||||
|
||||
|
||||
@Desc("Uses hermite spline interpolation in 3 dimensions, even better, but extreme slowdowns")
|
||||
TRIHERMITE
|
||||
}
|
||||
|
@ -39,19 +39,15 @@ import java.util.List;
|
||||
@Desc("Configures rotation for iris")
|
||||
@Data
|
||||
public class IrisObjectRotation {
|
||||
|
||||
@Desc("If this rotator is enabled or not")
|
||||
private boolean enabled = true;
|
||||
|
||||
|
||||
@Desc("The x axis rotation")
|
||||
private IrisAxisRotationClamp xAxis = new IrisAxisRotationClamp();
|
||||
|
||||
|
||||
@Desc("The y axis rotation")
|
||||
private IrisAxisRotationClamp yAxis = new IrisAxisRotationClamp(true, false, 0, 0, 90);
|
||||
|
||||
|
||||
@Desc("The z axis rotation")
|
||||
private IrisAxisRotationClamp zAxis = new IrisAxisRotationClamp();
|
||||
|
||||
|
@ -50,7 +50,6 @@ public class IrisObjectScale {
|
||||
@Desc("The maximum height for placement (top of object)")
|
||||
private double maximumScale = 1;
|
||||
|
||||
|
||||
@Desc("If this object is scaled up beyond its origin size, specify a 3D interpolator")
|
||||
private IrisObjectPlacementScaleInterpolator interpolation = IrisObjectPlacementScaleInterpolator.NONE;
|
||||
|
||||
|
@ -34,29 +34,24 @@ import org.bukkit.util.BlockVector;
|
||||
@Desc("Translate objects")
|
||||
@Data
|
||||
public class IrisObjectTranslate {
|
||||
|
||||
@MinNumber(-128) // TODO: WARNING HEIGHT
|
||||
@MaxNumber(128) // TODO: WARNING HEIGHT
|
||||
|
||||
@Desc("The x shift in blocks")
|
||||
private int x = 0;
|
||||
|
||||
@Required
|
||||
@MinNumber(-256) // TODO: WARNING HEIGHT
|
||||
@MaxNumber(256) // TODO: WARNING HEIGHT
|
||||
|
||||
@Desc("The x shift in blocks")
|
||||
private int y = 0;
|
||||
|
||||
@MinNumber(-128) // TODO: WARNING HEIGHT
|
||||
@MaxNumber(128) // TODO: WARNING HEIGHT
|
||||
|
||||
@Desc("Adds an additional amount of height randomly (translateY + rand(0 - yRandom))")
|
||||
private int yRandom = 0;
|
||||
|
||||
@MinNumber(-128) // TODO: WARNING HEIGHT
|
||||
@MaxNumber(128) // TODO: WARNING HEIGHT
|
||||
|
||||
@Desc("The x shift in blocks")
|
||||
private int z = 0;
|
||||
|
||||
|
@ -34,15 +34,12 @@ import org.bukkit.util.Vector;
|
||||
@Desc("Represents a position")
|
||||
@Data
|
||||
public class IrisPosition {
|
||||
|
||||
@Desc("The x position")
|
||||
private int x = 0;
|
||||
|
||||
|
||||
@Desc("The y position")
|
||||
private int y = 0;
|
||||
|
||||
|
||||
@Desc("The z position")
|
||||
private int z = 0;
|
||||
|
||||
|
@ -30,11 +30,9 @@ import lombok.experimental.Accessors;
|
||||
@Desc("Represents a position")
|
||||
@Data
|
||||
public class IrisPosition2D {
|
||||
|
||||
@Desc("The x position")
|
||||
private int x = 0;
|
||||
|
||||
|
||||
@Desc("The z position")
|
||||
private int z = 0;
|
||||
}
|
||||
|
@ -39,9 +39,7 @@ import org.bukkit.potion.PotionEffectType;
|
||||
@Desc("An iris potion effect")
|
||||
@Data
|
||||
public class IrisPotionEffect {
|
||||
|
||||
@Required
|
||||
|
||||
@Desc("The potion effect to apply in this area")
|
||||
private String potionEffect = "";
|
||||
|
||||
@ -56,11 +54,9 @@ public class IrisPotionEffect {
|
||||
@Desc("The time the potion will last for")
|
||||
private int ticks = 200;
|
||||
|
||||
|
||||
@Desc("Is the effect ambient")
|
||||
private boolean ambient = false;
|
||||
|
||||
|
||||
@Desc("Is the effect showing particles")
|
||||
private boolean particles = true;
|
||||
|
||||
|
@ -31,11 +31,9 @@ import lombok.experimental.Accessors;
|
||||
@Desc("Represents a range")
|
||||
@Data
|
||||
public class IrisRange {
|
||||
|
||||
@Desc("The minimum value")
|
||||
private double min = 16;
|
||||
|
||||
|
||||
@Desc("The maximum value")
|
||||
private double max = 32;
|
||||
|
||||
|
@ -37,16 +37,13 @@ import lombok.experimental.Accessors;
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class IrisRareObject {
|
||||
|
||||
@Required
|
||||
@MinNumber(1)
|
||||
@Desc("The rarity is 1 in X")
|
||||
|
||||
private int rarity = 1;
|
||||
|
||||
@RegistryListObject
|
||||
@Required
|
||||
@Desc("The object to place if rarity check passed")
|
||||
|
||||
private String object = "";
|
||||
}
|
||||
|
@ -52,7 +52,6 @@ import java.util.Random;
|
||||
public class IrisRegion extends IrisRegistrant implements IRare {
|
||||
@MinNumber(2)
|
||||
@Required
|
||||
|
||||
@Desc("The name of the region")
|
||||
private String name = "A Region";
|
||||
|
||||
@ -60,7 +59,6 @@ public class IrisRegion extends IrisRegistrant implements IRare {
|
||||
@Desc("Jigsaw structures")
|
||||
private KList<IrisJigsawStructurePlacement> jigsawStructures = new KList<>();
|
||||
|
||||
|
||||
@Desc("Add random chances for terrain features")
|
||||
@ArrayType(min = 1, type = IrisFeaturePotential.class)
|
||||
private KList<IrisFeaturePotential> features = new KList<>();
|
||||
@ -69,12 +67,10 @@ public class IrisRegion extends IrisRegistrant implements IRare {
|
||||
@Desc("Effects are ambient effects such as potion effects, random sounds, or even particles around each player. All of these effects are played via packets so two players won't see/hear each others effects.\nDue to performance reasons, effects will play arround the player even if where the effect was played is no longer in the biome the player is in.")
|
||||
private KList<IrisEffect> effects = new KList<>();
|
||||
|
||||
|
||||
@Desc("Entity spawns to override or add to this region")
|
||||
@ArrayType(min = 1, type = IrisEntitySpawnOverride.class)
|
||||
private KList<IrisEntitySpawnOverride> entitySpawnOverrides = new KList<>();
|
||||
|
||||
|
||||
@Desc("Entity spawns during generation")
|
||||
@ArrayType(min = 1, type = IrisEntityInitialSpawn.class)
|
||||
private KList<IrisEntityInitialSpawn> entityInitialSpawns = new KList<>();
|
||||
@ -101,7 +97,6 @@ public class IrisRegion extends IrisRegistrant implements IRare {
|
||||
@Desc("The min shore height")
|
||||
private double shoreHeightMin = 1.2;
|
||||
|
||||
|
||||
@Desc("Reference loot tables in this area")
|
||||
private IrisLootReference loot = new IrisLootReference();
|
||||
|
||||
@ -187,23 +182,18 @@ public class IrisRegion extends IrisRegistrant implements IRare {
|
||||
@Desc("Define regional deposit generators that add onto the global deposit generators")
|
||||
private KList<IrisDepositGenerator> deposits = new KList<>();
|
||||
|
||||
|
||||
@Desc("The style of rivers")
|
||||
private IrisGeneratorStyle riverStyle = NoiseStyle.VASCULAR_THIN.style().zoomed(7.77);
|
||||
|
||||
|
||||
@Desc("The style of lakes")
|
||||
private IrisGeneratorStyle lakeStyle = NoiseStyle.CELLULAR_IRIS_THICK.style();
|
||||
|
||||
|
||||
@Desc("The style of river chances")
|
||||
private IrisGeneratorStyle riverChanceStyle = NoiseStyle.SIMPLEX.style().zoomed(4);
|
||||
|
||||
|
||||
@Desc("Generate lakes in this region")
|
||||
private boolean lakes = true;
|
||||
|
||||
|
||||
@Desc("Generate rivers in this region")
|
||||
private boolean rivers = true;
|
||||
|
||||
@ -220,7 +210,6 @@ public class IrisRegion extends IrisRegistrant implements IRare {
|
||||
@Desc("Generate rivers in this region")
|
||||
private double riverThickness = 0.1;
|
||||
|
||||
|
||||
@Desc("A color for visualizing this region with a color. I.e. #F13AF5. This will show up on the map.")
|
||||
private String color = null;
|
||||
|
||||
|
@ -33,66 +33,51 @@ import lombok.experimental.Accessors;
|
||||
@Desc("A ridge config")
|
||||
@Data
|
||||
public class IrisRegionRidge {
|
||||
|
||||
@RegistryListBiome
|
||||
@Required
|
||||
|
||||
@Desc("The biome name")
|
||||
private String biome = "";
|
||||
|
||||
|
||||
@Required
|
||||
|
||||
@Desc("The type this biome should override (land sea or shore)")
|
||||
private InferredType type = InferredType.LAND;
|
||||
|
||||
|
||||
@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;
|
||||
|
||||
|
||||
@Desc("Use the distance from cell value to add or remove noise value. (Forces depth or height)")
|
||||
private double noiseMultiplier = 0;
|
||||
|
||||
|
||||
@Required
|
||||
@MinNumber(0)
|
||||
@MaxNumber(1)
|
||||
@Desc("The chance this biome will be placed in a given spot")
|
||||
private double chance = 0.75;
|
||||
|
||||
|
||||
@MinNumber(0)
|
||||
@Desc("The scale of the biome ridge. Higher values = wider veins & bigger connected cells")
|
||||
private double scale = 5;
|
||||
|
||||
|
||||
@Desc("The chance scale (cell chances)")
|
||||
private double chanceScale = 4;
|
||||
|
||||
|
||||
@MinNumber(0)
|
||||
@Desc("The shuffle, how 'natural' this looks. Compared to pure polygons")
|
||||
private double shuffle = 16;
|
||||
|
||||
|
||||
@MinNumber(0)
|
||||
@Desc("The chance shuffle (polygon cell chances)")
|
||||
private double chanceShuffle = 128;
|
||||
|
||||
|
||||
@MinNumber(0)
|
||||
@Desc("The thickness of the vein")
|
||||
private double thickness = 0.125;
|
||||
|
||||
|
||||
@Desc("If the noise multiplier is below zero, what should the air be filled with?")
|
||||
private IrisBiomePaletteLayer air = new IrisBiomePaletteLayer().zero();
|
||||
|
||||
private final transient AtomicCache<CellGenerator> spot = new AtomicCache<>();
|
||||
private final transient AtomicCache<CellGenerator> ridge = new AtomicCache<>();
|
||||
|
||||
|
||||
public CellGenerator getSpotGenerator(RNG rng) {
|
||||
return spot.aquire(() ->
|
||||
{
|
||||
|
@ -36,23 +36,18 @@ import lombok.experimental.Accessors;
|
||||
@Desc("A spot config")
|
||||
@Data
|
||||
public class IrisRegionSpot {
|
||||
|
||||
@RegistryListBiome
|
||||
@Required
|
||||
|
||||
@Desc("The biome to be placed")
|
||||
private String biome = "";
|
||||
|
||||
@Required
|
||||
|
||||
@Desc("Where this spot overrides. Land sea or shore")
|
||||
private InferredType type = InferredType.LAND;
|
||||
|
||||
|
||||
@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;
|
||||
|
||||
|
||||
@Desc("Use the distance from cell value to add or remove noise value. (Forces depth or height)")
|
||||
private double noiseMultiplier = 0;
|
||||
|
||||
@ -69,7 +64,6 @@ public class IrisRegionSpot {
|
||||
@Desc("The shuffle or how natural the splotch looks like (anti-polygon)")
|
||||
private double shuffle = 128;
|
||||
|
||||
|
||||
@Desc("If the noise multiplier is below zero, what should the air be filled with?")
|
||||
private IrisBiomePaletteLayer air = new IrisBiomePaletteLayer().zero();
|
||||
|
||||
|
@ -35,23 +35,18 @@ import lombok.experimental.Accessors;
|
||||
@Data
|
||||
public class IrisShapedGeneratorStyle {
|
||||
@Required
|
||||
|
||||
@Desc("The generator id")
|
||||
|
||||
private IrisGeneratorStyle generator = new IrisGeneratorStyle(NoiseStyle.IRIS);
|
||||
|
||||
@Required
|
||||
@MinNumber(-256) // TODO: WARNING HEIGHT
|
||||
@MaxNumber(256) // TODO: WARNING HEIGHT
|
||||
|
||||
|
||||
@Desc("The min block value")
|
||||
private int min = 0;
|
||||
|
||||
@Required
|
||||
@MinNumber(-256) // TODO: WARNING HEIGHT
|
||||
@MaxNumber(256) // TODO: WARNING HEIGHT
|
||||
|
||||
@Desc("The max block value")
|
||||
private int max = 0;
|
||||
|
||||
|
@ -34,7 +34,6 @@ import lombok.experimental.Accessors;
|
||||
@Desc("Represents a range styled with a custom generator")
|
||||
@Data
|
||||
public class IrisStyledRange {
|
||||
|
||||
@Desc("The minimum value")
|
||||
private double min = 16;
|
||||
|
||||
|
@ -23,14 +23,9 @@ import com.volmit.iris.engine.object.annotations.Desc;
|
||||
@Desc("A loot mode is used to descrive what to do with the existing loot layers before adding this loot. Using ADD will simply add this table to the building list of tables (i.e. add dimension tables, region tables then biome tables). By using clear or replace, you remove the parent tables before and add just your tables.")
|
||||
public enum LootMode {
|
||||
@Desc("Add to the existing parent loot tables")
|
||||
|
||||
ADD,
|
||||
|
||||
@Desc("Clear all loot tables then add this table")
|
||||
|
||||
CLEAR,
|
||||
|
||||
@Desc("Replace all loot tables with this table (same as clear)")
|
||||
|
||||
REPLACE
|
||||
}
|
||||
|
@ -29,423 +29,318 @@ import com.volmit.iris.util.math.RNG;
|
||||
|
||||
public enum NoiseStyle {
|
||||
@Desc("White Noise is like static. Useful for block scattering but not terrain.")
|
||||
|
||||
STATIC(rng -> new CNG(rng, NoiseType.WHITE, 1D, 1)),
|
||||
|
||||
@Desc("Wispy Perlin-looking simplex noise. The 'iris' style noise.")
|
||||
|
||||
IRIS(rng -> CNG.signature(rng).scale(1)),
|
||||
|
||||
@Desc("Classic German Engineering")
|
||||
|
||||
NOWHERE(rng -> CNG.signaturePerlin(rng).scale(0.776).bake()),
|
||||
|
||||
@Desc("Classic German Engineering")
|
||||
|
||||
NOWHERE_CELLULAR(rng -> CNG.signaturePerlin(rng, NoiseType.CELLULAR).scale(1).bake()),
|
||||
|
||||
@Desc("Classic German Engineering")
|
||||
|
||||
NOWHERE_SIMPLEX(rng -> CNG.signaturePerlin(rng, NoiseType.SIMPLEX).scale(1).bake()),
|
||||
|
||||
@Desc("Classic German Engineering")
|
||||
|
||||
NOWHERE_GLOB(rng -> CNG.signaturePerlin(rng, NoiseType.GLOB).scale(1).bake()),
|
||||
|
||||
@Desc("Classic German Engineering")
|
||||
|
||||
NOWHERE_VASCULAR(rng -> CNG.signaturePerlin(rng, NoiseType.VASCULAR).scale(1).bake()),
|
||||
|
||||
@Desc("Classic German Engineering")
|
||||
|
||||
NOWHERE_CUBIC(rng -> CNG.signaturePerlin(rng, NoiseType.CUBIC).scale(1).bake()),
|
||||
|
||||
@Desc("Classic German Engineering")
|
||||
|
||||
NOWHERE_SUPERFRACTAL(rng -> CNG.signaturePerlin(rng, NoiseType.FRACTAL_RIGID_MULTI_SIMPLEX).scale(1).bake()),
|
||||
|
||||
@Desc("Classic German Engineering")
|
||||
|
||||
NOWHERE_FRACTAL(rng -> CNG.signaturePerlin(rng, NoiseType.FRACTAL_BILLOW_PERLIN).scale(1).bake()),
|
||||
|
||||
@Desc("Wispy Perlin-looking simplex noise. The 'iris' style noise.")
|
||||
|
||||
IRIS_DOUBLE(rng -> CNG.signatureDouble(rng).scale(1)),
|
||||
|
||||
@Desc("Wispy Perlin-looking simplex noise. The 'iris' style noise.")
|
||||
|
||||
IRIS_THICK(rng -> CNG.signatureThick(rng).scale(1)),
|
||||
|
||||
@Desc("Wispy Perlin-looking simplex noise. The 'iris' style noise.")
|
||||
|
||||
IRIS_HALF(rng -> CNG.signatureHalf(rng).scale(1)),
|
||||
|
||||
@Desc("Basic, Smooth & Fast Simplex noise.")
|
||||
|
||||
SIMPLEX(rng -> new CNG(rng, 1D, 1).scale(1)),
|
||||
|
||||
@Desc("Very Detailed smoke using simplex fractured with fractal billow simplex at high octaves.")
|
||||
|
||||
FRACTAL_SMOKE(rng -> new CNG(rng, 1D, 1).fractureWith(new CNG(rng.nextParallelRNG(1), NoiseType.FRACTAL_BILLOW_SIMPLEX, 1D, 8).scale(0.2), 1000).scale(0.34)),
|
||||
|
||||
@Desc("Thinner Veins.")
|
||||
|
||||
VASCULAR_THIN(rng -> new CNG(rng.nextParallelRNG(1), NoiseType.VASCULAR, 1D, 1).scale(1).pow(0.65)),
|
||||
|
||||
@Desc("Cells of simplex noise")
|
||||
|
||||
SIMPLEX_CELLS(rng -> new CNG(rng.nextParallelRNG(1), NoiseType.SIMPLEX, 1D, 1).scale(1).fractureWith(new CNG(rng.nextParallelRNG(8), NoiseType.CELLULAR, 1D, 1).scale(1), 200)),
|
||||
|
||||
@Desc("Veins of simplex noise")
|
||||
|
||||
SIMPLEX_VASCULAR(rng -> new CNG(rng.nextParallelRNG(1), NoiseType.SIMPLEX, 1D, 1).scale(1).fractureWith(new CNG(rng.nextParallelRNG(8), NoiseType.VASCULAR, 1D, 1).scale(1), 200)),
|
||||
|
||||
@Desc("Very Detailed fluid using simplex fractured with fractal billow simplex at high octaves.")
|
||||
|
||||
FRACTAL_WATER(rng -> new CNG(rng, 1D, 1).fractureWith(new CNG(rng.nextParallelRNG(1), NoiseType.FRACTAL_FBM_SIMPLEX, 1D, 9).scale(0.03), 9900).scale(1.14)),
|
||||
|
||||
@Desc("Perlin. Like simplex but more natural")
|
||||
|
||||
PERLIN(rng -> new CNG(rng, NoiseType.PERLIN, 1D, 1).scale(1.15)),
|
||||
|
||||
@Desc("Perlin. Like simplex but more natural")
|
||||
|
||||
PERLIN_IRIS(rng -> CNG.signature(rng, NoiseType.PERLIN).scale(1.47)),
|
||||
|
||||
@Desc("Perlin. Like simplex but more natural")
|
||||
|
||||
PERLIN_IRIS_HALF(rng -> CNG.signatureHalf(rng, NoiseType.PERLIN).scale(1.47)),
|
||||
|
||||
@Desc("Perlin. Like simplex but more natural")
|
||||
|
||||
PERLIN_IRIS_DOUBLE(rng -> CNG.signatureDouble(rng, NoiseType.PERLIN).scale(1.47)),
|
||||
|
||||
@Desc("Perlin. Like simplex but more natural")
|
||||
|
||||
PERLIN_IRIS_THICK(rng -> CNG.signatureThick(rng, NoiseType.PERLIN).scale(1.47)),
|
||||
|
||||
@Desc("Billow Fractal Perlin Noise.")
|
||||
|
||||
FRACTAL_BILLOW_PERLIN(rng -> new CNG(rng, NoiseType.FRACTAL_BILLOW_PERLIN, 1D, 1).scale(1.47)),
|
||||
|
||||
@Desc("Billow Fractal Perlin Noise. 2 Octaves")
|
||||
|
||||
BIOCTAVE_FRACTAL_BILLOW_PERLIN(rng -> new CNG(rng, NoiseType.FRACTAL_BILLOW_PERLIN, 1D, 2).scale(1.17)),
|
||||
|
||||
@Desc("Billow Fractal Simplex Noise. Single octave.")
|
||||
|
||||
FRACTAL_BILLOW_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_BILLOW_SIMPLEX, 1D, 1)),
|
||||
|
||||
@Desc("FBM Fractal Simplex Noise. Single octave.")
|
||||
|
||||
FRACTAL_FBM_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_FBM_SIMPLEX, 1D, 1)),
|
||||
|
||||
@Desc("Billow Fractal Iris Noise. Single octave.")
|
||||
|
||||
FRACTAL_BILLOW_IRIS(rng -> CNG.signature(rng, NoiseType.FRACTAL_BILLOW_SIMPLEX)),
|
||||
|
||||
@Desc("FBM Fractal Iris Noise. Single octave.")
|
||||
|
||||
FRACTAL_FBM_IRIS(rng -> CNG.signature(rng, NoiseType.FRACTAL_FBM_SIMPLEX)),
|
||||
|
||||
@Desc("Billow Fractal Iris Noise. Single octave.")
|
||||
|
||||
FRACTAL_BILLOW_IRIS_HALF(rng -> CNG.signatureHalf(rng, NoiseType.FRACTAL_BILLOW_SIMPLEX)),
|
||||
|
||||
@Desc("FBM Fractal Iris Noise. Single octave.")
|
||||
|
||||
FRACTAL_FBM_IRIS_HALF(rng -> CNG.signatureHalf(rng, NoiseType.FRACTAL_FBM_SIMPLEX)),
|
||||
|
||||
@Desc("Billow Fractal Iris Noise. Single octave.")
|
||||
|
||||
FRACTAL_BILLOW_IRIS_THICK(rng -> CNG.signatureThick(rng, NoiseType.FRACTAL_BILLOW_SIMPLEX)),
|
||||
|
||||
@Desc("FBM Fractal Iris Noise. Single octave.")
|
||||
|
||||
FRACTAL_FBM_IRIS_THICK(rng -> CNG.signatureThick(rng, NoiseType.FRACTAL_FBM_SIMPLEX)),
|
||||
|
||||
@Desc("Rigid Multi Fractal Simplex Noise. Single octave.")
|
||||
|
||||
FRACTAL_RM_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_RIGID_MULTI_SIMPLEX, 1D, 1)),
|
||||
|
||||
@Desc("Billow Fractal Simplex Noise. 2 octaves.")
|
||||
|
||||
BIOCTAVE_FRACTAL_BILLOW_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_BILLOW_SIMPLEX, 1D, 2)),
|
||||
|
||||
@Desc("FBM Fractal Simplex Noise. 2 octaves.")
|
||||
|
||||
BIOCTAVE_FRACTAL_FBM_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_FBM_SIMPLEX, 1D, 2)),
|
||||
|
||||
@Desc("Rigid Multi Fractal Simplex Noise. 2 octaves.")
|
||||
|
||||
BIOCTAVE_FRACTAL_RM_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_RIGID_MULTI_SIMPLEX, 1D, 2)),
|
||||
|
||||
@Desc("Rigid Multi Fractal Simplex Noise. 3 octaves.")
|
||||
|
||||
TRIOCTAVE_FRACTAL_RM_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_RIGID_MULTI_SIMPLEX, 1D, 3)),
|
||||
|
||||
@Desc("Billow Fractal Simplex Noise. 3 octaves.")
|
||||
|
||||
TRIOCTAVE_FRACTAL_BILLOW_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_BILLOW_SIMPLEX, 1D, 3)),
|
||||
|
||||
@Desc("FBM Fractal Simplex Noise. 3 octaves.")
|
||||
|
||||
TRIOCTAVE_FRACTAL_FBM_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_FBM_SIMPLEX, 1D, 3)),
|
||||
|
||||
@Desc("Rigid Multi Fractal Simplex Noise. 4 octaves.")
|
||||
|
||||
QUADOCTAVE_FRACTAL_RM_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_RIGID_MULTI_SIMPLEX, 1D, 4)),
|
||||
|
||||
@Desc("Billow Fractal Simplex Noise. 4 octaves.")
|
||||
|
||||
QUADOCTAVE_FRACTAL_BILLOW_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_BILLOW_SIMPLEX, 1D, 4)),
|
||||
|
||||
@Desc("FBM Fractal Simplex Noise. 4 octaves.")
|
||||
|
||||
QUADOCTAVE_FRACTAL_FBM_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_FBM_SIMPLEX, 1D, 4)),
|
||||
|
||||
@Desc("Rigid Multi Fractal Simplex Noise. 5 octaves.")
|
||||
|
||||
QUINTOCTAVE_FRACTAL_RM_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_RIGID_MULTI_SIMPLEX, 1D, 5)),
|
||||
|
||||
@Desc("Billow Fractal Simplex Noise. 5 octaves.")
|
||||
|
||||
QUINTOCTAVE_FRACTAL_BILLOW_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_BILLOW_SIMPLEX, 1D, 5)),
|
||||
|
||||
@Desc("FBM Fractal Simplex Noise. 5 octaves.")
|
||||
|
||||
QUINTOCTAVE_FRACTAL_FBM_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_FBM_SIMPLEX, 1D, 5)),
|
||||
|
||||
@Desc("Rigid Multi Fractal Simplex Noise. 6 octaves.")
|
||||
|
||||
SEXOCTAVE_FRACTAL_RM_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_RIGID_MULTI_SIMPLEX, 1D, 6)),
|
||||
|
||||
@Desc("Billow Fractal Simplex Noise. 6 octaves.")
|
||||
|
||||
SEXOCTAVE_FRACTAL_BILLOW_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_BILLOW_SIMPLEX, 1D, 6)),
|
||||
|
||||
@Desc("FBM Fractal Simplex Noise. 6 octaves.")
|
||||
|
||||
SEXOCTAVE_FRACTAL_FBM_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_FBM_SIMPLEX, 1D, 6)),
|
||||
|
||||
@Desc("Rigid Multi Fractal Simplex Noise. 7 octaves.")
|
||||
|
||||
SEPTOCTAVE_FRACTAL_RM_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_RIGID_MULTI_SIMPLEX, 1D, 7)),
|
||||
|
||||
@Desc("Billow Fractal Simplex Noise. 7 octaves.")
|
||||
|
||||
SEPTOCTAVE_FRACTAL_BILLOW_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_BILLOW_SIMPLEX, 1D, 7)),
|
||||
|
||||
@Desc("FBM Fractal Simplex Noise. 7 octaves.")
|
||||
|
||||
SEPTOCTAVE_FRACTAL_FBM_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_FBM_SIMPLEX, 1D, 7)),
|
||||
|
||||
@Desc("Rigid Multi Fractal Simplex Noise. 8 octaves.")
|
||||
|
||||
OCTOCTAVE_FRACTAL_RM_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_RIGID_MULTI_SIMPLEX, 1D, 8)),
|
||||
|
||||
@Desc("Billow Fractal Simplex Noise. 8 octaves.")
|
||||
|
||||
OCTOCTAVE_FRACTAL_BILLOW_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_BILLOW_SIMPLEX, 1D, 8)),
|
||||
|
||||
@Desc("FBM Fractal Simplex Noise. 8 octaves.")
|
||||
|
||||
OCTOCTAVE_FRACTAL_FBM_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_FBM_SIMPLEX, 1D, 8)),
|
||||
|
||||
@Desc("Rigid Multi Fractal Simplex Noise. 9 octaves.")
|
||||
|
||||
NONOCTAVE_FRACTAL_RM_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_RIGID_MULTI_SIMPLEX, 1D, 9)),
|
||||
|
||||
@Desc("Billow Fractal Simplex Noise. 9 octaves.")
|
||||
|
||||
NONOCTAVE_FRACTAL_BILLOW_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_BILLOW_SIMPLEX, 1D, 9)),
|
||||
|
||||
@Desc("FBM Fractal Simplex Noise. 9 octaves.")
|
||||
|
||||
NONOCTAVE_FRACTAL_FBM_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_FBM_SIMPLEX, 1D, 9)),
|
||||
|
||||
@Desc("Rigid Multi Fractal Simplex Noise. 10 octaves.")
|
||||
|
||||
VIGOCTAVE_FRACTAL_RM_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_RIGID_MULTI_SIMPLEX, 1D, 10)),
|
||||
|
||||
@Desc("Billow Fractal Simplex Noise. 10 octaves.")
|
||||
|
||||
VIGOCTAVE_FRACTAL_BILLOW_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_BILLOW_SIMPLEX, 1D, 10)),
|
||||
|
||||
@Desc("FBM Fractal Simplex Noise. 10 octaves.")
|
||||
|
||||
VIGOCTAVE_FRACTAL_FBM_SIMPLEX(rng -> new CNG(rng, NoiseType.FRACTAL_FBM_SIMPLEX, 1D, 10)),
|
||||
|
||||
@Desc("Basic, Smooth & Fast Simplex noise. Uses 2 octaves")
|
||||
|
||||
BIOCTAVE_SIMPLEX(rng -> new CNG(rng, 1D, 2).scale(1D / 2D)),
|
||||
|
||||
@Desc("Basic, Smooth & Fast Simplex noise. Uses 3 octaves")
|
||||
|
||||
TRIOCTAVE_SIMPLEX(rng -> new CNG(rng, 1D, 3).scale(1D / 3D)),
|
||||
|
||||
@Desc("Basic, Smooth & Fast Simplex noise. Uses 4 octaves")
|
||||
|
||||
QUADOCTAVE_SIMPLEX(rng -> new CNG(rng, 1D, 4).scale(1D / 4D)),
|
||||
|
||||
@Desc("Basic, Smooth & Fast Simplex noise. Uses 5 octaves")
|
||||
|
||||
QUINTOCTAVE_SIMPLEX(rng -> new CNG(rng, 1D, 5).scale(1D / 5D)),
|
||||
|
||||
@Desc("Basic, Smooth & Fast Simplex noise. Uses 6 octaves")
|
||||
|
||||
SEXOCTAVE_SIMPLEX(rng -> new CNG(rng, 1D, 6).scale(1D / 6D)),
|
||||
|
||||
@Desc("Basic, Smooth & Fast Simplex noise. Uses 7 octaves")
|
||||
|
||||
SEPTOCTAVE_SIMPLEX(rng -> new CNG(rng, 1D, 7).scale(1D / 12D)),
|
||||
|
||||
@Desc("Basic, Smooth & Fast Simplex noise. Uses 8 octaves")
|
||||
|
||||
OCTOCTAVE_SIMPLEX(rng -> new CNG(rng, 1D, 8).scale(1D / 25D)),
|
||||
|
||||
@Desc("Basic, Smooth & Fast Simplex noise. Uses 9 octaves")
|
||||
|
||||
NONOCTAVE_SIMPLEX(rng -> new CNG(rng, 1D, 9).scale(1D / 50D)),
|
||||
|
||||
@Desc("Basic, Smooth & Fast Simplex noise. Uses 10 octaves")
|
||||
|
||||
VIGOCTAVE_SIMPLEX(rng -> new CNG(rng, 1D, 10).scale(1D / 100D)),
|
||||
|
||||
@Desc("Glob noise is like cellular, but with globs...")
|
||||
|
||||
GLOB(rng -> new CNG(rng, NoiseType.GLOB, 1D, 1)),
|
||||
|
||||
@Desc("Glob noise is like cellular, but with globs...")
|
||||
|
||||
GLOB_IRIS(rng -> CNG.signature(rng, NoiseType.GLOB)),
|
||||
|
||||
@Desc("Glob noise is like cellular, but with globs...")
|
||||
|
||||
GLOB_IRIS_HALF(rng -> CNG.signatureHalf(rng, NoiseType.GLOB)),
|
||||
|
||||
@Desc("Glob noise is like cellular, but with globs...")
|
||||
|
||||
GLOB_IRIS_DOUBLE(rng -> CNG.signatureDouble(rng, NoiseType.GLOB)),
|
||||
|
||||
@Desc("Glob noise is like cellular, but with globs...")
|
||||
|
||||
GLOB_IRIS_THICK(rng -> CNG.signatureThick(rng, NoiseType.GLOB)),
|
||||
|
||||
@Desc("Cubic Noise")
|
||||
|
||||
CUBIC(rng -> new CNG(rng, NoiseType.CUBIC, 1D, 1).scale(256)),
|
||||
|
||||
@Desc("Fractal Cubic Noise")
|
||||
|
||||
FRACTAL_CUBIC(rng -> new CNG(rng, NoiseType.FRACTAL_CUBIC, 1D, 1).scale(2)),
|
||||
|
||||
@Desc("Fractal Cubic Noise With Iris Swirls")
|
||||
|
||||
FRACTAL_CUBIC_IRIS(rng -> CNG.signature(rng, NoiseType.FRACTAL_CUBIC).scale(2)),
|
||||
|
||||
@Desc("Fractal Cubic Noise With Iris Swirls")
|
||||
|
||||
FRACTAL_CUBIC_IRIS_THICK(rng -> CNG.signatureThick(rng, NoiseType.FRACTAL_CUBIC).scale(2)),
|
||||
|
||||
@Desc("Fractal Cubic Noise With Iris Swirls")
|
||||
|
||||
FRACTAL_CUBIC_IRIS_HALF(rng -> CNG.signatureHalf(rng, NoiseType.FRACTAL_CUBIC).scale(2)),
|
||||
|
||||
@Desc("Fractal Cubic Noise With Iris Swirls")
|
||||
|
||||
FRACTAL_CUBIC_IRIS_DOUBLE(rng -> CNG.signatureDouble(rng, NoiseType.FRACTAL_CUBIC).scale(2)),
|
||||
|
||||
@Desc("Fractal Cubic Noise, 2 Octaves")
|
||||
|
||||
BIOCTAVE_FRACTAL_CUBIC(rng -> new CNG(rng, NoiseType.FRACTAL_CUBIC, 1D, 2).scale(2)),
|
||||
|
||||
@Desc("Fractal Cubic Noise, 3 Octaves")
|
||||
|
||||
TRIOCTAVE_FRACTAL_CUBIC(rng -> new CNG(rng, NoiseType.FRACTAL_CUBIC, 1D, 3).scale(1.5)),
|
||||
|
||||
@Desc("Fractal Cubic Noise, 4 Octaves")
|
||||
|
||||
QUADOCTAVE_FRACTAL_CUBIC(rng -> new CNG(rng, NoiseType.FRACTAL_CUBIC, 1D, 4).scale(1)),
|
||||
|
||||
@Desc("Cubic Noise")
|
||||
|
||||
CUBIC_IRIS(rng -> CNG.signature(rng, NoiseType.CUBIC).scale(256)),
|
||||
|
||||
@Desc("Cubic Noise")
|
||||
|
||||
CUBIC_IRIS_HALF(rng -> CNG.signatureHalf(rng, NoiseType.CUBIC).scale(256)),
|
||||
|
||||
@Desc("Cubic Noise")
|
||||
|
||||
CUBIC_IRIS_DOUBLE(rng -> CNG.signatureDouble(rng, NoiseType.CUBIC).scale(256)),
|
||||
|
||||
@Desc("Cubic Noise")
|
||||
|
||||
CUBIC_IRIS_THICK(rng -> CNG.signatureThick(rng, NoiseType.CUBIC).scale(256)),
|
||||
|
||||
@Desc("Cellular noise creates the same noise level for cells, changes noise level on cell borders.")
|
||||
|
||||
CELLULAR(rng -> new CNG(rng, NoiseType.CELLULAR, 1D, 1)),
|
||||
|
||||
@Desc("Cellular noise creates the same noise level for cells, changes noise level on cell borders. Cells are distorted using Iris styled wispy noise.")
|
||||
|
||||
CELLULAR_IRIS(rng -> CNG.signature(rng, NoiseType.CELLULAR)),
|
||||
|
||||
@Desc("Cellular noise creates the same noise level for cells, changes noise level on cell borders. Cells are distorted using Iris styled wispy noise.")
|
||||
|
||||
CELLULAR_IRIS_THICK(rng -> CNG.signatureThick(rng, NoiseType.CELLULAR)),
|
||||
|
||||
@Desc("Cellular noise creates the same noise level for cells, changes noise level on cell borders. Cells are distorted using Iris styled wispy noise.")
|
||||
|
||||
CELLULAR_IRIS_DOUBLE(rng -> CNG.signatureDouble(rng, NoiseType.CELLULAR)),
|
||||
|
||||
@Desc("Cellular noise creates the same noise level for cells, changes noise level on cell borders. Cells are distorted using Iris styled wispy noise.")
|
||||
|
||||
CELLULAR_IRIS_HALF(rng -> CNG.signatureHalf(rng, NoiseType.CELLULAR)),
|
||||
|
||||
@Desc("Inverse of vascular, height gets to 1.0 as it approaches the center of a cell")
|
||||
|
||||
CELLULAR_HEIGHT(rng -> new CNG(rng, NoiseType.CELLULAR_HEIGHT, 1D, 1)),
|
||||
|
||||
@Desc("Inverse of vascular, height gets to 1.0 as it approaches the center of a cell, using the iris style.")
|
||||
|
||||
CELLULAR_HEIGHT_IRIS(rng -> CNG.signature(rng, NoiseType.CELLULAR_HEIGHT)),
|
||||
|
||||
@Desc("Inverse of vascular, height gets to 1.0 as it approaches the center of a cell, using the iris style.")
|
||||
|
||||
CELLULAR_HEIGHT_IRIS_DOUBLE(rng -> CNG.signatureDouble(rng, NoiseType.CELLULAR_HEIGHT)),
|
||||
|
||||
@Desc("Inverse of vascular, height gets to 1.0 as it approaches the center of a cell, using the iris style.")
|
||||
|
||||
CELLULAR_HEIGHT_IRIS_THICK(rng -> CNG.signatureThick(rng, NoiseType.CELLULAR_HEIGHT)),
|
||||
|
||||
@Desc("Inverse of vascular, height gets to 1.0 as it approaches the center of a cell, using the iris style.")
|
||||
|
||||
CELLULAR_HEIGHT_IRIS_HALF(rng -> CNG.signatureHalf(rng, NoiseType.CELLULAR_HEIGHT)),
|
||||
|
||||
@Desc("Vascular noise gets higher as the position nears a cell border.")
|
||||
|
||||
VASCULAR(rng -> new CNG(rng, NoiseType.VASCULAR, 1D, 1)),
|
||||
|
||||
@Desc("It always returns 0.5")
|
||||
|
||||
FLAT(rng -> new CNG(rng, NoiseType.FLAT, 1D, 1)),
|
||||
|
||||
@Desc("Vascular noise gets higher as the position nears a cell border. Cells are distorted using Iris styled wispy noise.")
|
||||
|
||||
VASCULAR_IRIS(rng -> CNG.signature(rng, NoiseType.VASCULAR)),
|
||||
|
||||
@Desc("Vascular noise gets higher as the position nears a cell border. Cells are distorted using Iris styled wispy noise.")
|
||||
|
||||
VASCULAR_IRIS_DOUBLE(rng -> CNG.signatureDouble(rng, NoiseType.VASCULAR)),
|
||||
|
||||
@Desc("Vascular noise gets higher as the position nears a cell border. Cells are distorted using Iris styled wispy noise.")
|
||||
|
||||
VASCULAR_IRIS_THICK(rng -> CNG.signatureThick(rng, NoiseType.VASCULAR)),
|
||||
|
||||
@Desc("Vascular noise gets higher as the position nears a cell border. Cells are distorted using Iris styled wispy noise.")
|
||||
|
||||
VASCULAR_IRIS_HALF(rng -> CNG.signatureHalf(rng, NoiseType.VASCULAR)),
|
||||
|
||||
;
|
||||
|
Loading…
x
Reference in New Issue
Block a user