From 352adbc9cbeb7fa0ad5f9ad1cd45dfbe420bf52f Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Wed, 9 Sep 2020 22:52:29 -0400 Subject: [PATCH] Support weight --- .../java/com/volmit/iris/object/IrisBiomePaletteLayer.java | 7 +++++-- src/main/java/com/volmit/iris/object/IrisBlockData.java | 5 ++++- .../java/com/volmit/iris/object/IrisMaterialPalette.java | 5 ++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/volmit/iris/object/IrisBiomePaletteLayer.java b/src/main/java/com/volmit/iris/object/IrisBiomePaletteLayer.java index 8b389d847..88cc4d695 100644 --- a/src/main/java/com/volmit/iris/object/IrisBiomePaletteLayer.java +++ b/src/main/java/com/volmit/iris/object/IrisBiomePaletteLayer.java @@ -50,7 +50,7 @@ public class IrisBiomePaletteLayer private double zoom = 5; @Required - @ArrayType(min = 1, type = String.class) + @ArrayType(min = 1, type = IrisBlockData.class) @DontObfuscate @Desc("The palette of blocks to be used in this layer") private KList palette = new KList().qadd(new IrisBlockData("GRASS_BLOCK")); @@ -105,7 +105,10 @@ public class IrisBiomePaletteLayer BlockData bx = ix.getBlockData(); if(bx != null) { - blockData.add(bx); + for(int i = 0; i < ix.getWeight(); i++) + { + blockData.add(bx); + } } } diff --git a/src/main/java/com/volmit/iris/object/IrisBlockData.java b/src/main/java/com/volmit/iris/object/IrisBlockData.java index 19aefd368..4a8ab8e18 100644 --- a/src/main/java/com/volmit/iris/object/IrisBlockData.java +++ b/src/main/java/com/volmit/iris/object/IrisBlockData.java @@ -24,7 +24,6 @@ import lombok.experimental.Accessors; public class IrisBlockData { @RegistryListBlockType - @Required @DontObfuscate @Desc("The cave zoom. Higher values makes caves spread out further and branch less often, but are thicker.") @@ -34,6 +33,10 @@ public class IrisBlockData @Desc("The resource key. Typically Minecraft") private String key = "minecraft"; + @DontObfuscate + @Desc("The weight is used when this block data is inside of a list of blockdata. A weight of two is just as if you placed two of the same block data values in the same list making it more common when randomly picked.") + private int weight = 1; + @DontObfuscate @Desc("Optional properties for this block data such as 'waterlogged': true") private KMap data = new KMap<>(); diff --git a/src/main/java/com/volmit/iris/object/IrisMaterialPalette.java b/src/main/java/com/volmit/iris/object/IrisMaterialPalette.java index e6b9bcec4..860388e5c 100644 --- a/src/main/java/com/volmit/iris/object/IrisMaterialPalette.java +++ b/src/main/java/com/volmit/iris/object/IrisMaterialPalette.java @@ -91,7 +91,10 @@ public class IrisMaterialPalette BlockData bx = ix.getBlockData(); if(bx != null) { - blockData.add(bx); + for(int i = 0; i < ix.getWeight(); i++) + { + blockData.add(bx); + } } }