diff --git a/README.md b/README.md
index 5f8bc7583..0ca55da41 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,2 @@
# Terra
-Overworld generator based on Gaea.
+Terra is a data-driven world generator based on [Gaea](https://github.com/PolyhedralDev/Gaea).
diff --git a/pom.xml b/pom.xml
index ae61b9d7b..b8991a319 100644
--- a/pom.xml
+++ b/pom.xml
@@ -100,7 +100,7 @@
org.polydev
gaea
- 1.11.3
+ 1.11.6
provided
diff --git a/src/main/java/com/dfsek/terra/config/base/ConfigUtil.java b/src/main/java/com/dfsek/terra/config/base/ConfigUtil.java
index 0754d62ef..0eb586533 100644
--- a/src/main/java/com/dfsek/terra/config/base/ConfigUtil.java
+++ b/src/main/java/com/dfsek/terra/config/base/ConfigUtil.java
@@ -1,5 +1,6 @@
package com.dfsek.terra.config.base;
+import com.dfsek.terra.Debug;
import com.dfsek.terra.Terra;
import com.dfsek.terra.TerraWorld;
import com.dfsek.terra.biome.failsafe.FailType;
@@ -11,14 +12,20 @@ import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.plugin.java.JavaPlugin;
+import java.io.File;
+import java.io.IOException;
+import java.net.URISyntaxException;
import java.time.Duration;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.Set;
+import java.util.jar.JarFile;
import java.util.logging.Level;
import java.util.logging.Logger;
+import static org.polydev.gaea.util.JarUtil.copyResourcesToDirectory;
+
public final class ConfigUtil {
public static boolean debug;
public static long dataSave; // Period of population data saving, in ticks.
@@ -34,6 +41,17 @@ public final class ConfigUtil {
dataSave = Duration.parse(Objects.requireNonNull(config.getString("data-save", "PT6M"))).toMillis()/20L;
masterDisableCaves = config.getBoolean("master-disable.caves", false);
+ if(config.getBoolean("dump-default", true)) {
+ try(JarFile jar = new JarFile(new File(Terra.class.getProtectionDomain().getCodeSource().getLocation().toURI()))) {
+ copyResourcesToDirectory(jar, "default-config", new File(main.getDataFolder(), "packs" + File.separator + "default").toString());
+ } catch(IOException | URISyntaxException e) {
+ Debug.error("Failed to dump default config files!");
+ e.printStackTrace();
+ Debug.error("Report this to Terra!");
+ }
+ }
+
+
String fail = config.getString("fail-type", "SHUTDOWN");
try {
failType = FailType.valueOf(fail);
diff --git a/src/main/java/com/dfsek/terra/config/genconfig/TreeConfig.java b/src/main/java/com/dfsek/terra/config/genconfig/TreeConfig.java
index 3be8b3985..f872dcd86 100644
--- a/src/main/java/com/dfsek/terra/config/genconfig/TreeConfig.java
+++ b/src/main/java/com/dfsek/terra/config/genconfig/TreeConfig.java
@@ -61,7 +61,7 @@ public class TreeConfig extends TerraConfig implements Tree {
}
@Override
- public boolean plant(Location location, Random random, boolean b, JavaPlugin javaPlugin) {
+ public boolean plant(Location location, Random random, JavaPlugin javaPlugin) {
Location mut = location.clone().subtract(0, yOffset, 0);
if(!spawnable.contains(location.getBlock().getType())) return false;
Structure struc = structure.get(random);
diff --git a/src/main/java/com/dfsek/terra/config/lang/LangUtil.java b/src/main/java/com/dfsek/terra/config/lang/LangUtil.java
index b54a33929..9db299150 100644
--- a/src/main/java/com/dfsek/terra/config/lang/LangUtil.java
+++ b/src/main/java/com/dfsek/terra/config/lang/LangUtil.java
@@ -8,16 +8,14 @@ import org.bukkit.plugin.java.JavaPlugin;
import org.polydev.gaea.lang.Language;
import java.io.File;
-import java.io.FileOutputStream;
import java.io.IOException;
-import java.io.InputStream;
import java.net.URISyntaxException;
-import java.util.Enumeration;
-import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.logging.Level;
import java.util.logging.Logger;
+import static org.polydev.gaea.util.JarUtil.copyResourcesToDirectory;
+
public final class LangUtil {
private static Language language;
private static Logger logger;
@@ -25,7 +23,7 @@ public final class LangUtil {
logger = main.getLogger();
File file = new File(main.getDataFolder(), "lang");
try(JarFile jar = new JarFile(new File(Terra.class.getProtectionDomain().getCodeSource().getLocation().toURI()))) {
- copyResourcesToDirectory(jar, file.toString());
+ copyResourcesToDirectory(jar, "lang", file.toString());
} catch(IOException | URISyntaxException e) {
Debug.error("Failed to dump language files!");
e.printStackTrace();
@@ -39,31 +37,6 @@ public final class LangUtil {
logger.severe("Double-check your configuration before reporting this to Terra!");
}
}
- private static void copyResourcesToDirectory(JarFile fromJar, String destDir) throws IOException {
- for(Enumeration entries = fromJar.entries(); entries.hasMoreElements(); ) {
- JarEntry entry = entries.nextElement();
- if(entry.getName().startsWith("lang" + "/") && ! entry.isDirectory()) {
- File dest = new File(destDir + File.separator + entry.getName().substring("lang".length() + 1));
- Debug.info("Output: " + dest.toString());
- if(dest.exists()) continue;
- File parent = dest.getParentFile();
- if(parent != null) {
- parent.mkdirs();
- }
- Debug.info("Output does not already exist. Creating... ");
- try(FileOutputStream out = new FileOutputStream(dest); InputStream in = fromJar.getInputStream(entry)) {
- byte[] buffer = new byte[8 * 1024];
-
- int s;
- while((s = in.read(buffer)) > 0) {
- out.write(buffer, 0, s);
- }
- } catch(IOException e) {
- throw new IOException("Could not copy asset from jar file", e);
- }
- }
- }
- }
public static Language getLanguage() {
return language;
diff --git a/src/main/java/com/dfsek/terra/population/FloraPopulator.java b/src/main/java/com/dfsek/terra/population/FloraPopulator.java
index 34c2fc855..fc3e93c37 100644
--- a/src/main/java/com/dfsek/terra/population/FloraPopulator.java
+++ b/src/main/java/com/dfsek/terra/population/FloraPopulator.java
@@ -69,7 +69,7 @@ public class FloraPopulator extends GaeaBlockPopulator {
Range range = world.getConfig().getBiome(biome).getTreeRange(tree);
if(!range.isInRange(block.getY())) continue;
try {
- return tree.plant(block.getLocation(), random, false, Terra.getInstance());
+ return tree.plant(block.getLocation(), random, Terra.getInstance());
} catch(NullPointerException ignore) {}
}
return false;
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index 76367dea6..3488f1a05 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -2,5 +2,6 @@ debug: false
data-save: PT6M
language: "en_us"
fail-type: SHUTDOWN
+dump-default: true
master-disable:
caves: false
\ No newline at end of file
diff --git a/src/main/resources/default-config/abstract/biomes/basic_ores.yml b/src/main/resources/default-config/abstract/biomes/basic_ores.yml
new file mode 100644
index 000000000..0a4b2bb1a
--- /dev/null
+++ b/src/main/resources/default-config/abstract/biomes/basic_ores.yml
@@ -0,0 +1,62 @@
+id: "BASIC_ORES"
+
+carving:
+ - CAVE: 30
+ - RAVINE: 5
+ - CAVERN: 5
+ores:
+ DIRT:
+ min: 0
+ max: 1
+ min-height: 0
+ max-height: 84
+ GRAVEL:
+ min: 0
+ max: 1
+ min-height: 0
+ max-height: 84
+ DIORITE:
+ min: 0
+ max: 1
+ min-height: 0
+ max-height: 84
+ ANDESITE:
+ min: 0
+ max: 1
+ min-height: 0
+ max-height: 84
+ GRANITE:
+ min: 0
+ max: 1
+ min-height: 0
+ max-height: 84
+ COAL_ORE:
+ min: 4
+ max: 8
+ min-height: 0
+ max-height: 84
+ IRON_ORE:
+ min: 2
+ max: 6
+ min-height: 0
+ max-height: 64
+ GOLD_ORE:
+ min: 1
+ max: 3
+ min-height: 0
+ max-height: 32
+ LAPIS_ORE:
+ min: 1
+ max: 2
+ min-height: 0
+ max-height: 32
+ REDSTONE_ORE:
+ min: 1
+ max: 2
+ min-height: 0
+ max-height: 16
+ DIAMOND_ORE:
+ min: 1
+ max: 1
+ min-height: 0
+ max-height: 16
\ No newline at end of file
diff --git a/src/main/resources/default-config/abstract/biomes/beach_abstract.yml b/src/main/resources/default-config/abstract/biomes/beach_abstract.yml
new file mode 100644
index 000000000..82c88dca9
--- /dev/null
+++ b/src/main/resources/default-config/abstract/biomes/beach_abstract.yml
@@ -0,0 +1,94 @@
+noise-equation: "((-((y / 58)^2)) + 1) + (noise2(x, z)/4)"
+id: "BEACH_ABSTRACT"
+
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - SANDY: 64
+ - GRASSY: 255
+
+
+flora:
+ chance: 60
+ attempts: 1
+ items:
+ TALL_GRASS:
+ weight: 15
+ y:
+ min: 62
+ max: 84
+ LILY_PAD:
+ weight: 1
+ y:
+ min: 62
+ max: 84
+ GRASS:
+ weight: 70
+ y:
+ min: 62
+ max: 84
+ POPPY:
+ weight: 5
+ y:
+ min: 62
+ max: 84
+
+ores:
+ DIRT:
+ min: 0
+ max: 2
+ min-height: 0
+ max-height: 128
+ GRAVEL:
+ min: 0
+ max: 2
+ min-height: 0
+ max-height: 128
+ DIORITE:
+ min: 0
+ max: 2
+ min-height: 0
+ max-height: 128
+ ANDESITE:
+ min: 0
+ max: 2
+ min-height: 0
+ max-height: 128
+ GRANITE:
+ min: 0
+ max: 2
+ min-height: 0
+ max-height: 128
+ COAL_ORE:
+ min: 5
+ max: 15
+ min-height: 0
+ max-height: 128
+ IRON_ORE:
+ min: 2
+ max: 6
+ min-height: 0
+ max-height: 64
+ GOLD_ORE:
+ min: 1
+ max: 3
+ min-height: 0
+ max-height: 32
+ LAPIS_ORE:
+ min: 1
+ max: 4
+ min-height: 0
+ max-height: 32
+ REDSTONE_ORE:
+ min: 1
+ max: 4
+ min-height: 0
+ max-height: 16
+ DIAMOND_ORE:
+ min: 1
+ max: 2
+ min-height: 0
+ max-height: 16
\ No newline at end of file
diff --git a/src/main/resources/default-config/abstract/biomes/mountain/mountains_pretty.yml b/src/main/resources/default-config/abstract/biomes/mountain/mountains_pretty.yml
new file mode 100644
index 000000000..5a90ff277
--- /dev/null
+++ b/src/main/resources/default-config/abstract/biomes/mountain/mountains_pretty.yml
@@ -0,0 +1,114 @@
+noise-equation: "((-((y / 76)^2)) + 1) + ((noise2(x, z)+0.5) / 3) + abs(noise2(x/2, z/2)*6)"
+id: "MOUNTAINS_PRETTY"
+
+carving:
+ - CAVE: 30
+ - RAVINE: 5
+ - CAVERN: 5
+
+ores:
+ DIRT:
+ min: 0
+ max: 1
+ min-height: 0
+ max-height: 84
+ GRAVEL:
+ min: 0
+ max: 1
+ min-height: 0
+ max-height: 84
+ DIORITE:
+ min: 0
+ max: 1
+ min-height: 0
+ max-height: 84
+ ANDESITE:
+ min: 0
+ max: 1
+ min-height: 0
+ max-height: 84
+ GRANITE:
+ min: 0
+ max: 1
+ min-height: 0
+ max-height: 84
+ COAL_ORE:
+ min: 4
+ max: 8
+ min-height: 0
+ max-height: 84
+ IRON_ORE:
+ min: 2
+ max: 6
+ min-height: 0
+ max-height: 64
+ GOLD_ORE:
+ min: 1
+ max: 3
+ min-height: 0
+ max-height: 32
+ LAPIS_ORE:
+ min: 1
+ max: 2
+ min-height: 0
+ max-height: 32
+ REDSTONE_ORE:
+ min: 1
+ max: 2
+ min-height: 0
+ max-height: 16
+ DIAMOND_ORE:
+ min: 1
+ max: 1
+ min-height: 0
+ max-height: 16
+
+trees:
+ chance: 15
+ density: 1
+ items:
+ SPRUCE:
+ weight: 1
+ y:
+ min: 58
+ max: 72
+
+flora:
+ chance: 60
+ attempts: 2
+ simplex:
+ enable: true
+ frequency: 0.1
+ seed: 4
+ items:
+ SMALL_ROCK:
+ weight: 1
+ y:
+ min: 62
+ max: 180
+ TALL_GRASS:
+ weight: 1
+ y:
+ min: 62
+ max: 180
+ GRASS:
+ weight: 5
+ y:
+ min: 62
+ max: 180
+ LEAVES:
+ weight: 3
+ y:
+ min: 62
+ max: 180
+
+slabs:
+ enable: true
+ threshold: 0.015
+ palettes:
+ - "minecraft:stone": "MOUNTAIN_SLABS"
+ - "minecraft:gravel": "MOUNTAIN_SLABS"
+ use-stairs-if-available: true
+ stair-palettes:
+ - "minecraft:stone": "MOUNTAIN_STAIRS"
+ - "minecraft:gravel": "MOUNTAIN_STAIRS"
\ No newline at end of file
diff --git a/src/main/resources/default-config/abstract/biomes/mountain/mountains_pretty_border_0.yml b/src/main/resources/default-config/abstract/biomes/mountain/mountains_pretty_border_0.yml
new file mode 100644
index 000000000..5096add7d
--- /dev/null
+++ b/src/main/resources/default-config/abstract/biomes/mountain/mountains_pretty_border_0.yml
@@ -0,0 +1,114 @@
+noise-equation: "((-((y / 64)^2)) + 1) + ((noise2(x, z)+0.5) / 3) + abs(noise2(x/2, z/2)*2)"
+id: "MOUNTAINS_PRETTY_0"
+
+carving:
+ - CAVE: 30
+ - RAVINE: 5
+ - CAVERN: 5
+
+ores:
+ DIRT:
+ min: 0
+ max: 1
+ min-height: 0
+ max-height: 84
+ GRAVEL:
+ min: 0
+ max: 1
+ min-height: 0
+ max-height: 84
+ DIORITE:
+ min: 0
+ max: 1
+ min-height: 0
+ max-height: 84
+ ANDESITE:
+ min: 0
+ max: 1
+ min-height: 0
+ max-height: 84
+ GRANITE:
+ min: 0
+ max: 1
+ min-height: 0
+ max-height: 84
+ COAL_ORE:
+ min: 4
+ max: 8
+ min-height: 0
+ max-height: 84
+ IRON_ORE:
+ min: 2
+ max: 6
+ min-height: 0
+ max-height: 64
+ GOLD_ORE:
+ min: 1
+ max: 3
+ min-height: 0
+ max-height: 32
+ LAPIS_ORE:
+ min: 1
+ max: 2
+ min-height: 0
+ max-height: 32
+ REDSTONE_ORE:
+ min: 1
+ max: 2
+ min-height: 0
+ max-height: 16
+ DIAMOND_ORE:
+ min: 1
+ max: 1
+ min-height: 0
+ max-height: 16
+
+trees:
+ chance: 15
+ density: 1
+ items:
+ SPRUCE:
+ weight: 1
+ y:
+ min: 58
+ max: 72
+
+flora:
+ chance: 60
+ attempts: 2
+ simplex:
+ enable: true
+ frequency: 0.1
+ seed: 4
+ items:
+ SMALL_ROCK:
+ weight: 1
+ y:
+ min: 62
+ max: 180
+ TALL_GRASS:
+ weight: 1
+ y:
+ min: 62
+ max: 180
+ GRASS:
+ weight: 5
+ y:
+ min: 62
+ max: 180
+ LEAVES:
+ weight: 3
+ y:
+ min: 62
+ max: 180
+
+slabs:
+ enable: true
+ threshold: 0.015
+ palettes:
+ - "minecraft:stone": "MOUNTAIN_SLABS"
+ - "minecraft:gravel": "MOUNTAIN_SLABS"
+ use-stairs-if-available: true
+ stair-palettes:
+ - "minecraft:stone": "MOUNTAIN_STAIRS"
+ - "minecraft:gravel": "MOUNTAIN_STAIRS"
\ No newline at end of file
diff --git a/src/main/resources/default-config/abstract/biomes/mountain/mountains_pretty_border_1.yml b/src/main/resources/default-config/abstract/biomes/mountain/mountains_pretty_border_1.yml
new file mode 100644
index 000000000..c634c09a4
--- /dev/null
+++ b/src/main/resources/default-config/abstract/biomes/mountain/mountains_pretty_border_1.yml
@@ -0,0 +1,114 @@
+noise-equation: "((-((y / 70)^2)) + 1) + ((noise2(x, z)+0.5) / 3) + abs(noise2(x/2, z/2)*4)"
+id: "MOUNTAINS_PRETTY_1"
+
+carving:
+ - CAVE: 30
+ - RAVINE: 5
+ - CAVERN: 5
+
+ores:
+ DIRT:
+ min: 0
+ max: 1
+ min-height: 0
+ max-height: 84
+ GRAVEL:
+ min: 0
+ max: 1
+ min-height: 0
+ max-height: 84
+ DIORITE:
+ min: 0
+ max: 1
+ min-height: 0
+ max-height: 84
+ ANDESITE:
+ min: 0
+ max: 1
+ min-height: 0
+ max-height: 84
+ GRANITE:
+ min: 0
+ max: 1
+ min-height: 0
+ max-height: 84
+ COAL_ORE:
+ min: 4
+ max: 8
+ min-height: 0
+ max-height: 84
+ IRON_ORE:
+ min: 2
+ max: 6
+ min-height: 0
+ max-height: 64
+ GOLD_ORE:
+ min: 1
+ max: 3
+ min-height: 0
+ max-height: 32
+ LAPIS_ORE:
+ min: 1
+ max: 2
+ min-height: 0
+ max-height: 32
+ REDSTONE_ORE:
+ min: 1
+ max: 2
+ min-height: 0
+ max-height: 16
+ DIAMOND_ORE:
+ min: 1
+ max: 1
+ min-height: 0
+ max-height: 16
+
+trees:
+ chance: 15
+ density: 1
+ items:
+ SPRUCE:
+ weight: 1
+ y:
+ min: 58
+ max: 72
+
+flora:
+ chance: 60
+ attempts: 2
+ simplex:
+ enable: true
+ frequency: 0.1
+ seed: 4
+ items:
+ SMALL_ROCK:
+ weight: 1
+ y:
+ min: 62
+ max: 180
+ TALL_GRASS:
+ weight: 1
+ y:
+ min: 62
+ max: 180
+ GRASS:
+ weight: 5
+ y:
+ min: 62
+ max: 180
+ LEAVES:
+ weight: 3
+ y:
+ min: 62
+ max: 180
+
+slabs:
+ enable: true
+ threshold: 0.015
+ palettes:
+ - "minecraft:stone": "MOUNTAIN_SLABS"
+ - "minecraft:gravel": "MOUNTAIN_SLABS"
+ use-stairs-if-available: true
+ stair-palettes:
+ - "minecraft:stone": "MOUNTAIN_STAIRS"
+ - "minecraft:gravel": "MOUNTAIN_STAIRS"
\ No newline at end of file
diff --git a/src/main/resources/default-config/abstract/biomes/ocean_abstract.yml b/src/main/resources/default-config/abstract/biomes/ocean_abstract.yml
new file mode 100644
index 000000000..08dcc0cef
--- /dev/null
+++ b/src/main/resources/default-config/abstract/biomes/ocean_abstract.yml
@@ -0,0 +1,86 @@
+noise-equation: "((-((y / 48)^2)) + 1) + ((noise2(x, z)/2))"
+id: "OCEAN_ABSTRACT"
+
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - SANDY: 255
+ - OCEANFLOOR: 60
+
+flora:
+ chance: 50
+ attempts: 1
+ items:
+ TALL_SEAGRASS:
+ weight: 1
+ y:
+ min: 32
+ max: 64
+ SEAGRASS:
+ weight: 3
+ y:
+ min: 32
+ max: 64
+
+carving:
+ - CAVE_OCEAN: 35
+
+ores:
+ DIRT:
+ min: 0
+ max: 2
+ min-height: 0
+ max-height: 128
+ GRAVEL:
+ min: 0
+ max: 2
+ min-height: 0
+ max-height: 128
+ DIORITE:
+ min: 0
+ max: 2
+ min-height: 0
+ max-height: 128
+ ANDESITE:
+ min: 0
+ max: 2
+ min-height: 0
+ max-height: 128
+ GRANITE:
+ min: 0
+ max: 2
+ min-height: 0
+ max-height: 128
+ COAL_ORE:
+ min: 5
+ max: 15
+ min-height: 0
+ max-height: 128
+ IRON_ORE:
+ min: 2
+ max: 6
+ min-height: 0
+ max-height: 64
+ GOLD_ORE:
+ min: 1
+ max: 3
+ min-height: 0
+ max-height: 32
+ LAPIS_ORE:
+ min: 1
+ max: 4
+ min-height: 0
+ max-height: 32
+ REDSTONE_ORE:
+ min: 1
+ max: 4
+ min-height: 0
+ max-height: 16
+ DIAMOND_ORE:
+ min: 1
+ max: 2
+ min-height: 0
+ max-height: 16
\ No newline at end of file
diff --git a/src/main/resources/default-config/abstract/biomes/plains_abstract.yml b/src/main/resources/default-config/abstract/biomes/plains_abstract.yml
new file mode 100644
index 000000000..b25c83e10
--- /dev/null
+++ b/src/main/resources/default-config/abstract/biomes/plains_abstract.yml
@@ -0,0 +1,65 @@
+noise-equation: "((-((y / 63)^2)) + 1) + |(noise2(x, z) / 2) + 0.1|"
+id: "PLAINS_ABSTRACT"
+
+carving:
+ - CAVE: 30
+ - RAVINE: 5
+ - CAVERN: 5
+
+erodible: true
+ores:
+ DIRT:
+ min: 0
+ max: 2
+ min-height: 0
+ max-height: 72
+ GRAVEL:
+ min: 0
+ max: 2
+ min-height: 0
+ max-height: 72
+ DIORITE:
+ min: 0
+ max: 2
+ min-height: 0
+ max-height: 72
+ ANDESITE:
+ min: 0
+ max: 2
+ min-height: 0
+ max-height: 72
+ GRANITE:
+ min: 0
+ max: 2
+ min-height: 0
+ max-height: 72
+ COAL_ORE:
+ min: 3
+ max: 7
+ min-height: 0
+ max-height: 72
+ IRON_ORE:
+ min: 2
+ max: 7
+ min-height: 0
+ max-height: 64
+ GOLD_ORE:
+ min: 1
+ max: 3
+ min-height: 0
+ max-height: 32
+ LAPIS_ORE:
+ min: 1
+ max: 4
+ min-height: 0
+ max-height: 32
+ REDSTONE_ORE:
+ min: 1
+ max: 4
+ min-height: 0
+ max-height: 16
+ DIAMOND_ORE:
+ min: 1
+ max: 2
+ min-height: 0
+ max-height: 16
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/beach/beach.yml b/src/main/resources/default-config/biomes/beach/beach.yml
new file mode 100644
index 000000000..ad831a055
--- /dev/null
+++ b/src/main/resources/default-config/biomes/beach/beach.yml
@@ -0,0 +1,5 @@
+extends: "BEACH_ABSTRACT"
+id: "BEACH"
+name: "Beach"
+vanilla: BEACH
+erodible: true
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/beach/beach_cold.yml b/src/main/resources/default-config/biomes/beach/beach_cold.yml
new file mode 100644
index 000000000..238d1e260
--- /dev/null
+++ b/src/main/resources/default-config/biomes/beach/beach_cold.yml
@@ -0,0 +1,12 @@
+extends: "BEACH_ABSTRACT"
+id: "COLD_BEACH"
+name: "Cold Beach"
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - GRAVEL: 64
+ - TUNDRA: 255
+erodible: true
+vanilla: SNOWY_BEACH
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/beach/beach_frozen.yml b/src/main/resources/default-config/biomes/beach/beach_frozen.yml
new file mode 100644
index 000000000..bc5defbbc
--- /dev/null
+++ b/src/main/resources/default-config/biomes/beach/beach_frozen.yml
@@ -0,0 +1,14 @@
+extends: "BEACH_ABSTRACT"
+id: "FROZEN_BEACH"
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - GRAVEL: 64
+ - TUNDRA: 255
+erodible: true
+vanilla: SNOWY_BEACH
+ocean:
+ palette: "COLD_OCEAN"
+ level: 62
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/beach/beach_warm.yml b/src/main/resources/default-config/biomes/beach/beach_warm.yml
new file mode 100644
index 000000000..14f490b64
--- /dev/null
+++ b/src/main/resources/default-config/biomes/beach/beach_warm.yml
@@ -0,0 +1,12 @@
+extends: "BEACH_ABSTRACT"
+id: "WARM_BEACH"
+name: "Warm Beach"
+vanilla: BEACH
+
+erodible: true
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - SAND_ALL: 255
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/desert.yml b/src/main/resources/default-config/biomes/desert.yml
new file mode 100644
index 000000000..33f3d49f8
--- /dev/null
+++ b/src/main/resources/default-config/biomes/desert.yml
@@ -0,0 +1,50 @@
+extends: "PLAINS_ABSTRACT"
+id: "DESERT"
+name: "Desert"
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - DESERT: 255
+vanilla: DESERT
+
+flora:
+ chance: 2
+ items:
+ DEAD_BUSH:
+ weight: 1
+ y:
+ min: 62
+ max: 84
+ SMALL_ROCK:
+ weight: 1
+ y:
+ min: 62
+ max: 84
+
+erodible: true
+
+trees:
+ chance: 100
+ density: 1
+ items:
+ CACTUS:
+ weight: 1
+ y:
+ min: 58
+ max: 72
+
+slabs:
+ enable: true
+ threshold: 0.015
+ palettes:
+ - "minecraft:sand": "BLOCK:minecraft:sandstone_slab"
+ use-stairs-if-available: true
+ stair-palettes:
+ - "minecraft:sand": "BLOCK:minecraft:sandstone_stairs"
+
+
+
+# Carving and ores covered by super biome
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/forest/birch_forest.yml b/src/main/resources/default-config/biomes/forest/birch_forest.yml
new file mode 100644
index 000000000..1680a73ca
--- /dev/null
+++ b/src/main/resources/default-config/biomes/forest/birch_forest.yml
@@ -0,0 +1,43 @@
+noise-equation: "((-((y / 62)^2)) + 1) + ((noise2(x, z)+0.5) / 2)"
+extends: "BASIC_ORES"
+id: "BIRCH_FOREST"
+name: "Birch Forest"
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - SANDY: 62
+ - GRASSY: 255
+vanilla: BIRCH_FOREST
+
+flora:
+ chance: 40
+ attempts: 1
+ items:
+ TALL_GRASS:
+ weight: 15
+ y:
+ min: 62
+ max: 84
+ GRASS:
+ weight: 70
+ y:
+ min: 62
+ max: 84
+ POPPY:
+ weight: 5
+ y:
+ min: 62
+ max: 84
+erodible: true
+
+trees:
+ density: 200
+ items:
+ BIRCH:
+ weight: 1
+ y:
+ min: 58
+ max: 84
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/forest/dark_forest.yml b/src/main/resources/default-config/biomes/forest/dark_forest.yml
new file mode 100644
index 000000000..9ab9fc4c4
--- /dev/null
+++ b/src/main/resources/default-config/biomes/forest/dark_forest.yml
@@ -0,0 +1,43 @@
+noise-equation: "((-((y / 62)^2)) + 1) + ((noise2(x, z)+0.5) / 2)"
+extends: "BASIC_ORES"
+id: "DARK_FOREST"
+name: "Birch Forest"
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - SANDY: 62
+ - GRASSY: 255
+vanilla: DARK_FOREST
+erodible: true
+flora-chance: 40
+flora:
+ chance: 40
+ attempts: 1
+ items:
+ TALL_GRASS:
+ weight: 15
+ y:
+ min: 62
+ max: 255
+ GRASS:
+ weight: 70
+ y:
+ min: 62
+ max: 255
+ POPPY:
+ weight: 5
+ y:
+ min: 62
+ max: 255
+
+trees:
+ density: 400
+ items:
+ DARK_OAK:
+ weight: 1
+ y:
+ min: 58
+ max: 84
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/forest/jungle.yml b/src/main/resources/default-config/biomes/forest/jungle.yml
new file mode 100644
index 000000000..6770aba10
--- /dev/null
+++ b/src/main/resources/default-config/biomes/forest/jungle.yml
@@ -0,0 +1,76 @@
+noise-equation: "((-((y / 62)^2)) + 1) + ((noise2(x, z)+0.25) / 2)"
+extends: "BASIC_ORES"
+id: "JUNGLE"
+name: "Jungle"
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - RIVER_BOTTOM: 61
+ - RIVER_SHORE: 62
+ - GRASSY: 255
+vanilla: JUNGLE
+
+erodible: true
+structures:
+ - JUNGLE
+flora:
+ chance: 80
+ attempts: 2
+ items:
+ TALL_GRASS:
+ weight: 150
+ y:
+ min: 62
+ max: 84
+ GRASS:
+ weight: 750
+ y:
+ min: 62
+ max: 84
+ POPPY:
+ weight: 50
+ y:
+ min: 62
+ max: 84
+ ROSE_BUSH:
+ weight: 4
+ y:
+ min: 62
+ max: 84
+ LILAC:
+ weight: 4
+ y:
+ min: 62
+ max: 84
+ STALAGMITE:
+ weight: 10
+ y:
+ min: 4
+ max: 50
+ STALACTITE:
+ weight: 10
+ y:
+ min: 4
+ max: 50
+
+trees:
+ density: 500
+ items:
+ JUNGLE_BUSH:
+ weight: 4
+ y:
+ min: 58
+ max: 84
+ SMALL_JUNGLE:
+ weight: 2
+ y:
+ min: 58
+ max: 84
+ JUNGLE:
+ weight: 4
+ y:
+ min: 58
+ max: 84
diff --git a/src/main/resources/default-config/biomes/forest/oak_forest.yml b/src/main/resources/default-config/biomes/forest/oak_forest.yml
new file mode 100644
index 000000000..7665edb97
--- /dev/null
+++ b/src/main/resources/default-config/biomes/forest/oak_forest.yml
@@ -0,0 +1,59 @@
+noise-equation: "((-((y / 62)^2)) + 1) + ((noise2(x, z)+0.5) / 1.5)"
+extends: "BASIC_ORES"
+id: "FOREST"
+name: "Oak Forest"
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - RIVER_BOTTOM: 61
+ - RIVER_SHORE: 62
+ - GRASSY: 255
+vanilla: FOREST
+
+flora:
+ chance: 40
+ attempts: 1
+ items:
+ TALL_GRASS:
+ weight: 150
+ y:
+ min: 62
+ max: 84
+ GRASS:
+ weight: 750
+ y:
+ min: 62
+ max: 84
+ POPPY:
+ weight: 50
+ y:
+ min: 62
+ max: 84
+ ROSE_BUSH:
+ weight: 4
+ y:
+ min: 62
+ max: 84
+ LILAC:
+ weight: 4
+ y:
+ min: 62
+ max: 84
+erodible: true
+
+trees:
+ density: 250
+ items:
+ OAK:
+ weight: 8
+ y:
+ min: 58
+ max: 84
+ LARGE_OAK:
+ weight: 2
+ y:
+ min: 58
+ max: 84
diff --git a/src/main/resources/default-config/biomes/forest/savanna.yml b/src/main/resources/default-config/biomes/forest/savanna.yml
new file mode 100644
index 000000000..451c64764
--- /dev/null
+++ b/src/main/resources/default-config/biomes/forest/savanna.yml
@@ -0,0 +1,39 @@
+noise-equation: "((-((y / 62)^2)) + 1) + ((noise2(x, z)+0.5) / 2)"
+extends: "BASIC_ORES"
+id: "SAVANNA"
+name: "Savanna"
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - RIVER_BOTTOM: 61
+ - RIVER_SHORE: 62
+ - GRASSY: 255
+vanilla: SAVANNA
+
+flora:
+ chance: 40
+ attempts: 1
+ items:
+ TALL_GRASS:
+ weight: 15
+ y:
+ min: 62
+ max: 84
+ GRASS:
+ weight: 70
+ y:
+ min: 62
+ max: 84
+erodible: true
+
+trees:
+ density: 20
+ items:
+ ACACIA:
+ weight: 1
+ y:
+ min: 58
+ max: 84
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/forest/snowy_taiga.yml b/src/main/resources/default-config/biomes/forest/snowy_taiga.yml
new file mode 100644
index 000000000..7a2947745
--- /dev/null
+++ b/src/main/resources/default-config/biomes/forest/snowy_taiga.yml
@@ -0,0 +1,54 @@
+noise-equation: "((-((y / 62)^2)) + 1) + ((noise2(x, z)+0.5) / 1.5)"
+extends: "BASIC_ORES"
+id: "SNOWY_TAIGA"
+name: "Taiga Forest"
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - RIVER_BOTTOM: 61
+ - RIVER_SHORE: 62
+ - TAIGA: 255
+vanilla: TAIGA
+
+snow:
+ - min: 0
+ max: 255
+ chance: 100
+erodible: true
+
+flora:
+ chance: 40
+ attempts: 1
+ items:
+ TALL_GRASS:
+ weight: 15
+ y:
+ min: 62
+ max: 84
+ GRASS:
+ weight: 75
+ y:
+ min: 62
+ max: 84
+ POPPY:
+ weight: 5
+ y:
+ min: 62
+ max: 84
+
+trees:
+ density: 125
+ items:
+ SPRUCE:
+ weight: 1
+ y:
+ min: 58
+ max: 84
+ LARGE_SPRUCE:
+ weight: 1
+ y:
+ min: 58
+ max: 84
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/forest/taiga.yml b/src/main/resources/default-config/biomes/forest/taiga.yml
new file mode 100644
index 000000000..51eff4d2f
--- /dev/null
+++ b/src/main/resources/default-config/biomes/forest/taiga.yml
@@ -0,0 +1,49 @@
+noise-equation: "((-((y / 62)^2)) + 1) + ((noise2(x, z)+0.5) / 1.5)"
+extends: "BASIC_ORES"
+id: "TAIGA"
+name: "Taiga Forest"
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - RIVER_BOTTOM: 61
+ - RIVER_SHORE: 62
+ - TAIGA: 255
+vanilla: TAIGA
+erodible: true
+
+flora:
+ chance: 40
+ attempts: 1
+ items:
+ TALL_GRASS:
+ weight: 15
+ y:
+ min: 62
+ max: 84
+ GRASS:
+ weight: 75
+ y:
+ min: 62
+ max: 84
+ POPPY:
+ weight: 5
+ y:
+ min: 62
+ max: 84
+
+trees:
+ density: 125
+ items:
+ SPRUCE:
+ weight: 1
+ y:
+ min: 58
+ max: 84
+ LARGE_SPRUCE:
+ weight: 1
+ y:
+ min: 58
+ max: 84
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/mesa.yml b/src/main/resources/default-config/biomes/mesa.yml
new file mode 100644
index 000000000..3074a8f52
--- /dev/null
+++ b/src/main/resources/default-config/biomes/mesa.yml
@@ -0,0 +1,60 @@
+noise-equation: "((-((y / 64)^2)) + 1) + min(floor(((max(noise2(x/1.5, z/1.5)+0.1, 0)) + 0.1)*5), 3)/1.75 + |(noise2(x/1.5, z/1.5)+0.1)*1.5|"
+extends: "BASIC_ORES"
+id: "MESA"
+name: "Mesa"
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - RED_DESERT: 255
+ - "BLOCK:minecraft:red_terracotta": 128
+ - "BLOCK:minecraft:orange_terracotta": 124
+ - "BLOCK:minecraft:terracotta": 120
+ - "BLOCK:minecraft:yellow_terracotta": 116
+ - "BLOCK:minecraft:red_terracotta": 112
+ - "BLOCK:minecraft:orange_terracotta": 108
+ - "BLOCK:minecraft:terracotta": 104
+ - "BLOCK:minecraft:red_terracotta": 100
+ - "BLOCK:minecraft:orange_terracotta": 96
+ - "BLOCK:minecraft:terracotta": 92
+ - "BLOCK:minecraft:yellow_terracotta": 88
+ - "BLOCK:minecraft:red_terracotta": 84
+ - "BLOCK:minecraft:orange_terracotta": 80
+ - RED_DESERT: 72
+vanilla: BADLANDS
+
+flora-chance: 2
+flora:
+ chance: 2
+ attempts: 1
+ items:
+ DEAD_BUSH:
+ weight: 1
+ y:
+ min: 62
+ max: 84
+ SMALL_ROCK:
+ weight: 1
+ y:
+ min: 62
+ max: 84
+slabs:
+ enable: true
+ threshold: 0.015
+ palettes:
+ - "minecraft:red_sand": "BLOCK:minecraft:red_sandstone_slab"
+ use-stairs-if-available: true
+ stair-palettes:
+ - "minecraft:red_sand": "BLOCK:minecraft:red_sandstone_stairs"
+
+trees:
+ chance: 100
+ density: 1
+ items:
+ CACTUS:
+ weight: 1
+ y:
+ min: 58
+ max: 72
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/mountain/arid_mountains.yml b/src/main/resources/default-config/biomes/mountain/arid_mountains.yml
new file mode 100644
index 000000000..e562be523
--- /dev/null
+++ b/src/main/resources/default-config/biomes/mountain/arid_mountains.yml
@@ -0,0 +1,47 @@
+noise-equation: "((-((y / 64)^2)) + 1) + min(floor(((|noise2(x/2.5, z/2.5)|) + 0.1)*6), 3)/2.5 + |noise2(x/2.5, z/2.5)*2|"
+
+id: "ARID_MOUNTAINS"
+extends: "BASIC_ORES"
+
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - ARID: 255
+vanilla: SAVANNA
+
+erodible: false
+
+flora:
+ chance: 40
+ attempts: 1
+ items:
+ TALL_GRASS:
+ weight: 15
+ y:
+ min: 62
+ max: 128
+ GRASS:
+ weight: 70
+ y:
+ min: 62
+ max: 128
+
+trees:
+ density: 50
+ items:
+ ACACIA:
+ weight: 1
+ y:
+ min: 58
+ max: 128
+slabs:
+ enable: true
+ threshold: 0.015
+ palettes:
+ - "minecraft:red_sand": "BLOCK:minecraft:red_sandstone_slab"
+ use-stairs-if-available: true
+ stair-palettes:
+ - "minecraft:red_sand": "BLOCK:minecraft:red_sandstone_stairs"
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/mountain/arid_mountains_border_0.yml b/src/main/resources/default-config/biomes/mountain/arid_mountains_border_0.yml
new file mode 100644
index 000000000..0b687cb56
--- /dev/null
+++ b/src/main/resources/default-config/biomes/mountain/arid_mountains_border_0.yml
@@ -0,0 +1,47 @@
+noise-equation: "((-((y / 64)^2)) + 1) + min(floor(((|noise2(x/2.5, z/2.5)|) + 0.1)*2), 3)/5 + |noise2(x/2.5, z/2.5)*2|"
+
+id: "ARID_MOUNTAINS_0"
+extends: "BASIC_ORES"
+
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - ARID: 255
+vanilla: SAVANNA
+
+erodible: false
+
+flora:
+ chance: 40
+ attempts: 1
+ items:
+ TALL_GRASS:
+ weight: 15
+ y:
+ min: 62
+ max: 128
+ GRASS:
+ weight: 70
+ y:
+ min: 62
+ max: 128
+
+trees:
+ density: 50
+ items:
+ ACACIA:
+ weight: 1
+ y:
+ min: 58
+ max: 128
+slabs:
+ enable: true
+ threshold: 0.015
+ palettes:
+ - "minecraft:red_sand": "BLOCK:minecraft:red_sandstone_slab"
+ use-stairs-if-available: true
+ stair-palettes:
+ - "minecraft:red_sand": "BLOCK:minecraft:red_sandstone_stairs"
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/mountain/arid_mountains_border_1.yml b/src/main/resources/default-config/biomes/mountain/arid_mountains_border_1.yml
new file mode 100644
index 000000000..ef55967db
--- /dev/null
+++ b/src/main/resources/default-config/biomes/mountain/arid_mountains_border_1.yml
@@ -0,0 +1,47 @@
+noise-equation: "((-((y / 64)^2)) + 1) + min(floor(((|noise2(x/2.5, z/2.5)|) + 0.1)*4), 3)/3 + |noise2(x/2.5, z/2.5)*2|"
+
+id: "ARID_MOUNTAINS_1"
+extends: "BASIC_ORES"
+
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - ARID: 255
+vanilla: SAVANNA
+
+erodible: false
+
+flora:
+ chance: 40
+ attempts: 1
+ items:
+ TALL_GRASS:
+ weight: 15
+ y:
+ min: 62
+ max: 128
+ GRASS:
+ weight: 70
+ y:
+ min: 62
+ max: 128
+
+trees:
+ density: 50
+ items:
+ ACACIA:
+ weight: 1
+ y:
+ min: 58
+ max: 128
+slabs:
+ enable: true
+ threshold: 0.015
+ palettes:
+ - "minecraft:red_sand": "BLOCK:minecraft:red_sandstone_slab"
+ use-stairs-if-available: true
+ stair-palettes:
+ - "minecraft:red_sand": "BLOCK:minecraft:red_sandstone_stairs"
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/mountain/mountains_jungle.yml b/src/main/resources/default-config/biomes/mountain/mountains_jungle.yml
new file mode 100644
index 000000000..02c089d6c
--- /dev/null
+++ b/src/main/resources/default-config/biomes/mountain/mountains_jungle.yml
@@ -0,0 +1,28 @@
+extends: "MOUNTAINS_PRETTY"
+id: "MOUNTAINS_JUNGLE"
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - MOUNTAIN_JUNGLE: 255
+vanilla: JUNGLE
+trees:
+ density: 500
+ items:
+ JUNGLE_BUSH:
+ weight: 4
+ y:
+ min: 58
+ max: 92
+ SMALL_JUNGLE:
+ weight: 2
+ y:
+ min: 58
+ max: 92
+ JUNGLE:
+ weight: 4
+ y:
+ min: 58
+ max: 92
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/mountain/mountains_jungle_border_0.yml b/src/main/resources/default-config/biomes/mountain/mountains_jungle_border_0.yml
new file mode 100644
index 000000000..05df0b2d4
--- /dev/null
+++ b/src/main/resources/default-config/biomes/mountain/mountains_jungle_border_0.yml
@@ -0,0 +1,28 @@
+extends: "MOUNTAINS_PRETTY_0"
+id: "MOUNTAINS_JUNGLE_0"
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - MOUNTAIN_JUNGLE: 255
+vanilla: JUNGLE
+trees:
+ density: 500
+ items:
+ JUNGLE_BUSH:
+ weight: 4
+ y:
+ min: 58
+ max: 92
+ SMALL_JUNGLE:
+ weight: 2
+ y:
+ min: 58
+ max: 92
+ JUNGLE:
+ weight: 4
+ y:
+ min: 58
+ max: 92
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/mountain/mountains_jungle_border_1.yml b/src/main/resources/default-config/biomes/mountain/mountains_jungle_border_1.yml
new file mode 100644
index 000000000..88ef7acb0
--- /dev/null
+++ b/src/main/resources/default-config/biomes/mountain/mountains_jungle_border_1.yml
@@ -0,0 +1,28 @@
+extends: "MOUNTAINS_PRETTY_1"
+id: "MOUNTAINS_JUNGLE_1"
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - MOUNTAIN_JUNGLE: 255
+vanilla: JUNGLE
+trees:
+ density: 120
+ items:
+ JUNGLE_BUSH:
+ weight: 4
+ y:
+ min: 58
+ max: 92
+ SMALL_JUNGLE:
+ weight: 2
+ y:
+ min: 58
+ max: 92
+ JUNGLE:
+ weight: 4
+ y:
+ min: 58
+ max: 92
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/mountain/mountains_pretty.yml b/src/main/resources/default-config/biomes/mountain/mountains_pretty.yml
new file mode 100644
index 000000000..5990807c0
--- /dev/null
+++ b/src/main/resources/default-config/biomes/mountain/mountains_pretty.yml
@@ -0,0 +1,10 @@
+extends: "MOUNTAINS_PRETTY"
+id: "MOUNTAINS_PRETTY"
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - MOUNTAIN_PRETTY: 255
+vanilla: PLAINS
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/mountain/mountains_pretty_border_0.yml b/src/main/resources/default-config/biomes/mountain/mountains_pretty_border_0.yml
new file mode 100644
index 000000000..2330def15
--- /dev/null
+++ b/src/main/resources/default-config/biomes/mountain/mountains_pretty_border_0.yml
@@ -0,0 +1,10 @@
+extends: "MOUNTAINS_PRETTY_0"
+id: "MOUNTAINS_PRETTY_0"
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - MOUNTAIN_PRETTY: 255
+vanilla: PLAINS
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/mountain/mountains_pretty_border_1.yml b/src/main/resources/default-config/biomes/mountain/mountains_pretty_border_1.yml
new file mode 100644
index 000000000..cf669ffaf
--- /dev/null
+++ b/src/main/resources/default-config/biomes/mountain/mountains_pretty_border_1.yml
@@ -0,0 +1,10 @@
+extends: "MOUNTAINS_PRETTY_1"
+id: "MOUNTAINS_PRETTY_1"
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - MOUNTAIN_PRETTY: 255
+vanilla: PLAINS
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/mountain/mountains_stone.yml b/src/main/resources/default-config/biomes/mountain/mountains_stone.yml
new file mode 100644
index 000000000..8b400131a
--- /dev/null
+++ b/src/main/resources/default-config/biomes/mountain/mountains_stone.yml
@@ -0,0 +1,35 @@
+extends: "MOUNTAINS_PRETTY"
+id: "MOUNTAINS_STONE"
+noise-equation: "((-((y / 76)^2)) + 1) + ((noise2(x, z)+0.5) / 3) + max(noise2(x/2, z/2)*6, 0)"
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - MOUNTAIN_STONE: 255
+ - MOUNTAIN_STONE_GRASS: 108
+ - MOUNTAIN_GRASS: 84
+vanilla: MOUNTAINS
+snow:
+ - min: 0
+ max: 120
+ chance: 50
+ - min: 120
+ max: 140
+ chance: 75
+ - min: 140
+ max: 255
+ chance: 100
+trees:
+ density: 200
+ items:
+ SPRUCE:
+ weight: 1
+ y:
+ min: 58
+ max: 92
+
+flora:
+ chance: 0
+ attempts: 0
+ items: {}
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/mountain/mountains_stone_border_0.yml b/src/main/resources/default-config/biomes/mountain/mountains_stone_border_0.yml
new file mode 100644
index 000000000..e191e6915
--- /dev/null
+++ b/src/main/resources/default-config/biomes/mountain/mountains_stone_border_0.yml
@@ -0,0 +1,35 @@
+extends: "MOUNTAINS_PRETTY_0"
+id: "MOUNTAINS_STONE_0"
+noise-equation: "((-((y / 64)^2)) + 1) + ((noise2(x, z)+0.5) / 3) + max(noise2(x/2, z/2)*2, 0)"
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - MOUNTAIN_STONE: 255
+ - MOUNTAIN_STONE_GRASS: 108
+ - MOUNTAIN_GRASS: 84
+vanilla: MOUNTAINS
+snow:
+ - min: 0
+ max: 120
+ chance: 50
+ - min: 120
+ max: 140
+ chance: 75
+ - min: 140
+ max: 255
+ chance: 100
+trees:
+ density: 200
+ items:
+ SPRUCE:
+ weight: 1
+ y:
+ min: 58
+ max: 92
+
+flora:
+ chance: 0
+ attempts: 0
+ items: {}
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/mountain/mountains_stone_border_1.yml b/src/main/resources/default-config/biomes/mountain/mountains_stone_border_1.yml
new file mode 100644
index 000000000..9d30c3153
--- /dev/null
+++ b/src/main/resources/default-config/biomes/mountain/mountains_stone_border_1.yml
@@ -0,0 +1,35 @@
+extends: "MOUNTAINS_PRETTY_1"
+id: "MOUNTAINS_STONE_1"
+noise-equation: "((-((y / 70)^2)) + 1) + ((noise2(x, z)+0.5) / 3) + max(noise2(x/2, z/2)*4, 0)"
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - MOUNTAIN_STONE: 255
+ - MOUNTAIN_STONE_GRASS: 108
+ - MOUNTAIN_GRASS: 84
+vanilla: MOUNTAINS
+snow:
+ - min: 0
+ max: 120
+ chance: 50
+ - min: 120
+ max: 140
+ chance: 75
+ - min: 140
+ max: 255
+ chance: 100
+trees:
+ density: 200
+ items:
+ SPRUCE:
+ weight: 1
+ y:
+ min: 58
+ max: 92
+
+flora:
+ chance: 0
+ attempts: 0
+ items: {}
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/mountains.yml b/src/main/resources/default-config/biomes/mountains.yml
new file mode 100644
index 000000000..931b49b28
--- /dev/null
+++ b/src/main/resources/default-config/biomes/mountains.yml
@@ -0,0 +1,34 @@
+noise-equation: "((-((y / 62)^2)) + 1) + ((noise2(x, z)+0.5) / 3) + max(floor(noise3(x/2, y, z/2)*10 + noise2(x/2, z/2)*55)/8, 0)"
+extends: "BASIC_ORES"
+id: "MOUNTAINS"
+name: "Mountains"
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - TUNDRA: 100
+ - SNOW: 255
+vanilla: MOUNTAINS
+
+flora:
+ chance: 2
+ attempts: 1
+ items:
+ SMALL_ROCK:
+ weight: 1
+ y:
+ min: 60
+ max: 72
+slabs:
+ enable: true
+ threshold: 0.015
+ palettes:
+ - "minecraft:stone": "MOUNTAIN_SLABS"
+ - "minecraft:snow_block": "SNOW_LAYERS"
+ - "minecraft:gravel": "MOUNTAIN_SLABS"
+ use-stairs-if-available: true
+ stair-palettes:
+ - "minecraft:stone": "MOUNTAIN_STAIRS"
+ - "minecraft:gravel": "MOUNTAIN_STAIRS"
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/ocean/ocean.yml b/src/main/resources/default-config/biomes/ocean/ocean.yml
new file mode 100644
index 000000000..11818f5bf
--- /dev/null
+++ b/src/main/resources/default-config/biomes/ocean/ocean.yml
@@ -0,0 +1,5 @@
+extends: "OCEAN_ABSTRACT"
+id: "OCEAN"
+name: "Ocean"
+vanilla: OCEAN
+
diff --git a/src/main/resources/default-config/biomes/ocean/ocean_cold.yml b/src/main/resources/default-config/biomes/ocean/ocean_cold.yml
new file mode 100644
index 000000000..d2fdd3c66
--- /dev/null
+++ b/src/main/resources/default-config/biomes/ocean/ocean_cold.yml
@@ -0,0 +1,13 @@
+extends: "OCEAN_ABSTRACT"
+id: "COLD_OCEAN"
+name: "Cold Ocean"
+vanilla: COLD_OCEAN
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - TUNDRA: 255
+ - OCEANFLOOR: 60
+ocean:
+ level: 62
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/ocean/ocean_frozen.yml b/src/main/resources/default-config/biomes/ocean/ocean_frozen.yml
new file mode 100644
index 000000000..9e15f3cd7
--- /dev/null
+++ b/src/main/resources/default-config/biomes/ocean/ocean_frozen.yml
@@ -0,0 +1,14 @@
+extends: "OCEAN_ABSTRACT"
+id: "FROZEN_OCEAN"
+name: "Cold Ocean"
+vanilla: COLD_OCEAN
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - TUNDRA: 255
+ - OCEANFLOOR: 60
+ocean:
+ palette: "COLD_OCEAN"
+ level: 62
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/ocean/ocean_lukewarm.yml b/src/main/resources/default-config/biomes/ocean/ocean_lukewarm.yml
new file mode 100644
index 000000000..a5fdbbd93
--- /dev/null
+++ b/src/main/resources/default-config/biomes/ocean/ocean_lukewarm.yml
@@ -0,0 +1,40 @@
+extends: "OCEAN_ABSTRACT"
+id: "LUKEWARM_OCEAN"
+name: "Ocean"
+vanilla: LUKEWARM_OCEAN
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - SANDY: 255
+ - OCEANFLOOR: 60
+flora:
+ chance: 50
+ attempts: 1
+ items:
+ TALL_SEAGRASS:
+ weight: 1
+ y:
+ min: 32
+ max: 64
+ SEAGRASS:
+ weight: 3
+ y:
+ min: 32
+ max: 64
+ KELP_SHORT:
+ weight: 5
+ y:
+ min: 32
+ max: 64
+ KELP_MEDIUM:
+ weight: 5
+ y:
+ min: 32
+ max: 64
+ KELP_TALL:
+ weight: 5
+ y:
+ min: 32
+ max: 64
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/ocean/ocean_warm.yml b/src/main/resources/default-config/biomes/ocean/ocean_warm.yml
new file mode 100644
index 000000000..89e8aea08
--- /dev/null
+++ b/src/main/resources/default-config/biomes/ocean/ocean_warm.yml
@@ -0,0 +1,44 @@
+extends: "OCEAN_ABSTRACT"
+id: "WARM_OCEAN"
+name: "Ocean"
+vanilla: WARM_OCEAN
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - SANDY: 255
+ - OCEANFLOOR: 60
+flora:
+ chance: 50
+ attempts: 1
+ simplex:
+ enable: true
+ frequency: 0.05
+ seed: 4
+ items:
+ TALL_SEAGRASS:
+ weight: 1
+ y:
+ min: 32
+ max: 64
+ SEAGRASS:
+ weight: 3
+ y:
+ min: 32
+ max: 64
+ KELP_SHORT:
+ weight: 1
+ y:
+ min: 32
+ max: 64
+ KELP_MEDIUM:
+ weight: 1
+ y:
+ min: 32
+ max: 64
+ KELP_TALL:
+ weight: 1
+ y:
+ min: 32
+ max: 64
diff --git a/src/main/resources/default-config/biomes/plains.yml b/src/main/resources/default-config/biomes/plains.yml
new file mode 100644
index 000000000..5db536dea
--- /dev/null
+++ b/src/main/resources/default-config/biomes/plains.yml
@@ -0,0 +1,46 @@
+extends: "PLAINS_ABSTRACT"
+id: "PLAINS"
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - RIVER_BOTTOM: 61
+ - RIVER_SHORE: 62
+ - GRASSY: 255
+vanilla: PLAINS
+
+erodible: true
+
+flora:
+ chance: 60
+ attempts: 1
+ items:
+ TALL_GRASS:
+ weight: 160
+ y:
+ min: 62
+ max: 84
+ GRASS:
+ weight: 100
+ y:
+ min: 62
+ max: 84
+ SUNFLOWER:
+ weight: 8
+ y:
+ min: 62
+ max: 84
+
+trees:
+ chance: 1
+ density: 1
+ items:
+ OAK:
+ weight: 1
+ y:
+ min: 58
+ max: 72
+
+# Carving and ores covered by super biome
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/plains_islands.yml b/src/main/resources/default-config/biomes/plains_islands.yml
new file mode 100644
index 000000000..05d4b78d6
--- /dev/null
+++ b/src/main/resources/default-config/biomes/plains_islands.yml
@@ -0,0 +1,43 @@
+noise-equation: "-(y-62)*(y-156)*(y+25)*(y-160)*0.0000001 + if(max(y-72, 0), noise3(x, y, z)*0.75, (noise2(x, z)+0.5) / 2)"
+extends: "BASIC_ORES"
+id: "PLAINS_ISLANDS"
+name: "Plains Islands"
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - SANDY: 62
+ - GRASSY: 255
+vanilla: PLAINS
+
+flora:
+ chance: 60
+ attempts: 1
+ items:
+ TALL_GRASS:
+ weight: 160
+ y:
+ min: 62
+ max: 84
+ GRASS:
+ weight: 100
+ y:
+ min: 62
+ max: 84
+ SUNFLOWER:
+ weight: 8
+ y:
+ min: 62
+ max: 84
+
+trees:
+ chance: 1
+ density: 1
+ items:
+ OAK:
+ weight: 1
+ y:
+ min: 58
+ max: 72
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/river.yml b/src/main/resources/default-config/biomes/river.yml
new file mode 100644
index 000000000..dfcad8c44
--- /dev/null
+++ b/src/main/resources/default-config/biomes/river.yml
@@ -0,0 +1,37 @@
+noise-equation: "((-((y / 58)^2)) + 1) + ((noise2(x, z)/2.5))"
+extends: "BASIC_ORES"
+id: "RIVER"
+name: "River"
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - RIVER_BOTTOM: 61
+ - RIVER_SHORE: 62
+ - GRASSY: 255
+vanilla: RIVER
+
+flora:
+ chance: 60
+ attempts: 1
+ items:
+ TALL_GRASS:
+ weight: 150
+ y:
+ min: 62
+ max: 84
+ LILY_PAD:
+ weight: 10
+ y:
+ min: 62
+ max: 84
+ GRASS:
+ weight: 700
+ y:
+ min: 62
+ max: 84
+
+ocean:
+ palette: "BLOCK:minecraft:water"
+ level: 62
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/swamp.yml b/src/main/resources/default-config/biomes/swamp.yml
new file mode 100644
index 000000000..ad447ed8e
--- /dev/null
+++ b/src/main/resources/default-config/biomes/swamp.yml
@@ -0,0 +1,55 @@
+noise-equation: "((-((y / 62)^2)) + 1) + ((noise2(x, z)/4))"
+extends: "BASIC_ORES"
+id: "SWAMP"
+name: "Swamp"
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - SWAMP_BOTTOM: 61
+ - SWAMP: 255
+vanilla: SWAMP
+flora:
+ chance: 80
+ attempts: 1
+ items:
+ TALL_GRASS:
+ weight: 150
+ y:
+ min: 62
+ max: 84
+ LILY_PAD:
+ weight: 40
+ y:
+ min: 62
+ max: 84
+ GRASS:
+ weight: 700
+ y:
+ min: 62
+ max: 84
+ BLUE_ORCHID:
+ weight: 20
+ y:
+ min: 62
+ max: 84
+ ROOT:
+ weight: 3
+ y:
+ min: 62
+ max: 84
+
+carving:
+ - CAVE_SWAMP: 30
+
+
+
+trees:
+ density: 15
+ items:
+ SWAMP_OAK:
+ weight: 1
+ y:
+ min: 58
+ max: 84
\ No newline at end of file
diff --git a/src/main/resources/default-config/biomes/tundra.yml b/src/main/resources/default-config/biomes/tundra.yml
new file mode 100644
index 000000000..ac04ddea2
--- /dev/null
+++ b/src/main/resources/default-config/biomes/tundra.yml
@@ -0,0 +1,49 @@
+extends: "PLAINS_ABSTRACT"
+id: "TUNDRA"
+name: "Tundra"
+
+palette:
+ - BEDROCK: 0
+ - BEDROCK_MOST: 1
+ - BEDROCK_HALF: 2
+ - BEDROCK_LITTLE: 3
+ - TUNDRA: 255
+vanilla: SNOWY_TUNDRA
+carving:
+ - CAVE_TUNDRA: 35
+ - RAVINE: 5
+ - CAVERN: 5
+
+snow:
+ - min: 0
+ max: 255
+ chance: 30
+erodible: true
+
+flora:
+ chance: 2
+ items:
+ SMALL_ROCK:
+ weight: 1
+ y:
+ min: 60
+ max: 255
+trees:
+ density: 40
+ items:
+ ICE_SPIKE:
+ weight: 1
+ y:
+ min: 58
+ max: 84
+slabs:
+ enable: true
+ threshold: 0.015
+ palettes:
+ - "minecraft:stone": "MOUNTAIN_SLABS"
+ - "minecraft:snow_block": "SNOW_LAYERS"
+ - "minecraft:gravel": "MOUNTAIN_SLABS"
+ use-stairs-if-available: true
+ stair-palettes:
+ - "minecraft:stone": "MOUNTAIN_STAIRS"
+ - "minecraft:gravel": "MOUNTAIN_STAIRS"
\ No newline at end of file
diff --git a/src/main/resources/default-config/carving/cave.yml b/src/main/resources/default-config/carving/cave.yml
new file mode 100644
index 000000000..a376cea09
--- /dev/null
+++ b/src/main/resources/default-config/carving/cave.yml
@@ -0,0 +1,66 @@
+id: CAVE
+length:
+ min: 20
+ max: 100
+start:
+ x: 1
+ y: 0.25
+ z: 1
+ radius:
+ multiply:
+ x: 1
+ y: 1
+ z: 1
+ min: 2
+ max: 4
+ height:
+ min: 4
+ max: 72
+cut:
+ top: 0
+ bottom: 1
+mutate:
+ x: 2
+ y: 6
+ z: 2
+ radius: 0.125
+palette:
+ inner:
+ replace-blacklist: true
+ replace:
+ - "minecraft:air"
+ - "minecraft:water"
+ - "minecraft:lava"
+ - "minecraft:bedrock"
+ - "minecraft:ice"
+ layers:
+ - materials: {"minecraft:air": 1}
+ y: 255
+ - materials: {"minecraft:lava": 1}
+ y: 8
+ outer:
+ replace-blacklist: false
+ replace: []
+ layers:
+ - materials: { "minecraft:stone": 1 }
+ y: 255
+ top:
+ replace-blacklist: false
+ replace: []
+ layers:
+ - materials: { "minecraft:stone": 1 }
+ y: 255
+ bottom:
+ replace-blacklist: false
+ replace: []
+ layers:
+ - materials: { "minecraft:stone": 1 }
+ y: 255
+shift:
+ "minecraft:grass_block": ["minecraft:dirt"]
+ "minecraft:podzol": ["minecraft:dirt"]
+ "minecraft:gravel": ["minecraft:dirt"]
+ "minecraft:sand": ["minecraft:dirt"]
+ "minecraft:coarse_dirt": ["minecraft:dirt"]
+
+update: []
\ No newline at end of file
diff --git a/src/main/resources/default-config/carving/cave_ocean.yml b/src/main/resources/default-config/carving/cave_ocean.yml
new file mode 100644
index 000000000..1d22b1c60
--- /dev/null
+++ b/src/main/resources/default-config/carving/cave_ocean.yml
@@ -0,0 +1,73 @@
+id: "CAVE_OCEAN"
+length:
+ min: 20
+ max: 100
+start:
+ x: 1
+ y: 0.25
+ z: 1
+ radius:
+ multiply:
+ x: 1
+ y: 1
+ z: 1
+ min: 2
+ max: 4
+ height:
+ min: 4
+ max: 72
+cut:
+ top: 0
+ bottom: 0
+mutate:
+ x: 2
+ y: 6
+ z: 2
+ radius: 0.125
+palette:
+ inner:
+ replace-blacklist: true
+ replace:
+ - "minecraft:air"
+ - "minecraft:water"
+ - "minecraft:lava"
+ - "minecraft:bedrock"
+ - "minecraft:ice"
+ layers:
+ - materials: { "minecraft:air": 1 }
+ y: 255
+ - materials: {"minecraft:water": 1}
+ y: 62
+ - materials: { "minecraft:lava": 1 }
+ y: 7
+ - materials: {"minecraft:obsidian": 19, "minecraft:magma_block": 1}
+ y: 8
+ outer:
+ replace-blacklist: false
+ replace:
+ - "minecraft:stone"
+ layers:
+ - materials: { "minecraft:stone": 1 }
+ y: 255
+ top:
+ replace-blacklist: false
+ replace:
+ - "minecraft:stone"
+ layers:
+ - materials: { "minecraft:stone": 1 }
+ y: 255
+ bottom:
+ replace-blacklist: false
+ replace:
+ - "minecraft:stone"
+ layers:
+ - materials: { "minecraft:stone": 1 }
+ y: 255
+shift:
+ "minecraft:grass_block": ["minecraft:dirt"]
+ "minecraft:podzol": ["minecraft:dirt"]
+ "minecraft:gravel": ["minecraft:dirt"]
+ "minecraft:sand": ["minecraft:dirt"]
+ "minecraft:coarse_dirt": ["minecraft:dirt"]
+
+update: []
\ No newline at end of file
diff --git a/src/main/resources/default-config/carving/cave_swamp.yml b/src/main/resources/default-config/carving/cave_swamp.yml
new file mode 100644
index 000000000..ae0bfcd1b
--- /dev/null
+++ b/src/main/resources/default-config/carving/cave_swamp.yml
@@ -0,0 +1,85 @@
+id: "CAVE_SWAMP"
+length:
+ min: 20
+ max: 100
+start:
+ x: 1
+ y: 0.25
+ z: 1
+ radius:
+ multiply:
+ x: 1
+ y: 1
+ z: 1
+ min: 2
+ max: 4
+ height:
+ min: 4
+ max: 72
+cut:
+ top: 0
+ bottom: 0
+mutate:
+ x: 2
+ y: 6
+ z: 2
+ radius: 0.125
+palette:
+ inner:
+ replace-blacklist: true
+ replace:
+ - "minecraft:air"
+ - "minecraft:water"
+ - "minecraft:lava"
+ - "minecraft:bedrock"
+ - "minecraft:ice"
+ layers:
+ - materials: { "minecraft:air": 1 }
+ y: 255
+ - materials: {"minecraft:water": 1}
+ y: 48
+ - materials: { "minecraft:lava": 1 }
+ y: 7
+ - materials: {"minecraft:obsidian": 19, "minecraft:magma_block": 1}
+ y: 8
+ outer:
+ replace-blacklist: false
+ replace:
+ - "minecraft:stone"
+ layers:
+ - materials: { "minecraft:stone": 21, "minecraft:spruce_wood": 1, "minecraft:dark_oak_wood": 1, "minecraft:oak_leaves[persistent=true]": 2 }
+ y: 255
+ - materials: { "minecraft:stone": 23, "minecraft:spruce_wood": 1, "minecraft:dark_oak_wood": 1 }
+ y: 48
+ - materials: { "minecraft:stone": 1}
+ y: 18
+ top:
+ replace-blacklist: false
+ replace:
+ - "minecraft:stone"
+ layers:
+ - materials: { "minecraft:stone": 16, "minecraft:spruce_wood": 1, "minecraft:dark_oak_wood": 1, "minecraft:oak_leaves[persistent=true]": 2 }
+ y: 255
+ - materials: { "minecraft:stone": 18, "minecraft:spruce_wood": 1, "minecraft:dark_oak_wood": 1 }
+ y: 48
+ - materials: { "minecraft:stone": 1 }
+ y: 18
+ bottom:
+ replace-blacklist: false
+ replace:
+ - "minecraft:stone"
+ layers:
+ - materials: { "minecraft:stone": 4, "minecraft:spruce_wood": 1, "minecraft:dark_oak_wood": 1, "minecraft:oak_leaves[persistent=true]": 2 }
+ y: 255
+ - materials: { "minecraft:stone": 6, "minecraft:spruce_wood": 1, "minecraft:dark_oak_wood": 1 }
+ y: 48
+ - materials: { "minecraft:stone": 1 }
+ y: 18
+
+shift:
+ "minecraft:grass_block": ["minecraft:dirt"]
+ "minecraft:podzol": ["minecraft:dirt"]
+ "minecraft:gravel": ["minecraft:dirt"]
+ "minecraft:sand": ["minecraft:dirt"]
+ "minecraft:coarse_dirt": ["minecraft:dirt"]
+update: []
\ No newline at end of file
diff --git a/src/main/resources/default-config/carving/cave_tundra.yml b/src/main/resources/default-config/carving/cave_tundra.yml
new file mode 100644
index 000000000..b20063073
--- /dev/null
+++ b/src/main/resources/default-config/carving/cave_tundra.yml
@@ -0,0 +1,73 @@
+id: "CAVE_TUNDRA"
+length:
+ min: 20
+ max: 100
+start:
+ x: 1
+ y: 0.25
+ z: 1
+ radius:
+ multiply:
+ x: 1
+ y: 1
+ z: 1
+ min: 2
+ max: 4
+ height:
+ min: 4
+ max: 72
+cut:
+ top: 0
+ bottom: 0
+mutate:
+ x: 2
+ y: 6
+ z: 2
+ radius: 0.125
+palette:
+ inner:
+ replace-blacklist: true
+ replace:
+ - "minecraft:air"
+ - "minecraft:water"
+ - "minecraft:lava"
+ - "minecraft:bedrock"
+ - "minecraft:ice"
+ layers:
+ - materials: { "minecraft:air": 1 }
+ y: 255
+ - materials: { "minecraft:lava": 1 }
+ y: 8
+ top:
+ replace-blacklist: false
+ replace:
+ - "minecraft:stone"
+ layers:
+ - materials: { "minecraft:stone": 1, "minecraft:cobblestone": 1,"minecraft:snow_block": 1}
+ y: 255
+ outer:
+ replace-blacklist: false
+ replace:
+ - "minecraft:stone"
+ layers:
+ - materials: { "minecraft:packed_ice": 1,"minecraft:snow_block": 1, "minecraft:stone": 2}
+ y: 255
+ - materials: { "minecraft:stone": 1 }
+ y: 18
+ bottom:
+ replace-blacklist: false
+ replace:
+ - "minecraft:stone"
+ layers:
+ - materials: { "minecraft:packed_ice": 4}
+ y: 255
+ - materials: { "minecraft:stone": 1 }
+ y: 18
+
+shift:
+ "minecraft:grass_block": ["minecraft:dirt"]
+ "minecraft:podzol": ["minecraft:dirt"]
+ "minecraft:gravel": ["minecraft:dirt"]
+ "minecraft:sand": ["minecraft:dirt"]
+ "minecraft:coarse_dirt": ["minecraft:dirt"]
+update: []
\ No newline at end of file
diff --git a/src/main/resources/default-config/carving/cavern.yml b/src/main/resources/default-config/carving/cavern.yml
new file mode 100644
index 000000000..71a349711
--- /dev/null
+++ b/src/main/resources/default-config/carving/cavern.yml
@@ -0,0 +1,66 @@
+id: CAVERN
+length:
+ min: 1
+ max: 1
+start:
+ x: 1
+ y: 0.25
+ z: 1
+ radius:
+ multiply:
+ x: 2
+ y: 1
+ z: 2
+ min: 3
+ max: 5
+ height:
+ min: 4
+ max: 48
+cut:
+ top: 0
+ bottom: 1
+mutate:
+ x: 2
+ y: 6
+ z: 2
+ radius: 0.125
+palette:
+ inner:
+ replace-blacklist: true
+ replace:
+ - "minecraft:air"
+ - "minecraft:water"
+ - "minecraft:lava"
+ - "minecraft:bedrock"
+ - "minecraft:ice"
+ layers:
+ - materials: {"minecraft:air": 1}
+ y: 255
+ - materials: {"minecraft:lava": 1}
+ y: 8
+ outer:
+ replace-blacklist: false
+ replace: []
+ layers:
+ - materials: { "minecraft:stone": 1 }
+ y: 255
+ top:
+ replace-blacklist: false
+ replace: [ ]
+ layers:
+ - materials: { "minecraft:stone": 1 }
+ y: 255
+ bottom:
+ replace-blacklist: false
+ replace: [ ]
+ layers:
+ - materials: { "minecraft:stone": 1 }
+ y: 255
+shift:
+ "minecraft:grass_block": ["minecraft:dirt"]
+ "minecraft:podzol": ["minecraft:dirt"]
+ "minecraft:gravel": ["minecraft:dirt"]
+ "minecraft:sand": ["minecraft:dirt"]
+ "minecraft:coarse_dirt": ["minecraft:dirt"]
+
+update: []
\ No newline at end of file
diff --git a/src/main/resources/default-config/carving/ravine.yml b/src/main/resources/default-config/carving/ravine.yml
new file mode 100644
index 000000000..03764c61f
--- /dev/null
+++ b/src/main/resources/default-config/carving/ravine.yml
@@ -0,0 +1,66 @@
+id: RAVINE
+length:
+ min: 30
+ max: 60
+start:
+ x: 1
+ y: 0.0
+ z: 1
+ radius:
+ multiply:
+ x: 1
+ y: 4
+ z: 1
+ min: 3
+ max: 4
+ height:
+ min: 12
+ max: 56
+cut:
+ top: 1
+ bottom: 2
+mutate:
+ x: 1
+ y: 4
+ z: 1
+ radius: 0.125
+palette:
+ inner:
+ replace-blacklist: true
+ replace:
+ - "minecraft:air"
+ - "minecraft:water"
+ - "minecraft:lava"
+ - "minecraft:bedrock"
+ - "minecraft:ice"
+ layers:
+ - materials: {"minecraft:air": 1}
+ y: 255
+ - materials: {"minecraft:lava": 1}
+ y: 8
+ outer:
+ replace-blacklist: false
+ replace: []
+ layers:
+ - materials: { "minecraft:stone": 1 }
+ y: 255
+ top:
+ replace-blacklist: false
+ replace: [ ]
+ layers:
+ - materials: { "minecraft:stone": 1 }
+ y: 255
+ bottom:
+ replace-blacklist: false
+ replace: [ ]
+ layers:
+ - materials: { "minecraft:stone": 1 }
+ y: 255
+shift:
+ "minecraft:grass_block": ["minecraft:dirt"]
+ "minecraft:podzol": ["minecraft:dirt"]
+ "minecraft:gravel": ["minecraft:dirt"]
+ "minecraft:sand": ["minecraft:dirt"]
+ "minecraft:coarse_dirt": ["minecraft:dirt"]
+
+update: []
\ No newline at end of file
diff --git a/src/main/resources/default-config/flora/button.yml b/src/main/resources/default-config/flora/button.yml
new file mode 100644
index 000000000..ee0b0cc0d
--- /dev/null
+++ b/src/main/resources/default-config/flora/button.yml
@@ -0,0 +1,16 @@
+layers:
+ - materials:
+ - "minecraft:stone_button[facing=east,face=floor]": 1
+ - "minecraft:stone_button[facing=south,face=floor]": 1
+ layers: 1
+id: SMALL_ROCK
+name: "Stone button \"rock\""
+spawnable:
+ - "minecraft:stone"
+ - "minecraft:sand"
+ - "minecraft:red_sand"
+ - "minecraft:gravel"
+ - "minecraft:dirt"
+ - "minecraft:coarse_dirt"
+replaceable:
+ - "minecraft:air"
\ No newline at end of file
diff --git a/src/main/resources/default-config/flora/caves/stalactite.yml b/src/main/resources/default-config/flora/caves/stalactite.yml
new file mode 100644
index 000000000..efe956c9b
--- /dev/null
+++ b/src/main/resources/default-config/flora/caves/stalactite.yml
@@ -0,0 +1,17 @@
+layers:
+ - materials:
+ - "minecraft:cobblestone_wall": 1
+ layers: 1
+ - materials:
+ - "minecraft:iron_bars": 1
+ - "minecraft:cobblestone_wall": 1
+ layers: 1
+ - materials:
+ - "minecraft:iron_bars": 1
+ layers: 1
+id: STALACTITE
+spawnable:
+ - "minecraft:stone"
+replaceable:
+ - "minecraft:air"
+ceiling: true
\ No newline at end of file
diff --git a/src/main/resources/default-config/flora/caves/stalagmite.yml b/src/main/resources/default-config/flora/caves/stalagmite.yml
new file mode 100644
index 000000000..ee23a53e0
--- /dev/null
+++ b/src/main/resources/default-config/flora/caves/stalagmite.yml
@@ -0,0 +1,18 @@
+layers:
+ - materials:
+ - "minecraft:iron_bars": 1
+ layers: 1
+ - materials:
+ - "minecraft:iron_bars": 1
+ - "minecraft:cobblestone_wall": 1
+ layers: 1
+ - materials:
+ - "minecraft:cobblestone_wall": 1
+ layers: 1
+
+id: STALAGMITE
+spawnable:
+ - "minecraft:stone"
+replaceable:
+ - "minecraft:air"
+ceiling: false
\ No newline at end of file
diff --git a/src/main/resources/default-config/flora/kelp/kelp_mid.yml b/src/main/resources/default-config/flora/kelp/kelp_mid.yml
new file mode 100644
index 000000000..9b3588e9e
--- /dev/null
+++ b/src/main/resources/default-config/flora/kelp/kelp_mid.yml
@@ -0,0 +1,18 @@
+layers:
+ - materials:
+ - "minecraft:kelp": 1
+ layers: 1
+ - materials:
+ - "minecraft:kelp_plant": 1
+ layers: 6
+
+id: KELP_MEDIUM
+name: "Medium Kelp"
+spawnable:
+ - "minecraft:sand"
+ - "minecraft:stone"
+ - "minecraft:red_sand"
+ - "minecraft:gravel"
+ - "minecraft:dirt"
+replaceable:
+ - "minecraft:water"
\ No newline at end of file
diff --git a/src/main/resources/default-config/flora/kelp/kelp_short.yml b/src/main/resources/default-config/flora/kelp/kelp_short.yml
new file mode 100644
index 000000000..75e6c2b5e
--- /dev/null
+++ b/src/main/resources/default-config/flora/kelp/kelp_short.yml
@@ -0,0 +1,18 @@
+layers:
+ - materials:
+ - "minecraft:kelp": 1
+ layers: 1
+ - materials:
+ - "minecraft:kelp_plant": 1
+ layers: 3
+
+id: KELP_SHORT
+name: "Short Kelp"
+spawnable:
+ - "minecraft:sand"
+ - "minecraft:stone"
+ - "minecraft:red_sand"
+ - "minecraft:gravel"
+ - "minecraft:dirt"
+replaceable:
+ - "minecraft:water"
\ No newline at end of file
diff --git a/src/main/resources/default-config/flora/kelp/kelp_tall.yml b/src/main/resources/default-config/flora/kelp/kelp_tall.yml
new file mode 100644
index 000000000..6463b502a
--- /dev/null
+++ b/src/main/resources/default-config/flora/kelp/kelp_tall.yml
@@ -0,0 +1,18 @@
+layers:
+ - materials:
+ - "minecraft:kelp": 1
+ layers: 1
+ - materials:
+ - "minecraft:kelp_plant": 1
+ layers: 9
+
+id: KELP_TALL
+name: "Tall Kelp"
+spawnable:
+ - "minecraft:sand"
+ - "minecraft:stone"
+ - "minecraft:red_sand"
+ - "minecraft:gravel"
+ - "minecraft:dirt"
+replaceable:
+ - "minecraft:water"
\ No newline at end of file
diff --git a/src/main/resources/default-config/flora/leaves.yml b/src/main/resources/default-config/flora/leaves.yml
new file mode 100644
index 000000000..c15cf7f15
--- /dev/null
+++ b/src/main/resources/default-config/flora/leaves.yml
@@ -0,0 +1,16 @@
+layers:
+ - materials:
+ - "minecraft:oak_leaves[persistent=true]": 1
+ layers: 1
+id: LEAVES
+name: "Stone button \"rock\""
+spawnable:
+ - "minecraft:stone"
+ - "minecraft:sand"
+ - "minecraft:red_sand"
+ - "minecraft:gravel"
+ - "minecraft:dirt"
+ - "minecraft:coarse_dirt"
+ - "minecraft:grass_block"
+replaceable:
+ - "minecraft:air"
\ No newline at end of file
diff --git a/src/main/resources/default-config/flora/root.yml b/src/main/resources/default-config/flora/root.yml
new file mode 100644
index 000000000..83c7cd5df
--- /dev/null
+++ b/src/main/resources/default-config/flora/root.yml
@@ -0,0 +1,24 @@
+layers:
+ - materials:
+ - "minecraft:spruce_fence": 1
+ - "minecraft:air": 2
+ layers: 1
+ - materials:
+ - "minecraft:spruce_fence": 1
+ layers: 1
+ - materials:
+ - "minecraft:spruce_fence": 1
+ - "minecraft:oak_log": 2
+ layers: 1
+ - materials:
+ - "minecraft:oak_log": 1
+ layers: 1
+
+id: ROOT
+name: "Swamp Root"
+spawnable:
+ - "minecraft:grass_block"
+ - "minecraft:coarse_dirt"
+ - "minecraft:dirt"
+replaceable:
+ - "minecraft:air"
\ No newline at end of file
diff --git a/src/main/resources/default-config/flora/seagrass.yml b/src/main/resources/default-config/flora/seagrass.yml
new file mode 100644
index 000000000..e36a17abb
--- /dev/null
+++ b/src/main/resources/default-config/flora/seagrass.yml
@@ -0,0 +1,14 @@
+layers:
+ - materials:
+ - "minecraft:seagrass": 1
+ layers: 1
+id: SEAGRASS
+name: "Short Sea Grass"
+spawnable:
+ - "minecraft:sand"
+ - "minecraft:stone"
+ - "minecraft:red_sand"
+ - "minecraft:gravel"
+ - "minecraft:dirt"
+replaceable:
+ - "minecraft:water"
\ No newline at end of file
diff --git a/src/main/resources/default-config/flora/tall_seagrass.yml b/src/main/resources/default-config/flora/tall_seagrass.yml
new file mode 100644
index 000000000..588f7368d
--- /dev/null
+++ b/src/main/resources/default-config/flora/tall_seagrass.yml
@@ -0,0 +1,17 @@
+layers:
+ - materials:
+ - "minecraft:tall_seagrass[half=upper]": 1
+ layers: 1
+ - materials:
+ - "minecraft:tall_seagrass[half=lower]": 1
+ layers: 1
+id: TALL_SEAGRASS
+name: "Tall Sea Grass"
+spawnable:
+ - "minecraft:sand"
+ - "minecraft:stone"
+ - "minecraft:red_sand"
+ - "minecraft:gravel"
+ - "minecraft:dirt"
+replaceable:
+ - "minecraft:water"
\ No newline at end of file
diff --git a/src/main/resources/default-config/grids/beach.yml b/src/main/resources/default-config/grids/beach.yml
new file mode 100644
index 000000000..910d0022b
--- /dev/null
+++ b/src/main/resources/default-config/grids/beach.yml
@@ -0,0 +1,13 @@
+grid:
+ - ["FROZEN_BEACH", "FROZEN_BEACH", "COLD_BEACH", "COLD_BEACH", "BEACH", "BEACH", "BEACH", "WARM_BEACH", "WARM_BEACH", "WARM_BEACH", "WARM_BEACH"]
+ - ["FROZEN_BEACH", "FROZEN_BEACH", "COLD_BEACH", "COLD_BEACH", "BEACH", "BEACH", "BEACH", "WARM_BEACH", "WARM_BEACH", "WARM_BEACH", "WARM_BEACH"]
+ - ["FROZEN_BEACH", "FROZEN_BEACH", "COLD_BEACH", "COLD_BEACH", "BEACH", "BEACH", "BEACH", "WARM_BEACH", "WARM_BEACH", "WARM_BEACH", "WARM_BEACH"]
+ - ["FROZEN_BEACH", "FROZEN_BEACH", "COLD_BEACH", "COLD_BEACH", "BEACH", "BEACH", "BEACH", "WARM_BEACH", "WARM_BEACH", "WARM_BEACH", "WARM_BEACH"]
+ - ["FROZEN_BEACH", "FROZEN_BEACH", "COLD_BEACH", "COLD_BEACH", "BEACH", "BEACH", "BEACH", "WARM_BEACH", "WARM_BEACH", "WARM_BEACH", "WARM_BEACH"]
+ - ["FROZEN_BEACH", "FROZEN_BEACH", "COLD_BEACH", "COLD_BEACH", "BEACH", "BEACH", "BEACH", "WARM_BEACH", "WARM_BEACH", "WARM_BEACH", "WARM_BEACH"]
+ - ["FROZEN_BEACH", "FROZEN_BEACH", "COLD_BEACH", "COLD_BEACH", "BEACH", "BEACH", "BEACH", "WARM_BEACH", "WARM_BEACH", "WARM_BEACH", "WARM_BEACH"]
+ - ["FROZEN_BEACH", "FROZEN_BEACH", "COLD_BEACH", "COLD_BEACH", "BEACH", "SWAMP", "BEACH", "WARM_BEACH", "WARM_BEACH", "WARM_BEACH", "WARM_BEACH"]
+ - ["FROZEN_BEACH", "FROZEN_BEACH", "COLD_BEACH", "COLD_BEACH", "BEACH", "SWAMP", "SWAMP", "SWAMP", "WARM_BEACH", "WARM_BEACH", "WARM_BEACH"]
+ - ["FROZEN_BEACH", "FROZEN_BEACH", "COLD_BEACH", "COLD_BEACH", "BEACH", "SWAMP", "SWAMP", "SWAMP", "SWAMP", "WARM_BEACH", "WARM_BEACH"]
+ - ["FROZEN_BEACH", "FROZEN_BEACH", "COLD_BEACH", "COLD_BEACH", "BEACH", "SWAMP", "SWAMP", "SWAMP", "SWAMP", "WARM_BEACH", "WARM_BEACH"]
+id: BEACH
\ No newline at end of file
diff --git a/src/main/resources/default-config/grids/land.yml b/src/main/resources/default-config/grids/land.yml
new file mode 100644
index 000000000..44913f6a4
--- /dev/null
+++ b/src/main/resources/default-config/grids/land.yml
@@ -0,0 +1,13 @@
+grid:
+ - ["TUNDRA", "TUNDRA", "TAIGA", "PLAINS", "PLAINS", "SAVANNA", "SAVANNA", "DESERT", "DESERT", "MESA", "MESA"]
+ - ["TUNDRA", "TUNDRA", "TAIGA", "PLAINS", "PLAINS", "SAVANNA", "SAVANNA", "DESERT", "DESERT", "MESA", "MESA"]
+ - ["TUNDRA", "TUNDRA", "TAIGA", "PLAINS", "PLAINS", "SAVANNA", "SAVANNA", "DESERT", "DESERT", "MESA", "MESA"]
+ - ["TUNDRA", "TUNDRA", "TAIGA", "PLAINS", "PLAINS", "SAVANNA", "SAVANNA", "DESERT", "DESERT", "DESERT", "DESERT"]
+ - ["TUNDRA", "TUNDRA", "TAIGA", "PLAINS", "PLAINS", "SAVANNA", "SAVANNA", "DESERT", "DESERT", "DESERT", "DESERT"]
+ - ["SNOWY_TAIGA", "SNOWY_TAIGA", "TAIGA", "PLAINS", "PLAINS", "PLAINS", "PLAINS", "SAVANNA", "SAVANNA", "SAVANNA", "SAVANNA"]
+ - ["SNOWY_TAIGA", "SNOWY_TAIGA", "TAIGA", "PLAINS", "PLAINS", "PLAINS", "PLAINS", "PLAINS", "PLAINS", "PLAINS", "PLAINS"]
+ - ["SNOWY_TAIGA", "SNOWY_TAIGA", "TAIGA", "DARK_FOREST", "DARK_FOREST", "FOREST", "FOREST", "JUNGLE", "JUNGLE", "JUNGLE", "JUNGLE"]
+ - ["SNOWY_TAIGA", "SNOWY_TAIGA", "TAIGA", "DARK_FOREST", "DARK_FOREST", "FOREST", "FOREST", "FOREST", "JUNGLE", "JUNGLE", "JUNGLE"]
+ - ["SNOWY_TAIGA", "SNOWY_TAIGA", "TAIGA", "DARK_FOREST", "DARK_FOREST", "FOREST", "FOREST", "JUNGLE", "JUNGLE", "JUNGLE", "JUNGLE"]
+ - ["SNOWY_TAIGA", "SNOWY_TAIGA", "TAIGA", "DARK_FOREST", "DARK_FOREST", "FOREST", "FOREST", "JUNGLE", "JUNGLE", "JUNGLE", "JUNGLE"]
+id: LAND
\ No newline at end of file
diff --git a/src/main/resources/default-config/grids/mountain.yml b/src/main/resources/default-config/grids/mountain.yml
new file mode 100644
index 000000000..f817bad3f
--- /dev/null
+++ b/src/main/resources/default-config/grids/mountain.yml
@@ -0,0 +1,13 @@
+grid:
+ - ["MOUNTAINS_STONE", "MOUNTAINS_STONE", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_0", "ARID_MOUNTAINS", "ARID_MOUNTAINS", "ARID_MOUNTAINS", "ARID_MOUNTAINS", "ARID_MOUNTAINS", "ARID_MOUNTAINS"]
+ - ["MOUNTAINS_STONE", "MOUNTAINS_STONE", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_0", "ARID_MOUNTAINS", "ARID_MOUNTAINS", "ARID_MOUNTAINS", "ARID_MOUNTAINS", "ARID_MOUNTAINS", "ARID_MOUNTAINS"]
+ - ["MOUNTAINS_STONE", "MOUNTAINS_STONE", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_0", "ARID_MOUNTAINS", "ARID_MOUNTAINS", "ARID_MOUNTAINS", "ARID_MOUNTAINS", "ARID_MOUNTAINS", "ARID_MOUNTAINS"]
+ - ["MOUNTAINS_STONE", "MOUNTAINS_STONE", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_0", "ARID_MOUNTAINS", "ARID_MOUNTAINS", "ARID_MOUNTAINS", "ARID_MOUNTAINS", "ARID_MOUNTAINS", "ARID_MOUNTAINS"]
+ - ["MOUNTAINS_STONE", "MOUNTAINS_STONE", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_0", "ARID_MOUNTAINS", "ARID_MOUNTAINS", "ARID_MOUNTAINS", "ARID_MOUNTAINS", "ARID_MOUNTAINS", "ARID_MOUNTAINS"]
+ - ["MOUNTAINS_STONE", "MOUNTAINS_STONE", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "ARID_MOUNTAINS", "ARID_MOUNTAINS", "ARID_MOUNTAINS", "ARID_MOUNTAINS"]
+ - ["MOUNTAINS_STONE", "MOUNTAINS_STONE", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY", "MOUNTAINS_PRETTY", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0"]
+ - ["MOUNTAINS_STONE", "MOUNTAINS_STONE", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY", "MOUNTAINS_PRETTY", "MOUNTAINS_PRETTY", "MOUNTAINS_PRETTY", "MOUNTAINS_JUNGLE_1", "MOUNTAINS_JUNGLE_1", "MOUNTAINS_JUNGLE_1", "MOUNTAINS_JUNGLE_1"]
+ - ["MOUNTAINS_STONE", "MOUNTAINS_STONE", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY", "MOUNTAINS_PRETTY", "MOUNTAINS_PRETTY", "MOUNTAINS_PRETTY", "MOUNTAINS_PRETTY", "MOUNTAINS_JUNGLE", "MOUNTAINS_JUNGLE", "MOUNTAINS_JUNGLE"]
+ - ["MOUNTAINS_STONE", "MOUNTAINS_STONE", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY", "MOUNTAINS_PRETTY", "MOUNTAINS_PRETTY", "MOUNTAINS_PRETTY", "MOUNTAINS_JUNGLE", "MOUNTAINS_JUNGLE", "MOUNTAINS_JUNGLE", "MOUNTAINS_JUNGLE"]
+ - ["MOUNTAINS_STONE", "MOUNTAINS_STONE", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY", "MOUNTAINS_PRETTY", "MOUNTAINS_PRETTY", "MOUNTAINS_PRETTY", "MOUNTAINS_JUNGLE", "MOUNTAINS_JUNGLE", "MOUNTAINS_JUNGLE", "MOUNTAINS_JUNGLE"]
+id: MOUNTAIN
\ No newline at end of file
diff --git a/src/main/resources/default-config/grids/mountain_border_flat.yml b/src/main/resources/default-config/grids/mountain_border_flat.yml
new file mode 100644
index 000000000..f4b6a6537
--- /dev/null
+++ b/src/main/resources/default-config/grids/mountain_border_flat.yml
@@ -0,0 +1,13 @@
+grid:
+ - ["MOUNTAINS_STONE_0", "MOUNTAINS_STONE_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0"]
+ - ["MOUNTAINS_STONE_0", "MOUNTAINS_STONE_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0"]
+ - ["MOUNTAINS_STONE_0", "MOUNTAINS_STONE_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0"]
+ - ["MOUNTAINS_STONE_0", "MOUNTAINS_STONE_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0"]
+ - ["MOUNTAINS_STONE_0", "MOUNTAINS_STONE_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0"]
+ - ["MOUNTAINS_STONE_0", "MOUNTAINS_STONE_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0", "ARID_MOUNTAINS_0"]
+ - ["MOUNTAINS_STONE_0", "MOUNTAINS_STONE_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0"]
+ - ["MOUNTAINS_STONE_0", "MOUNTAINS_STONE_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_JUNGLE_0", "MOUNTAINS_JUNGLE_0", "MOUNTAINS_JUNGLE_0", "MOUNTAINS_JUNGLE_0"]
+ - ["MOUNTAINS_STONE_0", "MOUNTAINS_STONE_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_JUNGLE_0", "MOUNTAINS_JUNGLE_0", "MOUNTAINS_JUNGLE_0"]
+ - ["MOUNTAINS_STONE_0", "MOUNTAINS_STONE_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_JUNGLE_0", "MOUNTAINS_JUNGLE_0", "MOUNTAINS_JUNGLE_0", "MOUNTAINS_JUNGLE_0"]
+ - ["MOUNTAINS_STONE_0", "MOUNTAINS_STONE_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_JUNGLE_0", "MOUNTAINS_JUNGLE_0", "MOUNTAINS_JUNGLE_0", "MOUNTAINS_JUNGLE_0"]
+id: MOUNTAIN_0
\ No newline at end of file
diff --git a/src/main/resources/default-config/grids/mountain_border_mid.yml b/src/main/resources/default-config/grids/mountain_border_mid.yml
new file mode 100644
index 000000000..ab0522205
--- /dev/null
+++ b/src/main/resources/default-config/grids/mountain_border_mid.yml
@@ -0,0 +1,13 @@
+grid:
+ - ["MOUNTAINS_STONE_1", "MOUNTAINS_STONE_1", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_0", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1"]
+ - ["MOUNTAINS_STONE_1", "MOUNTAINS_STONE_1", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_0", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1"]
+ - ["MOUNTAINS_STONE_1", "MOUNTAINS_STONE_1", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_0", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1"]
+ - ["MOUNTAINS_STONE_1", "MOUNTAINS_STONE_1", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_0", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1"]
+ - ["MOUNTAINS_STONE_1", "MOUNTAINS_STONE_1", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_0", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1"]
+ - ["MOUNTAINS_STONE_1", "MOUNTAINS_STONE_1", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_0", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1", "ARID_MOUNTAINS_1"]
+ - ["MOUNTAINS_STONE_1", "MOUNTAINS_STONE_1", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_0"]
+ - ["MOUNTAINS_STONE_1", "MOUNTAINS_STONE_1", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_1", "MOUNTAINS_JUNGLE_1", "MOUNTAINS_JUNGLE_1", "MOUNTAINS_JUNGLE_1", "MOUNTAINS_JUNGLE_1"]
+ - ["MOUNTAINS_STONE_1", "MOUNTAINS_STONE_1", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_1", "MOUNTAINS_JUNGLE_1", "MOUNTAINS_JUNGLE_1", "MOUNTAINS_JUNGLE_1"]
+ - ["MOUNTAINS_STONE_1", "MOUNTAINS_STONE_1", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_1", "MOUNTAINS_JUNGLE_1", "MOUNTAINS_JUNGLE_1", "MOUNTAINS_JUNGLE_1", "MOUNTAINS_JUNGLE_1"]
+ - ["MOUNTAINS_STONE_1", "MOUNTAINS_STONE_1", "MOUNTAINS_PRETTY_0", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_1", "MOUNTAINS_PRETTY_1", "MOUNTAINS_JUNGLE_1", "MOUNTAINS_JUNGLE_1", "MOUNTAINS_JUNGLE_1", "MOUNTAINS_JUNGLE_1"]
+id: MOUNTAIN_1
\ No newline at end of file
diff --git a/src/main/resources/default-config/grids/ocean.yml b/src/main/resources/default-config/grids/ocean.yml
new file mode 100644
index 000000000..92c7bfc0d
--- /dev/null
+++ b/src/main/resources/default-config/grids/ocean.yml
@@ -0,0 +1,13 @@
+grid:
+ - ["FROZEN_OCEAN", "FROZEN_OCEAN", "COLD_OCEAN", "COLD_OCEAN", "OCEAN", "OCEAN", "OCEAN", "LUKEWARM_OCEAN", "WARM_OCEAN", "WARM_OCEAN", "WARM_OCEAN"]
+ - ["FROZEN_OCEAN", "FROZEN_OCEAN", "COLD_OCEAN", "COLD_OCEAN", "OCEAN", "OCEAN", "OCEAN", "LUKEWARM_OCEAN", "WARM_OCEAN", "WARM_OCEAN", "WARM_OCEAN"]
+ - ["FROZEN_OCEAN", "FROZEN_OCEAN", "COLD_OCEAN", "COLD_OCEAN", "OCEAN", "OCEAN", "OCEAN", "LUKEWARM_OCEAN", "WARM_OCEAN", "WARM_OCEAN", "WARM_OCEAN"]
+ - ["FROZEN_OCEAN", "FROZEN_OCEAN", "COLD_OCEAN", "COLD_OCEAN", "OCEAN", "OCEAN", "OCEAN", "LUKEWARM_OCEAN", "WARM_OCEAN", "WARM_OCEAN", "WARM_OCEAN"]
+ - ["FROZEN_OCEAN", "FROZEN_OCEAN", "COLD_OCEAN", "COLD_OCEAN", "OCEAN", "OCEAN", "OCEAN", "LUKEWARM_OCEAN", "WARM_OCEAN", "WARM_OCEAN", "WARM_OCEAN"]
+ - ["FROZEN_OCEAN", "FROZEN_OCEAN", "COLD_OCEAN", "COLD_OCEAN", "OCEAN", "OCEAN", "OCEAN", "LUKEWARM_OCEAN", "WARM_OCEAN", "WARM_OCEAN", "WARM_OCEAN"]
+ - ["FROZEN_OCEAN", "FROZEN_OCEAN", "COLD_OCEAN", "COLD_OCEAN", "OCEAN", "OCEAN", "OCEAN", "LUKEWARM_OCEAN", "WARM_OCEAN", "WARM_OCEAN", "WARM_OCEAN"]
+ - ["FROZEN_OCEAN", "FROZEN_OCEAN", "COLD_OCEAN", "COLD_OCEAN", "OCEAN", "SWAMP", "OCEAN", "LUKEWARM_OCEAN", "WARM_OCEAN", "WARM_OCEAN", "WARM_OCEAN"]
+ - ["FROZEN_OCEAN", "FROZEN_OCEAN", "COLD_OCEAN", "COLD_OCEAN", "OCEAN", "SWAMP", "SWAMP", "SWAMP", "LUKEWARM_OCEAN", "WARM_OCEAN", "WARM_OCEAN"]
+ - ["FROZEN_OCEAN", "FROZEN_OCEAN", "COLD_OCEAN", "COLD_OCEAN", "OCEAN", "SWAMP", "SWAMP", "SWAMP", "SWAMP", "LUKEWARM_OCEAN", "WARM_OCEAN"]
+ - ["FROZEN_OCEAN", "FROZEN_OCEAN", "COLD_OCEAN", "COLD_OCEAN", "OCEAN", "SWAMP", "SWAMP", "SWAMP", "SWAMP", "LUKEWARM_OCEAN", "WARM_OCEAN"]
+id: OCEAN
\ No newline at end of file
diff --git a/src/main/resources/default-config/ores/deposits/andesite_pocket.yml b/src/main/resources/default-config/ores/deposits/andesite_pocket.yml
new file mode 100644
index 000000000..d4971219e
--- /dev/null
+++ b/src/main/resources/default-config/ores/deposits/andesite_pocket.yml
@@ -0,0 +1,9 @@
+material: "minecraft:andesite"
+radius:
+ min: 3
+ max: 4
+deform: 0.75
+deform-frequency: 0.1
+id: ANDESITE
+replace:
+ - "minecraft:stone"
\ No newline at end of file
diff --git a/src/main/resources/default-config/ores/deposits/diorite_pocket.yml b/src/main/resources/default-config/ores/deposits/diorite_pocket.yml
new file mode 100644
index 000000000..8ed8ff4ad
--- /dev/null
+++ b/src/main/resources/default-config/ores/deposits/diorite_pocket.yml
@@ -0,0 +1,9 @@
+material: "minecraft:diorite"
+radius:
+ min: 3
+ max: 4
+deform: 0.75
+deform-frequency: 0.1
+id: DIORITE
+replace:
+ - "minecraft:stone"
\ No newline at end of file
diff --git a/src/main/resources/default-config/ores/deposits/dirt_pocket.yml b/src/main/resources/default-config/ores/deposits/dirt_pocket.yml
new file mode 100644
index 000000000..495eb9e2b
--- /dev/null
+++ b/src/main/resources/default-config/ores/deposits/dirt_pocket.yml
@@ -0,0 +1,9 @@
+material: "minecraft:dirt"
+radius:
+ min: 3
+ max: 4
+deform: 0.75
+deform-frequency: 0.1
+id: DIRT
+replace:
+ - "minecraft:stone"
\ No newline at end of file
diff --git a/src/main/resources/default-config/ores/deposits/granite_pocket.yml b/src/main/resources/default-config/ores/deposits/granite_pocket.yml
new file mode 100644
index 000000000..4799b821e
--- /dev/null
+++ b/src/main/resources/default-config/ores/deposits/granite_pocket.yml
@@ -0,0 +1,9 @@
+material: "minecraft:granite"
+radius:
+ min: 3
+ max: 4
+deform: 0.75
+deform-frequency: 0.1
+id: GRANITE
+replace:
+ - "minecraft:stone"
\ No newline at end of file
diff --git a/src/main/resources/default-config/ores/deposits/gravel_pocket.yml b/src/main/resources/default-config/ores/deposits/gravel_pocket.yml
new file mode 100644
index 000000000..5fa8391d2
--- /dev/null
+++ b/src/main/resources/default-config/ores/deposits/gravel_pocket.yml
@@ -0,0 +1,9 @@
+material: "minecraft:gravel"
+radius:
+ min: 3
+ max: 4
+deform: 0.75
+deform-frequency: 0.1
+id: GRAVEL
+replace:
+ - "minecraft:stone"
\ No newline at end of file
diff --git a/src/main/resources/default-config/ores/minerals/coal.yml b/src/main/resources/default-config/ores/minerals/coal.yml
new file mode 100644
index 000000000..b2ffc3016
--- /dev/null
+++ b/src/main/resources/default-config/ores/minerals/coal.yml
@@ -0,0 +1,9 @@
+material: "minecraft:coal_ore"
+radius:
+ min: 1
+ max: 2
+deform: 0.75
+deform-frequency: 0.2
+id: COAL_ORE
+replace:
+ - "minecraft:stone"
\ No newline at end of file
diff --git a/src/main/resources/default-config/ores/minerals/diamond.yml b/src/main/resources/default-config/ores/minerals/diamond.yml
new file mode 100644
index 000000000..c1d9af614
--- /dev/null
+++ b/src/main/resources/default-config/ores/minerals/diamond.yml
@@ -0,0 +1,9 @@
+material: "minecraft:diamond_ore"
+radius:
+ min: 0
+ max: 1
+deform: 0.75
+deform-frequency: 0.2
+id: DIAMOND_ORE
+replace:
+ - "minecraft:stone"
\ No newline at end of file
diff --git a/src/main/resources/default-config/ores/minerals/gold.yml b/src/main/resources/default-config/ores/minerals/gold.yml
new file mode 100644
index 000000000..1292a4cd0
--- /dev/null
+++ b/src/main/resources/default-config/ores/minerals/gold.yml
@@ -0,0 +1,9 @@
+material: "minecraft:gold_ore"
+radius:
+ min: 1
+ max: 1
+deform: 0.75
+deform-frequency: 0.2
+id: GOLD_ORE
+replace:
+ - "minecraft:stone"
\ No newline at end of file
diff --git a/src/main/resources/default-config/ores/minerals/iron.yml b/src/main/resources/default-config/ores/minerals/iron.yml
new file mode 100644
index 000000000..9b51c520b
--- /dev/null
+++ b/src/main/resources/default-config/ores/minerals/iron.yml
@@ -0,0 +1,9 @@
+material: "minecraft:iron_ore"
+radius:
+ min: 1
+ max: 1
+deform: 0.75
+deform-frequency: 0.2
+id: IRON_ORE
+replace:
+ - "minecraft:stone"
\ No newline at end of file
diff --git a/src/main/resources/default-config/ores/minerals/lapis.yml b/src/main/resources/default-config/ores/minerals/lapis.yml
new file mode 100644
index 000000000..7ea0629b7
--- /dev/null
+++ b/src/main/resources/default-config/ores/minerals/lapis.yml
@@ -0,0 +1,9 @@
+material: "minecraft:lapis_ore"
+radius:
+ min: 1
+ max: 1
+deform: 0.75
+deform-frequency: 0.2
+id: LAPIS_ORE
+replace:
+ - "minecraft:stone"
\ No newline at end of file
diff --git a/src/main/resources/default-config/ores/minerals/redstone.yml b/src/main/resources/default-config/ores/minerals/redstone.yml
new file mode 100644
index 000000000..479906719
--- /dev/null
+++ b/src/main/resources/default-config/ores/minerals/redstone.yml
@@ -0,0 +1,9 @@
+material: "minecraft:redstone_ore"
+radius:
+ min: 1
+ max: 1
+deform: 0.75
+deform-frequency: 0.2
+id: REDSTONE_ORE
+replace:
+ - "minecraft:stone"
\ No newline at end of file
diff --git a/src/main/resources/default-config/pack.yml b/src/main/resources/default-config/pack.yml
new file mode 100644
index 000000000..6f27044a9
--- /dev/null
+++ b/src/main/resources/default-config/pack.yml
@@ -0,0 +1,64 @@
+id: DEFAULT
+grids:
+ - OCEAN
+ - OCEAN
+ - OCEAN
+ - OCEAN
+ - OCEAN
+ - OCEAN
+ - OCEAN
+ - OCEAN
+ - OCEAN
+ - OCEAN
+ - OCEAN
+ - OCEAN
+ - OCEAN
+ - OCEAN
+ - OCEAN
+ - OCEAN
+ - BEACH
+ - LAND
+ - LAND
+ - LAND
+ - LAND
+ - LAND
+ - LAND
+ - LAND
+ - LAND
+ - LAND
+ - LAND
+ - LAND
+ - LAND
+ - LAND
+ - LAND
+ - LAND
+ - LAND
+ - LAND
+ - LAND
+ - MOUNTAIN_0
+ - MOUNTAIN_1
+ - MOUNTAIN
+ - MOUNTAIN
+ - MOUNTAIN
+ - MOUNTAIN
+ - MOUNTAIN
+ - MOUNTAIN
+ - MOUNTAIN
+ - MOUNTAIN
+ - MOUNTAIN
+ - MOUNTAIN
+ - MOUNTAIN
+frequencies:
+ grid-x: 3072
+ grid-z: 2048
+ zone: 4096
+blend:
+ enable: true
+ frequency: 0.125
+ amplitude: 10
+erode:
+ enable: true
+ frequency: 0.002
+ threshold: 0.001
+ octaves: 4
+ grid: "BIOME:RIVER"
diff --git a/src/main/resources/default-config/palettes/bedrock/bedrock.yml b/src/main/resources/default-config/palettes/bedrock/bedrock.yml
new file mode 100644
index 000000000..da59735de
--- /dev/null
+++ b/src/main/resources/default-config/palettes/bedrock/bedrock.yml
@@ -0,0 +1,6 @@
+layers:
+ - materials:
+ - "minecraft:bedrock": 1
+ layers: 1
+id: BEDROCK
+name: "Bedrock Palette"
\ No newline at end of file
diff --git a/src/main/resources/default-config/palettes/bedrock/bedrock_half.yml b/src/main/resources/default-config/palettes/bedrock/bedrock_half.yml
new file mode 100644
index 000000000..063977812
--- /dev/null
+++ b/src/main/resources/default-config/palettes/bedrock/bedrock_half.yml
@@ -0,0 +1,7 @@
+layers:
+ - materials:
+ - "minecraft:bedrock": 1
+ - "minecraft:stone": 1
+ layers: 1
+id: BEDROCK_HALF
+name: "Bedrock Palette"
\ No newline at end of file
diff --git a/src/main/resources/default-config/palettes/bedrock/bedrock_little.yml b/src/main/resources/default-config/palettes/bedrock/bedrock_little.yml
new file mode 100644
index 000000000..b179a7618
--- /dev/null
+++ b/src/main/resources/default-config/palettes/bedrock/bedrock_little.yml
@@ -0,0 +1,7 @@
+layers:
+ - materials:
+ - "minecraft:bedrock": 1
+ - "minecraft:stone": 2
+ layers: 1
+id: BEDROCK_LITTLE
+name: "Bedrock Palette"
\ No newline at end of file
diff --git a/src/main/resources/default-config/palettes/bedrock/bedrock_most.yml b/src/main/resources/default-config/palettes/bedrock/bedrock_most.yml
new file mode 100644
index 000000000..bcd3363f6
--- /dev/null
+++ b/src/main/resources/default-config/palettes/bedrock/bedrock_most.yml
@@ -0,0 +1,7 @@
+layers:
+ - materials:
+ - "minecraft:bedrock": 2
+ - "minecraft:stone": 1
+ layers: 1
+id: BEDROCK_MOST
+name: "Bedrock Palette"
\ No newline at end of file
diff --git a/src/main/resources/default-config/palettes/cold_ocean.yml b/src/main/resources/default-config/palettes/cold_ocean.yml
new file mode 100644
index 000000000..4403ee26c
--- /dev/null
+++ b/src/main/resources/default-config/palettes/cold_ocean.yml
@@ -0,0 +1,8 @@
+layers:
+ - materials:
+ - "minecraft:ice": 1
+ layers: 1
+ - materials:
+ - "minecraft:water": 1
+ layers: 1
+id: COLD_OCEAN
\ No newline at end of file
diff --git a/src/main/resources/default-config/palettes/desert/desert.yml b/src/main/resources/default-config/palettes/desert/desert.yml
new file mode 100644
index 000000000..e72fdaf2d
--- /dev/null
+++ b/src/main/resources/default-config/palettes/desert/desert.yml
@@ -0,0 +1,12 @@
+layers:
+ - materials:
+ - "minecraft:sand": 1
+ layers: 3
+ - materials:
+ - "minecraft:sandstone": 1
+ layers: 4
+ - materials:
+ - "minecraft:stone": 1
+ layers: 1
+id: DESERT
+name: "Sandy Palette"
diff --git a/src/main/resources/default-config/palettes/desert/red_desert.yml b/src/main/resources/default-config/palettes/desert/red_desert.yml
new file mode 100644
index 000000000..ef0b669d4
--- /dev/null
+++ b/src/main/resources/default-config/palettes/desert/red_desert.yml
@@ -0,0 +1,12 @@
+layers:
+ - materials:
+ - "minecraft:red_sand": 1
+ layers: 3
+ - materials:
+ - "minecraft:red_sandstone": 1
+ layers: 4
+ - materials:
+ - "minecraft:stone": 1
+ layers: 1
+id: RED_DESERT
+name: "Sandy Palette"
diff --git a/src/main/resources/default-config/palettes/grassy.yml b/src/main/resources/default-config/palettes/grassy.yml
new file mode 100644
index 000000000..31e10713c
--- /dev/null
+++ b/src/main/resources/default-config/palettes/grassy.yml
@@ -0,0 +1,11 @@
+layers:
+ - materials:
+ - "minecraft:grass_block": 1
+ layers: 1
+ - materials:
+ - "minecraft:dirt": 1
+ layers: 2
+ - materials:
+ - "minecraft:stone": 1
+ layers: 1
+id: GRASSY
\ No newline at end of file
diff --git a/src/main/resources/default-config/palettes/gravelly.yml b/src/main/resources/default-config/palettes/gravelly.yml
new file mode 100644
index 000000000..e5ffff8ce
--- /dev/null
+++ b/src/main/resources/default-config/palettes/gravelly.yml
@@ -0,0 +1,12 @@
+layers:
+ - materials:
+ - "minecraft:gravel": 1
+ layers: 1
+ - materials:
+ - "minecraft:dirt": 1
+ layers: 2
+ - materials:
+ - "minecraft:stone": 1
+ layers: 1
+id: GRAVEL
+name: "Sandy Palette"
diff --git a/src/main/resources/default-config/palettes/mountains/arid.yml b/src/main/resources/default-config/palettes/mountains/arid.yml
new file mode 100644
index 000000000..107f54796
--- /dev/null
+++ b/src/main/resources/default-config/palettes/mountains/arid.yml
@@ -0,0 +1,29 @@
+layers:
+ - materials:
+ - "minecraft:grass_block": 1
+ - "minecraft:grass_block": 1
+ - "minecraft:grass_path": 1
+ - "minecraft:grass_block": 1
+ - "minecraft:grass_block": 1
+ - "minecraft:grass_block": 1
+ - "minecraft:grass_block": 1
+ - "minecraft:grass_block": 1
+ - "minecraft:grass_path": 1
+ - "minecraft:grass_block": 1
+ - "minecraft:grass_block": 1
+ - "minecraft:grass_block": 1
+ - "minecraft:grass_block": 1
+ - "minecraft:grass_block": 1
+ - "minecraft:white_terracotta": 2
+ layers: 1
+ - materials:
+ - "minecraft:dirt": 7
+ - "minecraft:white_terracotta": 1
+ layers: 2
+ - materials:
+ - "minecraft:stone": 1
+ layers: 1
+id: ARID
+simplex: true
+frequency: 0.04
+seed: 3
\ No newline at end of file
diff --git a/src/main/resources/default-config/palettes/mountains/grass.yml b/src/main/resources/default-config/palettes/mountains/grass.yml
new file mode 100644
index 000000000..79faa4bbf
--- /dev/null
+++ b/src/main/resources/default-config/palettes/mountains/grass.yml
@@ -0,0 +1,18 @@
+layers:
+ - materials:
+ - "minecraft:cyan_terracotta": 1
+ - "minecraft:grass_block": 2
+ - "minecraft:snow_block": 3
+ layers: 1
+ - materials:
+ - "minecraft:cyan_terracotta": 1
+ - "minecraft:dirt": 2
+ - "minecraft:snow_block": 3
+ layers: 2
+ - materials:
+ - "minecraft:stone": 1
+ layers: 1
+id: MOUNTAIN_GRASS
+simplex: true
+frequency: 0.05
+seed: 3
\ No newline at end of file
diff --git a/src/main/resources/default-config/palettes/mountains/jungle.yml b/src/main/resources/default-config/palettes/mountains/jungle.yml
new file mode 100644
index 000000000..430729bc0
--- /dev/null
+++ b/src/main/resources/default-config/palettes/mountains/jungle.yml
@@ -0,0 +1,20 @@
+layers:
+ - materials:
+ - "minecraft:brown_terracotta": 2
+ - "minecraft:grass_block": 10
+ - "minecraft:cobblestone": 1
+ - "minecraft:stone": 1
+ layers: 1
+ - materials:
+ - "minecraft:brown_terracotta": 2
+ - "minecraft:dirt": 10
+ - "minecraft:cobblestone": 1
+ - "minecraft:stone": 1
+ layers: 2
+ - materials:
+ - "minecraft:stone": 1
+ layers: 1
+id: MOUNTAIN_JUNGLE
+simplex: true
+frequency: 0.04
+seed: 3
\ No newline at end of file
diff --git a/src/main/resources/default-config/palettes/mountains/pretty_mountains.yml b/src/main/resources/default-config/palettes/mountains/pretty_mountains.yml
new file mode 100644
index 000000000..eff946ee7
--- /dev/null
+++ b/src/main/resources/default-config/palettes/mountains/pretty_mountains.yml
@@ -0,0 +1,25 @@
+layers:
+ - materials:
+ - "minecraft:cyan_terracotta": 2
+ - "minecraft:clay": 2
+ - "minecraft:light_gray_terracotta": 2
+ - "minecraft:grass_block": 10
+ - "minecraft:cobblestone": 1
+ - "minecraft:stone": 1
+ layers: 1
+ - materials:
+ - "minecraft:cyan_terracotta": 2
+ - "minecraft:clay": 2
+ - "minecraft:light_gray_terracotta": 2
+ - "minecraft:dirt": 10
+ - "minecraft:cobblestone": 1
+ - "minecraft:stone": 1
+ layers: 2
+ - materials:
+ - "minecraft:stone": 1
+ layers: 1
+id: MOUNTAIN_PRETTY
+name: "Sandy Palette"
+simplex: true
+frequency: 0.02
+seed: 3
\ No newline at end of file
diff --git a/src/main/resources/default-config/palettes/mountains/stone.yml b/src/main/resources/default-config/palettes/mountains/stone.yml
new file mode 100644
index 000000000..7e4bdccca
--- /dev/null
+++ b/src/main/resources/default-config/palettes/mountains/stone.yml
@@ -0,0 +1,14 @@
+layers:
+ - materials:
+ - "minecraft:cyan_terracotta": 1
+ - "minecraft:stone": 2
+ - "minecraft:snow_block": 3
+ - "minecraft:cobblestone": 1
+ layers: 3
+ - materials:
+ - "minecraft:stone": 1
+ layers: 1
+id: MOUNTAIN_STONE
+simplex: true
+frequency: 0.05
+seed: 3
\ No newline at end of file
diff --git a/src/main/resources/default-config/palettes/mountains/stone_grass.yml b/src/main/resources/default-config/palettes/mountains/stone_grass.yml
new file mode 100644
index 000000000..daa990875
--- /dev/null
+++ b/src/main/resources/default-config/palettes/mountains/stone_grass.yml
@@ -0,0 +1,22 @@
+layers:
+ - materials:
+ - "minecraft:cyan_terracotta": 1
+ - "minecraft:stone": 2
+ - "minecraft:grass_block": 2
+ - "minecraft:snow_block": 4
+ - "minecraft:cobblestone": 1
+ layers: 1
+ - materials:
+ - "minecraft:cyan_terracotta": 1
+ - "minecraft:stone": 2
+ - "minecraft:dirt": 2
+ - "minecraft:snow_block": 4
+ - "minecraft:cobblestone": 1
+ layers: 2
+ - materials:
+ - "minecraft:stone": 1
+ layers: 1
+id: MOUNTAIN_STONE_GRASS
+simplex: true
+frequency: 0.05
+seed: 3
\ No newline at end of file
diff --git a/src/main/resources/default-config/palettes/oceanfloor.yml b/src/main/resources/default-config/palettes/oceanfloor.yml
new file mode 100644
index 000000000..19e82855c
--- /dev/null
+++ b/src/main/resources/default-config/palettes/oceanfloor.yml
@@ -0,0 +1,14 @@
+layers:
+ - materials:
+ - "minecraft:sand": 1
+ - "minecraft:gravel": 3
+ layers: 3
+ - materials:
+ - "minecraft:gravel": 2
+ layers: 2
+ - materials:
+ - "minecraft:stone": 1
+ layers: 1
+id: OCEANFLOOR
+name: "Ocean Floor Palette"
+
diff --git a/src/main/resources/default-config/palettes/river_bottom.yml b/src/main/resources/default-config/palettes/river_bottom.yml
new file mode 100644
index 000000000..2e42a919a
--- /dev/null
+++ b/src/main/resources/default-config/palettes/river_bottom.yml
@@ -0,0 +1,13 @@
+layers:
+ - materials:
+ - "minecraft:gravel": 1
+ - "minecraft:dirt": 4
+ - "minecraft:sand": 2
+ layers: 2
+ - materials:
+ - "minecraft:stone": 1
+ layers: 1
+id: RIVER_BOTTOM
+simplex: true
+frequency: 0.05
+seed: 3
\ No newline at end of file
diff --git a/src/main/resources/default-config/palettes/river_shore.yml b/src/main/resources/default-config/palettes/river_shore.yml
new file mode 100644
index 000000000..f760c8d33
--- /dev/null
+++ b/src/main/resources/default-config/palettes/river_shore.yml
@@ -0,0 +1,17 @@
+layers:
+ - materials:
+ - "minecraft:gravel": 1
+ - "minecraft:grass_block": 4
+ - "minecraft:sand": 2
+ layers: 1
+ - materials:
+ - "minecraft:dirt": 1
+ layers: 2
+ - materials:
+ - "minecraft:stone": 1
+ layers: 1
+id: RIVER_SHORE
+name: "Sandy Palette"
+simplex: true
+frequency: 0.05
+seed: 3
\ No newline at end of file
diff --git a/src/main/resources/default-config/palettes/sand_all.yml b/src/main/resources/default-config/palettes/sand_all.yml
new file mode 100644
index 000000000..6a001dd31
--- /dev/null
+++ b/src/main/resources/default-config/palettes/sand_all.yml
@@ -0,0 +1,9 @@
+layers:
+ - materials:
+ - "minecraft:sand": 1
+ layers: 3
+ - materials:
+ - "minecraft:stone": 1
+ layers: 1
+id: SAND_ALL
+name: "Sandy Palette"
diff --git a/src/main/resources/default-config/palettes/sandy.yml b/src/main/resources/default-config/palettes/sandy.yml
new file mode 100644
index 000000000..9748ba2a0
--- /dev/null
+++ b/src/main/resources/default-config/palettes/sandy.yml
@@ -0,0 +1,13 @@
+layers:
+ - materials:
+ - "minecraft:sand": 4
+ - "minecraft:gravel": 1
+ layers: 1
+ - materials:
+ - "minecraft:dirt": 1
+ layers: 2
+ - materials:
+ - "minecraft:stone": 1
+ layers: 1
+id: SANDY
+name: "Sandy Palette"
diff --git a/src/main/resources/default-config/palettes/slabs/mountainslabs.yml b/src/main/resources/default-config/palettes/slabs/mountainslabs.yml
new file mode 100644
index 000000000..2870d97e4
--- /dev/null
+++ b/src/main/resources/default-config/palettes/slabs/mountainslabs.yml
@@ -0,0 +1,10 @@
+layers:
+ - materials:
+ - "minecraft:cobblestone_slab": 1
+ - "minecraft:stone_slab": 3
+ layers: 1
+id: MOUNTAIN_SLABS
+name: "Mountain Slabs palette"
+simplex: true
+frequency: 0.1
+seed: 4
\ No newline at end of file
diff --git a/src/main/resources/default-config/palettes/slabs/mountainstairs.yml b/src/main/resources/default-config/palettes/slabs/mountainstairs.yml
new file mode 100644
index 000000000..f959ff775
--- /dev/null
+++ b/src/main/resources/default-config/palettes/slabs/mountainstairs.yml
@@ -0,0 +1,10 @@
+layers:
+ - materials:
+ - "minecraft:cobblestone_stairs": 1
+ - "minecraft:stone_stairs": 3
+ layers: 1
+id: MOUNTAIN_STAIRS
+name: "Mountain Stairs palette"
+simplex: true
+frequency: 0.1
+seed: 4
\ No newline at end of file
diff --git a/src/main/resources/default-config/palettes/slabs/snow.yml b/src/main/resources/default-config/palettes/slabs/snow.yml
new file mode 100644
index 000000000..20fef3999
--- /dev/null
+++ b/src/main/resources/default-config/palettes/slabs/snow.yml
@@ -0,0 +1,8 @@
+layers:
+ - materials:
+ - "minecraft:snow[layers=3]": 1
+ - "minecraft:snow[layers=4]": 1
+ - "minecraft:snow[layers=5]": 1
+ layers: 1
+id: SNOW_LAYERS
+name: "Mountain Snow palette"
\ No newline at end of file
diff --git a/src/main/resources/default-config/palettes/snow.yml b/src/main/resources/default-config/palettes/snow.yml
new file mode 100644
index 000000000..a3f85ff3f
--- /dev/null
+++ b/src/main/resources/default-config/palettes/snow.yml
@@ -0,0 +1,12 @@
+layers:
+ - materials:
+ - "minecraft:snow_block": 2
+ layers: 3
+ - materials:
+ - "minecraft:stone": 1
+ layers: 4
+ - materials:
+ - "minecraft:stone": 1
+ layers: 1
+id: SNOW
+name: "Snowy Palette"
\ No newline at end of file
diff --git a/src/main/resources/default-config/palettes/swamp.yml b/src/main/resources/default-config/palettes/swamp.yml
new file mode 100644
index 000000000..d7dfff67f
--- /dev/null
+++ b/src/main/resources/default-config/palettes/swamp.yml
@@ -0,0 +1,13 @@
+layers:
+ - materials:
+ - "minecraft:grass_block": 4
+ - "minecraft:coarse_dirt": 1
+ layers: 1
+ - materials:
+ - "minecraft:dirt": 1
+ layers: 2
+ - materials:
+ - "minecraft:stone": 1
+ layers: 1
+id: SWAMP
+name: "Grassy Palette"
\ No newline at end of file
diff --git a/src/main/resources/default-config/palettes/swamp_border.yml b/src/main/resources/default-config/palettes/swamp_border.yml
new file mode 100644
index 000000000..8c9d57341
--- /dev/null
+++ b/src/main/resources/default-config/palettes/swamp_border.yml
@@ -0,0 +1,27 @@
+layers:
+ - materials:
+ - "minecraft:grass_block": 1
+ - "minecraft:coarse_dirt": 1
+ - "minecraft:grass_block": 1
+ - "minecraft:coarse_dirt": 1
+ - "minecraft:grass_block": 1
+ - "minecraft:coarse_dirt": 1
+ - "minecraft:grass_block": 1
+ - "minecraft:coarse_dirt": 1
+ - "minecraft:grass_block": 1
+ - "minecraft:coarse_dirt": 1
+ - "minecraft:grass_block": 1
+ - "minecraft:coarse_dirt": 1
+ - "minecraft:grass_block": 12
+ layers: 1
+ - materials:
+ - "minecraft:dirt": 1
+ layers: 2
+ - materials:
+ - "minecraft:stone": 1
+ layers: 1
+id: SWAMP_BORDER
+name: "Grassy Palette"
+simplex: true
+frequency: 0.1
+seed: 3
\ No newline at end of file
diff --git a/src/main/resources/default-config/palettes/swamp_bottom.yml b/src/main/resources/default-config/palettes/swamp_bottom.yml
new file mode 100644
index 000000000..0ea10b005
--- /dev/null
+++ b/src/main/resources/default-config/palettes/swamp_bottom.yml
@@ -0,0 +1,14 @@
+layers:
+ - materials:
+ - "minecraft:dirt": 2
+ - "minecraft:coarse_dirt": 1
+ - "minecraft:gravel": 2
+ layers: 1
+ - materials:
+ - "minecraft:dirt": 1
+ layers: 2
+ - materials:
+ - "minecraft:stone": 1
+ layers: 1
+id: SWAMP_BOTTOM
+name: "Grassy Palette"
\ No newline at end of file
diff --git a/src/main/resources/default-config/palettes/taiga.yml b/src/main/resources/default-config/palettes/taiga.yml
new file mode 100644
index 000000000..06bb5dd52
--- /dev/null
+++ b/src/main/resources/default-config/palettes/taiga.yml
@@ -0,0 +1,16 @@
+layers:
+ - materials:
+ - "minecraft:grass_block": 2
+ - "minecraft:podzol": 1
+ layers: 1
+ - materials:
+ - "minecraft:dirt": 1
+ layers: 2
+ - materials:
+ - "minecraft:stone": 1
+ layers: 1
+id: TAIGA
+name: "Taiga Palette"
+simplex: true
+frequency: 0.03
+seed: 3
\ No newline at end of file
diff --git a/src/main/resources/default-config/palettes/tundra.yml b/src/main/resources/default-config/palettes/tundra.yml
new file mode 100644
index 000000000..544a667e2
--- /dev/null
+++ b/src/main/resources/default-config/palettes/tundra.yml
@@ -0,0 +1,22 @@
+layers:
+ - materials:
+ - "minecraft:gravel": 1
+ - "minecraft:stone": 1
+ - "minecraft:gravel": 1
+ - "minecraft:gravel": 1
+ - "minecraft:stone": 1
+ - "minecraft:snow_block": 2
+ - "minecraft:gravel": 1
+ - "minecraft:snow_block": 2
+ layers: 2
+ - materials:
+ - "minecraft:stone": 1
+ layers: 4
+ - materials:
+ - "minecraft:stone": 1
+ layers: 1
+id: TUNDRA
+name: "Tundra Palette"
+simplex: true
+frequency: 0.04
+seed: 4
\ No newline at end of file
diff --git a/src/main/resources/default-config/structures/data/jungle1.tstructure b/src/main/resources/default-config/structures/data/jungle1.tstructure
new file mode 100644
index 000000000..591c47389
Binary files /dev/null and b/src/main/resources/default-config/structures/data/jungle1.tstructure differ
diff --git a/src/main/resources/default-config/structures/data/pull.tstructure b/src/main/resources/default-config/structures/data/pull.tstructure
new file mode 100644
index 000000000..683ef1825
Binary files /dev/null and b/src/main/resources/default-config/structures/data/pull.tstructure differ
diff --git a/src/main/resources/default-config/structures/data/swamp1.tstructure b/src/main/resources/default-config/structures/data/swamp1.tstructure
new file mode 100644
index 000000000..fda1890f7
Binary files /dev/null and b/src/main/resources/default-config/structures/data/swamp1.tstructure differ
diff --git a/src/main/resources/default-config/structures/data/swamp2.tstructure b/src/main/resources/default-config/structures/data/swamp2.tstructure
new file mode 100644
index 000000000..5c34d3861
Binary files /dev/null and b/src/main/resources/default-config/structures/data/swamp2.tstructure differ
diff --git a/src/main/resources/default-config/structures/data/swamp3.tstructure b/src/main/resources/default-config/structures/data/swamp3.tstructure
new file mode 100644
index 000000000..f9e471933
Binary files /dev/null and b/src/main/resources/default-config/structures/data/swamp3.tstructure differ
diff --git a/src/main/resources/default-config/structures/data/swamp4.tstructure b/src/main/resources/default-config/structures/data/swamp4.tstructure
new file mode 100644
index 000000000..c24811199
Binary files /dev/null and b/src/main/resources/default-config/structures/data/swamp4.tstructure differ
diff --git a/src/main/resources/default-config/structures/data/swamp5.tstructure b/src/main/resources/default-config/structures/data/swamp5.tstructure
new file mode 100644
index 000000000..8d6af79be
Binary files /dev/null and b/src/main/resources/default-config/structures/data/swamp5.tstructure differ
diff --git a/src/main/resources/default-config/structures/data/swamp6.tstructure b/src/main/resources/default-config/structures/data/swamp6.tstructure
new file mode 100644
index 000000000..8bc1b0167
Binary files /dev/null and b/src/main/resources/default-config/structures/data/swamp6.tstructure differ
diff --git a/src/main/resources/default-config/structures/data/swamp7.tstructure b/src/main/resources/default-config/structures/data/swamp7.tstructure
new file mode 100644
index 000000000..8aa06238a
Binary files /dev/null and b/src/main/resources/default-config/structures/data/swamp7.tstructure differ
diff --git a/src/main/resources/default-config/structures/data/swamp8.tstructure b/src/main/resources/default-config/structures/data/swamp8.tstructure
new file mode 100644
index 000000000..e82a8db26
Binary files /dev/null and b/src/main/resources/default-config/structures/data/swamp8.tstructure differ
diff --git a/src/main/resources/default-config/structures/data/testloot.tstructure b/src/main/resources/default-config/structures/data/testloot.tstructure
new file mode 100644
index 000000000..49e27e6ca
Binary files /dev/null and b/src/main/resources/default-config/structures/data/testloot.tstructure differ
diff --git a/src/main/resources/default-config/structures/loot/arrows.json b/src/main/resources/default-config/structures/loot/arrows.json
new file mode 100755
index 000000000..6f5b3965a
--- /dev/null
+++ b/src/main/resources/default-config/structures/loot/arrows.json
@@ -0,0 +1,26 @@
+{
+ "pools": [
+ {
+ "rolls": {
+ "min": 1,
+ "max": 3
+ },
+ "entries": [
+ {
+ "type": "item",
+ "weight": 2,
+ "name": "arrow",
+ "functions": [
+ {
+ "function": "set_count",
+ "count": {
+ "min": 2,
+ "max": 4
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/default-config/structures/loot/cobble_house.json b/src/main/resources/default-config/structures/loot/cobble_house.json
new file mode 100755
index 000000000..2be31172b
--- /dev/null
+++ b/src/main/resources/default-config/structures/loot/cobble_house.json
@@ -0,0 +1,280 @@
+{
+ "pools": [
+ {
+ "rolls": {
+ "min": 2,
+ "max": 4
+ },
+ "entries": [
+ {
+ "type": "item",
+ "weight": 8,
+ "name": "cobblestone",
+ "functions": [
+ {
+ "function": "set_count",
+ "count": {
+ "min": 4,
+ "max": 20
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 6,
+ "name": "stone",
+ "functions": [
+ {
+ "function": "set_count",
+ "count": {
+ "min": 2,
+ "max": 10
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 4,
+ "name": "torch",
+ "functions": [
+ {
+ "function": "set_count",
+ "count": {
+ "min": 1,
+ "max": 14
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 2,
+ "name": "arrow",
+ "functions": [
+ {
+ "function": "set_count",
+ "count": {
+ "min": 2,
+ "max": 12
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "rolls": {
+ "min": 1,
+ "max": 3
+ },
+ "entries": [
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_helmet",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_chestplate",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_leggings",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_boots",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_sword",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_pickaxe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_axe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_shovel",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_hoe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 2,
+ "name": "bow",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "rolls": {
+ "min": 1,
+ "max": 2
+ },
+ "entries": [
+ {
+ "type": "item",
+ "weight": 4,
+ "name": "iron_ingot",
+ "functions": [
+ {
+ "function": "set_count",
+ "count": {
+ "min": 3,
+ "max": 10
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "gold_ingot",
+ "functions": [
+ {
+ "function": "set_count",
+ "count": {
+ "min": 2,
+ "max": 8
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 2,
+ "name": "emerald",
+ "functions": [
+ {
+ "function": "set_count",
+ "count": {
+ "min": 1,
+ "max": 6
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 1,
+ "name": "diamond",
+ "functions": [
+ {
+ "function": "set_count",
+ "count": {
+ "min": 1,
+ "max": 4
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/default-config/structures/loot/spruce_house.json b/src/main/resources/default-config/structures/loot/spruce_house.json
new file mode 100755
index 000000000..a1808aad9
--- /dev/null
+++ b/src/main/resources/default-config/structures/loot/spruce_house.json
@@ -0,0 +1,645 @@
+{
+ "pools": [
+ {
+ "rolls": {
+ "min": 2,
+ "max": 4
+ },
+ "entries": [
+ {
+ "type": "item",
+ "weight": 8,
+ "name": "spruce_planks",
+ "functions": [
+ {
+ "function": "set_count",
+ "count": {
+ "min": 8,
+ "max": 24
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 6,
+ "name": "spruce_log",
+ "functions": [
+ {
+ "function": "set_count",
+ "count": {
+ "min": 4,
+ "max": 12
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 4,
+ "name": "torch",
+ "functions": [
+ {
+ "function": "set_count",
+ "count": {
+ "min": 8,
+ "max": 24
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 2,
+ "name": "arrow",
+ "functions": [
+ {
+ "function": "set_count",
+ "count": {
+ "min": 8,
+ "max": 24
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 2,
+ "name": "coal",
+ "functions": [
+ {
+ "function": "set_count",
+ "count": {
+ "min": 4,
+ "max": 12
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 1,
+ "name": "charcoal",
+ "functions": [
+ {
+ "function": "set_count",
+ "count": {
+ "min": 4,
+ "max": 12
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "rolls": {
+ "min": 1,
+ "max": 3
+ },
+ "entries": [
+ {
+ "type": "item",
+ "weight": 6,
+ "name": "iron_helmet",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 6,
+ "name": "iron_chestplate",
+ "quality": null,
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 6,
+ "name": "iron_leggings",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 6,
+ "name": "iron_boots",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 6,
+ "name": "iron_sword",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 6,
+ "name": "iron_pickaxe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 6,
+ "name": "iron_axe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 6,
+ "name": "iron_shovel",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 6,
+ "name": "iron_hoe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 4,
+ "name": "bow",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 2,
+ "name": "diamond_sword",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 2,
+ "name": "diamond_shovel",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 2,
+ "name": "diamond_pickaxe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 2,
+ "name": "diamond_axe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 2,
+ "name": "diamond_shovel",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_helmet",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_chestplate",
+ "quality": null,
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_leggings",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_boots",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_sword",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_pickaxe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_axe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_shovel",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_hoe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 2,
+ "name": "bow",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 1,
+ "name": "diamond_sword",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 1,
+ "name": "diamond_shovel",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 1,
+ "name": "diamond_pickaxe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 1,
+ "name": "diamond_axe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 1,
+ "name": "diamond_shovel",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/default-config/structures/loot/wood_house.json b/src/main/resources/default-config/structures/loot/wood_house.json
new file mode 100755
index 000000000..4ef27e160
--- /dev/null
+++ b/src/main/resources/default-config/structures/loot/wood_house.json
@@ -0,0 +1,645 @@
+{
+ "pools": [
+ {
+ "rolls": {
+ "min": 2,
+ "max": 4
+ },
+ "entries": [
+ {
+ "type": "item",
+ "weight": 8,
+ "name": "oak_planks",
+ "functions": [
+ {
+ "function": "set_count",
+ "count": {
+ "min": 8,
+ "max": 24
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 6,
+ "name": "oak_log",
+ "functions": [
+ {
+ "function": "set_count",
+ "count": {
+ "min": 4,
+ "max": 12
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 4,
+ "name": "torch",
+ "functions": [
+ {
+ "function": "set_count",
+ "count": {
+ "min": 8,
+ "max": 24
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 2,
+ "name": "arrow",
+ "functions": [
+ {
+ "function": "set_count",
+ "count": {
+ "min": 8,
+ "max": 24
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 2,
+ "name": "coal",
+ "functions": [
+ {
+ "function": "set_count",
+ "count": {
+ "min": 4,
+ "max": 12
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 1,
+ "name": "charcoal",
+ "functions": [
+ {
+ "function": "set_count",
+ "count": {
+ "min": 4,
+ "max": 12
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "rolls": {
+ "min": 1,
+ "max": 3
+ },
+ "entries": [
+ {
+ "type": "item",
+ "weight": 6,
+ "name": "iron_helmet",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 6,
+ "name": "iron_chestplate",
+ "quality": null,
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 6,
+ "name": "iron_leggings",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 6,
+ "name": "iron_boots",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 6,
+ "name": "iron_sword",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 6,
+ "name": "iron_pickaxe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 6,
+ "name": "iron_axe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 6,
+ "name": "iron_shovel",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 6,
+ "name": "iron_hoe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 4,
+ "name": "bow",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 2,
+ "name": "diamond_sword",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 2,
+ "name": "diamond_shovel",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 2,
+ "name": "diamond_pickaxe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 2,
+ "name": "diamond_axe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 2,
+ "name": "diamond_shovel",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_helmet",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_chestplate",
+ "quality": null,
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_leggings",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_boots",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_sword",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_pickaxe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_axe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_shovel",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 3,
+ "name": "iron_hoe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 2,
+ "name": "bow",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 1,
+ "name": "diamond_sword",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 1,
+ "name": "diamond_shovel",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 1,
+ "name": "diamond_pickaxe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 1,
+ "name": "diamond_axe",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ },
+ "treasure": true
+ }
+ ]
+ },
+ {
+ "type": "item",
+ "weight": 1,
+ "name": "diamond_shovel",
+ "functions": [
+ {
+ "function": "set_damage",
+ "damage": {
+ "min": 33,
+ "max": 100
+ }
+ },
+ {
+ "function": "enchant_with_levels",
+ "levels": {
+ "min": 1,
+ "max": 10
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/default-config/structures/single/jungle.yml b/src/main/resources/default-config/structures/single/jungle.yml
new file mode 100644
index 000000000..7ea32f1bc
--- /dev/null
+++ b/src/main/resources/default-config/structures/single/jungle.yml
@@ -0,0 +1,18 @@
+files:
+ jungle1: 1
+id: "JUNGLE"
+spawn:
+ start:
+ min: 72
+ max: 72
+ bound:
+ min: 48
+ max: 96
+ type: DISTRIBUTE
+ width: 75
+ padding: 25
+ search: DOWN
+ enable: true
+loot:
+ 0: arrows
+ 1: cobble_house
\ No newline at end of file
diff --git a/src/main/resources/default-config/structures/single/pull.yml b/src/main/resources/default-config/structures/single/pull.yml
new file mode 100644
index 000000000..e99a6487b
--- /dev/null
+++ b/src/main/resources/default-config/structures/single/pull.yml
@@ -0,0 +1,15 @@
+files:
+ pull: 1
+id: "PULL"
+spawn:
+ start:
+ min: 96
+ max: 96
+ bound:
+ min: 48
+ max: 128
+ type: DISTRIBUTE
+ width: 25
+ padding: 10
+ search: DOWN
+ enable: true
\ No newline at end of file
diff --git a/src/main/resources/default-config/trees/data/spruce1.tstructure b/src/main/resources/default-config/trees/data/spruce1.tstructure
new file mode 100644
index 000000000..15cf9a16f
Binary files /dev/null and b/src/main/resources/default-config/trees/data/spruce1.tstructure differ
diff --git a/src/main/resources/default-config/trees/data/spruce2.tstructure b/src/main/resources/default-config/trees/data/spruce2.tstructure
new file mode 100644
index 000000000..9b43d6191
Binary files /dev/null and b/src/main/resources/default-config/trees/data/spruce2.tstructure differ
diff --git a/src/main/resources/default-config/trees/trees/spruce.yml b/src/main/resources/default-config/trees/trees/spruce.yml
new file mode 100644
index 000000000..f651b6272
--- /dev/null
+++ b/src/main/resources/default-config/trees/trees/spruce.yml
@@ -0,0 +1,7 @@
+files:
+ spruce1: 1
+ spruce2: 2
+id: SPRUCE_CUSTOM
+y-offset: 0
+spawnable:
+ - "minecraft:grass_block"
\ No newline at end of file