From 4eb111765973e409477634cb8f3565694a305d89 Mon Sep 17 00:00:00 2001 From: CocoTheOwner Date: Sat, 17 Jul 2021 18:45:11 +0200 Subject: [PATCH] Ok? --- .../com/volmit/iris/core/SaplingManager.java | 1 + .../volmit/iris/engine/object/IrisBiome.java | 3 +- .../iris/engine/object/IrisDimension.java | 6 ++-- .../volmit/iris/engine/object/IrisRegion.java | 3 +- .../iris/engine/object/IrisSapling.java | 34 ++++++++++++++++++- 5 files changed, 41 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/volmit/iris/core/SaplingManager.java b/src/main/java/com/volmit/iris/core/SaplingManager.java index a4f781c4d..e23e779c3 100644 --- a/src/main/java/com/volmit/iris/core/SaplingManager.java +++ b/src/main/java/com/volmit/iris/core/SaplingManager.java @@ -25,5 +25,6 @@ public class SaplingManager implements Listener { // TODO: Remove this line Iris.info("Sapling grew @ " + event.getLocation() + " for " + event.getSpecies().name() + " bonemealed is " + event.isFromBonemeal() + " by player " + Objects.requireNonNull(event.getPlayer()).getName()); + } } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisBiome.java b/src/main/java/com/volmit/iris/engine/object/IrisBiome.java index fb3baadca..a7872f6ec 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisBiome.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisBiome.java @@ -82,7 +82,8 @@ public class IrisBiome extends IrisRegistrant implements IRare { private KList entityInitialSpawns = new KList<>(); @Desc("Sapling override settings") - private IrisSaplings saplings = new IrisSaplings(); + @ArrayType(min = 1, type = IrisSapling.class) + private KList saplings = new KList<>(); @ArrayType(min = 1, type = IrisEffect.class) @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.") diff --git a/src/main/java/com/volmit/iris/engine/object/IrisDimension.java b/src/main/java/com/volmit/iris/engine/object/IrisDimension.java index ed8424099..61b0c2efe 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisDimension.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisDimension.java @@ -66,7 +66,6 @@ public class IrisDimension extends IrisRegistrant { 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; @@ -75,10 +74,11 @@ public class IrisDimension extends IrisRegistrant { private boolean aggressiveBiomeReshuffle = false; @Desc("Sapling override settings") - private IrisSaplings saplings = new IrisSaplings(); + @ArrayType(min = 1, type = IrisSapling.class) + private KList saplings = new KList<>(); @Desc("Enable sapling overrides") - private boolean useSaplings = false; + private boolean overrideSaplings = 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.") diff --git a/src/main/java/com/volmit/iris/engine/object/IrisRegion.java b/src/main/java/com/volmit/iris/engine/object/IrisRegion.java index f821a9be7..43f8ad114 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisRegion.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisRegion.java @@ -80,7 +80,8 @@ public class IrisRegion extends IrisRegistrant implements IRare { private KList entityInitialSpawns = new KList<>(); @Desc("Sapling override settings") - private IrisSaplings saplings = new IrisSaplings(); + @ArrayType(min = 1, type = IrisSapling.class) + private KList saplings = new KList<>(); @MinNumber(1) @MaxNumber(128) diff --git a/src/main/java/com/volmit/iris/engine/object/IrisSapling.java b/src/main/java/com/volmit/iris/engine/object/IrisSapling.java index 09734c3fc..76e4861c7 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisSapling.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisSapling.java @@ -1,2 +1,34 @@ -package com.volmit.iris.engine.object;public class IrisSapling { +package com.volmit.iris.engine.object; + +import com.volmit.iris.engine.object.annotations.*; +import com.volmit.iris.util.collection.KList; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; +import org.bukkit.TreeType; + +@Accessors(chain = true) +@AllArgsConstructor +@NoArgsConstructor +@Desc("Sapling override settings") +@Data +public class IrisSapling { + + @Required + @Desc("The types of saplings overwritten") + @ArrayType(min = 1, type = TreeType.class) + private KList types; + + @RegistryListObject + @Required + @ArrayType(min = 1, type = String.class) + @Desc("List of objects to overwrite saplings with") + private KList replace = new KList<>(); + + @Desc("The size of the square of saplings this applies to (two means a 2 by 2 sapling area") + @MinNumber(1) + @MaxNumber(4) + private int size = 1; + }