diff --git a/src/main/java/com/volmit/iris/ProjectManager.java b/src/main/java/com/volmit/iris/ProjectManager.java index 657198107..17d9d7ef0 100644 --- a/src/main/java/com/volmit/iris/ProjectManager.java +++ b/src/main/java/com/volmit/iris/ProjectManager.java @@ -11,9 +11,9 @@ import org.bukkit.GameMode; import org.bukkit.Location; import org.bukkit.Particle; import org.bukkit.World; +import org.bukkit.World.Environment; import org.bukkit.WorldCreator; import org.bukkit.WorldType; -import org.bukkit.World.Environment; import org.bukkit.block.Biome; import org.bukkit.potion.PotionEffectType; import org.zeroturnaround.zip.ZipUtil; @@ -678,6 +678,16 @@ public class ProjectManager if(k.getType().equals(String.class)) { tp = "string"; + + if(k.isAnnotationPresent(MinNumber.class)) + { + prop.put("minLength", (int) k.getDeclaredAnnotation(MinNumber.class).value()); + } + + if(k.isAnnotationPresent(MaxNumber.class)) + { + prop.put("maxLength", (int) k.getDeclaredAnnotation(MaxNumber.class).value()); + } } if(k.getType().equals(String.class)) diff --git a/src/main/java/com/volmit/iris/object/IrisBiome.java b/src/main/java/com/volmit/iris/object/IrisBiome.java index 15cda030e..864417b63 100644 --- a/src/main/java/com/volmit/iris/object/IrisBiome.java +++ b/src/main/java/com/volmit/iris/object/IrisBiome.java @@ -28,6 +28,7 @@ import lombok.EqualsAndHashCode; @EqualsAndHashCode(callSuper = false) public class IrisBiome extends IrisRegistrant implements IRare { + @MinNumber(2) @Required @DontObfuscate @Desc("This is the human readable name for this biome. This can and should be different than the file name. This is not used for loading biomes in other objects.") diff --git a/src/main/java/com/volmit/iris/object/IrisDimension.java b/src/main/java/com/volmit/iris/object/IrisDimension.java index 2c4e80ed3..3ede5257c 100644 --- a/src/main/java/com/volmit/iris/object/IrisDimension.java +++ b/src/main/java/com/volmit/iris/object/IrisDimension.java @@ -34,6 +34,7 @@ public class IrisDimension extends IrisRegistrant public static final BlockData STONE = Material.STONE.createBlockData(); public static final BlockData WATER = Material.WATER.createBlockData(); + @MinNumber(2) @Required @DontObfuscate @Desc("The human readable name of this dimension") @@ -117,12 +118,12 @@ public class IrisDimension extends IrisRegistrant @Desc("Use post processing or not") private boolean postProcessing = true; - @ArrayType(min=1,type=IrisPostProcessor.class) + @ArrayType(min = 1, type = IrisPostProcessor.class) @DontObfuscate @Desc("Post Processors") private KList postProcessors = getDefaultPostProcessors(); - @ArrayType(min=1,type=IrisCompatabilityFilter.class) + @ArrayType(min = 1, type = IrisCompatabilityFilter.class) @DontObfuscate @Desc("Compatability filters") private KList compatability = getDefaultCompatability(); @@ -141,7 +142,7 @@ public class IrisDimension extends IrisRegistrant private Environment environment = Environment.NORMAL; @Required - @ArrayType(min=1,type=String.class) + @ArrayType(min = 1, type = String.class) @DontObfuscate @Desc("Define all of the regions to include in this dimension. Dimensions -> Regions -> Biomes -> Objects etc") private KList regions = new KList<>(); @@ -231,7 +232,7 @@ public class IrisDimension extends IrisRegistrant @Desc("Prevent Leaf decay as if placed in creative mode") private boolean preventLeafDecay = false; - @ArrayType(min=1,type=IrisDepositGenerator.class) + @ArrayType(min = 1, type = IrisDepositGenerator.class) @DontObfuscate @Desc("Define global deposit generators") private KList deposits = new KList<>(); @@ -246,17 +247,17 @@ public class IrisDimension extends IrisRegistrant @Desc("The rock zoom mostly for zooming in on a wispy palette") private double rockZoom = 5; - @ArrayType(min=1,type=String.class) + @ArrayType(min = 1, type = String.class) @DontObfuscate @Desc("The palette of blocks for 'stone'") private KList rockPalette = new KList().qadd("STONE"); - @ArrayType(min=1,type=String.class) + @ArrayType(min = 1, type = String.class) @DontObfuscate @Desc("The palette of blocks for 'water'") private KList fluidPalette = new KList().qadd("WATER"); - @ArrayType(min=1,type=IrisBiomeMutation.class) + @ArrayType(min = 1, type = IrisBiomeMutation.class) @DontObfuscate @Desc("Define biome mutations for this dimension") private KList mutations = new KList<>(); diff --git a/src/main/java/com/volmit/iris/object/IrisRegion.java b/src/main/java/com/volmit/iris/object/IrisRegion.java index 813c18ae0..fdc77957e 100644 --- a/src/main/java/com/volmit/iris/object/IrisRegion.java +++ b/src/main/java/com/volmit/iris/object/IrisRegion.java @@ -24,6 +24,7 @@ import lombok.EqualsAndHashCode; @EqualsAndHashCode(callSuper = false) public class IrisRegion extends IrisRegistrant implements IRare { + @MinNumber(2) @Required @DontObfuscate @Desc("The name of the region") diff --git a/src/main/java/com/volmit/iris/object/IrisStructure.java b/src/main/java/com/volmit/iris/object/IrisStructure.java index b8b125d92..5c82ee7cc 100644 --- a/src/main/java/com/volmit/iris/object/IrisStructure.java +++ b/src/main/java/com/volmit/iris/object/IrisStructure.java @@ -21,6 +21,7 @@ import lombok.EqualsAndHashCode; @EqualsAndHashCode(callSuper = false) public class IrisStructure extends IrisRegistrant { + @MinNumber(2) @Required @DontObfuscate @Desc("This is the human readable name for this structure. Such as Red Dungeon or Tropical Village.")