From 0c8c0723ef8afd3cef399ffbde044565fa2b5db1 Mon Sep 17 00:00:00 2001 From: solonovamax Date: Fri, 6 Nov 2020 22:26:57 -0500 Subject: [PATCH 1/5] Fix up issues with code Signed-off-by: solonovamax --- .editorconfig | 2 +- .gitignore | 4 +- build.gradle.kts | 20 +- src/main/java/com/dfsek/terra/Terra.java | 2 + src/main/java/com/dfsek/terra/TerraWorld.java | 18 +- .../terra/async/AsyncStructureFinder.java | 4 +- .../com/dfsek/terra/biome/TerraBiomeGrid.java | 14 +- .../dfsek/terra/biome/failsafe/FailType.java | 1 + .../dfsek/terra/carving/SimplexCarver.java | 31 +-- .../com/dfsek/terra/command/OreCommand.java | 10 +- .../dfsek/terra/command/SaveDataCommand.java | 14 +- .../terra/command/image/ImageCommand.java | 10 +- .../terra/command/image/RenderCommand.java | 2 + .../command/structure/ExportCommand.java | 12 +- .../terra/command/structure/LoadCommand.java | 10 +- .../command/structure/StructureCommand.java | 12 +- .../com/dfsek/terra/config/ConfigLoader.java | 3 +- .../dfsek/terra/config/base/ConfigPack.java | 33 +-- .../dfsek/terra/config/base/WorldConfig.java | 19 +- .../config/genconfig/BiomeGridConfig.java | 21 +- .../terra/config/genconfig/CarverConfig.java | 18 +- .../terra/config/genconfig/PaletteConfig.java | 10 +- .../config/genconfig/biome/BiomeConfig.java | 8 +- .../genconfig/structure/StructureConfig.java | 16 +- .../dfsek/terra/event/TerraWorldEvent.java | 1 + .../terra/generation/TerraChunkGenerator.java | 47 ++-- .../generation/UserDefinedGenerator.java | 9 +- .../com/dfsek/terra/image/ImageLoader.java | 18 +- .../com/dfsek/terra/math/NoiseFunction2.java | 10 +- .../com/dfsek/terra/math/NoiseFunction3.java | 8 +- .../terra/population/FloraPopulator.java | 62 ++--- .../terra/population/StructurePopulator.java | 4 - .../com/dfsek/terra/procgen/math/Vector2.java | 74 +++--- .../dfsek/terra/procgen/pixel/Polygon.java | 1 + .../dfsek/terra/procgen/pixel/Rectangle.java | 1 + .../terra/procgen/voxel/VoxelGeometry.java | 2 +- .../structure/InitializationException.java | 1 + .../com/dfsek/terra/structure/Structure.java | 179 ++++++++------ .../structure/StructureContainedBlock.java | 2 +- .../StructureContainedInventory.java | 2 +- .../dfsek/terra/structure/StructureInfo.java | 2 +- .../structure/StructureSpawnRequirement.java | 22 +- .../structure/features/EntityFeature.java | 16 +- .../serialize/SerializableBlockData.java | 2 +- .../serialize/block/SerializableBanner.java | 2 +- .../block/SerializableMonsterCage.java | 2 +- .../serialize/block/SerializableSign.java | 2 +- .../dfsek/terra/util/StructureTypeEnum.java | 4 + .../terra/util/structure/RotationUtil.java | 97 +++++++- .../terra/util/structure/WorldEditUtil.java | 16 +- src/main/resources/config.yml | 10 +- .../abstract/biomes/basic_ores.yml | 44 ++-- .../abstract/biomes/beach_abstract.yml | 44 ++-- .../abstract/biomes/deep_ocean_abstract.yml | 44 ++-- .../biomes/mountain/mountains_pretty.yml | 50 ++-- .../mountain/mountains_pretty_border_0.yml | 50 ++-- .../mountain/mountains_pretty_border_1.yml | 50 ++-- .../abstract/biomes/ocean_abstract.yml | 44 ++-- .../abstract/biomes/plains_abstract.yml | 46 ++-- .../abstract/biomes/shelf_ocean_abstract.yml | 44 ++-- .../default-config/biomes/beach/beach.yml | 6 +- .../biomes/beach/beach_cold.yml | 6 +- .../biomes/beach/beach_frozen.yml | 8 +- .../biomes/beach/beach_warm.yml | 6 +- .../default-config/biomes/desert.yml | 6 +- .../biomes/forest/birch_forest.yml | 10 +- .../biomes/forest/dark_forest.yml | 12 +- .../default-config/biomes/forest/jungle.yml | 10 +- .../biomes/forest/oak_forest.yml | 10 +- .../default-config/biomes/forest/savanna.yml | 10 +- .../biomes/forest/snowy_taiga.yml | 12 +- .../default-config/biomes/forest/taiga.yml | 10 +- .../resources/default-config/biomes/mesa.yml | 12 +- .../biomes/mountain/arid_mountains.yml | 14 +- .../mountain/arid_mountains_border_0.yml | 14 +- .../mountain/arid_mountains_border_1.yml | 14 +- .../biomes/mountain/mountains_stone.yml | 18 +- .../mountain/mountains_stone_border_0.yml | 18 +- .../mountain/mountains_stone_border_1.yml | 18 +- .../default-config/biomes/mountains.yml | 12 +- .../biomes/ocean/ocean_warm.yml | 2 +- .../biomes/ocean_deep/ocean_warm.yml | 2 +- .../biomes/ocean_shelf/ocean_warm.yml | 2 +- .../default-config/biomes/plains.yml | 8 +- .../default-config/biomes/plains_sky.yml | 10 +- .../resources/default-config/biomes/river.yml | 8 +- .../resources/default-config/biomes/swamp.yml | 8 +- .../default-config/biomes/tundra.yml | 18 +- .../resources/default-config/carving/cave.yml | 6 +- .../default-config/carving/cave_ocean.yml | 6 +- .../default-config/carving/cave_swamp.yml | 6 +- .../default-config/carving/cave_tundra.yml | 6 +- .../default-config/carving/cavern.yml | 6 +- .../default-config/carving/ravine.yml | 6 +- .../ores/deposits/andesite_pocket.yml | 4 +- .../ores/deposits/diorite_pocket.yml | 4 +- .../ores/deposits/dirt_pocket.yml | 4 +- .../ores/deposits/granite_pocket.yml | 4 +- .../ores/deposits/gravel_pocket.yml | 4 +- .../default-config/ores/minerals/coal.yml | 4 +- .../default-config/ores/minerals/diamond.yml | 4 +- .../default-config/ores/minerals/gold.yml | 4 +- .../default-config/ores/minerals/iron.yml | 4 +- .../default-config/ores/minerals/lapis.yml | 4 +- .../default-config/ores/minerals/redstone.yml | 4 +- src/main/resources/default-config/pack.yml | 6 +- .../palettes/mountains/arid.yml | 6 +- .../palettes/mountains/grass.yml | 6 +- .../palettes/mountains/jungle.yml | 6 +- .../palettes/mountains/pretty_mountains.yml | 6 +- .../palettes/mountains/stone.yml | 6 +- .../palettes/mountains/stone_grass.yml | 6 +- .../default-config/palettes/river_bottom.yml | 6 +- .../default-config/palettes/river_shore.yml | 6 +- .../palettes/slabs/mountainslabs.yml | 6 +- .../palettes/slabs/mountainstairs.yml | 6 +- .../default-config/palettes/taiga.yml | 6 +- .../default-config/palettes/tundra.yml | 6 +- .../structures/single/mansion.yml | 8 +- .../structures/single/stronghold.yml | 8 +- src/main/resources/lang/afr_sa.yml | 42 ++-- src/main/resources/lang/de_de.yml | 40 +-- src/main/resources/lang/en_us.yml | 40 +-- src/main/resources/lang/es.yml | 36 +-- src/main/resources/lang/ja_jp.yml | 36 +-- src/main/resources/lang/pl.yml | 232 +++++++++--------- src/main/resources/lang/zh_cn.yml | 36 +-- src/main/resources/plugin.yml | 16 +- src/test/java/DistributionTest.java | 21 +- src/test/java/LookupGenerator.java | 24 +- 130 files changed, 1228 insertions(+), 1059 deletions(-) diff --git a/.editorconfig b/.editorconfig index 2bbe76c64..36339ddae 100644 --- a/.editorconfig +++ b/.editorconfig @@ -179,7 +179,7 @@ ij_java_space_before_for_left_brace = true ij_java_space_before_for_parentheses = false ij_java_space_before_for_semicolon = false ij_java_space_before_if_left_brace = true -ij_java_space_before_if_parentheses = false +ij_java_space_before_if_parentheses = true ij_java_space_before_method_call_parentheses = false ij_java_space_before_method_left_brace = true ij_java_space_before_method_parentheses = false diff --git a/.gitignore b/.gitignore index 7eb8d5819..909ef81d5 100644 --- a/.gitignore +++ b/.gitignore @@ -133,4 +133,6 @@ build .idea/sonarlint/** .idea/codeStyles/** .idea/**.xml -.idea/modules/**.iml \ No newline at end of file +.idea/modules/**.iml + +!lib/*.jar \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 796ffd955..9c58b6105 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -40,10 +40,12 @@ dependencies { compileOnly("com.googlecode.json-simple:json-simple:1.1") implementation(name = "parsii-1.2", group = "") implementation("io.papermc:paperlib:1.0.5") - + // JUnit. testImplementation("org.junit.jupiter:junit-jupiter-api:5.7.0") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.7.0") + + testImplementation(name = "Gaea-1.14.0", group = "") } tasks.test { @@ -92,6 +94,7 @@ val setupServer = tasks.create("setupServer") { } val testWithPaper = task(name = "testWithPaper") { + standardInput = System.`in` dependsOn(setupServer) //dependsOn(tasks.shadowJar) // Copy Terra into dir @@ -104,13 +107,13 @@ val testWithPaper = task(name = "testWithPaper") { main = "io.papermc.paperclip.Paperclip" jvmArgs = listOf("-XX:+UseG1GC", "-XX:+ParallelRefProcEnabled", "-XX:MaxGCPauseMillis=200", - "-XX:+UnlockExperimentalVMOptions", "-XX:+DisableExplicitGC", "-XX:+AlwaysPreTouch", - "-XX:G1NewSizePercent=30", "-XX:G1MaxNewSizePercent=40", "-XX:G1HeapRegionSize=8M", - "-XX:G1ReservePercent=20", "-XX:G1HeapWastePercent=5", "-XX:G1MixedGCCountTarget=4", - "-XX:InitiatingHeapOccupancyPercent=15", "-XX:G1MixedGCLiveThresholdPercent=90", - "-XX:G1RSetUpdatingPauseTimePercent=5", "-XX:SurvivorRatio=32", "-XX:+PerfDisableSharedMem", - "-XX:MaxTenuringThreshold=1", "-Dusing.aikars.flags=https://mcflags.emc.gs", - "-Daikars.new.flags=true") + "-XX:+UnlockExperimentalVMOptions", "-XX:+DisableExplicitGC", "-XX:+AlwaysPreTouch", + "-XX:G1NewSizePercent=30", "-XX:G1MaxNewSizePercent=40", "-XX:G1HeapRegionSize=8M", + "-XX:G1ReservePercent=20", "-XX:G1HeapWastePercent=5", "-XX:G1MixedGCCountTarget=4", + "-XX:InitiatingHeapOccupancyPercent=15", "-XX:G1MixedGCLiveThresholdPercent=90", + "-XX:G1RSetUpdatingPauseTimePercent=5", "-XX:SurvivorRatio=32", "-XX:+PerfDisableSharedMem", + "-XX:MaxTenuringThreshold=1", "-Dusing.aikars.flags=https://mcflags.emc.gs", + "-Daikars.new.flags=true") maxHeapSize = "2G" workingDir = file("${testDir}/") classpath = files("${testDir}/paper.jar") @@ -138,6 +141,7 @@ tasks.build { /** * Version class that does version stuff. */ +@Suppress("MemberVisibilityCanBePrivate") class Version(val major: String, val minor: String, val revision: String, val preReleaseData: String? = null) { override fun toString(): String { diff --git a/src/main/java/com/dfsek/terra/Terra.java b/src/main/java/com/dfsek/terra/Terra.java index 7c7d1ec25..e6541dc70 100644 --- a/src/main/java/com/dfsek/terra/Terra.java +++ b/src/main/java/com/dfsek/terra/Terra.java @@ -21,6 +21,7 @@ import java.util.HashMap; import java.util.Map; import java.util.Objects; + public class Terra extends GaeaPlugin { private static Terra instance; private final Map generatorMap = new HashMap<>(); @@ -53,6 +54,7 @@ public class Terra extends GaeaPlugin { locatePl.setTabCompleter(locate); saveDefaultConfig(); + //noinspection deprecation Bukkit.getScheduler().scheduleAsyncRepeatingTask(this, TerraChunkGenerator::saveAll, ConfigUtil.dataSave, ConfigUtil.dataSave); Bukkit.getPluginManager().registerEvents(new EventListener(this), this); PaperUtil.checkPaper(this); diff --git a/src/main/java/com/dfsek/terra/TerraWorld.java b/src/main/java/com/dfsek/terra/TerraWorld.java index 2dc1891a0..9bda533d6 100644 --- a/src/main/java/com/dfsek/terra/TerraWorld.java +++ b/src/main/java/com/dfsek/terra/TerraWorld.java @@ -23,6 +23,14 @@ public class TerraWorld { private final WorldConfig worldConfig; private boolean safe; + public static void loadWorld(WorldConfig w) { + loaded.put(w.getWorldID(), w); + } + + public static synchronized TerraWorld getWorld(World w) { + return map.computeIfAbsent(w, TerraWorld::new); + } + private TerraWorld(World w) { safe = true; worldConfig = loaded.get(w.getName()); @@ -31,7 +39,7 @@ public class TerraWorld { for(int i = 0; i < config.biomeList.size(); i++) { String partName = config.biomeList.get(i); try { - if(partName.startsWith("BIOME:")) { + if (partName.startsWith("BIOME:")) { UserDefinedBiome[][] temp = new UserDefinedBiome[1][1]; UserDefinedBiome b = config.getBiomes().get(partName.substring(6)).getBiome(); temp[0][0] = b; @@ -78,14 +86,6 @@ public class TerraWorld { grid = new TerraBiomeGrid(w, config.freq1, config.freq2, zone, config, erosion); } - public static void loadWorld(WorldConfig w) { - loaded.put(w.getWorldID(), w); - } - - public static synchronized TerraWorld getWorld(World w) { - return map.computeIfAbsent(w, TerraWorld::new); - } - public static synchronized void invalidate() { map.clear(); for(WorldConfig config : loaded.values()) { diff --git a/src/main/java/com/dfsek/terra/async/AsyncStructureFinder.java b/src/main/java/com/dfsek/terra/async/AsyncStructureFinder.java index f247b0aeb..4944ae3bd 100644 --- a/src/main/java/com/dfsek/terra/async/AsyncStructureFinder.java +++ b/src/main/java/com/dfsek/terra/async/AsyncStructureFinder.java @@ -10,6 +10,7 @@ import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.World; import org.bukkit.util.Vector; +import org.jetbrains.annotations.NotNull; import java.util.Random; import java.util.function.Consumer; @@ -28,7 +29,7 @@ public class AsyncStructureFinder implements Runnable { private final World world; private final Consumer callback; - public AsyncStructureFinder(TerraBiomeGrid grid, StructureConfig target, Location origin, int startRadius, int maxRadius, Consumer callback) { + public AsyncStructureFinder(TerraBiomeGrid grid, StructureConfig target, @NotNull Location origin, int startRadius, int maxRadius, Consumer callback) { this.grid = grid; this.target = target; this.startRadius = startRadius; @@ -36,6 +37,7 @@ public class AsyncStructureFinder implements Runnable { this.centerX = origin.getBlockX(); this.centerZ = origin.getBlockZ(); this.world = origin.getWorld(); + assert world != null; this.seed = world.getSeed(); this.callback = callback; } diff --git a/src/main/java/com/dfsek/terra/biome/TerraBiomeGrid.java b/src/main/java/com/dfsek/terra/biome/TerraBiomeGrid.java index 7ff2bd582..7f66aa428 100644 --- a/src/main/java/com/dfsek/terra/biome/TerraBiomeGrid.java +++ b/src/main/java/com/dfsek/terra/biome/TerraBiomeGrid.java @@ -21,21 +21,25 @@ public class TerraBiomeGrid extends BiomeGrid { public TerraBiomeGrid(World w, double freq1, double freq2, BiomeZone zone, ConfigPack c, UserDefinedGrid erosion) { super(w, freq1, freq2, 0, 0); - if(c.biomeBlend) { + if (c.biomeBlend) { perturb = new CoordinatePerturb(c.blendFreq, c.blendAmp, w.getSeed()); } this.zone = zone; - if(c.erosionEnable) { + if (c.erosionEnable) { erode = new ErosionNoise(c.erosionFreq, c.erosionThresh, c.erosionOctaves, w.getSeed()); this.erosionGrid = erosion; } } + public UserDefinedGrid getGrid(int x, int z) { + return (UserDefinedGrid) zone.getGrid(x, z); + } + @Override public Biome getBiome(int x, int z, GenerationPhase phase) { int xp = x; int zp = z; - if(perturb != null && phase.equals(GenerationPhase.PALETTE_APPLY)) { + if (perturb != null && phase.equals(GenerationPhase.PALETTE_APPLY)) { Vector2 perturbCoords = perturb.getShiftedCoords(x, z); xp = (int) perturbCoords.getX(); zp = (int) perturbCoords.getZ(); @@ -62,7 +66,5 @@ public class TerraBiomeGrid extends BiomeGrid { return getBiome(l.getBlockX(), l.getBlockZ(), phase); } - public UserDefinedGrid getGrid(int x, int z) { - return (UserDefinedGrid) zone.getGrid(x, z); - } + } diff --git a/src/main/java/com/dfsek/terra/biome/failsafe/FailType.java b/src/main/java/com/dfsek/terra/biome/failsafe/FailType.java index 6c77b4161..8c2e25f75 100644 --- a/src/main/java/com/dfsek/terra/biome/failsafe/FailType.java +++ b/src/main/java/com/dfsek/terra/biome/failsafe/FailType.java @@ -7,6 +7,7 @@ import parsii.tokenizer.ParseException; /** * What happens if terrain generation is attempted with an unrecoverable config error. */ +@SuppressWarnings("unused") public enum FailType { /** * Return failover biome, then shut down server to minimize damage. diff --git a/src/main/java/com/dfsek/terra/carving/SimplexCarver.java b/src/main/java/com/dfsek/terra/carving/SimplexCarver.java index 1056f47c6..948d2b8e7 100644 --- a/src/main/java/com/dfsek/terra/carving/SimplexCarver.java +++ b/src/main/java/com/dfsek/terra/carving/SimplexCarver.java @@ -9,6 +9,7 @@ import org.polydev.gaea.world.carving.Worm; import java.util.Random; +@SuppressWarnings("unused") public class SimplexCarver extends Carver { private final FastNoiseLite noise; private final FastNoiseLite height; @@ -39,20 +40,6 @@ public class SimplexCarver extends Carver { hasCaves.setFrequency(0.005f); } - private static double acot(double x) { - return Math.PI / 2 - Math.atan(x); - } - - @Override - public Worm getWorm(long l, Vector vector) { - return null; - } - - @Override - public boolean isChunkCarved(World world, int i, int i1, Random random) { - return true; - } - @Override public CarvingData carve(int chunkX, int chunkZ, World w) { CarvingData c = new CarvingData(chunkX, chunkZ); @@ -71,7 +58,7 @@ public class SimplexCarver extends Carver { if(finalNoise > 0.5) { c.carve(x - ox, y, z - oz, type); double finalNoiseUp = (-0.05 * Math.abs((y + 1) - (heightNoise * 16 + 24)) + 1 - simplex) * hc; - if(finalNoiseUp > 0.5) { + if (finalNoiseUp > 0.5) { type = CarvingData.CarvingType.CENTER; } else type = CarvingData.CarvingType.TOP; } @@ -80,4 +67,18 @@ public class SimplexCarver extends Carver { } return c; } + + private static double acot(double x) { + return Math.PI / 2 - Math.atan(x); + } + + @Override + public Worm getWorm(long l, Vector vector) { + return null; + } + + @Override + public boolean isChunkCarved(World world, int i, int i1, Random random) { + return true; + } } diff --git a/src/main/java/com/dfsek/terra/command/OreCommand.java b/src/main/java/com/dfsek/terra/command/OreCommand.java index 520dc713a..5ced28b1d 100644 --- a/src/main/java/com/dfsek/terra/command/OreCommand.java +++ b/src/main/java/com/dfsek/terra/command/OreCommand.java @@ -42,6 +42,11 @@ public class OreCommand extends WorldCommand { return true; } + @Override + public String getName() { + return "ore"; + } + @Override public List getSubCommands() { return Collections.emptyList(); @@ -52,11 +57,6 @@ public class OreCommand extends WorldCommand { return 1; } - @Override - public String getName() { - return "ore"; - } - @Override public List getTabCompletions(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args) { return Collections.emptyList(); diff --git a/src/main/java/com/dfsek/terra/command/SaveDataCommand.java b/src/main/java/com/dfsek/terra/command/SaveDataCommand.java index c4bd14f2f..99c648e12 100644 --- a/src/main/java/com/dfsek/terra/command/SaveDataCommand.java +++ b/src/main/java/com/dfsek/terra/command/SaveDataCommand.java @@ -23,10 +23,8 @@ public class SaveDataCommand extends WorldCommand { } @Override - public boolean execute(@NotNull Player sender, org.bukkit.command.@NotNull Command command, @NotNull String label, @NotNull String[] args, World w) { - TerraChunkGenerator.saveAll(); - LangUtil.send("debug.data-save", sender, w.getName()); - return true; + public List getSubCommands() { + return Collections.emptyList(); } @Override @@ -35,12 +33,14 @@ public class SaveDataCommand extends WorldCommand { } @Override - public List getSubCommands() { + public List getTabCompletions(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args) { return Collections.emptyList(); } @Override - public List getTabCompletions(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args) { - return Collections.emptyList(); + public boolean execute(@NotNull Player sender, org.bukkit.command.@NotNull Command command, @NotNull String label, @NotNull String[] args, World w) { + TerraChunkGenerator.saveAll(); + LangUtil.send("debug.data-save", sender, w.getName()); + return true; } } diff --git a/src/main/java/com/dfsek/terra/command/image/ImageCommand.java b/src/main/java/com/dfsek/terra/command/image/ImageCommand.java index 6e5c5e8e6..7aa1aac8a 100644 --- a/src/main/java/com/dfsek/terra/command/image/ImageCommand.java +++ b/src/main/java/com/dfsek/terra/command/image/ImageCommand.java @@ -24,6 +24,11 @@ public class ImageCommand extends WorldCommand { return true; } + @Override + public String getName() { + return "image"; + } + @Override public List getSubCommands() { return Arrays.asList(new RenderCommand(this), new GUICommand(this)); @@ -34,11 +39,6 @@ public class ImageCommand extends WorldCommand { return 1; } - @Override - public String getName() { - return "image"; - } - @Override public List getTabCompletions(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args) { return Collections.emptyList(); diff --git a/src/main/java/com/dfsek/terra/command/image/RenderCommand.java b/src/main/java/com/dfsek/terra/command/image/RenderCommand.java index 9b99a4d56..d33dfaacc 100644 --- a/src/main/java/com/dfsek/terra/command/image/RenderCommand.java +++ b/src/main/java/com/dfsek/terra/command/image/RenderCommand.java @@ -25,7 +25,9 @@ public class RenderCommand extends WorldCommand { WorldImageGenerator g = new WorldImageGenerator(world, Integer.parseInt(args[0]), Integer.parseInt(args[1])); g.drawWorld(sender.getLocation().getBlockX(), sender.getLocation().getBlockZ()); File file = new File(Terra.getInstance().getDataFolder() + File.separator + "export" + File.separator + "map" + File.separator + "map_" + System.currentTimeMillis() + ".png"); + //noinspection ResultOfMethodCallIgnored file.mkdirs(); + //noinspection ResultOfMethodCallIgnored file.createNewFile(); g.save(file); LangUtil.send("command.image.render.save", sender, file.getAbsolutePath()); diff --git a/src/main/java/com/dfsek/terra/command/structure/ExportCommand.java b/src/main/java/com/dfsek/terra/command/structure/ExportCommand.java index 097339da2..0c82ffdaa 100644 --- a/src/main/java/com/dfsek/terra/command/structure/ExportCommand.java +++ b/src/main/java/com/dfsek/terra/command/structure/ExportCommand.java @@ -37,7 +37,9 @@ public class ExportCommand extends PlayerCommand { } try { File file = new File(Terra.getInstance().getDataFolder() + File.separator + "export" + File.separator + "structures", args[0] + ".tstructure"); + //noinspection ResultOfMethodCallIgnored file.getParentFile().mkdirs(); + //noinspection ResultOfMethodCallIgnored file.createNewFile(); structure.save(file); LangUtil.send("command.structure.export", sender, file.getAbsolutePath()); @@ -47,11 +49,6 @@ public class ExportCommand extends PlayerCommand { return true; } - @Override - public List getTabCompletions(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args) { - return Collections.emptyList(); - } - @Override public String getName() { return "export"; @@ -66,4 +63,9 @@ public class ExportCommand extends PlayerCommand { public int arguments() { return 1; } + + @Override + public List getTabCompletions(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args) { + return Collections.emptyList(); + } } diff --git a/src/main/java/com/dfsek/terra/command/structure/LoadCommand.java b/src/main/java/com/dfsek/terra/command/structure/LoadCommand.java index 67e23bc0a..d12aa1910 100644 --- a/src/main/java/com/dfsek/terra/command/structure/LoadCommand.java +++ b/src/main/java/com/dfsek/terra/command/structure/LoadCommand.java @@ -46,11 +46,6 @@ public class LoadCommand extends PlayerCommand implements DebugCommand { return "load"; } - @Override - public List getTabCompletions(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args) { - return Collections.emptyList(); - } - @Override public List getSubCommands() { return Collections.emptyList(); @@ -60,4 +55,9 @@ public class LoadCommand extends PlayerCommand implements DebugCommand { public int arguments() { return 3; } + + @Override + public List getTabCompletions(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args) { + return Collections.emptyList(); + } } diff --git a/src/main/java/com/dfsek/terra/command/structure/StructureCommand.java b/src/main/java/com/dfsek/terra/command/structure/StructureCommand.java index 2f2734b3e..99d7b0a15 100644 --- a/src/main/java/com/dfsek/terra/command/structure/StructureCommand.java +++ b/src/main/java/com/dfsek/terra/command/structure/StructureCommand.java @@ -23,13 +23,13 @@ public class StructureCommand extends PlayerCommand { } @Override - public List getSubCommands() { - return Arrays.asList(new ExportCommand(this), new LoadCommand(this), new LocateCommand(this, false), new LocateCommand(this, true), new SpawnCommand(this)); + public String getName() { + return "structure"; } @Override - public List getTabCompletions(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args) { - return Collections.emptyList(); + public List getSubCommands() { + return Arrays.asList(new ExportCommand(this), new LoadCommand(this), new LocateCommand(this, false), new LocateCommand(this, true), new SpawnCommand(this)); } @Override @@ -38,7 +38,7 @@ public class StructureCommand extends PlayerCommand { } @Override - public String getName() { - return "structure"; + public List getTabCompletions(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args) { + return Collections.emptyList(); } } diff --git a/src/main/java/com/dfsek/terra/config/ConfigLoader.java b/src/main/java/com/dfsek/terra/config/ConfigLoader.java index 8cee4559d..98d9c61e6 100644 --- a/src/main/java/com/dfsek/terra/config/ConfigLoader.java +++ b/src/main/java/com/dfsek/terra/config/ConfigLoader.java @@ -22,6 +22,7 @@ public class ConfigLoader { public static Map load(Path file, ConfigPack config, Class clazz) { long l = System.nanoTime(); Map configs = new HashMap<>(); + //noinspection ResultOfMethodCallIgnored file.toFile().mkdirs(); List ids = new ArrayList<>(); try(Stream paths = Files.walk(file)) { @@ -40,7 +41,7 @@ public class ConfigLoader { LangUtil.log("config.error.generic", Level.SEVERE, path.toString()); } catch(IllegalArgumentException | InvocationTargetException e) { if(ConfigUtil.debug) e.printStackTrace(); - LangUtil.log("config.error.file", Level.SEVERE, path.toString(), ((e instanceof InvocationTargetException) ? "INVOCATION: " + e.getCause().getMessage() : e.getMessage())); + LangUtil.log("config.error.file", Level.SEVERE, path.toString(), e.getMessage()); } }); LangUtil.log("config.loaded-all", Level.INFO, String.valueOf(configs.size()), clazz.getSimpleName(), String.valueOf((System.nanoTime() - l) / 1000000D)); diff --git a/src/main/java/com/dfsek/terra/config/base/ConfigPack.java b/src/main/java/com/dfsek/terra/config/base/ConfigPack.java index a49149426..e57eccdc6 100644 --- a/src/main/java/com/dfsek/terra/config/base/ConfigPack.java +++ b/src/main/java/com/dfsek/terra/config/base/ConfigPack.java @@ -161,6 +161,7 @@ public class ConfigPack extends YamlConfiguration { public static synchronized void loadAll(JavaPlugin main) { configs.clear(); File file = new File(main.getDataFolder(), "packs"); + //noinspection ResultOfMethodCallIgnored file.mkdirs(); List subfolder; try { @@ -187,6 +188,22 @@ public class ConfigPack extends YamlConfiguration { } } + public String getID() { + return id; + } + + public Map getBiomes() { + return biomes; + } + + public StructureConfig getStructure(String id) { + return structures.get(id); + } + + public BiomeGridConfig getBiomeGrid(String id) { + return grids.get(id); + } + public static synchronized ConfigPack fromID(String id) { return configs.get(id); } @@ -199,10 +216,6 @@ public class ConfigPack extends YamlConfiguration { return abstractBiomes; } - public Map getBiomes() { - return biomes; - } - public Map getCarvers() { return carvers; } @@ -215,10 +228,6 @@ public class ConfigPack extends YamlConfiguration { return dataFolder; } - public String getID() { - return id; - } - public BiomeConfig getBiome(UserDefinedBiome b) { for(BiomeConfig biome : biomes.values()) { if(biome.getBiome().equals(b)) return biome; @@ -241,10 +250,6 @@ public class ConfigPack extends YamlConfiguration { throw new IllegalArgumentException("Unable to find carver!"); } - public StructureConfig getStructure(String id) { - return structures.get(id); - } - public PaletteConfig getPalette(String id) { return palettes.get(id); } @@ -273,10 +278,6 @@ public class ConfigPack extends YamlConfiguration { return flora.get(id); } - public BiomeGridConfig getBiomeGrid(String id) { - return grids.get(id); - } - public TreeConfig getTree(String id) { return trees.get(id); } diff --git a/src/main/java/com/dfsek/terra/config/base/WorldConfig.java b/src/main/java/com/dfsek/terra/config/base/WorldConfig.java index 38522bee5..426ce6af3 100644 --- a/src/main/java/com/dfsek/terra/config/base/WorldConfig.java +++ b/src/main/java/com/dfsek/terra/config/base/WorldConfig.java @@ -17,8 +17,6 @@ import java.util.Objects; import java.util.logging.Level; public class WorldConfig { - - private final String worldID; private final String configID; private final GaeaPlugin main; @@ -44,10 +42,11 @@ public class WorldConfig { FileConfiguration config = new YamlConfiguration(); Debug.info("Loading config " + configID + " for world " + worldID); try { // Load/create world config file - if(configID == null || configID.equals("")) + if (configID == null || configID.equals("")) throw new ConfigException("Config pack unspecified in bukkit.yml!", worldID); File configFile = new File(main.getDataFolder() + File.separator + "worlds", worldID + ".yml"); if(!configFile.exists()) { + //noinspection ResultOfMethodCallIgnored configFile.getParentFile().mkdirs(); LangUtil.log("world-config.not-found", Level.WARNING, worldID); FileUtils.copyInputStreamToFile(Objects.requireNonNull(main.getResource("world.yml")), configFile); @@ -59,21 +58,23 @@ public class WorldConfig { tConfig = ConfigPack.fromID(configID); - if(tConfig == null) + if (tConfig == null) throw new ConfigException("No such config pack: \"" + configID + "\". This pack either does not exist, or failed to load due to configuration errors.", worldID); // Load image stuff try { biomeXChannel = ImageLoader.Channel.valueOf(Objects.requireNonNull(config.getString("image.channels.biome-x", "red")).toUpperCase()); biomeZChannel = ImageLoader.Channel.valueOf(Objects.requireNonNull(config.getString("image.channels.biome-z", "green")).toUpperCase()); - if(biomeZChannel.equals(biomeXChannel)) + if (biomeZChannel.equals(biomeXChannel)) throw new InvalidConfigurationException("2 objects share the same image channels: biome-x and biome-z"); zoneChannel = ImageLoader.Channel.valueOf(Objects.requireNonNull(config.getString("image.channels.zone", "blue")).toUpperCase()); - if(zoneChannel.equals(biomeXChannel) || zoneChannel.equals(biomeZChannel)) + if (zoneChannel.equals(biomeXChannel) || zoneChannel.equals(biomeZChannel)) throw new InvalidConfigurationException("2 objects share the same image channels: zone and biome-x/z"); - if(fromImage) { + if (fromImage) { try { - imageLoader = new ImageLoader(new File(Objects.requireNonNull(config.getString("image.file"))), ImageLoader.Align.valueOf(config.getString("image.align", "center").toUpperCase())); + //noinspection ConstantConditions + imageLoader = new ImageLoader(new File(config.getString("image.file")), + ImageLoader.Align.valueOf(config.getString("image.align", "center").toUpperCase())); LangUtil.log("world-config.using-image", Level.INFO, worldID); } catch(IOException | NullPointerException e) { e.printStackTrace(); @@ -83,7 +84,7 @@ public class WorldConfig { } catch(IllegalArgumentException | NullPointerException e) { throw new InvalidConfigurationException(e.getCause()); } - Bukkit.getLogger().info("Loaded " + tConfig.biomeList.size() + " BiomeGrids from list."); + Bukkit.getLogger().log(Level.INFO, "Loaded {0} BiomeGrids from list.", tConfig.biomeList.size()); } catch(IOException | InvalidConfigurationException e) { e.printStackTrace(); LangUtil.log("world-config.error", Level.SEVERE, worldID); diff --git a/src/main/java/com/dfsek/terra/config/genconfig/BiomeGridConfig.java b/src/main/java/com/dfsek/terra/config/genconfig/BiomeGridConfig.java index 7848dd831..1a8c8f749 100644 --- a/src/main/java/com/dfsek/terra/config/genconfig/BiomeGridConfig.java +++ b/src/main/java/com/dfsek/terra/config/genconfig/BiomeGridConfig.java @@ -46,30 +46,29 @@ public class BiomeGridConfig extends TerraConfig { } } - public int getSizeX() { - return sizeX; - } - - public int getSizeZ() { - return sizeZ; + public String getID() { + return gridID; } public UserDefinedBiome[][] getBiomeGrid() { return gridRaw; } - public String getID() { - return gridID; - } - public UserDefinedGrid getGrid(World w, WorldConfig wc) { ConfigPack c = wc.getConfig(); return new UserDefinedGrid(w, c.freq1, c.freq2, gridRaw, wc); } - @Override public String toString() { return "BiomeGrid with ID " + getID() + ", dimensions " + getSizeX() + ":" + getSizeZ(); } + + public int getSizeX() { + return sizeX; + } + + public int getSizeZ() { + return sizeZ; + } } diff --git a/src/main/java/com/dfsek/terra/config/genconfig/CarverConfig.java b/src/main/java/com/dfsek/terra/config/genconfig/CarverConfig.java index 78d2b8f27..da8103ff7 100644 --- a/src/main/java/com/dfsek/terra/config/genconfig/CarverConfig.java +++ b/src/main/java/com/dfsek/terra/config/genconfig/CarverConfig.java @@ -47,7 +47,7 @@ public class CarverConfig extends TerraConfig { super(file, config); load(file); if(!contains("id")) throw new ConfigException("No ID specified for Carver!", "null"); - id = getString("id"); + id = Objects.requireNonNull(getString("id")); inner = getBlocks("palette.inner.layers"); @@ -95,14 +95,6 @@ public class CarverConfig extends TerraConfig { carver = new UserDefinedCarver(height, radius, length, start, mutate, radiusMultiplier, id.hashCode(), getInt("cut.top", 0), getInt("cut.bottom", 0)); } - public String getID() { - return id; - } - - public UserDefinedCarver getCarver() { - return carver; - } - @SuppressWarnings("unchecked") private Map> getBlocks(String key) throws InvalidConfigurationException { if(!contains(key)) throw new ConfigException("Missing Carver Palette!", getID()); @@ -123,6 +115,14 @@ public class CarverConfig extends TerraConfig { return result; } + public String getID() { + return id; + } + + public UserDefinedCarver getCarver() { + return carver; + } + public Map> getShiftedBlocks() { return shift; } diff --git a/src/main/java/com/dfsek/terra/config/genconfig/PaletteConfig.java b/src/main/java/com/dfsek/terra/config/genconfig/PaletteConfig.java index 5d3442a7e..b6a3d2cb4 100644 --- a/src/main/java/com/dfsek/terra/config/genconfig/PaletteConfig.java +++ b/src/main/java/com/dfsek/terra/config/genconfig/PaletteConfig.java @@ -68,6 +68,11 @@ public class PaletteConfig extends TerraConfig { return p; } + @Override + public String toString() { + return "Palette with ID " + getID() + " with " + getPalette().getSize() + " layers, using Simplex: " + useNoise; + } + public Palette getPalette() { return palette; } @@ -75,9 +80,4 @@ public class PaletteConfig extends TerraConfig { public String getID() { return paletteID; } - - @Override - public String toString() { - return "Palette with ID " + getID() + " with " + getPalette().getSize() + " layers, using Simplex: " + useNoise; - } } diff --git a/src/main/java/com/dfsek/terra/config/genconfig/biome/BiomeConfig.java b/src/main/java/com/dfsek/terra/config/genconfig/biome/BiomeConfig.java index 1852fb9eb..050e92c19 100644 --- a/src/main/java/com/dfsek/terra/config/genconfig/biome/BiomeConfig.java +++ b/src/main/java/com/dfsek/terra/config/genconfig/biome/BiomeConfig.java @@ -159,14 +159,14 @@ public class BiomeConfig extends TerraConfig { } } - public UserDefinedBiome getBiome() { - return biome; - } - public String getID() { return biomeID; } + public UserDefinedBiome getBiome() { + return biome; + } + public BiomeOreConfig getOres() { return ore; } diff --git a/src/main/java/com/dfsek/terra/config/genconfig/structure/StructureConfig.java b/src/main/java/com/dfsek/terra/config/genconfig/structure/StructureConfig.java index 5cd63a6fc..b2ac487b2 100644 --- a/src/main/java/com/dfsek/terra/config/genconfig/structure/StructureConfig.java +++ b/src/main/java/com/dfsek/terra/config/genconfig/structure/StructureConfig.java @@ -6,7 +6,6 @@ import com.dfsek.terra.config.base.ConfigPack; import com.dfsek.terra.config.base.ConfigUtil; import com.dfsek.terra.config.exception.ConfigException; import com.dfsek.terra.config.exception.NotFoundException; -import com.dfsek.terra.population.StructurePopulator; import com.dfsek.terra.procgen.GridSpawn; import com.dfsek.terra.structure.Structure; import com.dfsek.terra.structure.features.Feature; @@ -36,8 +35,6 @@ public class StructureConfig extends TerraConfig { private final Map loot = new HashMap<>(); private final List features; - StructurePopulator.SearchType type; - @SuppressWarnings("unchecked") public StructureConfig(File file, ConfigPack config) throws IOException, InvalidConfigurationException { super(file, config); @@ -95,15 +92,6 @@ public class StructureConfig extends TerraConfig { spawn = new GridSpawn(getInt("spawn.width", 500), getInt("spawn.padding", 100)); searchStart = new Range(getInt("spawn.start.min", 72), getInt("spawn.start.max", 72)); bound = new Range(getInt("spawn.bound.min", 48), getInt("spawn.bound.max", 72)); - try { - type = StructurePopulator.SearchType.valueOf(getString("spawn.search", "DOWN")); - } catch(IllegalArgumentException e) { - throw new ConfigException("Invalid search type, " + getString("spawn.search"), getID()); - } - } - - public List getFeatures() { - return features; } @Override @@ -111,6 +99,10 @@ public class StructureConfig extends TerraConfig { return id; } + public List getFeatures() { + return features; + } + public Structure getStructure(Random r) { return structure.get(r); } diff --git a/src/main/java/com/dfsek/terra/event/TerraWorldEvent.java b/src/main/java/com/dfsek/terra/event/TerraWorldEvent.java index 99f5deb2a..8a75be1c5 100644 --- a/src/main/java/com/dfsek/terra/event/TerraWorldEvent.java +++ b/src/main/java/com/dfsek/terra/event/TerraWorldEvent.java @@ -6,6 +6,7 @@ import org.bukkit.event.Event; import org.bukkit.event.HandlerList; import org.jetbrains.annotations.NotNull; +@SuppressWarnings("unused") public abstract class TerraWorldEvent extends Event { private static final HandlerList HANDLERS = new HandlerList(); private final TerraWorld world; diff --git a/src/main/java/com/dfsek/terra/generation/TerraChunkGenerator.java b/src/main/java/com/dfsek/terra/generation/TerraChunkGenerator.java index 2f50e8d96..c3579a826 100644 --- a/src/main/java/com/dfsek/terra/generation/TerraChunkGenerator.java +++ b/src/main/java/com/dfsek/terra/generation/TerraChunkGenerator.java @@ -43,6 +43,7 @@ import java.util.Map; import java.util.Random; import java.util.logging.Level; + public class TerraChunkGenerator extends GaeaChunkGenerator { private static final Map popMap = new HashMap<>(); private final PopulationManager popMan = new PopulationManager(Terra.getInstance()); @@ -69,16 +70,22 @@ public class TerraChunkGenerator extends GaeaChunkGenerator { } public static synchronized void fixChunk(Chunk c) { - if(!(c.getWorld().getGenerator() instanceof TerraChunkGenerator)) throw new IllegalArgumentException(); + if (!(c.getWorld().getGenerator() instanceof TerraChunkGenerator)) throw new IllegalArgumentException(); popMap.get(c.getWorld()).checkNeighbors(c.getX(), c.getZ(), c.getWorld()); } + @Override + public void attachProfiler(WorldProfiler p) { + super.attachProfiler(p); + popMan.attachProfiler(p); + } + @Override public ChunkData generateBase(@NotNull World world, @NotNull Random random, int chunkX, int chunkZ, ChunkInterpolator interpolator) { - if(needsLoad) load(world); // Load population data for world. + if (needsLoad) load(world); // Load population data for world. ChunkData chunk = createChunkData(world); TerraWorld tw = TerraWorld.getWorld(world); - if(!tw.isSafe()) return chunk; + if (!tw.isSafe()) return chunk; ConfigPack config = tw.getConfig(); int xOrig = (chunkX << 4); int zOrig = (chunkZ << 4); @@ -98,10 +105,11 @@ public class TerraChunkGenerator extends GaeaChunkGenerator { BlockData data = b.getGenerator().getPalette(y).get(paletteLevel, cx, cz); chunk.setBlock(x, y, z, data); if(paletteLevel == 0 && slab != null && y < 255) { - prepareBlockPart(data, chunk.getBlockData(x, y + 1, z), chunk, new Vector(x, y + 1, z), slab.getSlabs(), slab.getStairs(), slab.getSlabThreshold(), interpolator); + prepareBlockPart(data, chunk.getBlockData(x, y + 1, z), chunk, new Vector(x, y + 1, z), slab.getSlabs(), + slab.getStairs(), slab.getSlabThreshold(), interpolator); } paletteLevel++; - } else if(y <= sea) { + } else if (y <= sea) { chunk.setBlock(x, y, z, seaPalette.get(sea - y, x + xOrig, z + zOrig)); paletteLevel = 0; } else paletteLevel = 0; @@ -111,16 +119,17 @@ public class TerraChunkGenerator extends GaeaChunkGenerator { return chunk; } - private void prepareBlockPart(BlockData down, BlockData orig, ChunkData chunk, Vector block, Map> slabs, Map> stairs, double thresh, ChunkInterpolator interpolator) { - if(interpolator.getNoise(block.getBlockX(), block.getBlockY() - 0.4, block.getBlockZ()) > thresh) { - if(stairs != null) { + private void prepareBlockPart(BlockData down, BlockData orig, ChunkData chunk, Vector block, Map> slabs, + Map> stairs, double thresh, ChunkInterpolator interpolator) { + if (interpolator.getNoise(block.getBlockX(), block.getBlockY() - 0.4, block.getBlockZ()) > thresh) { + if (stairs != null) { Palette stairPalette = stairs.get(down.getMaterial()); - if(stairPalette != null) { + if (stairPalette != null) { BlockData stair = stairPalette.get(0, block.getBlockX(), block.getBlockZ()); Stairs stairNew = (Stairs) stair.clone(); - if(interpolator.getNoise(block.getBlockX() - 0.5, block.getBlockY(), block.getBlockZ()) > thresh) { + if (interpolator.getNoise(block.getBlockX() - 0.5, block.getBlockY(), block.getBlockZ()) > thresh) { stairNew.setFacing(BlockFace.WEST); - } else if(interpolator.getNoise(block.getBlockX(), block.getBlockY(), block.getBlockZ() - 0.5) > thresh) { + } else if (interpolator.getNoise(block.getBlockX(), block.getBlockY(), block.getBlockZ() - 0.5) > thresh) { stairNew.setFacing(BlockFace.NORTH); } else if(interpolator.getNoise(block.getBlockX(), block.getBlockY(), block.getBlockZ() + 0.5) > thresh) { stairNew.setFacing(BlockFace.SOUTH); @@ -154,12 +163,6 @@ public class TerraChunkGenerator extends GaeaChunkGenerator { needsLoad = false; } - @Override - public void attachProfiler(WorldProfiler p) { - super.attachProfiler(p); - popMan.attachProfiler(p); - } - @Override public int getNoiseOctaves(World world) { return configPack.octaves; @@ -186,6 +189,11 @@ public class TerraChunkGenerator extends GaeaChunkGenerator { return Arrays.asList(new CavePopulator(), new StructurePopulator(), popMan); } + @Override + public boolean isParallelCapable() { + return true; + } + @Override public boolean shouldGenerateCaves() { return configPack.vanillaCaves; @@ -206,9 +214,4 @@ public class TerraChunkGenerator extends GaeaChunkGenerator { return configPack.vanillaStructures; } - @Override - public boolean isParallelCapable() { - return true; - } - } diff --git a/src/main/java/com/dfsek/terra/generation/UserDefinedGenerator.java b/src/main/java/com/dfsek/terra/generation/UserDefinedGenerator.java index 77783a222..c730b4148 100644 --- a/src/main/java/com/dfsek/terra/generation/UserDefinedGenerator.java +++ b/src/main/java/com/dfsek/terra/generation/UserDefinedGenerator.java @@ -16,7 +16,7 @@ import parsii.tokenizer.ParseException; import java.util.List; import java.util.Map; -import java.util.TreeMap; + public class UserDefinedGenerator extends Generator { private static final Object noiseLock = new Object(); @@ -32,14 +32,15 @@ public class UserDefinedGenerator extends Generator { private final boolean preventSmooth; - public UserDefinedGenerator(String equation, List v, TreeMap> pa, boolean preventSmooth) throws ParseException { + public UserDefinedGenerator(String equation, List userVariables, Map> paletteMap, boolean preventSmooth) + throws ParseException { Parser p = new Parser(); p.registerFunction("noise2", n2); p.registerFunction("noise3", n3); for(int y = 0; y < 256; y++) { Palette d = DataUtil.BLANK_PALETTE; - for(Map.Entry> e : pa.entrySet()) { - if(e.getKey() >= y) { + for(Map.Entry> e : paletteMap.entrySet()) { + if (e.getKey() >= y) { d = e.getValue(); break; } diff --git a/src/main/java/com/dfsek/terra/image/ImageLoader.java b/src/main/java/com/dfsek/terra/image/ImageLoader.java index 6383ff3fb..3442c23c8 100644 --- a/src/main/java/com/dfsek/terra/image/ImageLoader.java +++ b/src/main/java/com/dfsek/terra/image/ImageLoader.java @@ -17,7 +17,7 @@ import java.io.IOException; public class ImageLoader { private final BufferedImage image; private final Align align; - double inverseRoot2 = 0.7071067811865475; + private static final double INVERSE_ROOT_2 = 0.7071067811865475; public ImageLoader(File file, Align align) throws IOException { image = ImageIO.read(file); @@ -59,6 +59,20 @@ public class ImageLoader { return b; } + public void debug(boolean genStep, World w) { + if (!ConfigUtil.debug) return; + BufferedImage newImg = copyImage(image); + if (genStep) { + newImg = redrawStepped(image, w, align); + } + DebugGUI debugGUI = new DebugGUI(newImg); + debugGUI.start(); + } + + public double getNoiseVal(int x, int y, Channel channel) { + return ((double) (getChannel(x, y, channel) - 128) / 128) * INVERSE_ROOT_2; + } + public int getChannel(int x, int y, Channel channel) { int rgb; rgb = align.getRGB(image, x, y); @@ -70,7 +84,7 @@ public class ImageLoader { case BLUE: return rgb & 0xff; case ALPHA: - return rgb >> 32 & 0xff; + return rgb >> 24 & 0xff; default: throw new IllegalArgumentException(); } diff --git a/src/main/java/com/dfsek/terra/math/NoiseFunction2.java b/src/main/java/com/dfsek/terra/math/NoiseFunction2.java index 7a406d6c1..1e13c11d0 100644 --- a/src/main/java/com/dfsek/terra/math/NoiseFunction2.java +++ b/src/main/java/com/dfsek/terra/math/NoiseFunction2.java @@ -21,15 +21,15 @@ public class NoiseFunction2 implements Function { return cache.get(list.get(0).evaluate(), list.get(1).evaluate()); } - public void setNoise(FastNoiseLite gen) { - this.gen = gen; - } - @Override public boolean isNaturalFunction() { return true; } + public void setNoise(FastNoiseLite gen) { + this.gen = gen; + } + private final class Cache { private final double[] cacheX = new double[ConfigUtil.cacheSize]; private final double[] cacheZ = new double[ConfigUtil.cacheSize]; @@ -37,7 +37,7 @@ public class NoiseFunction2 implements Function { public double get(double x, double z) { for(int i = 0; i < cacheX.length; i++) { - if(cacheX[i] == x && cacheZ[i] == z) return cacheValues[i]; + if (cacheX[i] == x && cacheZ[i] == z) return cacheValues[i]; } cacheX[0] = x; cacheZ[0] = z; diff --git a/src/main/java/com/dfsek/terra/math/NoiseFunction3.java b/src/main/java/com/dfsek/terra/math/NoiseFunction3.java index 3718a9925..6f6a10c82 100644 --- a/src/main/java/com/dfsek/terra/math/NoiseFunction3.java +++ b/src/main/java/com/dfsek/terra/math/NoiseFunction3.java @@ -19,12 +19,12 @@ public class NoiseFunction3 implements Function { return gen.getNoise(list.get(0).evaluate(), list.get(1).evaluate(), list.get(2).evaluate()); } - public void setNoise(FastNoiseLite gen) { - this.gen = gen; - } - @Override public boolean isNaturalFunction() { return true; } + + public void setNoise(FastNoiseLite gen) { + this.gen = gen; + } } diff --git a/src/main/java/com/dfsek/terra/population/FloraPopulator.java b/src/main/java/com/dfsek/terra/population/FloraPopulator.java index 4bff710be..2d3d31d83 100644 --- a/src/main/java/com/dfsek/terra/population/FloraPopulator.java +++ b/src/main/java/com/dfsek/terra/population/FloraPopulator.java @@ -30,36 +30,6 @@ import java.util.Random; * Populates Flora and Trees */ public class FloraPopulator extends GaeaBlockPopulator { - private static boolean doTrees(@NotNull UserDefinedBiome biome, TerraWorld world, @NotNull Random random, @NotNull Chunk chunk, int x, int z) { - for(Block block : getValidTreeSpawnsAt(chunk, x, z, new Range(0, 254))) { - Tree tree = biome.getDecorator().getTrees().get(random); - Range range = world.getConfig().getBiome(biome).getTreeRange(tree); - if(!range.isInRange(block.getY())) continue; - try { - Location l = block.getLocation(); - TreeGenerateEvent event = new TreeGenerateEvent(world, l, tree); - Bukkit.getPluginManager().callEvent(event); - if(!event.isCancelled()) tree.plant(l, random, Terra.getInstance()); - } catch(NullPointerException ignore) { - } - } - return false; - } - - private static int offset(Random r, int i) { - return Math.min(Math.max(i + r.nextInt(3) - 1, 0), 15); - } - - public static List getValidTreeSpawnsAt(Chunk chunk, int x, int z, Range check) { - List blocks = new ArrayList<>(); - for(int y : check) { - if(chunk.getBlock(x, y, z).getType().isSolid() && chunk.getBlock(x, y + 1, z).getType().isAir()) { - blocks.add(chunk.getBlock(x, y + 1, z)); - } - } - return blocks; - } - @Override public void populate(@NotNull World world, @NotNull Random random, @NotNull Chunk chunk) { try(ProfileFuture ignored = TerraProfiler.fromWorld(world).measure("FloraTime")) { @@ -90,7 +60,7 @@ public class FloraPopulator extends GaeaBlockPopulator { item = biome.getDecorator().getFlora().get(f.getFloraNoise(), originX + x, originZ + z); else item = biome.getDecorator().getFlora().get(random); for(Block highest : item.getValidSpawnsAt(chunk, x, z, c.getFloraHeights(item))) { - if(random.nextInt(100) < biome.getDecorator().getFloraChance()) + if (random.nextInt(100) < biome.getDecorator().getFloraChance()) item.plant(highest.getLocation()); } } @@ -100,4 +70,34 @@ public class FloraPopulator extends GaeaBlockPopulator { } } } + + private static boolean doTrees(@NotNull UserDefinedBiome biome, TerraWorld world, @NotNull Random random, @NotNull Chunk chunk, int x, int z) { + for(Block block : getValidTreeSpawnsAt(chunk, x, z, new Range(0, 254))) { + Tree tree = biome.getDecorator().getTrees().get(random); + Range range = world.getConfig().getBiome(biome).getTreeRange(tree); + if (!range.isInRange(block.getY())) continue; + try { + Location l = block.getLocation(); + TreeGenerateEvent event = new TreeGenerateEvent(world, l, tree); + Bukkit.getPluginManager().callEvent(event); + if (!event.isCancelled()) tree.plant(l, random, Terra.getInstance()); + } catch(NullPointerException ignore) { + } + } + return false; + } + + public static List getValidTreeSpawnsAt(Chunk chunk, int x, int z, Range check) { + List blocks = new ArrayList<>(); + for(int y : check) { + if (chunk.getBlock(x, y, z).getType().isSolid() && chunk.getBlock(x, y + 1, z).getType().isAir()) { + blocks.add(chunk.getBlock(x, y + 1, z)); + } + } + return blocks; + } + + private static int offset(Random r, int i) { + return Math.min(Math.max(i + r.nextInt(3) - 1, 0), 15); + } } diff --git a/src/main/java/com/dfsek/terra/population/StructurePopulator.java b/src/main/java/com/dfsek/terra/population/StructurePopulator.java index 187f84fc9..4018653a4 100644 --- a/src/main/java/com/dfsek/terra/population/StructurePopulator.java +++ b/src/main/java/com/dfsek/terra/population/StructurePopulator.java @@ -76,8 +76,4 @@ public class StructurePopulator extends BlockPopulator { } } } - - public enum SearchType { - UP, DOWN - } } diff --git a/src/main/java/com/dfsek/terra/procgen/math/Vector2.java b/src/main/java/com/dfsek/terra/procgen/math/Vector2.java index e90cfb68e..ed45b5511 100644 --- a/src/main/java/com/dfsek/terra/procgen/math/Vector2.java +++ b/src/main/java/com/dfsek/terra/procgen/math/Vector2.java @@ -3,6 +3,7 @@ package com.dfsek.terra.procgen.math; /** * oh yeah */ +@SuppressWarnings("unused") public class Vector2 implements Cloneable { private double x; private double z; @@ -58,36 +59,6 @@ public class Vector2 implements Cloneable { return this; } - /** - * Divide X and Z components by a value. - * - * @param d Divisor - * @return Mutated vector, for chaining. - */ - public Vector2 divide(double d) { - x /= d; - z /= d; - return this; - } - - /** - * Get the squared length of this Vector - * - * @return squared length - */ - public double lengthSquared() { - return x * x + z * z; - } - - /** - * Get the length of this Vector - * - * @return length - */ - public double length() { - return Math.sqrt(lengthSquared()); - } - /** * Add this vector to another. * @@ -122,6 +93,36 @@ public class Vector2 implements Cloneable { return this; } + /** + * Divide X and Z components by a value. + * + * @param d Divisor + * @return Mutated vector, for chaining. + */ + public Vector2 divide(double d) { + x /= d; + z /= d; + return this; + } + + /** + * Get the length of this Vector + * + * @return length + */ + public double length() { + return Math.sqrt(lengthSquared()); + } + + /** + * Get the squared length of this Vector + * + * @return squared length + */ + public double lengthSquared() { + return x * x + z * z; + } + /** * Get the distance from this vector to another. * @@ -162,8 +163,12 @@ public class Vector2 implements Cloneable { } @Override - public String toString() { - return "(" + x + ", " + z + ")"; + public boolean equals(Object obj) { + if (!(obj instanceof Vector2)) { + return false; + } + Vector2 other = (Vector2) obj; + return other.x == this.x && other.z == this.z; } @Override @@ -174,4 +179,9 @@ public class Vector2 implements Cloneable { throw new Error(e); } } + + @Override + public String toString() { + return "(" + x + ", " + z + ")"; + } } diff --git a/src/main/java/com/dfsek/terra/procgen/pixel/Polygon.java b/src/main/java/com/dfsek/terra/procgen/pixel/Polygon.java index 1072d6f44..fde36b4f0 100644 --- a/src/main/java/com/dfsek/terra/procgen/pixel/Polygon.java +++ b/src/main/java/com/dfsek/terra/procgen/pixel/Polygon.java @@ -4,6 +4,7 @@ import com.dfsek.terra.procgen.math.Vector2; import java.util.Set; +@SuppressWarnings("unused") public abstract class Polygon { public abstract Set getContainedPixels(); } diff --git a/src/main/java/com/dfsek/terra/procgen/pixel/Rectangle.java b/src/main/java/com/dfsek/terra/procgen/pixel/Rectangle.java index 6bf579c18..e2769aa6b 100644 --- a/src/main/java/com/dfsek/terra/procgen/pixel/Rectangle.java +++ b/src/main/java/com/dfsek/terra/procgen/pixel/Rectangle.java @@ -5,6 +5,7 @@ import com.dfsek.terra.procgen.math.Vector2; import java.util.HashSet; import java.util.Set; +@SuppressWarnings("unused") public class Rectangle extends Polygon { private final Vector2 min; private final Vector2 max; diff --git a/src/main/java/com/dfsek/terra/procgen/voxel/VoxelGeometry.java b/src/main/java/com/dfsek/terra/procgen/voxel/VoxelGeometry.java index 0b5ccb0a9..a1bdc6343 100644 --- a/src/main/java/com/dfsek/terra/procgen/voxel/VoxelGeometry.java +++ b/src/main/java/com/dfsek/terra/procgen/voxel/VoxelGeometry.java @@ -6,7 +6,7 @@ import java.util.ArrayList; import java.util.List; public abstract class VoxelGeometry { - public List geometry = new ArrayList<>(); + private final List geometry = new ArrayList<>(); public static VoxelGeometry getBlank() { return new VoxelGeometry() { diff --git a/src/main/java/com/dfsek/terra/structure/InitializationException.java b/src/main/java/com/dfsek/terra/structure/InitializationException.java index 42592242f..eec31ab7c 100644 --- a/src/main/java/com/dfsek/terra/structure/InitializationException.java +++ b/src/main/java/com/dfsek/terra/structure/InitializationException.java @@ -3,6 +3,7 @@ package com.dfsek.terra.structure; import org.bukkit.Location; import org.jetbrains.annotations.Nullable; +@SuppressWarnings("unused") public class InitializationException extends Exception { private final Location worldLoc; diff --git a/src/main/java/com/dfsek/terra/structure/Structure.java b/src/main/java/com/dfsek/terra/structure/Structure.java index c922aa41e..227d9c9f2 100644 --- a/src/main/java/com/dfsek/terra/structure/Structure.java +++ b/src/main/java/com/dfsek/terra/structure/Structure.java @@ -38,8 +38,9 @@ import java.util.function.Consumer; import static com.dfsek.terra.util.structure.RotationUtil.*; +@SuppressWarnings("unused") public class Structure implements Serializable { - public static final long serialVersionUID = -6664585217063842035L; + private static final long serialVersionUID = -6664585217063842035L; private final StructureContainedBlock[][][] structure; private final StructureInfo structureInfo; private final String id; @@ -53,7 +54,7 @@ public class Structure implements Serializable { this.uuid = UUID.randomUUID(); this.spawns = new HashSet<>(); this.inventories = new HashSet<>(); - if(l1.getX() > l2.getX() || l1.getY() > l2.getY() || l1.getZ() > l2.getZ()) + if (l1.getX() > l2.getX() || l1.getY() > l2.getY() || l1.getZ() > l2.getZ()) throw new IllegalArgumentException("Invalid locations provided!"); structure = new StructureContainedBlock[l2.getBlockX() - l1.getBlockX() + 1][l2.getBlockZ() - l1.getBlockZ() + 1][l2.getBlockY() - l1.getBlockY() + 1]; for(int x = 0; x <= l2.getBlockX() - l1.getBlockX(); x++) { @@ -67,16 +68,16 @@ public class Structure implements Serializable { int pullOffset = 0; StructureSpawnRequirement requirement = StructureSpawnRequirement.BLANK; try { - if(state instanceof Sign) { // Magic sign stuff + if (state instanceof Sign) { // Magic sign stuff Sign s = (Sign) b.getState(); - if(s.getLine(0).equals("[TERRA]")) { + if (s.getLine(0).equals("[TERRA]")) { try { d = Bukkit.createBlockData(s.getLine(2) + s.getLine(3)); useState = false; - if(s.getLine(1).equals("[CENTER]")) { + if (s.getLine(1).equals("[CENTER]")) { centerX = x; centerZ = z; - } else if(s.getLine(1).startsWith("[SPAWN=") && s.getLine(1).endsWith("]")) { + } else if (s.getLine(1).startsWith("[SPAWN=") && s.getLine(1).endsWith("]")) { String og = s.getLine(1); String spawn = og.substring(og.indexOf("=") + 1, og.length() - 1); try { @@ -84,7 +85,7 @@ public class Structure implements Serializable { } catch(IllegalArgumentException e) { throw new InitializationException("Invalid spawn type: " + spawn, b.getLocation()); } - } else if(s.getLine(1).startsWith("[PULL=") && s.getLine(1).endsWith("]")) { + } else if (s.getLine(1).startsWith("[PULL=") && s.getLine(1).endsWith("]")) { String og = s.getLine(1); String spawn = og.substring(og.indexOf("=") + 1, og.indexOf("_")); pullOffset = Integer.parseInt(og.substring(og.indexOf("_") + 1, og.length() - 1)); @@ -105,15 +106,15 @@ public class Structure implements Serializable { throw new InitializationException("Invalid sign.", b.getLocation()); } StructureContainedBlock block = new StructureContainedBlock(x, y, z, useState ? state : null, d, requirement, pull, pullOffset); - if(state instanceof BlockInventoryHolder) { + if (state instanceof BlockInventoryHolder) { inventories.add(new StructureContainedInventory(((BlockInventoryHolder) state).getInventory(), block)); } - if(!requirement.equals(StructureSpawnRequirement.BLANK)) spawns.add(block); + if (!requirement.equals(StructureSpawnRequirement.BLANK)) spawns.add(block); structure[x][z][y] = block; } } } - if(centerX < 0 || centerZ < 0) throw new InitializationException("No structure center specified.", null); + if (centerX < 0 || centerZ < 0) throw new InitializationException("No structure center specified.", null); structureInfo = new StructureInfo(l2.getBlockX() - l1.getBlockX() + 1, l2.getBlockY() - l1.getBlockY() + 1, l2.getBlockZ() - l1.getBlockZ() + 1, new Vector2(centerX, centerZ)); } @@ -150,22 +151,6 @@ public class Structure implements Serializable { return (Structure) o; } - private static void toFile(@NotNull Serializable o, @NotNull File f) throws IOException { - ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(f)); - oos.writeObject(o); - oos.close(); - } - - /** - * Get GaeaStructureInfo object - * - * @return Structure Info - */ - @NotNull - public StructureInfo getStructureInfo() { - return structureInfo; - } - /** * Paste the structure at a Location, ignoring chunk boundaries. * @@ -203,11 +188,53 @@ public class Structure implements Serializable { int zOr = (chunk.getZ() << 4); Range intersectX = new Range(xOr, xOr + 16).sub(origin.getBlockX() - structureInfo.getCenterX()); Range intersectZ = new Range(zOr, zOr + 16).sub(origin.getBlockZ() - structureInfo.getCenterZ()); - if(intersectX == null || intersectZ == null) return; + if (intersectX == null || intersectZ == null) return; executeForBlocksInRange(intersectX, getRange(Axis.Y, r), intersectZ, block -> pasteBlock(block, origin, r), r); Debug.info(intersectX.toString() + " : " + intersectZ.toString()); } + public boolean checkSpawns(Location origin, Rotation r) { + for(StructureContainedBlock b : spawns) { + Vector2 rot = getRotatedCoords(new Vector2(b.getX() - structureInfo.getCenterX(), b.getZ() - structureInfo.getCenterZ()), r); + if (!b.getRequirement().matches(origin.getWorld(), (int) rot.getX() + origin.getBlockX(), origin.getBlockY() + b.getY(), (int) rot.getZ() + origin.getBlockZ())) + return false; + } + return true; + } + + public HashSet getInventories() { + return inventories; + } + + /** + * Paste structure at an origin location, confined to a single chunk. + * + * @param origin Origin location + * @param chunk Chunk to confine pasting to + * @param r Rotation + */ + public void paste(Location origin, Chunk chunk, Rotation r) { + int xOr = (chunk.getX() << 4); + int zOr = (chunk.getZ() << 4); + Range intersectX = new Range(xOr, xOr + 16).sub(origin.getBlockX() - structureInfo.getCenterX()); + Range intersectZ = new Range(zOr, zOr + 16).sub(origin.getBlockZ() - structureInfo.getCenterZ()); + if (intersectX == null || intersectZ == null) return; + executeForBlocksInRange(intersectX, getRange(Axis.Y, r), intersectZ, block -> pasteBlock(block, origin, r), r); + Debug.info(intersectX.toString() + " : " + intersectZ.toString()); + } + + /** + * Test whether a set of coordinates is within the current structure + * + * @param x X coordinate + * @param y Y coordinate + * @param z Z coordinate + * @return True if coordinate set is in structure, false if it is not. + */ + private boolean isInStructure(int x, int y, int z) { + return x < structureInfo.getSizeX() && y < structureInfo.getSizeY() && z < structureInfo.getSizeZ() && x >= 0 && y >= 0 && z >= 0; + } + /** * Paste a single StructureDefinedBlock at an origin location, offset by its coordinates. * @@ -223,8 +250,8 @@ public class Structure implements Serializable { Block worldBlock = loc.getBlock(); main: while(worldBlock.isEmpty()) { - if(loc.getBlockY() > 255 || loc.getBlockY() < 0) return; - if(block.getPull() == null) break; + if (loc.getBlockY() > 255 || loc.getBlockY() < 0) return; + if (block.getPull() == null) break; switch(block.getPull()) { case UP: worldBlock = worldBlock.getRelative(BlockFace.UP); @@ -238,16 +265,16 @@ public class Structure implements Serializable { } int offset = block.getPullOffset(); - if(offset != 0) + if (offset != 0) worldBlock = worldBlock.getRelative((offset > 0) ? BlockFace.UP : BlockFace.DOWN, Math.abs(offset)); - if(data instanceof Rotatable) { + if (data instanceof Rotatable) { BlockFace rt = getRotatedFace(((Rotatable) data).getRotation(), r); ((Rotatable) data).setRotation(rt); - } else if(data instanceof Directional) { + } else if (data instanceof Directional) { BlockFace rt = getRotatedFace(((Directional) data).getFacing(), r); ((Directional) data).setFacing(rt); - } else if(data instanceof MultipleFacing) { + } else if (data instanceof MultipleFacing) { MultipleFacing mfData = (MultipleFacing) data; Map faces = new HashMap<>(); for(BlockFace f : mfData.getAllowedFaces()) { @@ -256,13 +283,13 @@ public class Structure implements Serializable { for(Map.Entry face : faces.entrySet()) { mfData.setFace(getRotatedFace(face.getKey(), r), face.getValue()); } - } else if(data instanceof Rail) { + } else if (data instanceof Rail) { Rail.Shape newShape = getRotatedRail(((Rail) data).getShape(), r); ((Rail) data).setShape(newShape); - } else if(data instanceof Orientable) { + } else if (data instanceof Orientable) { org.bukkit.Axis newAxis = getRotatedAxis(((Orientable) data).getAxis(), r); ((Orientable) data).setAxis(newAxis); - } else if(data instanceof RedstoneWire) { + } else if (data instanceof RedstoneWire) { Map connections = new HashMap<>(); RedstoneWire rData = (RedstoneWire) data; for(BlockFace f : rData.getAllowedFaces()) { @@ -273,12 +300,26 @@ public class Structure implements Serializable { } } worldBlock.setBlockData(data, false); - if(block.getState() != null) { + if (block.getState() != null) { block.getState().getState(worldBlock.getState()).update(true, false); } } } + @NotNull + private Range getRawRange(@NotNull Axis a) { + switch(a) { + case X: + return new Range(0, structureInfo.getSizeX()); + case Y: + return new Range(0, structureInfo.getSizeY()); + case Z: + return new Range(0, structureInfo.getSizeZ()); + default: + throw new IllegalArgumentException(); + } + } + /** * Execute a Consumer for all blocks in a cuboid region defined by 3 Ranges, accounting for rotation. * @@ -294,7 +335,7 @@ public class Structure implements Serializable { for(int z : zM) { Vector2 c = getRotatedCoords(new Vector2(x - structureInfo.getCenterX(), z - structureInfo.getCenterZ()), r); c.add(new Vector2(structureInfo.getCenterX(), structureInfo.getCenterZ())); - if(isInStructure((int) c.getX(), y, (int) c.getZ())) { + if (isInStructure((int) c.getX(), y, (int) c.getZ())) { StructureContainedBlock b = structure[(int) c.getX()][(int) c.getZ()][y]; exec.accept(new StructureContainedBlock(x - getStructureInfo().getCenterX(), y, z - getStructureInfo().getCenterZ(), b.getState(), b.getBlockData(), b.getRequirement(), b.getPull(), b.getPullOffset())); } @@ -304,15 +345,28 @@ public class Structure implements Serializable { } /** - * Test whether a set of coordinates is within the current structure + * Get GaeaStructureInfo object * - * @param x X coordinate - * @param y Y coordinate - * @param z Z coordinate - * @return True if coordinate set is in structure, false if it is not. + * @return Structure Info */ - private boolean isInStructure(int x, int y, int z) { - return x < structureInfo.getSizeX() && y < structureInfo.getSizeY() && z < structureInfo.getSizeZ() && x >= 0 && y >= 0 && z >= 0; + @NotNull + public StructureInfo getStructureInfo() { + return structureInfo; + } + + @NotNull + public Range getRange(@NotNull Axis a, @NotNull Rotation r) { + if (a.equals(Axis.Y)) return getRawRange(a); + Vector2 center = new Vector2(structureInfo.getCenterX(), structureInfo.getCenterZ()); + Range x = getRawRange(Axis.X); + Range z = getRawRange(Axis.Z); + Vector2 min = getRotatedCoords(new Vector2(x.getMin(), z.getMin()).subtract(center), r.inverse()).add(center); + Vector2 max = getRotatedCoords(new Vector2(x.getMax(), z.getMax()).subtract(center), r.inverse()).add(center); + + if (a.equals(Axis.X)) + return new Range((int) Math.floor(Math.min(min.getX(), max.getX())), (int) Math.ceil(Math.max(min.getX(), max.getX())) + 1); + else + return new Range((int) Math.floor(Math.min(min.getZ(), max.getZ())), (int) Math.ceil(Math.max(min.getZ(), max.getZ())) + 1); } /** @@ -335,6 +389,12 @@ public class Structure implements Serializable { toFile(this, f); } + private static void toFile(@NotNull Serializable o, @NotNull File f) throws IOException { + ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(f)); + oos.writeObject(o); + oos.close(); + } + @NotNull public String getId() { return id; @@ -345,35 +405,6 @@ public class Structure implements Serializable { return uuid; } - @NotNull - public Range getRange(@NotNull Axis a, @NotNull Rotation r) { - if(a.equals(Axis.Y)) return getRawRange(a); - Vector2 center = new Vector2(structureInfo.getCenterX(), structureInfo.getCenterZ()); - Range x = getRawRange(Axis.X); - Range z = getRawRange(Axis.Z); - Vector2 min = getRotatedCoords(new Vector2(x.getMin(), z.getMin()).subtract(center), r.inverse()).add(center); - Vector2 max = getRotatedCoords(new Vector2(x.getMax(), z.getMax()).subtract(center), r.inverse()).add(center); - - if(a.equals(Axis.X)) - return new Range((int) Math.floor(Math.min(min.getX(), max.getX())), (int) Math.ceil(Math.max(min.getX(), max.getX())) + 1); - else - return new Range((int) Math.floor(Math.min(min.getZ(), max.getZ())), (int) Math.ceil(Math.max(min.getZ(), max.getZ())) + 1); - } - - @NotNull - private Range getRawRange(@NotNull Axis a) { - switch(a) { - case X: - return new Range(0, structureInfo.getSizeX()); - case Y: - return new Range(0, structureInfo.getSizeY()); - case Z: - return new Range(0, structureInfo.getSizeZ()); - default: - throw new IllegalArgumentException(); - } - } - public enum Axis { X, Y, Z } diff --git a/src/main/java/com/dfsek/terra/structure/StructureContainedBlock.java b/src/main/java/com/dfsek/terra/structure/StructureContainedBlock.java index 94bbe6f1f..97721fca5 100644 --- a/src/main/java/com/dfsek/terra/structure/StructureContainedBlock.java +++ b/src/main/java/com/dfsek/terra/structure/StructureContainedBlock.java @@ -15,7 +15,7 @@ import org.bukkit.block.data.BlockData; import java.io.Serializable; public class StructureContainedBlock implements Serializable { - public static final long serialVersionUID = 6143969483382710947L; + private static final long serialVersionUID = 6143969483382710947L; private final SerializableBlockData bl; private final Pull pull; private final int pullOffset; diff --git a/src/main/java/com/dfsek/terra/structure/StructureContainedInventory.java b/src/main/java/com/dfsek/terra/structure/StructureContainedInventory.java index b8215ef98..3e2527f4d 100644 --- a/src/main/java/com/dfsek/terra/structure/StructureContainedInventory.java +++ b/src/main/java/com/dfsek/terra/structure/StructureContainedInventory.java @@ -6,7 +6,7 @@ import org.bukkit.inventory.ItemStack; import java.io.Serializable; public class StructureContainedInventory implements Serializable { - public static final long serialVersionUID = -175339605585943678L; + private static final long serialVersionUID = -175339605585943678L; private final int uid; private final int x, y, z; diff --git a/src/main/java/com/dfsek/terra/structure/StructureInfo.java b/src/main/java/com/dfsek/terra/structure/StructureInfo.java index c9d8ee153..eceab039f 100644 --- a/src/main/java/com/dfsek/terra/structure/StructureInfo.java +++ b/src/main/java/com/dfsek/terra/structure/StructureInfo.java @@ -5,7 +5,7 @@ import com.dfsek.terra.procgen.math.Vector2; import java.io.Serializable; public class StructureInfo implements Serializable { - public static final long serialVersionUID = -175639605885943678L; + private static final long serialVersionUID = -175639605885943678L; private final int sizeX; private final int sizeY; private final int sizeZ; diff --git a/src/main/java/com/dfsek/terra/structure/StructureSpawnRequirement.java b/src/main/java/com/dfsek/terra/structure/StructureSpawnRequirement.java index 774672d10..be228d8c2 100644 --- a/src/main/java/com/dfsek/terra/structure/StructureSpawnRequirement.java +++ b/src/main/java/com/dfsek/terra/structure/StructureSpawnRequirement.java @@ -21,7 +21,7 @@ public enum StructureSpawnRequirement implements Serializable { ConfigPack wc = tw.getConfig(); UserDefinedBiome b = (UserDefinedBiome) tw.getGrid().getBiome(x, z, GenerationPhase.POPULATE); BiomeConfig c = wc.getBiome(b); - if(y <= c.getOcean().getSeaLevel()) return false; + if (y <= c.getOcean().getSeaLevel()) return false; return b.getGenerator().getNoise(getNoise(w), w, x, y, z) <= 0; } }, OCEAN { @@ -30,7 +30,7 @@ public enum StructureSpawnRequirement implements Serializable { setNoise(w, x, y, z); UserDefinedBiome b = (UserDefinedBiome) TerraWorld.getWorld(w).getGrid().getBiome(x, z, GenerationPhase.POPULATE); BiomeConfig c = TerraWorld.getWorld(w).getConfig().getBiome(b); - if(y > c.getOcean().getSeaLevel()) return false; + if (y > c.getOcean().getSeaLevel()) return false; return b.getGenerator().getNoise(getNoise(w), w, x, y, z) <= 0; } }, LAND { @@ -49,18 +49,10 @@ public enum StructureSpawnRequirement implements Serializable { private static final long serialVersionUID = -175639605885943679L; private static final transient Map noiseMap = new HashMap<>(); - public static void putNoise(World w, FastNoiseLite noise) { - noiseMap.putIfAbsent(w, noise); - } - - private static FastNoiseLite getNoise(World w) { - return noiseMap.get(w); - } - private static void setNoise(World w, int x, int y, int z) { TerraWorld tw = TerraWorld.getWorld(w); ConfigPack wc = tw.getConfig(); - if(getNoise(w) == null) { + if (getNoise(w) == null) { FastNoiseLite gen = new FastNoiseLite((int) w.getSeed()); gen.setNoiseType(FastNoiseLite.NoiseType.OpenSimplex2); gen.setFractalType(FastNoiseLite.FractalType.FBm); @@ -70,5 +62,13 @@ public enum StructureSpawnRequirement implements Serializable { } } + public static void putNoise(World w, FastNoiseLite noise) { + noiseMap.putIfAbsent(w, noise); + } + + private static FastNoiseLite getNoise(World w) { + return noiseMap.get(w); + } + public abstract boolean matches(World w, int x, int y, int z); } diff --git a/src/main/java/com/dfsek/terra/structure/features/EntityFeature.java b/src/main/java/com/dfsek/terra/structure/features/EntityFeature.java index 1550dc5f8..287bf8aff 100644 --- a/src/main/java/com/dfsek/terra/structure/features/EntityFeature.java +++ b/src/main/java/com/dfsek/terra/structure/features/EntityFeature.java @@ -32,10 +32,6 @@ public class EntityFeature implements Feature { this.inSize = inSize; } - private static boolean isInChunk(Chunk c, Location l) { - return Math.floorDiv(l.getBlockX(), 16) == c.getX() && Math.floorDiv(l.getBlockZ(), 16) == c.getZ(); - } - @Override public void apply(Structure structure, Location l, Chunk chunk) { Random random = new Random(MathUtil.getCarverChunkSeed(chunk.getX(), chunk.getZ(), chunk.getWorld().getSeed())); @@ -67,15 +63,19 @@ public class EntityFeature implements Feature { for(int j = 1; j < inSize + 1; j++) if(!in.contains(on.getRelative(BlockFace.UP, j).getType())) canSpawn = false; - if(canSpawn) break; + if (canSpawn) break; } - if(canSpawn) { + if (canSpawn) { Debug.info("Spawning entity at " + attempt); chunk.getWorld().spawnEntity(attempt.add(0.5, 2, 0.5), type); // Add 0.5 to X & Z so entity spawns in center of block. } } } + private static boolean isInChunk(Chunk c, Location l) { + return Math.floorDiv(l.getBlockX(), 16) == c.getX() && Math.floorDiv(l.getBlockZ(), 16) == c.getZ(); + } + @Override public void apply(Structure structure, Location l, Random random) { int amountSpawn = amount.get(random); @@ -112,8 +112,4 @@ public class EntityFeature implements Feature { } } } - - public static class SpawnRule { - - } } diff --git a/src/main/java/com/dfsek/terra/structure/serialize/SerializableBlockData.java b/src/main/java/com/dfsek/terra/structure/serialize/SerializableBlockData.java index eaaf44c0a..a22d0a2ae 100644 --- a/src/main/java/com/dfsek/terra/structure/serialize/SerializableBlockData.java +++ b/src/main/java/com/dfsek/terra/structure/serialize/SerializableBlockData.java @@ -6,7 +6,7 @@ import org.bukkit.block.data.BlockData; import java.io.Serializable; public class SerializableBlockData implements Serializable { - public static final long serialVersionUID = 5298928608478640008L; + private static final long serialVersionUID = 5298928608478640008L; private final String data; public SerializableBlockData(BlockData d) { diff --git a/src/main/java/com/dfsek/terra/structure/serialize/block/SerializableBanner.java b/src/main/java/com/dfsek/terra/structure/serialize/block/SerializableBanner.java index 11111114e..f42f3e9f4 100644 --- a/src/main/java/com/dfsek/terra/structure/serialize/block/SerializableBanner.java +++ b/src/main/java/com/dfsek/terra/structure/serialize/block/SerializableBanner.java @@ -9,7 +9,7 @@ import java.io.Serializable; import java.util.ArrayList; public class SerializableBanner implements SerializableBlockState { - public static final long serialVersionUID = 5298928608478640004L; + private static final long serialVersionUID = 5298928608478640004L; private final DyeColor base; private final ArrayList patterns = new ArrayList<>(); diff --git a/src/main/java/com/dfsek/terra/structure/serialize/block/SerializableMonsterCage.java b/src/main/java/com/dfsek/terra/structure/serialize/block/SerializableMonsterCage.java index dd8fdf8ba..66d5d07af 100644 --- a/src/main/java/com/dfsek/terra/structure/serialize/block/SerializableMonsterCage.java +++ b/src/main/java/com/dfsek/terra/structure/serialize/block/SerializableMonsterCage.java @@ -5,7 +5,7 @@ import org.bukkit.block.CreatureSpawner; import org.bukkit.entity.EntityType; public class SerializableMonsterCage implements SerializableBlockState { - public static final long serialVersionUID = 529892860847864007L; + private static final long serialVersionUID = 529892860847864007L; private final EntityType type; private final int minDelay; private final int maxDelay; diff --git a/src/main/java/com/dfsek/terra/structure/serialize/block/SerializableSign.java b/src/main/java/com/dfsek/terra/structure/serialize/block/SerializableSign.java index a7f0ca87d..9786e5c76 100644 --- a/src/main/java/com/dfsek/terra/structure/serialize/block/SerializableSign.java +++ b/src/main/java/com/dfsek/terra/structure/serialize/block/SerializableSign.java @@ -4,7 +4,7 @@ import org.bukkit.block.BlockState; import org.bukkit.block.Sign; public class SerializableSign implements SerializableBlockState { - public static final long serialVersionUID = 5298928608478640001L; + private static final long serialVersionUID = 5298928608478640001L; private final String[] text; private final boolean isEditable; diff --git a/src/main/java/com/dfsek/terra/util/StructureTypeEnum.java b/src/main/java/com/dfsek/terra/util/StructureTypeEnum.java index d3be34f7f..0cbfdbdcf 100644 --- a/src/main/java/com/dfsek/terra/util/StructureTypeEnum.java +++ b/src/main/java/com/dfsek/terra/util/StructureTypeEnum.java @@ -5,10 +5,14 @@ import org.bukkit.StructureType; /** * Enum to represent StructureType, which is a class for some reason. */ +@SuppressWarnings("unused") public enum StructureTypeEnum { MINESHAFT(StructureType.MINESHAFT), VILLAGE(StructureType.VILLAGE), NETHER_FORTRESS(StructureType.NETHER_FORTRESS), + /** + * Currently the only one used. + */ STRONGHOLD(StructureType.STRONGHOLD), JUNGLE_PYRAMID(StructureType.JUNGLE_PYRAMID), OCEAN_RUIN(StructureType.OCEAN_RUIN), diff --git a/src/main/java/com/dfsek/terra/util/structure/RotationUtil.java b/src/main/java/com/dfsek/terra/util/structure/RotationUtil.java index f041d0479..aed825c91 100644 --- a/src/main/java/com/dfsek/terra/util/structure/RotationUtil.java +++ b/src/main/java/com/dfsek/terra/util/structure/RotationUtil.java @@ -40,27 +40,116 @@ public final class RotationUtil { BlockFace n = f; int rotateNum = r.getDegrees() / 90; int rn = faceRotation(f); - if(rn >= 0) { + if (rn >= 0) { n = fromRotation(faceRotation(n) + 4 * rotateNum); } return n; } + /** + * Get an integer representation of a BlockFace, to perform math on. + * + * @param f BlockFace to get integer for + * @return integer representation of BlockFace + */ + public static int faceRotation(BlockFace f) { + switch(f) { + case NORTH: + return 0; + case NORTH_NORTH_EAST: + return 1; + case NORTH_EAST: + return 2; + case EAST_NORTH_EAST: + return 3; + case EAST: + return 4; + case EAST_SOUTH_EAST: + return 5; + case SOUTH_EAST: + return 6; + case SOUTH_SOUTH_EAST: + return 7; + case SOUTH: + return 8; + case SOUTH_SOUTH_WEST: + return 9; + case SOUTH_WEST: + return 10; + case WEST_SOUTH_WEST: + return 11; + case WEST: + return 12; + case WEST_NORTH_WEST: + return 13; + case NORTH_WEST: + return 14; + case NORTH_NORTH_WEST: + return 15; + default: + return -1; + } + } + + /** + * Convert integer to BlockFace representation + * + * @param r integer to get BlockFace for + * @return BlockFace represented by integer. + */ + public static BlockFace fromRotation(int r) { + switch(Math.floorMod(r, 16)) { + case 0: + return BlockFace.NORTH; + case 1: + return BlockFace.NORTH_NORTH_EAST; + case 2: + return BlockFace.NORTH_EAST; + case 3: + return BlockFace.EAST_NORTH_EAST; + case 4: + return BlockFace.EAST; + case 5: + return BlockFace.EAST_SOUTH_EAST; + case 6: + return BlockFace.SOUTH_EAST; + case 7: + return BlockFace.SOUTH_SOUTH_EAST; + case 8: + return BlockFace.SOUTH; + case 9: + return BlockFace.SOUTH_SOUTH_WEST; + case 10: + return BlockFace.SOUTH_WEST; + case 11: + return BlockFace.WEST_SOUTH_WEST; + case 12: + return BlockFace.WEST; + case 13: + return BlockFace.WEST_NORTH_WEST; + case 14: + return BlockFace.NORTH_WEST; + case 15: + return BlockFace.NORTH_NORTH_WEST; + default: + throw new IllegalArgumentException(); + } + } + public static org.bukkit.Axis getRotatedAxis(org.bukkit.Axis orig, Structure.Rotation r) { org.bukkit.Axis other = orig; final boolean shouldSwitch = r.equals(Structure.Rotation.CW_90) || r.equals(Structure.Rotation.CCW_90); switch(orig) { case X: - if(shouldSwitch) other = org.bukkit.Axis.Z; + if (shouldSwitch) other = org.bukkit.Axis.Z; break; case Z: - if(shouldSwitch) other = org.bukkit.Axis.X; + if (shouldSwitch) other = org.bukkit.Axis.X; break; } return other; } - /** * Method to rotate the incredibly obnoxious Rail.Shape enum * diff --git a/src/main/java/com/dfsek/terra/util/structure/WorldEditUtil.java b/src/main/java/com/dfsek/terra/util/structure/WorldEditUtil.java index d8cc537ae..8617c90f8 100644 --- a/src/main/java/com/dfsek/terra/util/structure/WorldEditUtil.java +++ b/src/main/java/com/dfsek/terra/util/structure/WorldEditUtil.java @@ -12,13 +12,6 @@ import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; public final class WorldEditUtil { - public static WorldEditPlugin getWorldEdit() { - Plugin p = Bukkit.getServer().getPluginManager().getPlugin("WorldEdit"); - if(p instanceof WorldEditPlugin) return (WorldEditPlugin) p; - Bukkit.getLogger().severe("[Terra] a command requiring WorldEdit was executed, but WorldEdit was not detected!"); - return null; - } - public static Location[] getSelectionLocations(Player sender) { WorldEditPlugin we = WorldEditUtil.getWorldEdit(); if(we == null) { @@ -43,9 +36,16 @@ public final class WorldEditUtil { return new Location[] {l1, l2}; } + public static WorldEditPlugin getWorldEdit() { + Plugin p = Bukkit.getServer().getPluginManager().getPlugin("WorldEdit"); + if (p instanceof WorldEditPlugin) return (WorldEditPlugin) p; + Bukkit.getLogger().severe("[Terra] a command requiring WorldEdit was executed, but WorldEdit was not detected!"); + return null; + } + public static Location[] getSelectionPositions(Player sender) { WorldEditPlugin we = WorldEditUtil.getWorldEdit(); - if(we == null) { + if (we == null) { sender.sendMessage("WorldEdit is not installed! Please install WorldEdit before attempting to export structures."); return null; } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index d87580b25..39696f020 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,8 +1,8 @@ -debug: false -data-save: PT6M -language: "en_us" -fail-type: SHUTDOWN +debug: false +data-save: PT6M +language: "en_us" +fail-type: SHUTDOWN dump-default: true -cache-size: 8 +cache-size: 8 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 index a881a1d64..27988852c 100644 --- a/src/main/resources/default-config/abstract/biomes/basic_ores.yml +++ b/src/main/resources/default-config/abstract/biomes/basic_ores.yml @@ -9,57 +9,57 @@ carving: CAVERN: 5 ores: DIRT: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 GRAVEL: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 DIORITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 ANDESITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 GRANITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 COAL_ORE: - min: 4 - max: 8 + min: 4 + max: 8 min-height: 0 max-height: 84 IRON_ORE: - min: 2 - max: 6 + min: 2 + max: 6 min-height: 0 max-height: 64 GOLD_ORE: - min: 1 - max: 3 + min: 1 + max: 3 min-height: 0 max-height: 32 LAPIS_ORE: - min: 1 - max: 2 + min: 1 + max: 2 min-height: 0 max-height: 32 REDSTONE_ORE: - min: 1 - max: 2 + min: 1 + max: 2 min-height: 0 max-height: 16 DIAMOND_ORE: - min: 1 - max: 1 + 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 index 03106c46c..f354079fb 100644 --- a/src/main/resources/default-config/abstract/biomes/beach_abstract.yml +++ b/src/main/resources/default-config/abstract/biomes/beach_abstract.yml @@ -40,57 +40,57 @@ flora: ores: DIRT: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 GRAVEL: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 DIORITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 ANDESITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 GRANITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 COAL_ORE: - min: 5 - max: 15 + min: 5 + max: 15 min-height: 0 max-height: 128 IRON_ORE: - min: 2 - max: 6 + min: 2 + max: 6 min-height: 0 max-height: 64 GOLD_ORE: - min: 1 - max: 3 + min: 1 + max: 3 min-height: 0 max-height: 32 LAPIS_ORE: - min: 1 - max: 4 + min: 1 + max: 4 min-height: 0 max-height: 32 REDSTONE_ORE: - min: 1 - max: 4 + min: 1 + max: 4 min-height: 0 max-height: 16 DIAMOND_ORE: - min: 1 - max: 2 + 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/deep_ocean_abstract.yml b/src/main/resources/default-config/abstract/biomes/deep_ocean_abstract.yml index 19178b724..51f0eba88 100644 --- a/src/main/resources/default-config/abstract/biomes/deep_ocean_abstract.yml +++ b/src/main/resources/default-config/abstract/biomes/deep_ocean_abstract.yml @@ -33,57 +33,57 @@ structures: ores: DIRT: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 GRAVEL: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 DIORITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 ANDESITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 GRANITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 COAL_ORE: - min: 5 - max: 15 + min: 5 + max: 15 min-height: 0 max-height: 128 IRON_ORE: - min: 2 - max: 6 + min: 2 + max: 6 min-height: 0 max-height: 64 GOLD_ORE: - min: 1 - max: 3 + min: 1 + max: 3 min-height: 0 max-height: 32 LAPIS_ORE: - min: 1 - max: 4 + min: 1 + max: 4 min-height: 0 max-height: 32 REDSTONE_ORE: - min: 1 - max: 4 + min: 1 + max: 4 min-height: 0 max-height: 16 DIAMOND_ORE: - min: 1 - max: 2 + 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 index 0db3425de..13b0c4362 100644 --- a/src/main/resources/default-config/abstract/biomes/mountain/mountains_pretty.yml +++ b/src/main/resources/default-config/abstract/biomes/mountain/mountains_pretty.yml @@ -11,58 +11,58 @@ structures: ores: DIRT: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 GRAVEL: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 DIORITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 ANDESITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 GRANITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 COAL_ORE: - min: 4 - max: 8 + min: 4 + max: 8 min-height: 0 max-height: 84 IRON_ORE: - min: 2 - max: 6 + min: 2 + max: 6 min-height: 0 max-height: 64 GOLD_ORE: - min: 1 - max: 3 + min: 1 + max: 3 min-height: 0 max-height: 32 LAPIS_ORE: - min: 1 - max: 2 + min: 1 + max: 2 min-height: 0 max-height: 32 REDSTONE_ORE: - min: 1 - max: 2 + min: 1 + max: 2 min-height: 0 max-height: 16 DIAMOND_ORE: - min: 1 - max: 1 + min: 1 + max: 1 min-height: 0 max-height: 16 @@ -82,7 +82,7 @@ flora: simplex: enable: true frequency: 0.1 - seed: 4 + seed: 4 items: SMALL_ROCK: weight: 1 @@ -106,8 +106,8 @@ flora: max: 180 slabs: - enable: true - threshold: 0.0075 + enable: true + threshold: 0.0075 palettes: - "minecraft:stone": "MOUNTAIN_SLABS" - "minecraft:gravel": "MOUNTAIN_SLABS" 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 index 24f769460..a1cbafaed 100644 --- 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 @@ -11,58 +11,58 @@ structures: ores: DIRT: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 GRAVEL: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 DIORITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 ANDESITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 GRANITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 COAL_ORE: - min: 4 - max: 8 + min: 4 + max: 8 min-height: 0 max-height: 84 IRON_ORE: - min: 2 - max: 6 + min: 2 + max: 6 min-height: 0 max-height: 64 GOLD_ORE: - min: 1 - max: 3 + min: 1 + max: 3 min-height: 0 max-height: 32 LAPIS_ORE: - min: 1 - max: 2 + min: 1 + max: 2 min-height: 0 max-height: 32 REDSTONE_ORE: - min: 1 - max: 2 + min: 1 + max: 2 min-height: 0 max-height: 16 DIAMOND_ORE: - min: 1 - max: 1 + min: 1 + max: 1 min-height: 0 max-height: 16 @@ -82,7 +82,7 @@ flora: simplex: enable: true frequency: 0.1 - seed: 4 + seed: 4 items: SMALL_ROCK: weight: 1 @@ -106,8 +106,8 @@ flora: max: 180 slabs: - enable: true - threshold: 0.0075 + enable: true + threshold: 0.0075 palettes: - "minecraft:stone": "MOUNTAIN_SLABS" - "minecraft:gravel": "MOUNTAIN_SLABS" 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 index d463b5a16..3935c2cb3 100644 --- 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 @@ -11,58 +11,58 @@ structures: ores: DIRT: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 GRAVEL: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 DIORITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 ANDESITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 GRANITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 COAL_ORE: - min: 4 - max: 8 + min: 4 + max: 8 min-height: 0 max-height: 84 IRON_ORE: - min: 2 - max: 6 + min: 2 + max: 6 min-height: 0 max-height: 64 GOLD_ORE: - min: 1 - max: 3 + min: 1 + max: 3 min-height: 0 max-height: 32 LAPIS_ORE: - min: 1 - max: 2 + min: 1 + max: 2 min-height: 0 max-height: 32 REDSTONE_ORE: - min: 1 - max: 2 + min: 1 + max: 2 min-height: 0 max-height: 16 DIAMOND_ORE: - min: 1 - max: 1 + min: 1 + max: 1 min-height: 0 max-height: 16 @@ -82,7 +82,7 @@ flora: simplex: enable: true frequency: 0.1 - seed: 4 + seed: 4 items: SMALL_ROCK: weight: 1 @@ -106,8 +106,8 @@ flora: max: 180 slabs: - enable: true - threshold: 0.0075 + enable: true + threshold: 0.0075 palettes: - "minecraft:stone": "MOUNTAIN_SLABS" - "minecraft:gravel": "MOUNTAIN_SLABS" diff --git a/src/main/resources/default-config/abstract/biomes/ocean_abstract.yml b/src/main/resources/default-config/abstract/biomes/ocean_abstract.yml index 08c9951b9..4de810cc9 100644 --- a/src/main/resources/default-config/abstract/biomes/ocean_abstract.yml +++ b/src/main/resources/default-config/abstract/biomes/ocean_abstract.yml @@ -33,57 +33,57 @@ structures: ores: DIRT: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 GRAVEL: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 DIORITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 ANDESITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 GRANITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 COAL_ORE: - min: 5 - max: 15 + min: 5 + max: 15 min-height: 0 max-height: 128 IRON_ORE: - min: 2 - max: 6 + min: 2 + max: 6 min-height: 0 max-height: 64 GOLD_ORE: - min: 1 - max: 3 + min: 1 + max: 3 min-height: 0 max-height: 32 LAPIS_ORE: - min: 1 - max: 4 + min: 1 + max: 4 min-height: 0 max-height: 32 REDSTONE_ORE: - min: 1 - max: 4 + min: 1 + max: 4 min-height: 0 max-height: 16 DIAMOND_ORE: - min: 1 - max: 2 + 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 index 065fbd3d2..362de8498 100644 --- a/src/main/resources/default-config/abstract/biomes/plains_abstract.yml +++ b/src/main/resources/default-config/abstract/biomes/plains_abstract.yml @@ -1,5 +1,5 @@ noise-equation: "((-((y / 63)^2)) + 1) + |(noise2(x, z) / 3) + 0.1|" -id: "PLAINS_ABSTRACT" +id: "PLAINS_ABSTRACT" carving: CAVE: 30 @@ -12,57 +12,57 @@ structures: erodible: true ores: DIRT: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 72 GRAVEL: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 72 DIORITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 72 ANDESITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 72 GRANITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 72 COAL_ORE: - min: 3 - max: 7 + min: 3 + max: 7 min-height: 0 max-height: 72 IRON_ORE: - min: 2 - max: 7 + min: 2 + max: 7 min-height: 0 max-height: 64 GOLD_ORE: - min: 1 - max: 3 + min: 1 + max: 3 min-height: 0 max-height: 32 LAPIS_ORE: - min: 1 - max: 4 + min: 1 + max: 4 min-height: 0 max-height: 32 REDSTONE_ORE: - min: 1 - max: 4 + min: 1 + max: 4 min-height: 0 max-height: 16 DIAMOND_ORE: - min: 1 - max: 2 + 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/shelf_ocean_abstract.yml b/src/main/resources/default-config/abstract/biomes/shelf_ocean_abstract.yml index ccf221321..557af8ffb 100644 --- a/src/main/resources/default-config/abstract/biomes/shelf_ocean_abstract.yml +++ b/src/main/resources/default-config/abstract/biomes/shelf_ocean_abstract.yml @@ -32,57 +32,57 @@ carving: ores: DIRT: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 GRAVEL: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 DIORITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 ANDESITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 GRANITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 COAL_ORE: - min: 5 - max: 15 + min: 5 + max: 15 min-height: 0 max-height: 128 IRON_ORE: - min: 2 - max: 6 + min: 2 + max: 6 min-height: 0 max-height: 64 GOLD_ORE: - min: 1 - max: 3 + min: 1 + max: 3 min-height: 0 max-height: 32 LAPIS_ORE: - min: 1 - max: 4 + min: 1 + max: 4 min-height: 0 max-height: 32 REDSTONE_ORE: - min: 1 - max: 4 + min: 1 + max: 4 min-height: 0 max-height: 16 DIAMOND_ORE: - min: 1 - max: 2 + 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 index 99ad276d7..2bb04dde4 100644 --- a/src/main/resources/default-config/biomes/beach/beach.yml +++ b/src/main/resources/default-config/biomes/beach/beach.yml @@ -1,4 +1,4 @@ -extends: "BEACH_ABSTRACT" -id: "BEACH" -vanilla: BEACH +extends: "BEACH_ABSTRACT" +id: "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 index 5a863c5fa..3d56a186b 100644 --- a/src/main/resources/default-config/biomes/beach/beach_cold.yml +++ b/src/main/resources/default-config/biomes/beach/beach_cold.yml @@ -1,5 +1,5 @@ -extends: "BEACH_ABSTRACT" -id: "COLD_BEACH" +extends: "BEACH_ABSTRACT" +id: "COLD_BEACH" palette: - "BLOCK:minecraft:bedrock": 0 - BEDROCK_MOST: 1 @@ -8,4 +8,4 @@ palette: - GRAVEL: 64 - TUNDRA: 255 erodible: true -vanilla: SNOWY_BEACH \ No newline at end of file +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 index 6f93b0f8c..1b0dc341b 100644 --- a/src/main/resources/default-config/biomes/beach/beach_frozen.yml +++ b/src/main/resources/default-config/biomes/beach/beach_frozen.yml @@ -1,5 +1,5 @@ -extends: "BEACH_ABSTRACT" -id: "FROZEN_BEACH" +extends: "BEACH_ABSTRACT" +id: "FROZEN_BEACH" palette: - "BLOCK:minecraft:bedrock": 0 - BEDROCK_MOST: 1 @@ -8,7 +8,7 @@ palette: - GRAVEL: 64 - TUNDRA: 255 erodible: true -vanilla: SNOWY_BEACH +vanilla: SNOWY_BEACH ocean: palette: "COLD_OCEAN" - level: 62 \ No newline at end of file + 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 index cb4adbcd4..4684d23d1 100644 --- a/src/main/resources/default-config/biomes/beach/beach_warm.yml +++ b/src/main/resources/default-config/biomes/beach/beach_warm.yml @@ -1,6 +1,6 @@ -extends: "BEACH_ABSTRACT" -id: "WARM_BEACH" -vanilla: BEACH +extends: "BEACH_ABSTRACT" +id: "WARM_BEACH" +vanilla: BEACH erodible: true palette: diff --git a/src/main/resources/default-config/biomes/desert.yml b/src/main/resources/default-config/biomes/desert.yml index 8418c9d21..25e825cd5 100644 --- a/src/main/resources/default-config/biomes/desert.yml +++ b/src/main/resources/default-config/biomes/desert.yml @@ -1,5 +1,5 @@ extends: "PLAINS_ABSTRACT" -id: "DESERT" +id: "DESERT" palette: - "BLOCK:minecraft:bedrock": 0 @@ -36,8 +36,8 @@ trees: max: 72 slabs: - enable: true - threshold: 0.0075 + enable: true + threshold: 0.0075 palettes: - "minecraft:sand": "BLOCK:minecraft:sandstone_slab" use-stairs-if-available: true diff --git a/src/main/resources/default-config/biomes/forest/birch_forest.yml b/src/main/resources/default-config/biomes/forest/birch_forest.yml index c6d34cba4..177158d19 100644 --- a/src/main/resources/default-config/biomes/forest/birch_forest.yml +++ b/src/main/resources/default-config/biomes/forest/birch_forest.yml @@ -1,6 +1,6 @@ noise-equation: "((-((y / 63)^2)) + 1) + ((noise2(x, z)+0.5) / 3)" -extends: "BASIC_ORES" -id: "BIRCH_FOREST" +extends: "BASIC_ORES" +id: "BIRCH_FOREST" palette: - "BLOCK:minecraft:bedrock": 0 @@ -9,10 +9,10 @@ palette: - BEDROCK_LITTLE: 3 - SANDY: 62 - GRASSY: 255 -vanilla: BIRCH_FOREST +vanilla: BIRCH_FOREST flora: - chance: 40 + chance: 40 attempts: 1 items: TALL_GRASS: @@ -30,7 +30,7 @@ flora: y: min: 62 max: 84 -erodible: true +erodible: true trees: density: 200 diff --git a/src/main/resources/default-config/biomes/forest/dark_forest.yml b/src/main/resources/default-config/biomes/forest/dark_forest.yml index eaf40f8a3..3aa3b1a2e 100644 --- a/src/main/resources/default-config/biomes/forest/dark_forest.yml +++ b/src/main/resources/default-config/biomes/forest/dark_forest.yml @@ -1,6 +1,6 @@ noise-equation: "((-((y / 63)^2)) + 1) + ((noise2(x, z)+0.5) / 3)" -extends: "BASIC_ORES" -id: "DARK_FOREST" +extends: "BASIC_ORES" +id: "DARK_FOREST" structures: - MANSION @@ -12,11 +12,11 @@ palette: - BEDROCK_LITTLE: 3 - SANDY: 62 - GRASSY: 255 -vanilla: DARK_FOREST -erodible: true -flora-chance: 40 +vanilla: DARK_FOREST +erodible: true +flora-chance: 40 flora: - chance: 40 + chance: 40 attempts: 1 items: TALL_GRASS: diff --git a/src/main/resources/default-config/biomes/forest/jungle.yml b/src/main/resources/default-config/biomes/forest/jungle.yml index ec17219ff..d08a6a4cd 100644 --- a/src/main/resources/default-config/biomes/forest/jungle.yml +++ b/src/main/resources/default-config/biomes/forest/jungle.yml @@ -1,6 +1,6 @@ noise-equation: "((-((y / 63)^2)) + 1) + ((noise2(x, z)+0.25) / 3)" -extends: "BASIC_ORES" -id: "JUNGLE" +extends: "BASIC_ORES" +id: "JUNGLE" palette: - "BLOCK:minecraft:bedrock": 0 @@ -10,14 +10,14 @@ palette: - RIVER_BOTTOM: 61 - RIVER_SHORE: 62 - GRASSY: 255 -vanilla: JUNGLE +vanilla: JUNGLE -erodible: true +erodible: true structures: - JUNGLE - STRONGHOLD flora: - chance: 80 + chance: 80 attempts: 2 items: TALL_GRASS: diff --git a/src/main/resources/default-config/biomes/forest/oak_forest.yml b/src/main/resources/default-config/biomes/forest/oak_forest.yml index 6362a7d6a..00eb11a83 100644 --- a/src/main/resources/default-config/biomes/forest/oak_forest.yml +++ b/src/main/resources/default-config/biomes/forest/oak_forest.yml @@ -1,6 +1,6 @@ noise-equation: "((-((y / 63)^2)) + 1) + ((noise2(x, z)+0.5) / 2)" -extends: "BASIC_ORES" -id: "FOREST" +extends: "BASIC_ORES" +id: "FOREST" palette: - "BLOCK:minecraft:bedrock": 0 @@ -10,10 +10,10 @@ palette: - RIVER_BOTTOM: 61 - RIVER_SHORE: 62 - GRASSY: 255 -vanilla: FOREST +vanilla: FOREST flora: - chance: 40 + chance: 40 attempts: 1 items: TALL_GRASS: @@ -41,7 +41,7 @@ flora: y: min: 62 max: 84 -erodible: true +erodible: true trees: density: 250 diff --git a/src/main/resources/default-config/biomes/forest/savanna.yml b/src/main/resources/default-config/biomes/forest/savanna.yml index 86406c443..1290d4463 100644 --- a/src/main/resources/default-config/biomes/forest/savanna.yml +++ b/src/main/resources/default-config/biomes/forest/savanna.yml @@ -1,6 +1,6 @@ noise-equation: "((-((y / 63)^2)) + 1) + ((noise2(x, z)+0.5) / 3)" -extends: "BASIC_ORES" -id: "SAVANNA" +extends: "BASIC_ORES" +id: "SAVANNA" palette: - "BLOCK:minecraft:bedrock": 0 @@ -10,10 +10,10 @@ palette: - RIVER_BOTTOM: 61 - RIVER_SHORE: 62 - GRASSY: 255 -vanilla: SAVANNA +vanilla: SAVANNA flora: - chance: 40 + chance: 40 attempts: 1 items: TALL_GRASS: @@ -26,7 +26,7 @@ flora: y: min: 62 max: 84 -erodible: true +erodible: true trees: density: 20 diff --git a/src/main/resources/default-config/biomes/forest/snowy_taiga.yml b/src/main/resources/default-config/biomes/forest/snowy_taiga.yml index 7d6164ea3..0471dc706 100644 --- a/src/main/resources/default-config/biomes/forest/snowy_taiga.yml +++ b/src/main/resources/default-config/biomes/forest/snowy_taiga.yml @@ -1,7 +1,7 @@ noise-equation: "((-((y / 63)^2)) + 1) + ((noise2(x, z)+0.5) / 2)" -extends: "BASIC_ORES" -id: "SNOWY_TAIGA" -erodible: true +extends: "BASIC_ORES" +id: "SNOWY_TAIGA" +erodible: true palette: @@ -12,11 +12,11 @@ palette: - RIVER_BOTTOM: 61 - RIVER_SHORE: 62 - TAIGA: 255 -vanilla: TAIGA +vanilla: TAIGA snow: - - min: 0 - max: 255 + - min: 0 + max: 255 chance: 100 diff --git a/src/main/resources/default-config/biomes/forest/taiga.yml b/src/main/resources/default-config/biomes/forest/taiga.yml index 22f9c91d5..9e5cd4de3 100644 --- a/src/main/resources/default-config/biomes/forest/taiga.yml +++ b/src/main/resources/default-config/biomes/forest/taiga.yml @@ -1,6 +1,6 @@ noise-equation: "((-((y / 63)^2)) + 1) + ((noise2(x, z)+0.5) / 2)" -extends: "BASIC_ORES" -id: "TAIGA" +extends: "BASIC_ORES" +id: "TAIGA" palette: - "BLOCK:minecraft:bedrock": 0 @@ -10,11 +10,11 @@ palette: - RIVER_BOTTOM: 61 - RIVER_SHORE: 62 - TAIGA: 255 -vanilla: TAIGA -erodible: true +vanilla: TAIGA +erodible: true flora: - chance: 40 + chance: 40 attempts: 1 items: TALL_GRASS: diff --git a/src/main/resources/default-config/biomes/mesa.yml b/src/main/resources/default-config/biomes/mesa.yml index 1832099f1..1d0b7ea85 100644 --- a/src/main/resources/default-config/biomes/mesa.yml +++ b/src/main/resources/default-config/biomes/mesa.yml @@ -1,6 +1,6 @@ noise-equation: "((-((y / 64)^2)) + 1) + min(floor(((max(noise2(x/1.5, z/1.5)+0.1, 0)) + 0.1)*5), 3)/2.5 + |(noise2(x, z)+0.1)/3|" -extends: "BASIC_ORES" -id: "MESA" +extends: "BASIC_ORES" +id: "MESA" palette: - "BLOCK:minecraft:bedrock": 0 @@ -22,9 +22,9 @@ palette: - "BLOCK:minecraft:red_terracotta": 84 - "BLOCK:minecraft:orange_terracotta": 80 - RED_DESERT: 72 -vanilla: BADLANDS +vanilla: BADLANDS -flora-chance: 2 +flora-chance: 2 flora: chance: 2 attempts: 1 @@ -40,8 +40,8 @@ flora: min: 62 max: 84 slabs: - enable: true - threshold: 0.0075 + enable: true + threshold: 0.0075 palettes: - "minecraft:red_sand": "BLOCK:minecraft:red_sandstone_slab" use-stairs-if-available: true diff --git a/src/main/resources/default-config/biomes/mountain/arid_mountains.yml b/src/main/resources/default-config/biomes/mountain/arid_mountains.yml index 0e941cb15..708d52d29 100644 --- a/src/main/resources/default-config/biomes/mountain/arid_mountains.yml +++ b/src/main/resources/default-config/biomes/mountain/arid_mountains.yml @@ -1,7 +1,7 @@ noise-equation: "((-((y / 64)^2)) + 1) + min(floor(((|noise2(x/2.5, z/2.5)|) + 0.1)*4), 3)/2.5 + |noise2(x/2.5, z/2.5)|" -id: "ARID_MOUNTAINS" -extends: "BASIC_ORES" +id: "ARID_MOUNTAINS" +extends: "BASIC_ORES" palette: @@ -10,12 +10,12 @@ palette: - BEDROCK_HALF: 2 - BEDROCK_LITTLE: 3 - ARID: 255 -vanilla: SAVANNA +vanilla: SAVANNA -erodible: false +erodible: false flora: - chance: 40 + chance: 40 attempts: 1 items: TALL_GRASS: @@ -38,8 +38,8 @@ trees: min: 58 max: 128 slabs: - enable: true - threshold: 0.015 + enable: true + threshold: 0.015 palettes: - "minecraft:red_sand": "BLOCK:minecraft:red_sandstone_slab" use-stairs-if-available: true 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 index 647ceeffa..e7fff8825 100644 --- 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 @@ -1,7 +1,7 @@ noise-equation: "((-((y / 64)^2)) + 1) + min(floor(((|noise2(x/2.5, z/2.5)|) + 0.1)), 3)/5 + |noise2(x/2.5, z/2.5)|" -id: "ARID_MOUNTAINS_0" -extends: "BASIC_ORES" +id: "ARID_MOUNTAINS_0" +extends: "BASIC_ORES" palette: @@ -10,12 +10,12 @@ palette: - BEDROCK_HALF: 2 - BEDROCK_LITTLE: 3 - ARID: 255 -vanilla: SAVANNA +vanilla: SAVANNA -erodible: false +erodible: false flora: - chance: 40 + chance: 40 attempts: 1 items: TALL_GRASS: @@ -38,8 +38,8 @@ trees: min: 58 max: 128 slabs: - enable: true - threshold: 0.015 + enable: true + threshold: 0.015 palettes: - "minecraft:red_sand": "BLOCK:minecraft:red_sandstone_slab" use-stairs-if-available: true 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 index 78e95c034..bce92ce8b 100644 --- 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 @@ -1,7 +1,7 @@ noise-equation: "((-((y / 64)^2)) + 1) + min(floor(((|noise2(x/2.5, z/2.5)|) + 0.1)*3), 3)/3 + |noise2(x/2.5, z/2.5)|" -id: "ARID_MOUNTAINS_1" -extends: "BASIC_ORES" +id: "ARID_MOUNTAINS_1" +extends: "BASIC_ORES" palette: @@ -10,12 +10,12 @@ palette: - BEDROCK_HALF: 2 - BEDROCK_LITTLE: 3 - ARID: 255 -vanilla: SAVANNA +vanilla: SAVANNA -erodible: false +erodible: false flora: - chance: 40 + chance: 40 attempts: 1 items: TALL_GRASS: @@ -38,8 +38,8 @@ trees: min: 58 max: 128 slabs: - enable: true - threshold: 0.015 + enable: true + threshold: 0.015 palettes: - "minecraft:red_sand": "BLOCK:minecraft:red_sandstone_slab" use-stairs-if-available: true diff --git a/src/main/resources/default-config/biomes/mountain/mountains_stone.yml b/src/main/resources/default-config/biomes/mountain/mountains_stone.yml index 990d33129..a3dd00437 100644 --- a/src/main/resources/default-config/biomes/mountain/mountains_stone.yml +++ b/src/main/resources/default-config/biomes/mountain/mountains_stone.yml @@ -1,5 +1,5 @@ -extends: "MOUNTAINS_PRETTY" -id: "MOUNTAINS_STONE" +extends: "MOUNTAINS_PRETTY" +id: "MOUNTAINS_STONE" noise-equation: "((-((y / 76)^2)) + 1) + ((noise2(x, z)+0.5) / 3) + max(noise2(x/2, z/2)*4 + noise2(x*8, z*8)*0.25, 0)" prevent-smooth: true palette: @@ -10,16 +10,16 @@ palette: - MOUNTAIN_STONE: 255 - MOUNTAIN_STONE_GRASS: 108 - MOUNTAIN_GRASS: 84 -vanilla: MOUNTAINS +vanilla: MOUNTAINS snow: - - min: 0 - max: 120 + - min: 0 + max: 120 chance: 50 - - min: 120 - max: 140 + - min: 120 + max: 140 chance: 75 - - min: 140 - max: 255 + - min: 140 + max: 255 chance: 100 trees: density: 200 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 index f50551b3e..dabe8bfe2 100644 --- 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 @@ -1,5 +1,5 @@ -extends: "MOUNTAINS_PRETTY_0" -id: "MOUNTAINS_STONE_0" +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), 0)" prevent-smooth: true palette: @@ -10,16 +10,16 @@ palette: - MOUNTAIN_STONE: 255 - MOUNTAIN_STONE_GRASS: 108 - MOUNTAIN_GRASS: 84 -vanilla: MOUNTAINS +vanilla: MOUNTAINS snow: - - min: 0 - max: 120 + - min: 0 + max: 120 chance: 50 - - min: 120 - max: 140 + - min: 120 + max: 140 chance: 75 - - min: 140 - max: 255 + - min: 140 + max: 255 chance: 100 trees: density: 200 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 index 44502269e..c31e6ca08 100644 --- 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 @@ -1,5 +1,5 @@ -extends: "MOUNTAINS_PRETTY_1" -id: "MOUNTAINS_STONE_1" +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)*3 + noise2(x*8, z*8)*0.125, 0)" prevent-smooth: true palette: @@ -10,16 +10,16 @@ palette: - MOUNTAIN_STONE: 255 - MOUNTAIN_STONE_GRASS: 108 - MOUNTAIN_GRASS: 84 -vanilla: MOUNTAINS +vanilla: MOUNTAINS snow: - - min: 0 - max: 120 + - min: 0 + max: 120 chance: 50 - - min: 120 - max: 140 + - min: 120 + max: 140 chance: 75 - - min: 140 - max: 255 + - min: 140 + max: 255 chance: 100 trees: density: 200 diff --git a/src/main/resources/default-config/biomes/mountains.yml b/src/main/resources/default-config/biomes/mountains.yml index 0c8c23831..ba0c6b67d 100644 --- a/src/main/resources/default-config/biomes/mountains.yml +++ b/src/main/resources/default-config/biomes/mountains.yml @@ -1,6 +1,6 @@ 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" +extends: "BASIC_ORES" +id: "MOUNTAINS" palette: - "BLOCK:minecraft:bedrock": 0 @@ -9,10 +9,10 @@ palette: - BEDROCK_LITTLE: 3 - TUNDRA: 100 - SNOW: 255 -vanilla: MOUNTAINS +vanilla: MOUNTAINS flora: - chance: 2 + chance: 2 attempts: 1 items: SMALL_ROCK: @@ -21,8 +21,8 @@ flora: min: 60 max: 72 slabs: - enable: true - threshold: 0.015 + enable: true + threshold: 0.015 palettes: - "minecraft:stone": "MOUNTAIN_SLABS" - "minecraft:snow_block": "SNOW_LAYERS" diff --git a/src/main/resources/default-config/biomes/ocean/ocean_warm.yml b/src/main/resources/default-config/biomes/ocean/ocean_warm.yml index d348eeab5..7d422ece2 100644 --- a/src/main/resources/default-config/biomes/ocean/ocean_warm.yml +++ b/src/main/resources/default-config/biomes/ocean/ocean_warm.yml @@ -14,7 +14,7 @@ flora: simplex: enable: true frequency: 0.05 - seed: 4 + seed: 4 items: TALL_SEAGRASS: weight: 1 diff --git a/src/main/resources/default-config/biomes/ocean_deep/ocean_warm.yml b/src/main/resources/default-config/biomes/ocean_deep/ocean_warm.yml index 73fc57b81..5848958f2 100644 --- a/src/main/resources/default-config/biomes/ocean_deep/ocean_warm.yml +++ b/src/main/resources/default-config/biomes/ocean_deep/ocean_warm.yml @@ -14,7 +14,7 @@ flora: simplex: enable: true frequency: 0.05 - seed: 4 + seed: 4 items: TALL_SEAGRASS: weight: 1 diff --git a/src/main/resources/default-config/biomes/ocean_shelf/ocean_warm.yml b/src/main/resources/default-config/biomes/ocean_shelf/ocean_warm.yml index 39566c99a..860d20dbd 100644 --- a/src/main/resources/default-config/biomes/ocean_shelf/ocean_warm.yml +++ b/src/main/resources/default-config/biomes/ocean_shelf/ocean_warm.yml @@ -14,7 +14,7 @@ flora: simplex: enable: true frequency: 0.05 - seed: 4 + seed: 4 items: TALL_SEAGRASS: weight: 1 diff --git a/src/main/resources/default-config/biomes/plains.yml b/src/main/resources/default-config/biomes/plains.yml index b8c8721b7..9e3dda9f2 100644 --- a/src/main/resources/default-config/biomes/plains.yml +++ b/src/main/resources/default-config/biomes/plains.yml @@ -1,5 +1,5 @@ -extends: "PLAINS_ABSTRACT" -id: "PLAINS" +extends: "PLAINS_ABSTRACT" +id: "PLAINS" palette: - "BLOCK:minecraft:bedrock": 0 @@ -9,12 +9,12 @@ palette: - RIVER_BOTTOM: 61 - RIVER_SHORE: 62 - GRASSY: 255 -vanilla: PLAINS +vanilla: PLAINS erodible: true flora: - chance: 60 + chance: 60 attempts: 1 items: TALL_GRASS: diff --git a/src/main/resources/default-config/biomes/plains_sky.yml b/src/main/resources/default-config/biomes/plains_sky.yml index ba9d42124..aa9a9cae2 100644 --- a/src/main/resources/default-config/biomes/plains_sky.yml +++ b/src/main/resources/default-config/biomes/plains_sky.yml @@ -1,5 +1,5 @@ -extends: "PLAINS_ABSTRACT" -id: "SKY_ISLANDS" +extends: "PLAINS_ABSTRACT" +id: "SKY_ISLANDS" noise-equation: "if(max(y-96, 0), -(if(max(y-150, 0), |y-150|, |y-150|/16)) - 0.25 + (noise2(x*3, z*3)*3), ((-((y / 63)^2)) + 1) + |(noise2(x, z) / 3) + 0.1|)" @@ -11,12 +11,12 @@ palette: - RIVER_BOTTOM: 61 - RIVER_SHORE: 62 - GRASSY: 255 -vanilla: PLAINS +vanilla: PLAINS -erodible: true +erodible: true flora: - chance: 60 + chance: 60 attempts: 1 items: TALL_GRASS: diff --git a/src/main/resources/default-config/biomes/river.yml b/src/main/resources/default-config/biomes/river.yml index d5981f23b..5719efbb5 100644 --- a/src/main/resources/default-config/biomes/river.yml +++ b/src/main/resources/default-config/biomes/river.yml @@ -1,6 +1,6 @@ noise-equation: "((-((y / 58)^2)) + 1) + ((noise2(x, z)/4))" -extends: "BASIC_ORES" -id: "RIVER" +extends: "BASIC_ORES" +id: "RIVER" palette: - "BLOCK:minecraft:bedrock": 0 - BEDROCK_MOST: 1 @@ -9,10 +9,10 @@ palette: - RIVER_BOTTOM: 61 - RIVER_SHORE: 62 - GRASSY: 255 -vanilla: RIVER +vanilla: RIVER flora: - chance: 60 + chance: 60 attempts: 1 items: TALL_GRASS: diff --git a/src/main/resources/default-config/biomes/swamp.yml b/src/main/resources/default-config/biomes/swamp.yml index 71c83b936..7b7e8f4e9 100644 --- a/src/main/resources/default-config/biomes/swamp.yml +++ b/src/main/resources/default-config/biomes/swamp.yml @@ -1,6 +1,6 @@ noise-equation: "((-((y / 62)^2)) + 1) + ((noise2(x, z)/4))" -extends: "BASIC_ORES" -id: "SWAMP" +extends: "BASIC_ORES" +id: "SWAMP" palette: - "BLOCK:minecraft:bedrock": 0 - BEDROCK_MOST: 1 @@ -8,9 +8,9 @@ palette: - BEDROCK_LITTLE: 3 - SWAMP_BOTTOM: 61 - SWAMP: 255 -vanilla: SWAMP +vanilla: SWAMP flora: - chance: 80 + chance: 80 attempts: 1 items: TALL_GRASS: diff --git a/src/main/resources/default-config/biomes/tundra.yml b/src/main/resources/default-config/biomes/tundra.yml index 256e564d2..8bea04905 100644 --- a/src/main/resources/default-config/biomes/tundra.yml +++ b/src/main/resources/default-config/biomes/tundra.yml @@ -1,5 +1,5 @@ -extends: "PLAINS_ABSTRACT" -id: "TUNDRA" +extends: "PLAINS_ABSTRACT" +id: "TUNDRA" palette: - "BLOCK:minecraft:bedrock": 0 @@ -7,15 +7,15 @@ palette: - BEDROCK_HALF: 2 - BEDROCK_LITTLE: 3 - TUNDRA: 255 -vanilla: SNOWY_TUNDRA +vanilla: SNOWY_TUNDRA carving: CAVE_TUNDRA: 35 - RAVINE: 5 - CAVERN: 5 + RAVINE: 5 + CAVERN: 5 snow: - - min: 0 - max: 255 + - min: 0 + max: 255 chance: 30 erodible: true @@ -36,8 +36,8 @@ trees: min: 58 max: 84 slabs: - enable: true - threshold: 0.015 + enable: true + threshold: 0.015 palettes: - "minecraft:stone": "MOUNTAIN_SLABS" - "minecraft:snow_block": "SNOW_LAYERS" diff --git a/src/main/resources/default-config/carving/cave.yml b/src/main/resources/default-config/carving/cave.yml index 60b95bb5d..23395e2d4 100644 --- a/src/main/resources/default-config/carving/cave.yml +++ b/src/main/resources/default-config/carving/cave.yml @@ -20,9 +20,9 @@ cut: top: 0 bottom: 1 mutate: - x: 2 - y: 6 - z: 2 + x: 2 + y: 6 + z: 2 radius: 0.125 palette: inner: diff --git a/src/main/resources/default-config/carving/cave_ocean.yml b/src/main/resources/default-config/carving/cave_ocean.yml index e384226f9..4a6259110 100644 --- a/src/main/resources/default-config/carving/cave_ocean.yml +++ b/src/main/resources/default-config/carving/cave_ocean.yml @@ -20,9 +20,9 @@ cut: top: 0 bottom: 0 mutate: - x: 2 - y: 6 - z: 2 + x: 2 + y: 6 + z: 2 radius: 0.125 palette: inner: diff --git a/src/main/resources/default-config/carving/cave_swamp.yml b/src/main/resources/default-config/carving/cave_swamp.yml index a29a65c89..658e20fb1 100644 --- a/src/main/resources/default-config/carving/cave_swamp.yml +++ b/src/main/resources/default-config/carving/cave_swamp.yml @@ -20,9 +20,9 @@ cut: top: 0 bottom: 0 mutate: - x: 2 - y: 6 - z: 2 + x: 2 + y: 6 + z: 2 radius: 0.125 palette: inner: diff --git a/src/main/resources/default-config/carving/cave_tundra.yml b/src/main/resources/default-config/carving/cave_tundra.yml index 865985df8..69edda00b 100644 --- a/src/main/resources/default-config/carving/cave_tundra.yml +++ b/src/main/resources/default-config/carving/cave_tundra.yml @@ -20,9 +20,9 @@ cut: top: 0 bottom: 0 mutate: - x: 2 - y: 6 - z: 2 + x: 2 + y: 6 + z: 2 radius: 0.125 palette: inner: diff --git a/src/main/resources/default-config/carving/cavern.yml b/src/main/resources/default-config/carving/cavern.yml index 1d35760fb..d1058c47a 100644 --- a/src/main/resources/default-config/carving/cavern.yml +++ b/src/main/resources/default-config/carving/cavern.yml @@ -20,9 +20,9 @@ cut: top: 0 bottom: 1 mutate: - x: 2 - y: 6 - z: 2 + x: 2 + y: 6 + z: 2 radius: 0.125 palette: inner: diff --git a/src/main/resources/default-config/carving/ravine.yml b/src/main/resources/default-config/carving/ravine.yml index 56c73bec7..3b4e49d4c 100644 --- a/src/main/resources/default-config/carving/ravine.yml +++ b/src/main/resources/default-config/carving/ravine.yml @@ -20,9 +20,9 @@ cut: top: 1 bottom: 2 mutate: - x: 1 - y: 4 - z: 1 + x: 1 + y: 4 + z: 1 radius: 0.125 palette: inner: diff --git a/src/main/resources/default-config/ores/deposits/andesite_pocket.yml b/src/main/resources/default-config/ores/deposits/andesite_pocket.yml index 612b7b2fe..9eb0238d3 100644 --- a/src/main/resources/default-config/ores/deposits/andesite_pocket.yml +++ b/src/main/resources/default-config/ores/deposits/andesite_pocket.yml @@ -2,8 +2,8 @@ material: "minecraft:andesite" radius: min: 3 max: 4 -deform: 0.75 +deform: 0.75 deform-frequency: 0.1 -id: "ANDESITE" +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 index 65e15d323..df268bd9d 100644 --- a/src/main/resources/default-config/ores/deposits/diorite_pocket.yml +++ b/src/main/resources/default-config/ores/deposits/diorite_pocket.yml @@ -2,8 +2,8 @@ material: "minecraft:diorite" radius: min: 3 max: 4 -deform: 0.75 +deform: 0.75 deform-frequency: 0.1 -id: "DIORITE" +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 index 76312b589..0fbaf7fac 100644 --- a/src/main/resources/default-config/ores/deposits/dirt_pocket.yml +++ b/src/main/resources/default-config/ores/deposits/dirt_pocket.yml @@ -2,8 +2,8 @@ material: "minecraft:dirt" radius: min: 3 max: 4 -deform: 0.75 +deform: 0.75 deform-frequency: 0.1 -id: "DIRT" +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 index d50fe47af..cc8fb36bd 100644 --- a/src/main/resources/default-config/ores/deposits/granite_pocket.yml +++ b/src/main/resources/default-config/ores/deposits/granite_pocket.yml @@ -2,8 +2,8 @@ material: "minecraft:granite" radius: min: 3 max: 4 -deform: 0.75 +deform: 0.75 deform-frequency: 0.1 -id: "GRANITE" +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 index dd74170bd..6fc50aea7 100644 --- a/src/main/resources/default-config/ores/deposits/gravel_pocket.yml +++ b/src/main/resources/default-config/ores/deposits/gravel_pocket.yml @@ -2,8 +2,8 @@ material: "minecraft:gravel" radius: min: 3 max: 4 -deform: 0.75 +deform: 0.75 deform-frequency: 0.1 -id: "GRAVEL" +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 index 8a3e7a63c..c2718e2af 100644 --- a/src/main/resources/default-config/ores/minerals/coal.yml +++ b/src/main/resources/default-config/ores/minerals/coal.yml @@ -2,8 +2,8 @@ material: "minecraft:coal_ore" radius: min: 1 max: 2 -deform: 0.75 +deform: 0.75 deform-frequency: 0.2 -id: "COAL_ORE" +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 index 2b1f32a56..4649f2eee 100644 --- a/src/main/resources/default-config/ores/minerals/diamond.yml +++ b/src/main/resources/default-config/ores/minerals/diamond.yml @@ -2,8 +2,8 @@ material: "minecraft:diamond_ore" radius: min: 0 max: 1 -deform: 0.75 +deform: 0.75 deform-frequency: 0.2 -id: "DIAMOND_ORE" +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 index fc5954eb7..97311d056 100644 --- a/src/main/resources/default-config/ores/minerals/gold.yml +++ b/src/main/resources/default-config/ores/minerals/gold.yml @@ -2,8 +2,8 @@ material: "minecraft:gold_ore" radius: min: 1 max: 1 -deform: 0.75 +deform: 0.75 deform-frequency: 0.2 -id: "GOLD_ORE" +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 index 0b2cf36a3..0e4676c9a 100644 --- a/src/main/resources/default-config/ores/minerals/iron.yml +++ b/src/main/resources/default-config/ores/minerals/iron.yml @@ -2,8 +2,8 @@ material: "minecraft:iron_ore" radius: min: 1 max: 1 -deform: 0.75 +deform: 0.75 deform-frequency: 0.2 -id: "IRON_ORE" +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 index 4c626b72a..55decabf8 100644 --- a/src/main/resources/default-config/ores/minerals/lapis.yml +++ b/src/main/resources/default-config/ores/minerals/lapis.yml @@ -2,8 +2,8 @@ material: "minecraft:lapis_ore" radius: min: 1 max: 1 -deform: 0.75 +deform: 0.75 deform-frequency: 0.2 -id: "LAPIS_ORE" +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 index dcf76b6a6..4d399bf63 100644 --- a/src/main/resources/default-config/ores/minerals/redstone.yml +++ b/src/main/resources/default-config/ores/minerals/redstone.yml @@ -2,8 +2,8 @@ material: "minecraft:redstone_ore" radius: min: 1 max: 1 -deform: 0.75 +deform: 0.75 deform-frequency: 0.2 -id: "REDSTONE_ORE" +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 index a47cae3ef..81563bceb 100644 --- a/src/main/resources/default-config/pack.yml +++ b/src/main/resources/default-config/pack.yml @@ -46,11 +46,11 @@ blend: frequency: 0.125 amplitude: 10 erode: - enable: true + enable: true frequency: 0.001 threshold: 0.0015 - octaves: 5 - grid: "BIOME:RIVER" + octaves: 5 + grid: "BIOME:RIVER" noise: octaves: 5 frequency: 0.0075 diff --git a/src/main/resources/default-config/palettes/mountains/arid.yml b/src/main/resources/default-config/palettes/mountains/arid.yml index 20d799504..c27a4f153 100644 --- a/src/main/resources/default-config/palettes/mountains/arid.yml +++ b/src/main/resources/default-config/palettes/mountains/arid.yml @@ -23,7 +23,7 @@ layers: - materials: - "minecraft:stone": 1 layers: 1 -id: "ARID" -simplex: true +id: "ARID" +simplex: true frequency: 0.05 -seed: 3 \ No newline at end of file +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 index 852bcec64..4f227aa90 100644 --- a/src/main/resources/default-config/palettes/mountains/grass.yml +++ b/src/main/resources/default-config/palettes/mountains/grass.yml @@ -12,7 +12,7 @@ layers: - materials: - "minecraft:stone": 1 layers: 1 -id: "MOUNTAIN_GRASS" -simplex: true +id: "MOUNTAIN_GRASS" +simplex: true frequency: 0.075 -seed: 3 \ No newline at end of file +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 index fcc8c3a5b..9e8ba9867 100644 --- a/src/main/resources/default-config/palettes/mountains/jungle.yml +++ b/src/main/resources/default-config/palettes/mountains/jungle.yml @@ -14,7 +14,7 @@ layers: - materials: - "minecraft:stone": 1 layers: 1 -id: "MOUNTAIN_JUNGLE" -simplex: true +id: "MOUNTAIN_JUNGLE" +simplex: true frequency: 0.04 -seed: 3 \ No newline at end of file +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 index 1e189b628..14864e392 100644 --- a/src/main/resources/default-config/palettes/mountains/pretty_mountains.yml +++ b/src/main/resources/default-config/palettes/mountains/pretty_mountains.yml @@ -18,7 +18,7 @@ layers: - materials: - "minecraft:stone": 1 layers: 1 -id: "MOUNTAIN_PRETTY" -simplex: true +id: "MOUNTAIN_PRETTY" +simplex: true frequency: 0.03 -seed: 3 \ No newline at end of file +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 index 6600ad39e..76a0bb271 100644 --- a/src/main/resources/default-config/palettes/mountains/stone.yml +++ b/src/main/resources/default-config/palettes/mountains/stone.yml @@ -8,7 +8,7 @@ layers: - materials: - "minecraft:stone": 1 layers: 1 -id: "MOUNTAIN_STONE" -simplex: true +id: "MOUNTAIN_STONE" +simplex: true frequency: 0.075 -seed: 3 \ No newline at end of file +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 index 11f0c202f..0ec174614 100644 --- a/src/main/resources/default-config/palettes/mountains/stone_grass.yml +++ b/src/main/resources/default-config/palettes/mountains/stone_grass.yml @@ -16,7 +16,7 @@ layers: - materials: - "minecraft:stone": 1 layers: 1 -id: "MOUNTAIN_STONE_GRASS" -simplex: true +id: "MOUNTAIN_STONE_GRASS" +simplex: true frequency: 0.075 -seed: 3 \ No newline at end of file +seed: 3 \ No newline at end of file diff --git a/src/main/resources/default-config/palettes/river_bottom.yml b/src/main/resources/default-config/palettes/river_bottom.yml index e47b4eb5a..3b7d8ea9e 100644 --- a/src/main/resources/default-config/palettes/river_bottom.yml +++ b/src/main/resources/default-config/palettes/river_bottom.yml @@ -7,7 +7,7 @@ layers: - materials: - "minecraft:stone": 1 layers: 1 -id: "RIVER_BOTTOM" -simplex: true +id: "RIVER_BOTTOM" +simplex: true frequency: 0.05 -seed: 3 \ No newline at end of file +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 index 75544719a..ab0aaa6cc 100644 --- a/src/main/resources/default-config/palettes/river_shore.yml +++ b/src/main/resources/default-config/palettes/river_shore.yml @@ -10,7 +10,7 @@ layers: - materials: - "minecraft:stone": 1 layers: 1 -id: "RIVER_SHORE" -simplex: true +id: "RIVER_SHORE" +simplex: true frequency: 0.05 -seed: 3 \ No newline at end of file +seed: 3 \ No newline at end of file diff --git a/src/main/resources/default-config/palettes/slabs/mountainslabs.yml b/src/main/resources/default-config/palettes/slabs/mountainslabs.yml index 128b085dd..5727f6e7c 100644 --- a/src/main/resources/default-config/palettes/slabs/mountainslabs.yml +++ b/src/main/resources/default-config/palettes/slabs/mountainslabs.yml @@ -3,7 +3,7 @@ layers: - "minecraft:cobblestone_slab": 1 - "minecraft:stone_slab": 3 layers: 1 -id: "MOUNTAIN_SLABS" -simplex: true +id: "MOUNTAIN_SLABS" +simplex: true frequency: 0.1 -seed: 4 \ No newline at end of file +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 index e5b998b3a..a6c2967ac 100644 --- a/src/main/resources/default-config/palettes/slabs/mountainstairs.yml +++ b/src/main/resources/default-config/palettes/slabs/mountainstairs.yml @@ -3,7 +3,7 @@ layers: - "minecraft:cobblestone_stairs": 1 - "minecraft:stone_stairs": 3 layers: 1 -id: "MOUNTAIN_STAIRS" -simplex: true +id: "MOUNTAIN_STAIRS" +simplex: true frequency: 0.1 -seed: 4 \ No newline at end of file +seed: 4 \ 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 index bb2c4068e..06fd944a5 100644 --- a/src/main/resources/default-config/palettes/taiga.yml +++ b/src/main/resources/default-config/palettes/taiga.yml @@ -9,7 +9,7 @@ layers: - materials: - "minecraft:stone": 1 layers: 1 -id: "TAIGA" -simplex: true +id: "TAIGA" +simplex: true frequency: 0.03 -seed: 3 \ No newline at end of file +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 index d30870eb4..0988421a9 100644 --- a/src/main/resources/default-config/palettes/tundra.yml +++ b/src/main/resources/default-config/palettes/tundra.yml @@ -15,7 +15,7 @@ layers: - materials: - "minecraft:stone": 1 layers: 1 -id: "TUNDRA" -simplex: true +id: "TUNDRA" +simplex: true frequency: 0.04 -seed: 4 \ No newline at end of file +seed: 4 \ No newline at end of file diff --git a/src/main/resources/default-config/structures/single/mansion.yml b/src/main/resources/default-config/structures/single/mansion.yml index f7e5a9abe..16ac5285b 100644 --- a/src/main/resources/default-config/structures/single/mansion.yml +++ b/src/main/resources/default-config/structures/single/mansion.yml @@ -14,8 +14,8 @@ loot: 1: arrows features: - ENTITY_FEATURE: - entity: VINDICATOR - attempts: 100 + entity: VINDICATOR + attempts: 100 in-height: 1 amount: min: 60 @@ -27,8 +27,8 @@ features: - "minecraft:red_carpet" - "minecraft:white_carpet" - ENTITY_FEATURE: - entity: EVOKER - attempts: 50 + entity: EVOKER + attempts: 50 in-height: 2 amount: min: 1 diff --git a/src/main/resources/default-config/structures/single/stronghold.yml b/src/main/resources/default-config/structures/single/stronghold.yml index b3150491e..f7cd0778d 100644 --- a/src/main/resources/default-config/structures/single/stronghold.yml +++ b/src/main/resources/default-config/structures/single/stronghold.yml @@ -16,8 +16,8 @@ loot: 3: cobble_house features: - ENTITY_FEATURE: - entity: SILVERFISH - attempts: 40 + entity: SILVERFISH + attempts: 40 in-height: 1 amount: min: 20 @@ -29,8 +29,8 @@ features: spawnable-in: - "minecraft:air" - ENTITY_FEATURE: - entity: ZOMBIE - attempts: 20 + entity: ZOMBIE + attempts: 20 in-height: 2 amount: min: 10 diff --git a/src/main/resources/lang/afr_sa.yml b/src/main/resources/lang/afr_sa.yml index 99c1519bf..acb73665b 100644 --- a/src/main/resources/lang/afr_sa.yml +++ b/src/main/resources/lang/afr_sa.yml @@ -5,34 +5,34 @@ enable: disable: - "Dankie dat u Terra gebruik!" command: - debug-only: "Hierdie opdrag moet gebruik word as die ontfoutmodus geaktiveer is!" - player-only: "Hierdie opdrag is slegs vir spelers!" - invalid: "Ongeldige opdrag.(verwag %1$s argumente, argumente gevind is %2$s)." + debug-only: "Hierdie opdrag moet gebruik word as die ontfoutmodus geaktiveer is!" + player-only: "Hierdie opdrag is slegs vir spelers!" + invalid: "Ongeldige opdrag.(verwag %1$s argumente, argumente gevind is %2$s)." players-only: "Hierdie opdrag is slegs vir spelers." - world: "This command must be executed in a Terra world!" - reload: "Terra instel herlaai" - version: "Hierdie bediener gebruik die Terra-weergawe \"%s\"" + world: "This command must be executed in a Terra world!" + reload: "Terra instel herlaai" + version: "Hierdie bediener gebruik die Terra-weergawe \"%s\"" main-menu: - "--------------------Terra--------------------" - "Herlaai - Herlaai konfigurasiedata" - "bioom - Kry huidige bioom" - - "erts - Genereer 'n ertsader op die plek waar u te staan ​​kom (vir foutopsporing)" + - "erts - Genereer 'n ertsader op die plek waar u te staan kom (vir foutopsporing)" - "stoor-data - Stoor bevolkingsdata" - "struktuur - Laai en stoor strukture" - "profiel - Profielopsies" - "beeld - Beeld / GUI-opsies" biome: - biome-found: "Bioom geleë te (%1$s, %2$s)" + biome-found: "Bioom geleë te (%1$s, %2$s)" unable-to-locate: "Kan bioom nie opspoor nie." - invalid-radius: "Ongeldige radius: \"%s\"" - invalid: "Ongeldige Biome-ID: \"%s\"" - in: "Jy is in \"%s\"" + invalid-radius: "Ongeldige radius: \"%s\"" + invalid: "Ongeldige Biome-ID: \"%s\"" + in: "Jy is in \"%s\"" ore: main-menu: - "---------------Terra/erts---------------" - "Genereer 'n ertsader by die blok waarna u kyk." out-of-range: "Blok buite bereik" - invalid-ore: "Kan nie Erts vind nie \"%s\"" + invalid-ore: "Kan nie Erts vind nie \"%s\"" geometry: main-menu: - "---------------Terra/meetkunde----------------" @@ -41,8 +41,8 @@ command: - "vervorming - Genereer 'n misvormde sfeer" - "tube - Genereer 'n tube" deform: - invalid-radius: "Ongeldige radius: \"%s\"" - invalid-deform: "Ongeldige vervorm: \"%s\"" + invalid-radius: "Ongeldige radius: \"%s\"" + invalid-deform: "Ongeldige vervorm: \"%s\"" invalid-frequency: "Ongeldige frekwensie: \"%s\"" sphere: invalid-radius: "Ongeldige radius: \"%s\"" @@ -77,16 +77,16 @@ command: - "---------------Terra/struktuur---------------" - "uitvoer - voer u huidige WorldEdit-keuse uit as 'n Terra-struktuur." - "laai - Laai 'n Terra-struktuur" - invalid-radius: "Ongeldig radius: \"%s\"" + invalid-radius: "Ongeldig radius: \"%s\"" invalid-rotation: "Ongeldige rotasie: \"%s\"" - invalid: "Ongeldig Struktuur ID: \"%s\"" - export: "struktuur gestoor na \"%s\"" + invalid: "Ongeldig Struktuur ID: \"%s\"" + export: "struktuur gestoor na \"%s\"" world-config: - loading: "Laai wêreldkonfigurasiewaardes vir wêreld %s..." - not-found: "Konfigurasie vir wêreld \"%s\" nie gevind nie. Kopieer standaardinstelling." + loading: "Laai wêreldkonfigurasiewaardes vir wêreld %s..." + not-found: "Konfigurasie vir wêreld \"%s\" nie gevind nie. Kopieer standaardinstelling." using-image: "Laai wêreld vanaf prent." - error: "Kon nie konfigurasie vir wêreld laai nie %s" - done: "Wêreldlading voltooi. Tyd verloop: %sms" + error: "Kon nie konfigurasie vir wêreld laai nie %s" + done: "Wêreldlading voltooi. Tyd verloop: %sms" config-pack: loaded: "Laai konfigurasie %1$s in %2$sms." config: diff --git a/src/main/resources/lang/de_de.yml b/src/main/resources/lang/de_de.yml index b0b345d32..091a31617 100644 --- a/src/main/resources/lang/de_de.yml +++ b/src/main/resources/lang/de_de.yml @@ -5,13 +5,13 @@ enable: disable: - "Danke, dass du Terra benutzt!!" command: - debug-only: "Dieser Befehl kann nur im Debugmodus benutzt werden!" - player-only: "Dieser Befehl kann nur von Spielern benutzt werden!" - invalid: "Ungültiger Befehl. (Erwartet %1$s Argumente, fand %2$s)." + debug-only: "Dieser Befehl kann nur im Debugmodus benutzt werden!" + player-only: "Dieser Befehl kann nur von Spielern benutzt werden!" + invalid: "Ungültiger Befehl. (Erwartet %1$s Argumente, fand %2$s)." players-only: "Dieser Befehl kann nur von Spielern benutzt werden." - world: "Dieser Befehl muss in einer von Terra generierten Welt ausgeführt werden!" - reload: "Terra-Konfiguration wurde neu geladen." - version: "Dieser Server verwendet Terra \"%s\"" + world: "Dieser Befehl muss in einer von Terra generierten Welt ausgeführt werden!" + reload: "Terra-Konfiguration wurde neu geladen." + version: "Dieser Server verwendet Terra \"%s\"" main-menu: - "--------------------Terra--------------------" - "reload - Lädt die Konfiguration neu" @@ -22,17 +22,17 @@ command: - "profile - Profiler-Optionen" - "image - Bild-/GUI-Optionen" biome: - biome-found: "Biom gefunden bei: (%1$s, %2$s)" + biome-found: "Biom gefunden bei: (%1$s, %2$s)" unable-to-locate: "Biom konnte nicht gefunden werden!" - invalid-radius: "Ungültiger Radius: \"%s\"" - invalid: "Ungültige Biom-ID: \"%s\"" - in: "Du bist in: \"%s\"" + invalid-radius: "Ungültiger Radius: \"%s\"" + invalid: "Ungültige Biom-ID: \"%s\"" + in: "Du bist in: \"%s\"" ore: main-menu: - "---------------Terra/Erz---------------" - "Generiert eine Erzader an dem Block, den du anguckst" out-of-range: "Block außer Reichweite" - invalid-ore: "Kann Erz \"%s\" nicht finden" + invalid-ore: "Kann Erz \"%s\" nicht finden" geometry: main-menu: - "---------------Terra/Geometrie----------------" @@ -41,8 +41,8 @@ command: - "deformsphere - Generiert eine deformierte Kugel" - "tube - Generiert ein Rohr" deform: - invalid-radius: "Ungültiger Radius: \"%s\"" - invalid-deform: "Ungültiger Deformation: \"%s\"" + invalid-radius: "Ungültiger Radius: \"%s\"" + invalid-deform: "Ungültiger Deformation: \"%s\"" invalid-frequency: "Ungültige Frequenz: \"%s\"" sphere: invalid-radius: "Ungültiger Radius: \"%s\"" @@ -77,16 +77,16 @@ command: - "---------------Terra/Strukturen---------------" - "export - Exportiert deine aktuelle WorldEdit-Auswahl als Terra-Struktur." - "load - Ladt eine Terra-Struktur." - invalid-radius: "Ungültiger Radius: \"%s\"" + invalid-radius: "Ungültiger Radius: \"%s\"" invalid-rotation: "Ungültige Rotation: \"%s\"" - invalid: "Ungültige Strukturen-ID: \"%s\"" - export: "Struktur unter \"%s\" gespeichert." + invalid: "Ungültige Strukturen-ID: \"%s\"" + export: "Struktur unter \"%s\" gespeichert." world-config: - loading: "Lade Weltkonfigurationswerte für Welt %s..." - not-found: "Weltkonfigurationswerte für Welt \"%s\" nicht gefunden. Lade Standardwerte." + loading: "Lade Weltkonfigurationswerte für Welt %s..." + not-found: "Weltkonfigurationswerte für Welt \"%s\" nicht gefunden. Lade Standardwerte." using-image: "Lade Welt von Bild." - error: "Konfiguration für Welt %s kann nicht geladen werden!" - done: "Laden der Welt abgeschlossen. Ladedauer: %sms" + error: "Konfiguration für Welt %s kann nicht geladen werden!" + done: "Laden der Welt abgeschlossen. Ladedauer: %sms" config-pack: loaded: "Konfiguration %1$s wurde in %2$sms geladen." config: diff --git a/src/main/resources/lang/en_us.yml b/src/main/resources/lang/en_us.yml index 17e40ec04..0c0e052c3 100644 --- a/src/main/resources/lang/en_us.yml +++ b/src/main/resources/lang/en_us.yml @@ -5,13 +5,13 @@ enable: disable: - "Thank you for using Terra!" command: - debug-only: "This command must be used with debug mode enabled!" - player-only: "This command is for players only!" - invalid: "Invalid command. (Expected %1$s arguments, found %2$s)." + debug-only: "This command must be used with debug mode enabled!" + player-only: "This command is for players only!" + invalid: "Invalid command. (Expected %1$s arguments, found %2$s)." players-only: "Command is for players only." - world: "This command must be executed in a Terra world!" - reload: "Reloaded Terra config." - version: "This server is running Terra version \"%s\"" + world: "This command must be executed in a Terra world!" + reload: "Reloaded Terra config." + version: "This server is running Terra version \"%s\"" main-menu: - "--------------------Terra--------------------" - "reload - Reload configuration data" @@ -22,17 +22,17 @@ command: - "profile - Profiler options" - "image - Image/GUI options" biome: - biome-found: "Located biome at (%1$s, %2$s)" + biome-found: "Located biome at (%1$s, %2$s)" unable-to-locate: "Unable to locate biome." - invalid-radius: "Invalid radius: \"%s\"" - invalid: "Invalid Biome ID: \"%s\"" - in: "You are in \"%s\"" + invalid-radius: "Invalid radius: \"%s\"" + invalid: "Invalid Biome ID: \"%s\"" + in: "You are in \"%s\"" ore: main-menu: - "---------------Terra/ore---------------" - "Generates a vein of ore at the block you are looking at." out-of-range: "Block out of range" - invalid-ore: "Unable to find Ore \"%s\"" + invalid-ore: "Unable to find Ore \"%s\"" geometry: main-menu: - "---------------Terra/geometry----------------" @@ -41,8 +41,8 @@ command: - "deformsphere - Generate a deformed sphere" - "tube - Generate a tube" deform: - invalid-radius: "Invalid radius: \"%s\"" - invalid-deform: "Invalid deform: \"%s\"" + invalid-radius: "Invalid radius: \"%s\"" + invalid-deform: "Invalid deform: \"%s\"" invalid-frequency: "Invalid frequency: \"%s\"" sphere: invalid-radius: "Invalid radius: \"%s\"" @@ -77,16 +77,16 @@ command: - "---------------Terra/structure---------------" - "export - Export your current WorldEdit selection as a Terra structure." - "load - Load a Terra structure" - invalid-radius: "Invalid radius: \"%s\"" + invalid-radius: "Invalid radius: \"%s\"" invalid-rotation: "Invalid rotation: \"%s\"" - invalid: "Invalid Structure ID: \"%s\"" - export: "Saved structure to \"%s\"" + invalid: "Invalid Structure ID: \"%s\"" + export: "Saved structure to \"%s\"" world-config: - loading: "Loading world configuration values for world %s..." - not-found: "Configuration for world \"%s\" not found. Copying default config." + loading: "Loading world configuration values for world %s..." + not-found: "Configuration for world \"%s\" not found. Copying default config." using-image: "Loading world from image." - error: "Unable to load configuration for world %s" - done: "World load complete. Time elapsed: %sms" + error: "Unable to load configuration for world %s" + done: "World load complete. Time elapsed: %sms" config-pack: loaded: "Loaded config %1$s in %2$sms." config: diff --git a/src/main/resources/lang/es.yml b/src/main/resources/lang/es.yml index 4ca8138b2..269c56b30 100644 --- a/src/main/resources/lang/es.yml +++ b/src/main/resources/lang/es.yml @@ -5,12 +5,12 @@ enable: disable: - "Gracias por usar Terra!" command: - player-only: "Este comando solo puede ser usado por jugadores!" - terra-world: "Este comando solo puede ser usado en un mundo Terra!" - invalid: "Comando invalido. (Expected %1$s arguments, found %2$s)." + player-only: "Este comando solo puede ser usado por jugadores!" + terra-world: "Este comando solo puede ser usado en un mundo Terra!" + invalid: "Comando invalido. (Expected %1$s arguments, found %2$s)." players-only: "Este comando solo puede ser usado por jugadores" - world: "Este comando puede ejecutarse solo en un mundo terra!" - reload: "La configuración Terra ha sido recargada." + world: "Este comando puede ejecutarse solo en un mundo terra!" + reload: "La configuración Terra ha sido recargada." main-menu: - "--------------------Terra--------------------" - "reload - Recarga los datos de configuración del plugin." @@ -21,17 +21,17 @@ command: - "profile - Opciones de perfil." - "image - Opciones de imagen/GUI." biome: - biome-found: "Bioma localizado en (%1$s, %2$s)" + biome-found: "Bioma localizado en (%1$s, %2$s)" unable-to-locate: "No se pudo localizar el bioma." - invalid-radius: "Radio invalido: \"%s\"" - invalid: "ID del bioma invalido: \"%s\"" - in: "Te encuentras en \"%s\"" + invalid-radius: "Radio invalido: \"%s\"" + invalid: "ID del bioma invalido: \"%s\"" + in: "Te encuentras en \"%s\"" ore: main-menu: - "---------------Terra/ore---------------" - "Generas una mena de ore en el bloque que te encuentres mirando." out-of-range: "Bloque fuera de rango." - invalid-ore: "No se pudo encontrar el Ore \"%s\"" + invalid-ore: "No se pudo encontrar el Ore \"%s\"" geometry: main-menu: - "---------------Terra/geometry----------------" @@ -40,8 +40,8 @@ command: - "deformsphere - Generas un sphere deformado" - "tube - Generas un tube" deform: - invalid-radius: "Radio invalido: \"%s\"" - invalid-deform: "Deform invalido: \"%s\"" + invalid-radius: "Radio invalido: \"%s\"" + invalid-deform: "Deform invalido: \"%s\"" invalid-frequency: "Frequencia invalida: \"%s\"" sphere: invalid-radius: "Radio invalido: \"%s\"" @@ -77,14 +77,14 @@ command: - "export - Exporta tus estructuras de Worldedit como estructuras Terra." - "load - Carga una estructura Terra." invalid-radius: "Radio invalido: \"%s\"" - invalid: "ID de la estructura es invalida: \"%s\"" - export: "Estructura guardada como \"%s\"" + invalid: "ID de la estructura es invalida: \"%s\"" + export: "Estructura guardada como \"%s\"" world-config: - loading: "Carga los parametros de configuración para el mundo %s..." - not-found: "La configuración para el mundo \"%s\" no se puede encontrar. Copiando la configuración por defecto." + loading: "Carga los parametros de configuración para el mundo %s..." + not-found: "La configuración para el mundo \"%s\" no se puede encontrar. Copiando la configuración por defecto." using-image: "Carga el mundo a partir de una imagen." - error: "No se pudo cargar la configuración para el mundo %s" - done: "el mundo se ha cargado completamente. Tiempo transcurrido: %sms" + error: "No se pudo cargar la configuración para el mundo %s" + done: "el mundo se ha cargado completamente. Tiempo transcurrido: %sms" config-pack: loaded: "Configuración %1$s fue cargada en %2$sms." config: diff --git a/src/main/resources/lang/ja_jp.yml b/src/main/resources/lang/ja_jp.yml index 04a399c8c..92c3ccd49 100644 --- a/src/main/resources/lang/ja_jp.yml +++ b/src/main/resources/lang/ja_jp.yml @@ -5,12 +5,12 @@ enable: disable: - "Terraをご利用いただきありがとうございます!" command: - player-only: "このコマンドはプレイヤー専用です!" - terra-world: "このコマンドはTerraのワールドで実行する必要があります!" - invalid: "無効なコマンド(期待される %1$s 引数、%2$s が見つかりました。)" + player-only: "このコマンドはプレイヤー専用です!" + terra-world: "このコマンドはTerraのワールドで実行する必要があります!" + invalid: "無効なコマンド(期待される %1$s 引数、%2$s が見つかりました。)" players-only: "コマンドはプレイヤー専用です。" - world: "このコマンドはTerraのワールドで実行する必要があります!" - reload: "Terraの設定を再読み込みしました。" + world: "このコマンドはTerraのワールドで実行する必要があります!" + reload: "Terraの設定を再読み込みしました。" main-menu: - "--------------------Terra--------------------" - "reload - 設定データを再読み込み" @@ -21,17 +21,17 @@ command: - "profile - プロファイラ オプション" - "image - 画像/GUI オプション" biome: - biome-found: "バイオームの座標 (%1$s, %2$s)" + biome-found: "バイオームの座標 (%1$s, %2$s)" unable-to-locate: "バイオームが見つけられません。" - invalid-radius: "無効な半径: \"%s\"" - invalid: "無効なバイオームID: \"%s\"" - in: "あなたは \"%s\" にいます。" + invalid-radius: "無効な半径: \"%s\"" + invalid: "無効なバイオームID: \"%s\"" + in: "あなたは \"%s\" にいます。" ore: main-menu: - "---------------Terra/ore---------------" - "見ているブロックに鉱石を生成します。" out-of-range: "範囲外のブロック" - invalid-ore: "鉱石 \"%s\" が見つかりません。" + invalid-ore: "鉱石 \"%s\" が見つかりません。" geometry: main-menu: - "---------------Terra/geometry----------------" @@ -40,8 +40,8 @@ command: - "deformsphere - 変形した球体を生成" - "tube - チューブを生成" deform: - invalid-radius: "無効な半径: \"%s\"" - invalid-deform: "無効な変形: \"%s\"" + invalid-radius: "無効な半径: \"%s\"" + invalid-deform: "無効な変形: \"%s\"" invalid-frequency: "無効な周波数: \"%s\"" sphere: invalid-radius: "無効な半径: \"%s\"" @@ -77,14 +77,14 @@ command: - "export - 現在のWorldEditの選択範囲をTerraストラクチャーとしてエクスポート" - "load - Terraストラクチャーを読み込む" invalid-radius: "無効な半径: \"%s\"" - invalid: "無効なストラクチャーID: \"%s\"" - export: "\"%s\" にストラクチャーを保存" + invalid: "無効なストラクチャーID: \"%s\"" + export: "\"%s\" にストラクチャーを保存" world-config: - loading: "ワールド %s のワールド設定を読込中..." - not-found: "ワールド \"%s\" の設定が見つかりませんでした。デフォルトの設定をコピーします。" + loading: "ワールド %s のワールド設定を読込中..." + not-found: "ワールド \"%s\" の設定が見つかりませんでした。デフォルトの設定をコピーします。" using-image: "画像からワールドを読み込みます。" - error: "ワールド %s の設定を読み込めませんでした" - done: "ワールドの読み込みが完了しました。経過時間: %sms" + error: "ワールド %s の設定を読み込めませんでした" + done: "ワールドの読み込みが完了しました。経過時間: %sms" config-pack: loaded: "%2$sms で設定 %1$s が読み込まれました。" config: diff --git a/src/main/resources/lang/pl.yml b/src/main/resources/lang/pl.yml index 891dfb60a..245ac7014 100644 --- a/src/main/resources/lang/pl.yml +++ b/src/main/resources/lang/pl.yml @@ -1,117 +1,117 @@ -enable: - - "Jezeli spodoba ci sie Terra, rozwaz wsparcie projektu na Patreon!" - - "Otrzymasz dostep do eksperymentalnych funkcji przed ich premiera!" - - "Wspieraj projekt na: https://www.patreon.com/dfsek" -disable: - - "Dziekuje za korzystanie z Terra!" -command: - debug-only: "Ta komenda musi byc uzyta z trybem debugowym wlaczonym!" - player-only: "Ta komenda jest tylko dla graczy!" - invalid: "Niepoprawna komenda. (Oczekiwane %1$s argumenty, znalezione %2$s)." - players-only: "Komenda jest tylko dla graczy." - world: "Ta komenda musi byc wpisana w swiecie Terra!" - reload: "Przeladowano plik konfiguracyjny Terra." - version: "Ten serwer korzysta z wersji Terra \"%s\"" - main-menu: - - "--------------------Terra--------------------" - - "reload - Przeladuj dane konfiguracyjne" - - "biome - Otrzymaj informacje o obecnym biomie" - - "ore - Wygeneruj zloze rud w strone w ktora patrzysz (Do debugowania)" - - "save-data - Zapisz dane" - - "structure - Zaladuj i wyeksportuj dane struktur" - - "profile - Opcje profilera" - - "image - Opcje obrazu/GUI" - biome: - biome-found: "Zlokalizowano biom na (%1$s, %2$s)" - unable-to-locate: "Nie moglismy zlokalizowac biomu." - invalid-radius: "Niepoprawny zakres: \"%s\"" - invalid: "Niepoprawne Biome ID: \"%s\"" - in: "Jestes na \"%s\"" - ore: - main-menu: - - "---------------Terra/rudy---------------" - - "Generuje zloze rud w strone w ktora patrzysz." - out-of-range: "Blok spoza zakresu" - invalid-ore: "Niemoglismy znalezc Rudy \"%s\"" - geometry: - main-menu: - - "---------------Terra/geometria----------------" - - "Zroznicowane komendy geometrii voxeli do debugowania" - - "sphere - Generuje kule" - - "deformsphere - Generuje zdeformowana kul" - - "tube - Generaje tube" - deform: - invalid-radius: "Niepoprawny zakres: \"%s\"" - invalid-deform: "Niepoprawna deformacja: \"%s\"" - invalid-frequency: "Niepoprawna czestotliwosc: \"%s\"" - sphere: - invalid-radius: "Niepoprawny zakres: \"%s\"" - tube: - invalid-radius: "Niepoprawny zakres: \"%s\"" - image: - main-menu: - - "---------------Terra/obraz---------------" - - "render - Renderuje obraz o podanej szerokosci i wysokosci, moze byc potem zaimportowane jako swiat." - - "gui - Otwiera GUI debugowania (Musi byc wlaczone w pliku konfiguracyjnym)" - gui: - main-menu: - - "-------------Terra/obraz/gui-------------" - - "raw - Otwiera GUI z surowymi danymi Biomu" - - "step - Przerenderowuje dane aby pokazac granice bardziej przejrzyscie" - debug: "Tryb debugowania musi byc wlaczony aby debugowac za pomoca GUI! GUI debugowania NIE JEST STABILNE!" - render: - save: "Zapisano obraz jako \"%s\"" - error: "Wystapil error podczas generowania obrazu!" - profile: - main-menu: - - "---------------Terra/profil---------------" - - "start - Rozpoczyna dzialanie profilera" - - "stop - Zatrzymuje dzialanie profilera" - - "query - Wydobywa dane profilera" - - "reset - Resetuje dane profilera" - reset: "Profiler zostal zresetowany." - start: "Profiler zostal wlaczony." - stop: "Profiler zostal wylaczony." - structure: - main-menu: - - "---------------Terra/struktury---------------" - - "export - Wyeksportuj obecne zaznaczenie w WorldEdicie jako strukture Terra." - - "load - Zaladuj strukture Terra" - invalid-radius: "Niepoprawny zakres: \"%s\"" - invalid-rotation: "Niepoprawny zakres: \"%s\"" - invalid: "Niepoprawne ID Struktury: \"%s\"" - export: "Zapisano strukture jak \"%s\"" -world-config: - loading: "Ladowanie wartosci konfiguracji dla swiata %s..." - not-found: "Konfiguracja dla swiata \"%s\" nie zostala znaleziona. Kopiuje domyslny plik konfiguracyjny." - using-image: "Ladowania swiata z obrazu." - error: "Nie udalo sie zaladowac konfiguracji dla swiata %s" - done: "Ladowanie swiata gotowe. Wykonano to w: %sms" -config-pack: - loaded: "Zaladowano plik konfiguracyjny %1$s w %2$sms." -config: - loaded: "Zaladowano %1$s z pliku %2$s" - loaded-all: "Zaladowano %1$s %2$s(s) w %3$sms." - error: - invalid-failover: "Niepoprawny typ awaryjnego przelaczania: \"%s\"" - duplicate: "Zduplikowano ID znalezione w pliku: %s" - file: - - "Blad konfiguracji w objekcie Terra. Plik: %1$s" - - "%2$s" - - "Popraw to przed rozpoczeciem!" - generic: - - "Wystapil blad podczas ladowania konfiguracji." - - "Prosze zglos to do Terra." -warning: - no-population: "Chunki populacyjne nie zostaly zaladowane. Jezeli to jest pierwszy raz kiedy wlaczasz serwer z Terra, lub tworzysz nowy swiat, to jest normalne." -error: - severe-config: "Powazne bledy konfiguracji zablokowaly generowanie terenu na koordynatach: %1$s, %2$s. Prosze sprawdz konfiguracyje w poszukiwaniu bledow. Wszelkie bledy konfiguracyjne zostaly zgloszone powyzej." -debug: - data-save: "Zapisane dane dla swiata \"%s\"" -use-paper: - - "Wyglada na to ze dalej korzystasz z Spigot/CraftBukkit." - - "Terra &odziala&r na Spigotcie, niektore funkcje moga byc stracone. (Terra nie jest przetestowana na CraftBukkit; wiec nie wspieramy CraftBukkit)." - - "Aby wycisnac jak najwiecej z Terra, prosze przejdz na Paper." - - "Ponadto, Paper oferuje ulepszona wydajnosc wzgledem Spigota, a wszystkie pluginy z Spigota powinny dzialac na Paperze!" - - "Dla jak najlepszych doswiadczen z Terra, i wszystkimi twoimi pluginami, przejdz na Papera." +enable: + - "Jezeli spodoba ci sie Terra, rozwaz wsparcie projektu na Patreon!" + - "Otrzymasz dostep do eksperymentalnych funkcji przed ich premiera!" + - "Wspieraj projekt na: https://www.patreon.com/dfsek" +disable: + - "Dziekuje za korzystanie z Terra!" +command: + debug-only: "Ta komenda musi byc uzyta z trybem debugowym wlaczonym!" + player-only: "Ta komenda jest tylko dla graczy!" + invalid: "Niepoprawna komenda. (Oczekiwane %1$s argumenty, znalezione %2$s)." + players-only: "Komenda jest tylko dla graczy." + world: "Ta komenda musi byc wpisana w swiecie Terra!" + reload: "Przeladowano plik konfiguracyjny Terra." + version: "Ten serwer korzysta z wersji Terra \"%s\"" + main-menu: + - "--------------------Terra--------------------" + - "reload - Przeladuj dane konfiguracyjne" + - "biome - Otrzymaj informacje o obecnym biomie" + - "ore - Wygeneruj zloze rud w strone w ktora patrzysz (Do debugowania)" + - "save-data - Zapisz dane" + - "structure - Zaladuj i wyeksportuj dane struktur" + - "profile - Opcje profilera" + - "image - Opcje obrazu/GUI" + biome: + biome-found: "Zlokalizowano biom na (%1$s, %2$s)" + unable-to-locate: "Nie moglismy zlokalizowac biomu." + invalid-radius: "Niepoprawny zakres: \"%s\"" + invalid: "Niepoprawne Biome ID: \"%s\"" + in: "Jestes na \"%s\"" + ore: + main-menu: + - "---------------Terra/rudy---------------" + - "Generuje zloze rud w strone w ktora patrzysz." + out-of-range: "Blok spoza zakresu" + invalid-ore: "Niemoglismy znalezc Rudy \"%s\"" + geometry: + main-menu: + - "---------------Terra/geometria----------------" + - "Zroznicowane komendy geometrii voxeli do debugowania" + - "sphere - Generuje kule" + - "deformsphere - Generuje zdeformowana kul" + - "tube - Generaje tube" + deform: + invalid-radius: "Niepoprawny zakres: \"%s\"" + invalid-deform: "Niepoprawna deformacja: \"%s\"" + invalid-frequency: "Niepoprawna czestotliwosc: \"%s\"" + sphere: + invalid-radius: "Niepoprawny zakres: \"%s\"" + tube: + invalid-radius: "Niepoprawny zakres: \"%s\"" + image: + main-menu: + - "---------------Terra/obraz---------------" + - "render - Renderuje obraz o podanej szerokosci i wysokosci, moze byc potem zaimportowane jako swiat." + - "gui - Otwiera GUI debugowania (Musi byc wlaczone w pliku konfiguracyjnym)" + gui: + main-menu: + - "-------------Terra/obraz/gui-------------" + - "raw - Otwiera GUI z surowymi danymi Biomu" + - "step - Przerenderowuje dane aby pokazac granice bardziej przejrzyscie" + debug: "Tryb debugowania musi byc wlaczony aby debugowac za pomoca GUI! GUI debugowania NIE JEST STABILNE!" + render: + save: "Zapisano obraz jako \"%s\"" + error: "Wystapil error podczas generowania obrazu!" + profile: + main-menu: + - "---------------Terra/profil---------------" + - "start - Rozpoczyna dzialanie profilera" + - "stop - Zatrzymuje dzialanie profilera" + - "query - Wydobywa dane profilera" + - "reset - Resetuje dane profilera" + reset: "Profiler zostal zresetowany." + start: "Profiler zostal wlaczony." + stop: "Profiler zostal wylaczony." + structure: + main-menu: + - "---------------Terra/struktury---------------" + - "export - Wyeksportuj obecne zaznaczenie w WorldEdicie jako strukture Terra." + - "load - Zaladuj strukture Terra" + invalid-radius: "Niepoprawny zakres: \"%s\"" + invalid-rotation: "Niepoprawny zakres: \"%s\"" + invalid: "Niepoprawne ID Struktury: \"%s\"" + export: "Zapisano strukture jak \"%s\"" +world-config: + loading: "Ladowanie wartosci konfiguracji dla swiata %s..." + not-found: "Konfiguracja dla swiata \"%s\" nie zostala znaleziona. Kopiuje domyslny plik konfiguracyjny." + using-image: "Ladowania swiata z obrazu." + error: "Nie udalo sie zaladowac konfiguracji dla swiata %s" + done: "Ladowanie swiata gotowe. Wykonano to w: %sms" +config-pack: + loaded: "Zaladowano plik konfiguracyjny %1$s w %2$sms." +config: + loaded: "Zaladowano %1$s z pliku %2$s" + loaded-all: "Zaladowano %1$s %2$s(s) w %3$sms." + error: + invalid-failover: "Niepoprawny typ awaryjnego przelaczania: \"%s\"" + duplicate: "Zduplikowano ID znalezione w pliku: %s" + file: + - "Blad konfiguracji w objekcie Terra. Plik: %1$s" + - "%2$s" + - "Popraw to przed rozpoczeciem!" + generic: + - "Wystapil blad podczas ladowania konfiguracji." + - "Prosze zglos to do Terra." +warning: + no-population: "Chunki populacyjne nie zostaly zaladowane. Jezeli to jest pierwszy raz kiedy wlaczasz serwer z Terra, lub tworzysz nowy swiat, to jest normalne." +error: + severe-config: "Powazne bledy konfiguracji zablokowaly generowanie terenu na koordynatach: %1$s, %2$s. Prosze sprawdz konfiguracyje w poszukiwaniu bledow. Wszelkie bledy konfiguracyjne zostaly zgloszone powyzej." +debug: + data-save: "Zapisane dane dla swiata \"%s\"" +use-paper: + - "Wyglada na to ze dalej korzystasz z Spigot/CraftBukkit." + - "Terra &odziala&r na Spigotcie, niektore funkcje moga byc stracone. (Terra nie jest przetestowana na CraftBukkit; wiec nie wspieramy CraftBukkit)." + - "Aby wycisnac jak najwiecej z Terra, prosze przejdz na Paper." + - "Ponadto, Paper oferuje ulepszona wydajnosc wzgledem Spigota, a wszystkie pluginy z Spigota powinny dzialac na Paperze!" + - "Dla jak najlepszych doswiadczen z Terra, i wszystkimi twoimi pluginami, przejdz na Papera." - "Dowiedz sie wiecej o Paperze na ich stronie: https://papermc.io/" \ No newline at end of file diff --git a/src/main/resources/lang/zh_cn.yml b/src/main/resources/lang/zh_cn.yml index f72c8b505..6eb215fb3 100644 --- a/src/main/resources/lang/zh_cn.yml +++ b/src/main/resources/lang/zh_cn.yml @@ -5,12 +5,12 @@ enable: disable: - "感谢使用Terra!" command: - player-only: "该指令只能由玩家使用!" - terra-world: "该指令只能在Terra世界内使用!" - invalid: "无效的指令。(应有%1$s项参数,现在只有%2$s项)。" + player-only: "该指令只能由玩家使用!" + terra-world: "该指令只能在Terra世界内使用!" + invalid: "无效的指令。(应有%1$s项参数,现在只有%2$s项)。" players-only: "指令只能由玩家使用。" - world: "该指令只能在Terra世界内使用!" - reload: "重载Terra配置。" + world: "该指令只能在Terra世界内使用!" + reload: "重载Terra配置。" main-menu: - "--------------------Terra--------------------" - "reload - 重载配置数据" @@ -21,17 +21,17 @@ command: - "profile - 分析工具选项" - "image - 图像/GUI 选项" biome: - biome-found: "群系位于(%1$s, %2$s)" + biome-found: "群系位于(%1$s, %2$s)" unable-to-locate: "无法定位群系。" - invalid-radius: "无效范围:\"%s\"" - invalid: "无效的群系ID: \"%s\"" - in: "你位于\"%s\"" + invalid-radius: "无效范围:\"%s\"" + invalid: "无效的群系ID: \"%s\"" + in: "你位于\"%s\"" ore: main-menu: - "---------------Terra/矿物---------------" - "在你所视位置生成矿脉。" out-of-range: "所视方块超出范围" - invalid-ore: "找不到矿物 \"%s\"" + invalid-ore: "找不到矿物 \"%s\"" geometry: main-menu: - "---------------Terra/几何----------------" @@ -40,8 +40,8 @@ command: - "deformsphere - 生成变形球体" - "tube - 生成管形" deform: - invalid-radius: "无效范围:\"%s\"" - invalid-deform: "无效变形:\"%s\"" + invalid-radius: "无效范围:\"%s\"" + invalid-deform: "无效变形:\"%s\"" invalid-frequency: "无效频率:\"%s\"" sphere: invalid-radius: "无效范围:\"%s\"" @@ -77,14 +77,14 @@ command: - "export - 导出你当前的WorldEdit选区为Terra的建筑。" - "load - 加载Terra的建筑。" invalid-radius: "无效范围:\"%s\"" - invalid: "无效建筑ID:\"%s\"" - export: "已将建筑保存为\"%s\"" + invalid: "无效建筑ID:\"%s\"" + export: "已将建筑保存为\"%s\"" world-config: - loading: "正在加载世界%s配置数值……" - not-found: "找不到世界\"%s\"的配置。正应用默认配置。" + loading: "正在加载世界%s配置数值……" + not-found: "找不到世界\"%s\"的配置。正应用默认配置。" using-image: "加载图像中" - error: "无法加载世界%s的配置" - done: "加载世界完成。耗时:%sms" + error: "无法加载世界%s的配置" + done: "加载世界完成。耗时:%sms" config-pack: loaded: "已加载配置%1$s,耗时%2$sms。" config: diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 4cf39c40c..ff9a48d83 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,17 +1,17 @@ -name: "Terra" +name: "Terra" depend: [ "Gaea" ] -main: "com.dfsek.terra.Terra" -version: "1.1.1-BETA" -load: "STARTUP" +main: "com.dfsek.terra.Terra" +version: "1.1.1-BETA" +load: "STARTUP" api-version: "1.16" softdepend: [ "WorldEdit" ] commands: terra: description: "Terra base command" - usage: "/terra " + usage: "/terra " aliases: [ "te" ] - permission: "terra.command" + permission: "terra.command" locate: description: "Locate a Terra Structure" - usage: "/locate " - permission: "terra.locate" \ No newline at end of file + usage: "/locate " + permission: "terra.locate" \ No newline at end of file diff --git a/src/test/java/DistributionTest.java b/src/test/java/DistributionTest.java index 67bf8a887..0c25823e8 100644 --- a/src/test/java/DistributionTest.java +++ b/src/test/java/DistributionTest.java @@ -1,10 +1,11 @@ +import org.junit.jupiter.api.Test; import org.polydev.gaea.math.FastNoiseLite; -public class DistributionTest { +class DistributionTest { private static final double[] normalMap = new double[] {-0.8408907651901245D, -0.8200346231460571D, -0.8070776462554932D, -0.7970088720321655D, -0.7890776991844177D, -0.7819743156433105D, -0.7759857773780823D, -0.7706204056739807D, -0.765608549118042D, -0.7611993551254272D, -0.7569039463996887D, -0.7528656125068665D, -0.7492497563362122D, -0.7458332777023315D, -0.7424643039703369D, -0.7392163872718811D, -0.736059844493866D, -0.7332375049591064D, -0.7305010557174683D, -0.7277776598930359D, -0.7251102924346924D, -0.7227165699005127D, -0.7203239798545837D, -0.7179931998252869D, -0.7157421112060547D, -0.7135322690010071D, -0.71131432056427D, -0.7092097997665405D, -0.7071162462234497D, -0.7050217390060425D, -0.703119695186615D, -0.7011850476264954D, -0.6992706060409546D, -0.6974170207977295D, -0.6955324411392212D, -0.6937324404716492D, -0.6919872760772705D, -0.690233588218689D, -0.6885692477226257D, -0.6869722008705139D, -0.6852975487709045D, -0.683682382106781D, -0.6821723580360413D, -0.6806833744049072D, -0.679179310798645D, -0.6776503324508667D, -0.676136314868927D, -0.6746450662612915D, -0.6731522083282471D, -0.6717588305473328D, -0.6702994704246521D, -0.6689524054527283D, -0.6675862073898315D, -0.6662633419036865D, -0.6649606823921204D, -0.6636543273925781D, -0.6623714566230774D, -0.6610865592956543D, -0.6598274111747742D, -0.6585804224014282D, -0.6573819518089294D, -0.6561920642852783D, -0.6549379825592041D, -0.6537073254585266D, -0.6525376439094543D, -0.6513495445251465D, -0.650168240070343D, -0.649040162563324D, -0.6479091048240662D, -0.6467820405960083D, -0.6456737518310547D, -0.6445609331130981D, -0.6434952020645142D, -0.6424031257629395D, -0.6413089632987976D, -0.640256941318512D, -0.6391684412956238D, -0.638137936592102D, -0.6371254324913025D, -0.6361099481582642D, -0.6350630521774292D, -0.6339953541755676D, -0.6330388188362122D, -0.632024347782135D, -0.6310704946517944D, -0.6300620436668396D, -0.6290494799613953D, -0.6280747056007385D, -0.6271024346351624D, -0.6261362433433533D, -0.6251688599586487D, -0.6242944002151489D, -0.6233505606651306D, -0.622406542301178D, -0.6214921474456787D, -0.6205630302429199D, -0.619683563709259D, -0.6187522411346436D, -0.6178513169288635D, -0.6170046925544739D, -0.6161392331123352D, -0.615269660949707D, -0.6144152879714966D, -0.6135557293891907D, -0.6127009391784668D, -0.6117991209030151D, -0.6109536290168762D, -0.6101033091545105D, -0.6092590689659119D, -0.6084139347076416D, -0.6075553894042969D, -0.6067432165145874D, -0.6058894991874695D, -0.6050370335578918D, -0.6042441725730896D, -0.6034530401229858D, -0.6026210784912109D, -0.6018084287643433D, -0.6010326743125916D, -0.6002528071403503D, -0.5994450449943542D, -0.5986629128456116D, -0.5978666543960571D, -0.5971032977104187D, -0.5963031649589539D, -0.5955566167831421D, -0.5947844982147217D, -0.5940142869949341D, -0.5932715535163879D, -0.5925368666648865D, -0.5917928218841553D, -0.591031014919281D, -0.5903055667877197D, -0.5895851850509644D, -0.5888315439224243D, -0.5880893468856812D, -0.5873630046844482D, -0.5866444110870361D, -0.5859208106994629D, -0.5852057933807373D, -0.5844889879226685D, -0.5837893486022949D, -0.5830587148666382D, -0.582359254360199D, -0.5816157460212708D, -0.5809139013290405D, -0.5802302956581116D, -0.5795474052429199D, -0.5788565874099731D, -0.5781614184379578D, -0.5774743556976318D, -0.5767905712127686D, -0.5760961771011353D, -0.5754467248916626D, -0.5747898817062378D, -0.5741211175918579D, -0.5734619498252869D, -0.5728112459182739D, -0.5721414089202881D, -0.5714717507362366D, -0.5708272457122803D, -0.5701769590377808D, -0.5695428252220154D, -0.568885087966919D, -0.5682525038719177D, -0.5675948262214661D, -0.5669249296188354D, -0.5663014054298401D, -0.5656630992889404D, -0.5650165677070618D, -0.5643728971481323D, -0.5637710094451904D, -0.5631371736526489D, -0.562507152557373D, -0.5618733167648315D, -0.5612503290176392D, -0.560631513595581D, -0.5600159168243408D, -0.559416651725769D, -0.5587995052337646D, -0.5581864714622498D, -0.5575871467590332D, -0.556957483291626D, -0.5563494563102722D, -0.555757999420166D, -0.5551457405090332D, -0.5545571446418762D, -0.5539442300796509D, -0.5533522367477417D, -0.5527352094650269D, -0.5521476864814758D, -0.5515644550323486D, -0.5509964823722839D, -0.550428032875061D, -0.5498668551445007D, -0.5492658615112305D, -0.5486577749252319D, -0.5480945110321045D, -0.5475296378135681D, -0.5469772815704346D, -0.5463858246803284D, -0.5458088517189026D, -0.545259952545166D, -0.5447098016738892D, -0.5441542863845825D, -0.5436179041862488D, -0.5430275201797485D, -0.5424584746360779D, -0.5419116616249084D, -0.5413541197776794D, -0.5408090353012085D, -0.5402546525001526D, -0.5396901369094849D, -0.539120078086853D, -0.5385692715644836D, -0.5380025506019592D, -0.5374376773834229D, -0.5369035601615906D, -0.5363785624504089D, -0.5358348488807678D, -0.5352905988693237D, -0.5347356796264648D, -0.5341591238975525D, -0.5336212515830994D, -0.5330695509910583D, -0.5325397849082947D, -0.5319978594779968D, -0.5314696431159973D, -0.530921220779419D, -0.530373752117157D, -0.5298687219619751D, -0.529342770576477D, -0.5288130044937134D, -0.5282856822013855D, -0.5277521014213562D, -0.5272186994552612D, -0.526702880859375D, -0.5261659026145935D, -0.5256563425064087D, -0.5251585245132446D, -0.524644136428833D, -0.5240897536277771D, -0.5235958695411682D, -0.5230914354324341D, -0.5225777626037598D, -0.5220786929130554D, -0.5215602517127991D, -0.5210496187210083D, -0.5205234885215759D, -0.5199909210205078D, -0.5194736123085022D, -0.5189557075500488D, -0.5184388160705566D, -0.517956018447876D, -0.5174460411071777D, -0.5169391632080078D, -0.5164353251457214D, -0.5159274935722351D, -0.5154002904891968D, -0.5149046778678894D, -0.5143994092941284D, -0.5139294862747192D, -0.5134499669075012D, -0.5129679441452026D, -0.5124912261962891D, -0.511996328830719D, -0.5114986300468445D, -0.5110247135162354D, -0.5105308294296265D, -0.5100609064102173D, -0.5095614194869995D, -0.5090870261192322D, -0.5085906982421875D, -0.5081197619438171D, -0.5076301097869873D, -0.507135808467865D, -0.5066789388656616D, -0.5062170624732971D, -0.5057358145713806D, -0.5052729845046997D, -0.5048062205314636D, -0.5043444037437439D, -0.5038503408432007D, -0.5033678412437439D, -0.5029129981994629D, -0.5024451017379761D, -0.5019713640213013D, -0.501503586769104D, -0.5010541677474976D, -0.500596284866333D, -0.5001118183135986D, -0.49962663650512695D, -0.4991636574268341D, -0.49869197607040405D, -0.4982263445854187D, -0.4977402091026306D, -0.49727755784988403D, -0.496805876493454D, -0.49637076258659363D, -0.4958948493003845D, -0.49544137716293335D, -0.49501892924308777D, -0.4945528209209442D, -0.49409356713294983D, -0.49364787340164185D, -0.49319401383399963D, -0.49275630712509155D, -0.4923110902309418D, -0.4918690621852875D, -0.49141621589660645D, -0.49096524715423584D, -0.4905273914337158D, -0.4900781512260437D, -0.48962411284446716D, -0.4891759753227234D, -0.48872804641723633D, -0.4882771670818329D, -0.48784005641937256D, -0.48739326000213623D, -0.48694151639938354D, -0.48648712038993835D, -0.48605871200561523D, -0.4856131374835968D, -0.4851803183555603D, -0.4847318232059479D, -0.4842924177646637D, -0.48386046290397644D, -0.4834265112876892D, -0.4829675257205963D, -0.482522189617157D, -0.4820839762687683D, -0.48165363073349D, -0.4812239706516266D, -0.4807860255241394D, -0.4803447425365448D, -0.4798981845378876D, -0.4794575572013855D, -0.4790170192718506D, -0.47858935594558716D, -0.4781353175640106D, -0.477681040763855D, -0.477261483669281D, -0.4768490791320801D, -0.4764252305030823D, -0.47600477933883667D, -0.47555917501449585D, -0.4751377999782562D, -0.47470518946647644D, -0.47426924109458923D, -0.4738460183143616D, -0.47342449426651D, -0.4730163812637329D, -0.4726114571094513D, -0.4721759557723999D, -0.4717848598957062D, -0.4713689088821411D, -0.4709392488002777D, -0.47049304842948914D, -0.4700826108455658D, -0.4696255028247833D, -0.46921586990356445D, -0.46877801418304443D, -0.46836233139038086D, -0.46794429421424866D, -0.46752703189849854D, -0.4670995771884918D, -0.4666939377784729D, -0.46625566482543945D, -0.4658403992652893D, -0.4654417932033539D, -0.465023398399353D, -0.46460986137390137D, -0.46419557929039D, -0.46378859877586365D, -0.46336546540260315D, -0.46295180916786194D, -0.4625388979911804D, -0.46212026476860046D, -0.4617091715335846D, -0.46131056547164917D, -0.46089276671409607D, -0.4604875445365906D, -0.46008041501045227D, -0.4596766233444214D, -0.4592905044555664D, -0.45886731147766113D, -0.4584708511829376D, -0.458060622215271D, -0.457650750875473D, -0.4572262763977051D, -0.45681101083755493D, -0.4564330577850342D, -0.4560151696205139D, -0.4556240141391754D, -0.4552316963672638D, -0.4548242688179016D, -0.4544048309326172D, -0.4539957046508789D, -0.45359495282173157D, -0.4532042443752289D, -0.4528181552886963D, -0.4524168372154236D, -0.4519919157028198D, -0.4515584409236908D, -0.45118191838264465D, -0.45078909397125244D, -0.4504043459892273D, -0.4500110447406769D, -0.44961291551589966D, -0.44922786951065063D, -0.4488254189491272D, -0.448411762714386D, -0.44801002740859985D, -0.4476070702075958D, -0.4472062289714813D, -0.44680875539779663D, -0.44641414284706116D, -0.44601938128471375D, -0.4456106126308441D, -0.4452301263809204D, -0.44483858346939087D, -0.44447171688079834D, -0.44407233595848083D, -0.44368883967399597D, -0.44329920411109924D, -0.4429243206977844D, -0.4425082802772522D, -0.4421197474002838D, -0.4417261481285095D, -0.4413236379623413D, -0.44093117117881775D, -0.4405667185783386D, -0.4401840567588806D, -0.43980535864830017D, -0.43940675258636475D, -0.439028263092041D, -0.43865975737571716D, -0.4382753372192383D, -0.43788960576057434D, -0.4374869465827942D, -0.4371262192726135D, -0.4367597997188568D, -0.43636399507522583D, -0.4359838366508484D, -0.4355921745300293D, -0.4352045953273773D, -0.43481752276420593D, -0.4344243109226227D, -0.4340437948703766D, -0.433651864528656D, -0.43328702449798584D, -0.43291205167770386D, -0.43252551555633545D, -0.4321480095386505D, -0.4317898750305176D, -0.4314233064651489D, -0.43104124069213867D, -0.43066880106925964D, -0.430292546749115D, -0.4299023747444153D, -0.4295300245285034D, -0.42915427684783936D, -0.4287806749343872D, -0.42839178442955017D, -0.4280126392841339D, -0.427650511264801D, -0.4272746443748474D, -0.426890105009079D, -0.4265204966068268D, -0.4261537194252014D, -0.42576107382774353D, -0.4253731369972229D, -0.4249960482120514D, -0.424624502658844D, -0.424255907535553D, -0.42388004064559937D, -0.42350152134895325D, -0.42311522364616394D, -0.4227565824985504D, -0.42240461707115173D, -0.4220307767391205D, -0.4216674268245697D, -0.42131006717681885D, -0.420943945646286D, -0.4205697178840637D, -0.42019638419151306D, -0.41983455419540405D, -0.4194658100605011D, -0.4190995693206787D, -0.41873085498809814D, -0.4183567464351654D, -0.4179975688457489D, -0.4176383316516876D, -0.41729846596717834D, -0.41692838072776794D, -0.41655758023262024D, -0.41620612144470215D, -0.4158278703689575D, -0.4154700040817261D, -0.4151083528995514D, -0.4147477149963379D, -0.4143727421760559D, -0.41399645805358887D, -0.41361644864082336D, -0.41325125098228455D, -0.4128910303115845D, -0.4125325381755829D, -0.412177711725235D, -0.41182252764701843D, -0.41146835684776306D, -0.411092609167099D, -0.4107370972633362D, -0.41037485003471375D, -0.41001537442207336D, -0.40966421365737915D, -0.4093012511730194D, -0.40894198417663574D, -0.40859392285346985D, -0.4082479178905487D, -0.4078933000564575D, -0.4075292944908142D, -0.40716227889060974D, -0.4068087041378021D, -0.4064478874206543D, -0.406091570854187D, -0.40573540329933167D, -0.40538454055786133D, -0.40504181385040283D, -0.4047034680843353D, -0.4043614864349365D, -0.40400779247283936D, -0.4036547839641571D, -0.4032823443412781D, -0.4029378592967987D, -0.4025970697402954D, -0.402246356010437D, -0.40188851952552795D, -0.40156131982803345D, -0.40120363235473633D, -0.4008401036262512D, -0.40048736333847046D, -0.4001263976097107D, -0.39976367354393005D, -0.39942193031311035D, -0.3990681767463684D, -0.3987242877483368D, -0.398363322019577D, -0.39801621437072754D, -0.39766016602516174D, -0.39731889963150024D, -0.39698633551597595D, -0.39662742614746094D, -0.39628860354423523D, -0.39593571424484253D, -0.395590215921402D, -0.3952309787273407D, -0.3948807716369629D, -0.39455100893974304D, -0.3942095935344696D, -0.39386501908302307D, -0.3935443162918091D, -0.3931947946548462D, -0.39285120368003845D, -0.3925047814846039D, -0.39214301109313965D, -0.39179378747940063D, -0.3914482891559601D, -0.39108943939208984D, -0.3907601833343506D, -0.3904222249984741D, -0.3900834023952484D, -0.38973814249038696D, -0.3894020617008209D, -0.38905972242355347D, -0.38871514797210693D, -0.3883773684501648D, -0.3880293369293213D, -0.3876887559890747D, -0.38734734058380127D, -0.386979341506958D, -0.38662150502204895D, -0.38627174496650696D, -0.3859280049800873D, -0.38558584451675415D, -0.3852563500404358D, -0.3849097490310669D, -0.38456815481185913D, -0.38420337438583374D, -0.38386270403862D, -0.38352808356285095D, -0.3831936717033386D, -0.3828587532043457D, -0.3825334906578064D, -0.3822133243083954D, -0.38188061118125916D, -0.3815428614616394D, -0.3812029957771301D, -0.38088124990463257D, -0.38053950667381287D, -0.38019588589668274D, -0.37985116243362427D, -0.3795320689678192D, -0.379200279712677D, -0.37889277935028076D, -0.37856200337409973D, -0.3782331347465515D, -0.3779050409793854D, -0.3775690197944641D, -0.3772413730621338D, -0.3769242763519287D, -0.3765946924686432D, -0.37626904249191284D, -0.3759467601776123D, -0.37560951709747314D, -0.3752872347831726D, -0.37494587898254395D, -0.3746064007282257D, -0.3742677569389343D, -0.3739333748817444D, -0.3736076056957245D, -0.37326452136039734D, -0.37293750047683716D, -0.3725985884666443D, -0.3722609877586365D, -0.37193018198013306D, -0.3715952932834625D, -0.3712655007839203D, -0.3709229826927185D, -0.3705999255180359D, -0.37027597427368164D, -0.369951069355011D, -0.3696173429489136D, -0.3692963123321533D, -0.36897599697113037D, -0.36867132782936096D, -0.3683592677116394D, -0.3680408298969269D, -0.3677233159542084D, -0.367404967546463D, -0.36708003282546997D, -0.36677178740501404D, -0.3664388358592987D, -0.36611905694007874D, -0.3658014237880707D, -0.36547884345054626D, -0.3651513159275055D, -0.36481767892837524D, -0.3644823729991913D, -0.364155650138855D, -0.36383169889450073D, -0.36351490020751953D, -0.3631979823112488D, -0.3628738224506378D, -0.36254048347473145D, -0.3622121512889862D, -0.3618980348110199D, -0.3615726828575134D, -0.3612515330314636D, -0.3609353005886078D, -0.36061736941337585D, -0.36030900478363037D, -0.3599989712238312D, -0.3596540689468384D, -0.35933634638786316D, -0.35900697112083435D, -0.3586837351322174D, -0.35836634039878845D, -0.3580488860607147D, -0.35772836208343506D, -0.3574066162109375D, -0.3570963144302368D, -0.3567792475223541D, -0.356449693441391D, -0.35615187883377075D, -0.3558260202407837D, -0.3555348217487335D, -0.3552199602127075D, -0.3548942804336548D, -0.3545764684677124D, -0.35425788164138794D, -0.3539428114891052D, -0.3536147177219391D, -0.35328033566474915D, -0.3529603183269501D, -0.3526480793952942D, -0.35232388973236084D, -0.35200271010398865D, -0.35168105363845825D, -0.35135796666145325D, -0.3510427176952362D, -0.3507138788700104D, -0.35040056705474854D, -0.3500818610191345D, -0.34976863861083984D, -0.34945595264434814D, -0.34914907813072205D, -0.3488360345363617D, -0.34851935505867004D, -0.3481927514076233D, -0.3478827476501465D, -0.3475636839866638D, -0.34725847840309143D, -0.3469395339488983D, -0.34662553668022156D, -0.34631386399269104D, -0.3460105359554291D, -0.3456878960132599D, -0.345344603061676D, -0.34503841400146484D, -0.3447076678276062D, -0.344401091337204D, -0.3441048264503479D, -0.3437953293323517D, -0.343493789434433D, -0.34316104650497437D, -0.34285077452659607D, -0.3425139784812927D, -0.34221309423446655D, -0.341905802488327D, -0.3415932357311249D, -0.3412908911705017D, -0.34100088477134705D, -0.34069502353668213D, -0.3403867483139038D, -0.3400827944278717D, -0.3397866189479828D, -0.3394818603992462D, -0.33916914463043213D, -0.3388570249080658D, -0.3385341763496399D, -0.33820855617523193D, -0.3379049599170685D, -0.3375984728336334D, -0.33730369806289673D, -0.33700433373451233D, -0.33670154213905334D, -0.33638641238212585D, -0.33607667684555054D, -0.33575505018234253D, -0.3354572057723999D, -0.3351454734802246D, -0.3348299264907837D, -0.334527850151062D, -0.3342225253582001D, -0.33391332626342773D, -0.3336237072944641D, -0.3332982063293457D, -0.3329954445362091D, -0.3326762020587921D, -0.3323662281036377D, -0.3320602774620056D, -0.33175498247146606D, -0.3314487636089325D, -0.33115020394325256D, -0.330841064453125D, -0.3305378258228302D, -0.3302415609359741D, -0.329933226108551D, -0.329643577337265D, -0.32934796810150146D, -0.32905206084251404D, -0.3287571668624878D, -0.328460156917572D, -0.32815226912498474D, -0.3278505206108093D, -0.3275279998779297D, -0.32723256945610046D, -0.3269461989402771D, -0.3266374468803406D, -0.32633867859840393D, -0.32603901624679565D, -0.32573506236076355D, -0.3254241645336151D, -0.3251294791698456D, -0.3248370289802551D, -0.32453545928001404D, -0.3242391347885132D, -0.32394152879714966D, -0.32363662123680115D, -0.32332345843315125D, -0.323017418384552D, -0.32272642850875854D, -0.32241278886795044D, -0.32211995124816895D, -0.321819007396698D, -0.3215320408344269D, -0.3212323486804962D, -0.3209359347820282D, -0.3206302225589752D, -0.32032862305641174D, -0.3200341463088989D, -0.3197453022003174D, -0.31943413615226746D, -0.31913426518440247D, -0.3188168704509735D, -0.3185330033302307D, -0.3182430863380432D, -0.3179488778114319D, -0.3176538050174713D, -0.31735554337501526D, -0.3170680105686188D, -0.3167757987976074D, -0.3164826035499573D, -0.3161925673484802D, -0.31590309739112854D, -0.3156057894229889D, -0.3153114318847656D, -0.3150043487548828D, -0.3147113621234894D, -0.3144054412841797D, -0.3141002655029297D, -0.3138138949871063D, -0.3135177195072174D, -0.3132264018058777D, -0.31294235587120056D, -0.3126477599143982D, -0.3123481869697571D, -0.31204888224601746D, -0.3117561936378479D, -0.3114587366580963D, -0.3111598491668701D, -0.31085237860679626D, -0.31057536602020264D, -0.31028178334236145D, -0.30997639894485474D, -0.30967190861701965D, -0.30936843156814575D, -0.30909404158592224D, -0.3088019788265228D, -0.30850961804389954D, -0.3082248866558075D, -0.3079489469528198D, -0.3076601028442383D, -0.3073663115501404D, -0.30707186460494995D, -0.306782066822052D, -0.3064883351325989D, -0.3061949610710144D, -0.30590012669563293D, -0.30561313033103943D, -0.3053309917449951D, -0.3050406575202942D, -0.304754376411438D, -0.30446040630340576D, -0.3041768968105316D, -0.3038821816444397D, -0.3035893738269806D, -0.30328431725502014D, -0.3030011057853699D, -0.3027121424674988D, -0.3024280369281769D, -0.30212947726249695D, -0.3018357753753662D, -0.30154919624328613D, -0.30126914381980896D, -0.30098485946655273D, -0.30068662762641907D, -0.30040308833122253D, -0.30009666085243225D, -0.2998005747795105D, -0.2994982898235321D, -0.29921627044677734D, -0.29892295598983765D, -0.2986327111721039D, -0.29834234714508057D, -0.2980586290359497D, -0.29778116941452026D, -0.2974989116191864D, -0.29720795154571533D, -0.2969287931919098D, -0.2966563403606415D, -0.2963668704032898D, -0.2960667610168457D, -0.29577767848968506D, -0.29548513889312744D, -0.29519715905189514D, -0.29489442706108093D, -0.2946091890335083D, -0.2943197190761566D, -0.29404720664024353D, -0.2937503457069397D, -0.2934649586677551D, -0.2931755483150482D, -0.29288724064826965D, -0.29261279106140137D, -0.29232826828956604D, -0.29203593730926514D, -0.2917509078979492D, -0.291476309299469D, -0.2911933362483978D, -0.29089832305908203D, -0.29060450196266174D, -0.29032155871391296D, -0.2900330424308777D, -0.28975367546081543D, -0.28948378562927246D, -0.28919175267219543D, -0.28892582654953003D, -0.28864026069641113D, -0.28835973143577576D, -0.28808465600013733D, -0.28779277205467224D, -0.2875235378742218D, -0.287244975566864D, -0.2869555354118347D, -0.28667202591896057D, -0.2863847613334656D, -0.28609588742256165D, -0.28580570220947266D, -0.28554603457450867D, -0.2852514386177063D, -0.2849790155887604D, -0.28469184041023254D, -0.28441160917282104D, -0.2841390371322632D, -0.2838601768016815D, -0.2835925221443176D, -0.28331464529037476D, -0.28303512930870056D, -0.28274592757225037D, -0.28246626257896423D, -0.28217896819114685D, -0.28188076615333557D, -0.28161147236824036D, -0.2813378572463989D, -0.2810610234737396D, -0.2807842195034027D, -0.2804943323135376D, -0.28019919991493225D, -0.2799144983291626D, -0.27964210510253906D, -0.2793615162372589D, -0.2790962755680084D, -0.27882760763168335D, -0.27854248881340027D, -0.27825871109962463D, -0.2779737710952759D, -0.2777007222175598D, -0.27742964029312134D, -0.27714890241622925D, -0.27688339352607727D, -0.2765926122665405D, -0.2763076424598694D, -0.2760260999202728D, -0.2757579982280731D, -0.27548402547836304D, -0.2751961052417755D, -0.274922251701355D, -0.2746416926383972D, -0.27436795830726624D, -0.2740943133831024D, -0.2738019824028015D, -0.27353906631469727D, -0.27326154708862305D, -0.2729891836643219D, -0.27270472049713135D, -0.27243277430534363D, -0.2721635699272156D, -0.2718750536441803D, -0.2715913951396942D, -0.27133479714393616D, -0.2710684835910797D, -0.2707928419113159D, -0.2705102860927582D, -0.2702246606349945D, -0.26995614171028137D, -0.269681841135025D, -0.26940596103668213D, -0.26912009716033936D, -0.26884424686431885D, -0.2685716450214386D, -0.2682885527610779D, -0.2680133283138275D, -0.2677347660064697D, -0.26747408509254456D, -0.2672025263309479D, -0.26692694425582886D, -0.2666434049606323D, -0.2663731873035431D, -0.26609575748443604D, -0.2658277153968811D, -0.265566885471344D, -0.2652873694896698D, -0.265009343624115D, -0.2647358775138855D, -0.26447242498397827D, -0.2642005383968353D, -0.2639273405075073D, -0.26365959644317627D, -0.26338252425193787D, -0.26311179995536804D, -0.2628440260887146D, -0.26257866621017456D, -0.2623051702976227D, -0.2620226740837097D, -0.26175981760025024D, -0.2614777684211731D, -0.26120269298553467D, -0.2609373927116394D, -0.2606671154499054D, -0.26038432121276855D, -0.2601143717765808D, -0.25984737277030945D, -0.2595686912536621D, -0.2592966556549072D, -0.25902673602104187D, -0.25875210762023926D, -0.25847649574279785D, -0.25820842385292053D, -0.2579323947429657D, -0.25765854120254517D, -0.2574003040790558D, -0.25713491439819336D, -0.2568623721599579D, -0.25658881664276123D, -0.2563152313232422D, -0.25604572892189026D, -0.2557758390903473D, -0.2554943561553955D, -0.25521519780158997D, -0.25494012236595154D, -0.2546757459640503D, -0.2544080913066864D, -0.25414639711380005D, -0.253864049911499D, -0.2535991072654724D, -0.25332823395729065D, -0.25306326150894165D, -0.25280603766441345D, -0.2525345981121063D, -0.25226184725761414D, -0.2519981563091278D, -0.2517358958721161D, -0.2514859139919281D, -0.25121521949768066D, -0.2509450614452362D, -0.2506673038005829D, -0.25037816166877747D, -0.2501011788845062D, -0.24982967972755432D, -0.24956010282039642D, -0.24929192662239075D, -0.24902109801769257D, -0.24874456226825714D, -0.24847736954689026D, -0.2482159286737442D, -0.24794703722000122D, -0.24767209589481354D, -0.24741970002651215D, -0.24716982245445251D, -0.24689742922782898D, -0.24662908911705017D, -0.2463528960943222D, -0.2460920661687851D, -0.2458297461271286D, -0.2455553114414215D, -0.2452864646911621D, -0.24501584470272064D, -0.24475401639938354D, -0.24448587000370026D, -0.24422040581703186D, -0.24395723640918732D, -0.24368800222873688D, -0.24342411756515503D, -0.24315224587917328D, -0.2428782880306244D, -0.24262136220932007D, -0.2423519641160965D, -0.242094025015831D, -0.24183285236358643D, -0.24157416820526123D, -0.24128861725330353D, -0.2410109043121338D, -0.24074263870716095D, -0.24047909677028656D, -0.2402070164680481D, -0.23994535207748413D, -0.23968873918056488D, -0.23940715193748474D, -0.23913469910621643D, -0.23886923491954803D, -0.23860231041908264D, -0.23833289742469788D, -0.23806728422641754D, -0.23780885338783264D, -0.23753899335861206D, -0.23726941645145416D, -0.2369997203350067D, -0.23672956228256226D, -0.23645663261413574D, -0.23618397116661072D, -0.23593071103096008D, -0.23566082119941711D, -0.2354077845811844D, -0.2351534217596054D, -0.23488231003284454D, -0.2346220165491104D, -0.23435726761817932D, -0.2340918332338333D, -0.2338235080242157D, -0.2335655242204666D, -0.2333153784275055D, -0.23306378722190857D, -0.2328043133020401D, -0.23254400491714478D, -0.23228463530540466D, -0.2320064902305603D, -0.23174738883972168D, -0.23149773478507996D, -0.23124253749847412D, -0.23097634315490723D, -0.23071180284023285D, -0.23045700788497925D, -0.230192169547081D, -0.22991830110549927D, -0.22963789105415344D, -0.22937417030334473D, -0.22910505533218384D, -0.22883500158786774D, -0.2285711020231247D, -0.22831669449806213D, -0.2280465066432953D, -0.2277848720550537D, -0.22753745317459106D, -0.22728675603866577D, -0.22702650725841522D, -0.22676996886730194D, -0.22651082277297974D, -0.22624187171459198D, -0.22597870230674744D, -0.22570855915546417D, -0.22543907165527344D, -0.22518296539783478D, -0.22492025792598724D, -0.22467266023159027D, -0.22439832985401154D, -0.22413182258605957D, -0.2238631248474121D, -0.22359998524188995D, -0.22333964705467224D, -0.2230590581893921D, -0.22280718386173248D, -0.22254756093025208D, -0.22228197753429413D, -0.22201159596443176D, -0.22175270318984985D, -0.22150228917598724D, -0.22124618291854858D, -0.22099649906158447D, -0.22074392437934875D, -0.22047969698905945D, -0.22022272646427155D, -0.21997378766536713D, -0.2197091281414032D, -0.21945351362228394D, -0.2192097306251526D, -0.21894562244415283D, -0.21867841482162476D, -0.2184201329946518D, -0.2181641310453415D, -0.21789231896400452D, -0.21763677895069122D, -0.21738234162330627D, -0.2171180546283722D, -0.2168525755405426D, -0.21659737825393677D, -0.2163332849740982D, -0.21607044339179993D, -0.21581339836120605D, -0.21555018424987793D, -0.2152981460094452D, -0.21504613757133484D, -0.21478135883808136D, -0.21452942490577698D, -0.21428382396697998D, -0.21401828527450562D, -0.21376505494117737D, -0.2135121375322342D, -0.21325898170471191D, -0.21300353109836578D, -0.2127491533756256D, -0.21248602867126465D, -0.212227463722229D, -0.21197248995304108D, -0.211714506149292D, -0.21144689619541168D, -0.21119168400764465D, -0.21092993021011353D, -0.2106601893901825D, -0.2104104608297348D, -0.2101590931415558D, -0.2099045366048813D, -0.20964594185352325D, -0.209390327334404D, -0.20913049578666687D, -0.20888525247573853D, -0.20861712098121643D, -0.20835545659065247D, -0.20807304978370667D, -0.20782627165317535D, -0.20756679773330688D, -0.2073090374469757D, -0.20704127848148346D, -0.20678317546844482D, -0.20653437077999115D, -0.20627987384796143D, -0.2060208022594452D, -0.2057662308216095D, -0.20550277829170227D, -0.20525488257408142D, -0.20500688254833221D, -0.20475590229034424D, -0.204499751329422D, -0.20424525439739227D, -0.2039918303489685D, -0.20372796058654785D, -0.2034660130739212D, -0.20319855213165283D, -0.2029460072517395D, -0.20268212258815765D, -0.20242102444171906D, -0.20215927064418793D, -0.20190972089767456D, -0.2016443908214569D, -0.20138707756996155D, -0.20113015174865723D, -0.20087777078151703D, -0.20062702894210815D, -0.2003677785396576D, -0.20011863112449646D, -0.1998559683561325D, -0.19960248470306396D, -0.19935469329357147D, -0.19909074902534485D, -0.19882997870445251D, -0.19857299327850342D, -0.1983131766319275D, -0.1980532854795456D, -0.19780057668685913D, -0.19753916561603546D, -0.19728423655033112D, -0.1970248520374298D, -0.19676361978054047D, -0.19650912284851074D, -0.19625143706798553D, -0.19600039720535278D, -0.1957373321056366D, -0.19547948241233826D, -0.1952110230922699D, -0.19495542347431183D, -0.19469761848449707D, -0.19444851577281952D, -0.19418317079544067D, -0.19392995536327362D, -0.19367724657058716D, -0.19342119991779327D, -0.193157359957695D, -0.19289681315422058D, -0.19262950122356415D, -0.19238001108169556D, -0.19211608171463013D, -0.1918654441833496D, -0.19162078201770782D, -0.19136491417884827D, -0.19111116230487823D, -0.1908569037914276D, -0.19059760868549347D, -0.19035883247852325D, -0.19009436666965485D, -0.18983271718025208D, -0.18957246840000153D, -0.1893143355846405D, -0.18905536830425262D, -0.1888037919998169D, -0.18855144083499908D, -0.18828624486923218D, -0.18803848326206207D, -0.18779553472995758D, -0.18753254413604736D, -0.18728092312812805D, -0.18703658878803253D, -0.18677440285682678D, -0.1865210384130478D, -0.18627333641052246D, -0.1860176920890808D, -0.18575197458267212D, -0.18549758195877075D, -0.18524503707885742D, -0.18499478697776794D, -0.18474870920181274D, -0.18449726700782776D, -0.1842447966337204D, -0.18398450314998627D, -0.18373912572860718D, -0.18347981572151184D, -0.1832396537065506D, -0.1829894334077835D, -0.1827465295791626D, -0.1824868768453598D, -0.18223384022712708D, -0.181983083486557D, -0.18173179030418396D, -0.18149229884147644D, -0.18125100433826447D, -0.1810166984796524D, -0.18076547980308533D, -0.18052025139331818D, -0.18028059601783752D, -0.18003447353839874D, -0.17976894974708557D, -0.1795182228088379D, -0.17926038801670074D, -0.17900227010250092D, -0.17875243723392487D, -0.17849260568618774D, -0.1782395988702774D, -0.17798492312431335D, -0.17773054540157318D, -0.1774715632200241D, -0.17721407115459442D, -0.17695027589797974D, -0.17670336365699768D, -0.17644056677818298D, -0.17620298266410828D, -0.17594093084335327D, -0.17569057643413544D, -0.17543667554855347D, -0.17517289519309998D, -0.17491887509822845D, -0.17465627193450928D, -0.17440259456634521D, -0.17415493726730347D, -0.17391294240951538D, -0.17365816235542297D, -0.1734064668416977D, -0.1731625646352768D, -0.17290157079696655D, -0.1726544052362442D, -0.17240196466445923D, -0.1721460521221161D, -0.17188984155654907D, -0.17164205014705658D, -0.1714034527540207D, -0.17115624248981476D, -0.17089448869228363D, -0.17063680291175842D, -0.17039979994297028D, -0.17014959454536438D, -0.1698901206254959D, -0.16964471340179443D, -0.1694014072418213D, -0.16913889348506927D, -0.16887636482715607D, -0.16862861812114716D, -0.16837315261363983D, -0.1681090146303177D, -0.1678696870803833D, -0.16762171685695648D, -0.16737119853496552D, -0.1671179234981537D, -0.16687534749507904D, -0.16663305461406708D, -0.1663946509361267D, -0.16613495349884033D, -0.16588224470615387D, -0.16563618183135986D, -0.16538074612617493D, -0.1651364266872406D, -0.16490191221237183D, -0.16465792059898376D, -0.16440246999263763D, -0.16415110230445862D, -0.16390496492385864D, -0.16366207599639893D, -0.1634174883365631D, -0.16316935420036316D, -0.1629198044538498D, -0.16267001628875732D, -0.16242310404777527D, -0.16217178106307983D, -0.16191552579402924D, -0.16166867315769196D, -0.1614210307598114D, -0.1611790955066681D, -0.16093122959136963D, -0.1606772541999817D, -0.16043275594711304D, -0.16018515825271606D, -0.15993653237819672D, -0.1596994400024414D, -0.15944430232048035D, -0.15919804573059082D, -0.15895970165729523D, -0.1587119996547699D, -0.15847010910511017D, -0.15822650492191315D, -0.15797394514083862D, -0.15772566199302673D, -0.15748535096645355D, -0.15724743902683258D, -0.15699094533920288D, -0.15675128996372223D, -0.15649347007274628D, -0.15624989569187164D, -0.15599365532398224D, -0.15574221312999725D, -0.15548446774482727D, -0.15522776544094086D, -0.15496757626533508D, -0.1547342836856842D, -0.1544916033744812D, -0.15425007045269012D, -0.1540067493915558D, -0.15374967455863953D, -0.15350456535816193D, -0.15324702858924866D, -0.15298958122730255D, -0.15275487303733826D, -0.15251053869724274D, -0.152267724275589D, -0.15201044082641602D, -0.15175509452819824D, -0.151505246758461D, -0.15124619007110596D, -0.15099188685417175D, -0.1507432460784912D, -0.15049618482589722D, -0.15025031566619873D, -0.1499987542629242D, -0.14975327253341675D, -0.1495012789964676D, -0.14925517141819D, -0.14899614453315735D, -0.14874862134456635D, -0.14850221574306488D, -0.14825864136219025D, -0.14800988137722015D, -0.14776690304279327D, -0.14751356840133667D, -0.14725728332996368D, -0.14701828360557556D, -0.1467764675617218D, -0.14652809500694275D, -0.1462775468826294D, -0.14603087306022644D, -0.14578372240066528D, -0.1455492079257965D, -0.14530538022518158D, -0.1450677067041397D, -0.1448247730731964D, -0.14457790553569794D, -0.14433254301548004D, -0.14408448338508606D, -0.14383292198181152D, -0.14358893036842346D, -0.14333432912826538D, -0.14308729767799377D, -0.1428370475769043D, -0.14258548617362976D, -0.14234289526939392D, -0.14209994673728943D, -0.14185495674610138D, -0.14160139858722687D, -0.14135192334651947D, -0.14110565185546875D, -0.14085626602172852D, -0.14060232043266296D, -0.14035870134830475D, -0.14011816680431366D, -0.1398662030696869D, -0.1396220326423645D, -0.13937823474407196D, -0.1391391158103943D, -0.1388905644416809D, -0.13864193856716156D, -0.13839447498321533D, -0.13814809918403625D, -0.13790713250637054D, -0.1376522183418274D, -0.13741502165794373D, -0.13717547059059143D, -0.13693785667419434D, -0.13668829202651978D, -0.13643985986709595D, -0.1362117975950241D, -0.1359674036502838D, -0.13571487367153168D, -0.13547922670841217D, -0.13521651923656464D, -0.13495062291622162D, -0.1347016990184784D, -0.13445797562599182D, -0.13421109318733215D, -0.13394372165203094D, -0.13369591534137726D, -0.1334560066461563D, -0.13321466743946075D, -0.1329614669084549D, -0.13270504772663116D, -0.13244760036468506D, -0.13218137621879578D, -0.1319417953491211D, -0.13170531392097473D, -0.1314602643251419D, -0.13120467960834503D, -0.13096478581428528D, -0.1307184249162674D, -0.13046908378601074D, -0.1302255094051361D, -0.12998691201210022D, -0.12974600493907928D, -0.1295071542263031D, -0.1292717605829239D, -0.12903152406215668D, -0.12879106402397156D, -0.12854063510894775D, -0.12829795479774475D, -0.12804800271987915D, -0.1277998685836792D, -0.12754665315151215D, -0.12730130553245544D, -0.12706024944782257D, -0.12681734561920166D, -0.12656420469284058D, -0.12631171941757202D, -0.1260722577571869D, -0.12582357227802277D, -0.1255764663219452D, -0.12533816695213318D, -0.12509363889694214D, -0.12485770136117935D, -0.12460377812385559D, -0.12436322122812271D, -0.12412640452384949D, -0.12387391924858093D, -0.12363933771848679D, -0.12340278923511505D, -0.12317416071891785D, -0.12292548269033432D, -0.12268528342247009D, -0.12244031578302383D, -0.12219351530075073D, -0.12195321917533875D, -0.1217072457075119D, -0.12145407497882843D, -0.12118937075138092D, -0.12093839049339294D, -0.12068343162536621D, -0.12044784426689148D, -0.12020371109247208D, -0.1199624091386795D, -0.11971180886030197D, -0.11945878714323044D, -0.11921756714582443D, -0.11896989494562149D, -0.11871515214443207D, -0.11847058683633804D, -0.11823519319295883D, -0.1179933100938797D, -0.11774738132953644D, -0.11750373244285583D, -0.1172565147280693D, -0.11700785160064697D, -0.11676418781280518D, -0.11652734875679016D, -0.11627509444952011D, -0.11602754890918732D, -0.11577780544757843D, -0.11553701758384705D, -0.11528782546520233D, -0.11505863815546036D, -0.11480346322059631D, -0.11456599831581116D, -0.11431010812520981D, -0.11407358199357986D, -0.11383143067359924D, -0.11360126733779907D, -0.11336424946784973D, -0.1131257489323616D, -0.11287946999073029D, -0.11264096945524216D, -0.11240296065807343D, -0.11215709149837494D, -0.11191694438457489D, -0.11166784912347794D, -0.1114199161529541D, -0.11117790639400482D, -0.110927514731884D, -0.11067363619804382D, -0.11044003069400787D, -0.11019321531057358D, -0.10995994508266449D, -0.10971911251544952D, -0.10947442054748535D, -0.10922731459140778D, -0.10898025333881378D, -0.10874222218990326D, -0.10849777609109879D, -0.1082630529999733D, -0.10802622139453888D, -0.1077839732170105D, -0.10753330588340759D, -0.10729499161243439D, -0.1070358008146286D, -0.10678865760564804D, -0.10653838515281677D, -0.10629342496395111D, -0.10604272782802582D, -0.10579723864793777D, -0.10554585605859756D, -0.10529976338148117D, -0.10505616664886475D, -0.1048198938369751D, -0.10458079725503922D, -0.10433512926101685D, -0.10408937931060791D, -0.10384517908096313D, -0.10361005365848541D, -0.10336779057979584D, -0.1031176820397377D, -0.10287676751613617D, -0.10262610018253326D, -0.10237167030572891D, -0.10212275385856628D, -0.10188750922679901D, -0.10163980722427368D, -0.10139568150043488D, -0.10115278512239456D, -0.10089636594057083D, -0.10065758973360062D, -0.10040846467018127D, -0.10017679631710052D, -0.09993906319141388D, -0.09969222545623779D, -0.0994405448436737D, -0.099197156727314D, -0.09895378351211548D, -0.09871632605791092D, -0.09848727285861969D, -0.09823883324861526D, -0.09799803793430328D, -0.09774011373519897D, -0.09750278294086456D, -0.09725803881883621D, -0.0970136970281601D, -0.09676622599363327D, -0.09651307016611099D, -0.09627290070056915D, -0.09603053331375122D, -0.09578799456357956D, -0.09554785490036011D, -0.09530899673700333D, -0.09506220370531082D, -0.09481719136238098D, -0.09456701576709747D, -0.09431912004947662D, -0.09408935904502869D, -0.09383450448513031D, -0.09358792006969452D, -0.09333662688732147D, -0.09308815002441406D, -0.09284839779138565D, -0.09261038154363632D, -0.09236297011375427D, -0.09211356192827225D, -0.09187184274196625D, -0.09162575006484985D, -0.0913834348320961D, -0.09114708006381989D, -0.09090118110179901D, -0.09066314250230789D, -0.09040945768356323D, -0.09017443656921387D, -0.08994124084711075D, -0.089698925614357D, -0.08944778144359589D, -0.08919527381658554D, -0.08896385133266449D, -0.08871737867593765D, -0.08848631381988525D, -0.08825340867042542D, -0.08800895512104034D, -0.0877874493598938D, -0.08753707259893417D, -0.08728936314582825D, -0.08704547584056854D, -0.08680916577577591D, -0.08656804263591766D, -0.08632045984268188D, -0.08607527613639832D, -0.08583015948534012D, -0.08558361977338791D, -0.08533721417188644D, -0.08509048074483871D, -0.08485028147697449D, -0.08460789173841476D, -0.08436190336942673D, -0.08410844951868057D, -0.0838729739189148D, -0.08363857865333557D, -0.08339942991733551D, -0.0831519365310669D, -0.08291947841644287D, -0.0826779305934906D, -0.08242892473936081D, -0.08219455182552338D, -0.08195057511329651D, -0.08170703053474426D, -0.081464022397995D, -0.08122886717319489D, -0.08100023120641708D, -0.08075392991304398D, -0.0805170014500618D, -0.08027160912752151D, -0.08002904802560806D, -0.07978925108909607D, -0.07955169677734375D, -0.07930881530046463D, -0.0790669322013855D, -0.07882830500602722D, -0.0785798504948616D, -0.07833991944789886D, -0.07809559255838394D, -0.07786226272583008D, -0.0776219591498375D, -0.07737678289413452D, -0.07714521139860153D, -0.07691224664449692D, -0.07665777206420898D, -0.07641151547431946D, -0.07617313414812088D, -0.07592753320932388D, -0.07569229602813721D, -0.0754416435956955D, -0.07519475370645523D, -0.07494813203811646D, -0.0747164636850357D, -0.07448276877403259D, -0.07423548400402069D, -0.07399512827396393D, -0.07376088201999664D, -0.07351675629615784D, -0.07327954471111298D, -0.07303505390882492D, -0.07279020547866821D, -0.07253576070070267D, -0.07229600846767426D, -0.07204475998878479D, -0.07179662585258484D, -0.07155118137598038D, -0.07129927724599838D, -0.07106245309114456D, -0.07081857323646545D, -0.07056738436222076D, -0.07032652199268341D, -0.07008545845746994D, -0.06985671073198318D, -0.06962361931800842D, -0.06937389075756073D, -0.06912381947040558D, -0.06887900829315186D, -0.0686340481042862D, -0.06838493049144745D, -0.0681314691901207D, -0.06789498031139374D, -0.06765970587730408D, -0.06742730736732483D, -0.06719651073217392D, -0.06694657355546951D, -0.06670555472373962D, -0.06645660102367401D, -0.06621503829956055D, -0.06598034501075745D, -0.06574320793151855D, -0.06549137830734253D, -0.06525201350450516D, -0.06501458585262299D, -0.06479227542877197D, -0.06455428898334503D, -0.06431309133768082D, -0.06407991051673889D, -0.0638367235660553D, -0.06359873712062836D, -0.06334324926137924D, -0.06310774385929108D, -0.06286437809467316D, -0.06262777745723724D, -0.06237030401825905D, -0.0621323436498642D, -0.06189025938510895D, -0.061647746711969376D, -0.06140772998332977D, -0.06117217615246773D, -0.060926057398319244D, -0.06067296862602234D, -0.06043364480137825D, -0.06018991395831108D, -0.05995730683207512D, -0.05970904603600502D, -0.05945960804820061D, -0.059217669069767D, -0.05897081643342972D, -0.05872904509305954D, -0.05849192291498184D, -0.058252234011888504D, -0.058004919439554214D, -0.057772375643253326D, -0.057538487017154694D, -0.05728022754192352D, -0.05705133080482483D, -0.0568150132894516D, -0.05658133700489998D, -0.05634107068181038D, -0.05609507858753204D, -0.05584454536437988D, -0.05560510605573654D, -0.055361032485961914D, -0.05511125177145004D, -0.05486954376101494D, -0.0546349361538887D, -0.054383497685194016D, -0.054135002195835114D, -0.05389668419957161D, -0.05365772172808647D, -0.053429946303367615D, -0.05319244787096977D, -0.05295149236917496D, -0.05270173400640488D, -0.05245363712310791D, -0.052212126553058624D, -0.05197114497423172D, -0.05172385275363922D, -0.05147520452737808D, -0.05123189836740494D, -0.050989679992198944D, -0.05073939263820648D, -0.050494953989982605D, -0.050253815948963165D, -0.05001272261142731D, -0.04977148026227951D, -0.049528926610946655D, -0.0492960549890995D, -0.049062661826610565D, -0.04881996288895607D, -0.04857254773378372D, -0.04833959415555D, -0.04808736592531204D, -0.04785143956542015D, -0.04761652648448944D, -0.04738566651940346D, -0.047138575464487076D, -0.046896256506443024D, -0.04665457457304001D, -0.046410854905843735D, -0.046181485056877136D, -0.04594765976071358D, -0.045701175928115845D, -0.04545196518301964D, -0.04520288109779358D, -0.04497365653514862D, -0.04473564028739929D, -0.044497597962617874D, -0.04426290839910507D, -0.04401934891939163D, -0.04377321898937225D, -0.04354047775268555D, -0.04330435022711754D, -0.04306349903345108D, -0.04282412305474281D, -0.042600978165864944D, -0.04235575720667839D, -0.042125359177589417D, -0.0418863445520401D, -0.04164663329720497D, -0.041397858411073685D, -0.04115602374076843D, -0.04090924188494682D, -0.040665313601493835D, -0.040422823280096054D, -0.04018530994653702D, -0.03994182497262955D, -0.03970673680305481D, -0.039466261863708496D, -0.03923157975077629D, -0.03900260105729103D, -0.03876923769712448D, -0.03853490203619003D, -0.03827759623527527D, -0.038032952696084976D, -0.03779587149620056D, -0.03755195438861847D, -0.037318892776966095D, -0.0370723120868206D, -0.03683407977223396D, -0.03659613057971001D, -0.036354124546051025D, -0.03612060472369194D, -0.035871125757694244D, -0.0356329046189785D, -0.03540351986885071D, -0.03516382724046707D, -0.03492915630340576D, -0.03468974679708481D, -0.03444032371044159D, -0.03418684005737305D, -0.033952150493860245D, -0.0337207056581974D, -0.03348376974463463D, -0.03324819356203079D, -0.03300824016332626D, -0.03275500610470772D, -0.03251590207219124D, -0.032279904931783676D, -0.032043423503637314D, -0.031806062906980515D, -0.03156071901321411D, -0.03131228685379028D, -0.031079325824975967D, -0.030846213921904564D, -0.030607648193836212D, -0.030370527878403664D, -0.03013504482805729D, -0.02989460527896881D, -0.029653780162334442D, -0.02942124754190445D, -0.02915763482451439D, -0.02890888601541519D, -0.028668014332652092D, -0.02843261882662773D, -0.028197886422276497D, -0.027968186885118484D, -0.027727065607905388D, -0.027480654418468475D, -0.027245230972766876D, -0.027006402611732483D, -0.02677249163389206D, -0.02654179185628891D, -0.026293570175766945D, -0.026052728295326233D, -0.02581942081451416D, -0.025574829429388046D, -0.025324739515781403D, -0.02508126199245453D, -0.02484128810465336D, -0.024607401341199875D, -0.024367906153202057D, -0.024130383506417274D, -0.023888912051916122D, -0.023636002093553543D, -0.02339264750480652D, -0.023146748542785645D, -0.022916993126273155D, -0.022678110748529434D, -0.022439364343881607D, -0.02219318598508835D, -0.02194978855550289D, -0.02171243354678154D, -0.021477043628692627D, -0.02123437076807022D, -0.02098814956843853D, -0.02074434421956539D, -0.020506832748651505D, -0.020272759720683098D, -0.02004285529255867D, -0.019803741946816444D, -0.01955583691596985D, -0.019311942160129547D, -0.019074883311986923D, -0.018838535994291306D, -0.018599458038806915D, -0.018360331654548645D, -0.01811789721250534D, -0.01788494735956192D, -0.017648138105869293D, -0.017405608668923378D, -0.017160717397928238D, -0.016933269798755646D, -0.016701746731996536D, -0.016470860689878464D, -0.016230151057243347D, -0.01599072851240635D, -0.01574883423745632D, -0.015508405864238739D, -0.015284917317330837D, -0.01503007858991623D, -0.014800170436501503D, -0.01455119252204895D, -0.014315657317638397D, -0.014065643772482872D, -0.013827585615217686D, -0.013587378896772861D, -0.013347174972295761D, -0.013102564960718155D, -0.012854132801294327D, -0.012623535469174385D, -0.012376610189676285D, -0.012131456285715103D, -0.01189560629427433D, -0.011651847511529922D, -0.01142079383134842D, -0.011175703257322311D, -0.010937604121863842D, -0.010689251124858856D, -0.010437887161970139D, -0.010197514668107033D, -0.009952478110790253D, -0.009725537151098251D, -0.009491712786257267D, -0.009257838129997253D, -0.009027864784002304D, -0.008777694776654243D, -0.008550971746444702D, -0.00831599161028862D, -0.008069436997175217D, -0.007820136845111847D, -0.007574319839477539D, -0.007336270064115524D, -0.007096525281667709D, -0.006860194727778435D, -0.00662708654999733D, -0.006389433518052101D, -0.006162447854876518D, -0.005919415503740311D, -0.005667705088853836D, -0.005427785217761993D, -0.005184531211853027D, -0.004940364509820938D, -0.00468367338180542D, -0.004453904926776886D, -0.004206191748380661D, -0.003969529643654823D, -0.0037299059331417084D, -0.003492492251098156D, -0.003242732025682926D, -0.0030055344104766846D, -0.0027720071375370026D, -0.00253082811832428D, -0.00228659575805068D, -0.002054929733276367D, -0.0018176455050706863D, -0.001599922776222229D, -0.0013567134737968445D, -0.0011234097182750702D, -9.045042097568512E-4D, -6.500082090497017E-4D, -4.1660130955278873E-4D, -1.7212703824043274E-4D, 1.8030405044555664E-5D, 2.5004614144563675E-4D, 4.7913193702697754E-4D, 7.338970899581909E-4D, 9.82176512479782E-4D, 0.0012129582464694977D, 0.0014488585293293D, 0.0016867630183696747D, 0.0019273310899734497D, 0.0021613668650388718D, 0.002390991896390915D, 0.0026295240968465805D, 0.0028657931834459305D, 0.0031123533844947815D, 0.003348197788000107D, 0.003588378429412842D, 0.0038277730345726013D, 0.0040658749639987946D, 0.004302076995372772D, 0.004537015222012997D, 0.00477440282702446D, 0.005008077248930931D, 0.005255784839391708D, 0.0054915063083171844D, 0.005724627524614334D, 0.00595773383975029D, 0.006182271987199783D, 0.006420166231691837D, 0.006653249729424715D, 0.00689283199608326D, 0.007140390574932098D, 0.007379662245512009D, 0.0076194386929273605D, 0.007851885631680489D, 0.008095469325780869D, 0.008320674300193787D, 0.008559394627809525D, 0.008799819275736809D, 0.009034939110279083D, 0.009275494143366814D, 0.009523751214146614D, 0.00976627878844738D, 0.009996486827731133D, 0.01023360900580883D, 0.010484512895345688D, 0.010711602866649628D, 0.010940506123006344D, 0.011187344789505005D, 0.011436786502599716D, 0.011673590168356895D, 0.01189296692609787D, 0.012140963226556778D, 0.012369673699140549D, 0.012593931518495083D, 0.012840654700994492D, 0.013081846758723259D, 0.013317383825778961D, 0.013564608991146088D, 0.013808630406856537D, 0.014055570587515831D, 0.014296349138021469D, 0.01453232578933239D, 0.014765492640435696D, 0.015003692358732224D, 0.015242312103509903D, 0.015490015037357807D, 0.015726767480373383D, 0.01596280187368393D, 0.01620377227663994D, 0.01644257828593254D, 0.01667718216776848D, 0.016922373324632645D, 0.017163371667265892D, 0.017399052157998085D, 0.01764657348394394D, 0.017877236008644104D, 0.01812145859003067D, 0.01835670694708824D, 0.018597178161144257D, 0.01882927119731903D, 0.019075646996498108D, 0.019314182922244072D, 0.019556086510419846D, 0.019792847335338593D, 0.02003338560461998D, 0.020272035151720047D, 0.02050381898880005D, 0.020733200013637543D, 0.020976442843675613D, 0.021210378035902977D, 0.02143765240907669D, 0.021682390943169594D, 0.021919602528214455D, 0.0221518874168396D, 0.022384680807590485D, 0.022622741758823395D, 0.022860225290060043D, 0.02310165762901306D, 0.023336874321103096D, 0.023573121055960655D, 0.02379993349313736D, 0.02404947392642498D, 0.024299774318933487D, 0.024536117911338806D, 0.02478577382862568D, 0.025020964443683624D, 0.025249026715755463D, 0.025489892810583115D, 0.025740530341863632D, 0.025998929515480995D, 0.026246890425682068D, 0.02648969367146492D, 0.026718705892562866D, 0.026957036927342415D, 0.027204863727092743D, 0.027444452047348022D, 0.027704622596502304D, 0.027947325259447098D, 0.02819725126028061D, 0.02844608575105667D, 0.028680214658379555D, 0.028920786455273628D, 0.029158281162381172D, 0.029388519003987312D, 0.029632214456796646D, 0.029864804819226265D, 0.030107151716947556D, 0.030348382890224457D, 0.030580196529626846D, 0.03082174062728882D, 0.031057609245181084D, 0.03129713609814644D, 0.031536027789115906D, 0.03177642449736595D, 0.032016344368457794D, 0.032250333577394485D, 0.03248574212193489D, 0.03272556513547897D, 0.032981544733047485D, 0.03322865441441536D, 0.03346912935376167D, 0.0337110199034214D, 0.033949390053749084D, 0.034183282405138016D, 0.034417230635881424D, 0.03465258330106735D, 0.0348886139690876D, 0.035128623247146606D, 0.03536383435130119D, 0.03560587763786316D, 0.03585127741098404D, 0.036084286868572235D, 0.03631396219134331D, 0.036562442779541016D, 0.03680244833230972D, 0.03704371303319931D, 0.037276409566402435D, 0.03751538693904877D, 0.037762030959129333D, 0.03801950067281723D, 0.03826010972261429D, 0.038504309952259064D, 0.0387469083070755D, 0.03899405896663666D, 0.039229098707437515D, 0.03947621211409569D, 0.039711613208055496D, 0.03995666652917862D, 0.040196262300014496D, 0.040436677634716034D, 0.04066110774874687D, 0.04089445620775223D, 0.04114403575658798D, 0.04137770086526871D, 0.04162734001874924D, 0.04187489300966263D, 0.04212113842368126D, 0.04237997904419899D, 0.04263453558087349D, 0.04288449138402939D, 0.04311514273285866D, 0.04335115849971771D, 0.04357973113656044D, 0.04382624477148056D, 0.04406590759754181D, 0.04431349039077759D, 0.04456290230154991D, 0.044805336743593216D, 0.0450420007109642D, 0.04527563601732254D, 0.04551904648542404D, 0.045769836753606796D, 0.04600602388381958D, 0.046249911189079285D, 0.04649045318365097D, 0.0467350110411644D, 0.0469646230340004D, 0.04720987752079964D, 0.0474463514983654D, 0.04768086224794388D, 0.047928351908922195D, 0.048162274062633514D, 0.048396602272987366D, 0.04864221811294556D, 0.048878930509090424D, 0.0491228923201561D, 0.0493641197681427D, 0.0496056005358696D, 0.049858272075653076D, 0.050106972455978394D, 0.0503457672894001D, 0.05058106780052185D, 0.050811801105737686D, 0.051054518669843674D, 0.051300615072250366D, 0.051533062011003494D, 0.051776714622974396D, 0.05200812220573425D, 0.052254874259233475D, 0.05247935280203819D, 0.05271238088607788D, 0.05296379327774048D, 0.053211115300655365D, 0.053449779748916626D, 0.05368578061461449D, 0.05392590910196304D, 0.05417390167713165D, 0.05440376326441765D, 0.05464910343289375D, 0.054876476526260376D, 0.055116206407547D, 0.05535535141825676D, 0.05559191852807999D, 0.05583671107888222D, 0.05606665462255478D, 0.05629488080739975D, 0.056531038135290146D, 0.05677127465605736D, 0.05701253190636635D, 0.05725562572479248D, 0.05749615281820297D, 0.05773595720529556D, 0.05798366293311119D, 0.05822004750370979D, 0.05847081169486046D, 0.05871637910604477D, 0.05896701663732529D, 0.05920988693833351D, 0.05945613235235214D, 0.059691719710826874D, 0.059922900050878525D, 0.06016569584608078D, 0.060413725674152374D, 0.06065669655799866D, 0.06089803948998451D, 0.061139024794101715D, 0.061384011059999466D, 0.061639074236154556D, 0.06188543885946274D, 0.06213250756263733D, 0.062370769679546356D, 0.06261318922042847D, 0.0628569945693016D, 0.06309330463409424D, 0.06332416087388992D, 0.06356460601091385D, 0.06382028758525848D, 0.06406866014003754D, 0.06430210918188095D, 0.06454354524612427D, 0.06478959321975708D, 0.06503751873970032D, 0.06529387086629868D, 0.06553513556718826D, 0.06577916443347931D, 0.06601770222187042D, 0.06625692546367645D, 0.06650961935520172D, 0.06674687564373016D, 0.0669788122177124D, 0.06722482293844223D, 0.0674588531255722D, 0.06768260151147842D, 0.06790776550769806D, 0.06814801692962646D, 0.06838471442461014D, 0.06863133609294891D, 0.06886210292577744D, 0.06910943239927292D, 0.06934362649917603D, 0.06958003342151642D, 0.06981192529201508D, 0.07004958391189575D, 0.07029459625482559D, 0.07055052369832993D, 0.07078401744365692D, 0.07101749628782272D, 0.07126064598560333D, 0.07150739431381226D, 0.07175813615322113D, 0.0720054879784584D, 0.07224322110414505D, 0.07248044013977051D, 0.07271689921617508D, 0.07295949757099152D, 0.0732078030705452D, 0.07345090061426163D, 0.07368715852499008D, 0.07393429428339005D, 0.07417695224285126D, 0.07441578805446625D, 0.07466088980436325D, 0.07489414513111115D, 0.07513600587844849D, 0.0753738135099411D, 0.07561701536178589D, 0.0758667066693306D, 0.07612309604883194D, 0.07638232409954071D, 0.076628178358078D, 0.07686847448348999D, 0.07710824906826019D, 0.07734467834234238D, 0.07758921384811401D, 0.07784561812877655D, 0.07808583974838257D, 0.07834410667419434D, 0.07858625054359436D, 0.07882437855005264D, 0.07906801998615265D, 0.0793083980679512D, 0.07955463230609894D, 0.07981622219085693D, 0.08005615323781967D, 0.08030057698488235D, 0.0805463120341301D, 0.08078382909297943D, 0.08103151619434357D, 0.08126095682382584D, 0.0815000832080841D, 0.08173040300607681D, 0.08196523785591125D, 0.08220580220222473D, 0.08243486285209656D, 0.08268188685178757D, 0.08292843401432037D, 0.0831647738814354D, 0.08339834958314896D, 0.0836380124092102D, 0.08387906104326248D, 0.08412414789199829D, 0.08436859399080276D, 0.0846082791686058D, 0.08485112339258194D, 0.08509281277656555D, 0.08533436059951782D, 0.08558444678783417D, 0.08581666648387909D, 0.08605876564979553D, 0.08630654215812683D, 0.08654367923736572D, 0.08678770065307617D, 0.08702260255813599D, 0.08725456148386002D, 0.08750993013381958D, 0.08773811906576157D, 0.08798518031835556D, 0.0882255807518959D, 0.08847689628601074D, 0.0887211263179779D, 0.08896452188491821D, 0.08920910954475403D, 0.08945497870445251D, 0.08969209343194962D, 0.08994311094284058D, 0.09017997980117798D, 0.09042559564113617D, 0.0906810313463211D, 0.09092381596565247D, 0.0911625400185585D, 0.09141795337200165D, 0.09166523069143295D, 0.09191490709781647D, 0.0921562910079956D, 0.09239944815635681D, 0.09264124929904938D, 0.09289426356554031D, 0.09314051270484924D, 0.09336643666028976D, 0.09361747652292252D, 0.09384654462337494D, 0.09409788250923157D, 0.0943448394536972D, 0.09459105134010315D, 0.0948304533958435D, 0.09507936984300613D, 0.09532738476991653D, 0.09556381404399872D, 0.09580858051776886D, 0.09604042023420334D, 0.09626977145671844D, 0.09650926291942596D, 0.0967506468296051D, 0.09699468314647675D, 0.09725047647953033D, 0.09750711917877197D, 0.09776434302330017D, 0.09801188111305237D, 0.09824371337890625D, 0.09848768264055252D, 0.09872874617576599D, 0.09896586090326309D, 0.09920790046453476D, 0.09944957494735718D, 0.09968200325965881D, 0.09992703795433044D, 0.10018682479858398D, 0.10043767094612122D, 0.10069596767425537D, 0.10094213485717773D, 0.10119457542896271D, 0.10144343972206116D, 0.10168857872486115D, 0.1019381657242775D, 0.1021813377737999D, 0.10242380201816559D, 0.10266663134098053D, 0.1029038205742836D, 0.10315491259098053D, 0.1034012958407402D, 0.10365647822618484D, 0.10389219224452972D, 0.104132741689682D, 0.10438927263021469D, 0.10462994873523712D, 0.10488337278366089D, 0.10512462258338928D, 0.10537828505039215D, 0.1056293249130249D, 0.10587567090988159D, 0.10612065345048904D, 0.10636690258979797D, 0.10661175101995468D, 0.10686026513576508D, 0.10710041970014572D, 0.10735155642032623D, 0.10758167505264282D, 0.10782761126756668D, 0.10806737840175629D, 0.1083139032125473D, 0.10856615751981735D, 0.108811154961586D, 0.10905927419662476D, 0.10930319875478745D, 0.10955643653869629D, 0.10979588329792023D, 0.11004279553890228D, 0.1102958396077156D, 0.11054527759552002D, 0.11079119145870209D, 0.11103609204292297D, 0.11127711832523346D, 0.1115172803401947D, 0.1117594912648201D, 0.1120046079158783D, 0.11223725229501724D, 0.11248401552438736D, 0.11272372305393219D, 0.11297810077667236D, 0.11322519183158875D, 0.11346785724163055D, 0.11372040957212448D, 0.11395683884620667D, 0.11420010775327682D, 0.11444250494241714D, 0.11468120664358139D, 0.11492819339036942D, 0.11517039686441422D, 0.11540466547012329D, 0.11564680933952332D, 0.11589252948760986D, 0.11613063514232635D, 0.11639325320720673D, 0.11663356423377991D, 0.11688605695962906D, 0.11712798476219177D, 0.11737510561943054D, 0.11761916428804398D, 0.11786546558141708D, 0.11810825765132904D, 0.11834405362606049D, 0.11859436333179474D, 0.11883425712585449D, 0.11908208578824997D, 0.11933384835720062D, 0.11957629024982452D, 0.11981932073831558D, 0.12006602436304092D, 0.1203235313296318D, 0.12056553363800049D, 0.12080793082714081D, 0.12105826288461685D, 0.12129639089107513D, 0.12155969440937042D, 0.12180247157812119D, 0.12205307930707932D, 0.12229906022548676D, 0.12254200130701065D, 0.12278658151626587D, 0.12303048372268677D, 0.12327433377504349D, 0.12352501600980759D, 0.12377308309078217D, 0.12401439994573593D, 0.12425234913825989D, 0.12449690699577332D, 0.12473757565021515D, 0.12498489767313004D, 0.12522444128990173D, 0.1254711002111435D, 0.1257123202085495D, 0.1259474903345108D, 0.12619467079639435D, 0.12644141912460327D, 0.12670068442821503D, 0.12694254517555237D, 0.12717880308628082D, 0.12742914259433746D, 0.12767036259174347D, 0.12791737914085388D, 0.12815646827220917D, 0.12838824093341827D, 0.1286291480064392D, 0.12887807190418243D, 0.1291383057832718D, 0.12939326465129852D, 0.1296338587999344D, 0.1298784613609314D, 0.1301174759864807D, 0.13036495447158813D, 0.130618155002594D, 0.13086116313934326D, 0.13110719621181488D, 0.13135799765586853D, 0.1315925568342209D, 0.1318426877260208D, 0.13207705318927765D, 0.13231460750102997D, 0.13256874680519104D, 0.1328187882900238D, 0.13305653631687164D, 0.13330477476119995D, 0.13354620337486267D, 0.13378751277923584D, 0.13402922451496124D, 0.1342799961566925D, 0.13453587889671326D, 0.13477690517902374D, 0.13502594828605652D, 0.13527695834636688D, 0.13551442325115204D, 0.13576547801494598D, 0.1360103189945221D, 0.1362583041191101D, 0.13651292026042938D, 0.13675719499588013D, 0.13699865341186523D, 0.13724200427532196D, 0.13749007880687714D, 0.1377292424440384D, 0.1379738599061966D, 0.13822335004806519D, 0.13847866654396057D, 0.13873206079006195D, 0.13898490369319916D, 0.13923271000385284D, 0.1394839584827423D, 0.13973473012447357D, 0.13997481763362885D, 0.1402241587638855D, 0.1404787302017212D, 0.14072586596012115D, 0.14096570014953613D, 0.14121803641319275D, 0.14146292209625244D, 0.14170925319194794D, 0.14195016026496887D, 0.14219069480895996D, 0.14244592189788818D, 0.14269237220287323D, 0.1429404616355896D, 0.1431778520345688D, 0.14341974258422852D, 0.14366695284843445D, 0.143928661942482D, 0.14417223632335663D, 0.144425168633461D, 0.14466984570026398D, 0.144924595952034D, 0.14517496526241302D, 0.14541681110858917D, 0.14565762877464294D, 0.14590227603912354D, 0.14615565538406372D, 0.146397665143013D, 0.14664502441883087D, 0.14689862728118896D, 0.14715076982975006D, 0.14740772545337677D, 0.14766333997249603D, 0.1479138731956482D, 0.14816024899482727D, 0.14840947091579437D, 0.14864777028560638D, 0.14889664947986603D, 0.1491481214761734D, 0.1493992805480957D, 0.14964887499809265D, 0.14990657567977905D, 0.150163471698761D, 0.15041270852088928D, 0.1506699174642563D, 0.1509278118610382D, 0.1511797457933426D, 0.15143243968486786D, 0.15168344974517822D, 0.15193966031074524D, 0.15217027068138123D, 0.1524168848991394D, 0.15265515446662903D, 0.15290214121341705D, 0.1531422883272171D, 0.1533876657485962D, 0.15364302694797516D, 0.15389402210712433D, 0.15414564311504364D, 0.15439721941947937D, 0.15463466942310333D, 0.15488171577453613D, 0.15513262152671814D, 0.15537695586681366D, 0.15562325716018677D, 0.1558755785226822D, 0.15611112117767334D, 0.15636210143566132D, 0.1566154956817627D, 0.15687504410743713D, 0.15712611377239227D, 0.15738089382648468D, 0.15762266516685486D, 0.15787272155284882D, 0.15813465416431427D, 0.15839409828186035D, 0.15864822268486023D, 0.15889886021614075D, 0.15914614498615265D, 0.1593829244375229D, 0.15962837636470795D, 0.15988434851169586D, 0.16013933718204498D, 0.1603895127773285D, 0.1606409102678299D, 0.16089800000190735D, 0.16113731265068054D, 0.16138312220573425D, 0.16164162755012512D, 0.1619039922952652D, 0.16216659545898438D, 0.1624208390712738D, 0.16268286108970642D, 0.16292384266853333D, 0.16317801177501678D, 0.16342324018478394D, 0.16366511583328247D, 0.16390013694763184D, 0.16414274275302887D, 0.16438521444797516D, 0.16463032364845276D, 0.16487151384353638D, 0.1651274561882019D, 0.1653711199760437D, 0.16560332477092743D, 0.16584159433841705D, 0.16609609127044678D, 0.16633854806423187D, 0.16659075021743774D, 0.16683602333068848D, 0.16707871854305267D, 0.16732636094093323D, 0.16758735477924347D, 0.16783970594406128D, 0.16809149086475372D, 0.16834628582000732D, 0.16860048472881317D, 0.16885283589363098D, 0.16911184787750244D, 0.1693841814994812D, 0.16964191198349D, 0.1698930859565735D, 0.1701383739709854D, 0.1703755259513855D, 0.17063964903354645D, 0.17089423537254333D, 0.1711474359035492D, 0.171388179063797D, 0.17163044214248657D, 0.17187903821468353D, 0.17215164005756378D, 0.1724054217338562D, 0.17266374826431274D, 0.17292089760303497D, 0.1731615662574768D, 0.17340199649333954D, 0.17366479337215424D, 0.1739150434732437D, 0.17417052388191223D, 0.1744164675474167D, 0.17465999722480774D, 0.1749131977558136D, 0.17516209185123444D, 0.1754201203584671D, 0.17568381130695343D, 0.17593267560005188D, 0.17619283497333527D, 0.17645525932312012D, 0.17671234905719757D, 0.17696595191955566D, 0.17722009122371674D, 0.17747735977172852D, 0.17772412300109863D, 0.17797930538654327D, 0.17823158204555511D, 0.17848974466323853D, 0.17873625457286835D, 0.17898991703987122D, 0.1792307198047638D, 0.1794891506433487D, 0.17973554134368896D, 0.17999310791492462D, 0.18024954199790955D, 0.18050163984298706D, 0.18076446652412415D, 0.18102599680423737D, 0.18126806616783142D, 0.18151478469371796D, 0.18176385760307312D, 0.18201972544193268D, 0.1822776347398758D, 0.18253739178180695D, 0.18278411030769348D, 0.18303966522216797D, 0.1832965612411499D, 0.1835542917251587D, 0.1838156133890152D, 0.1840553879737854D, 0.18431082367897034D, 0.1845688670873642D, 0.18482251465320587D, 0.18506990373134613D, 0.18532750010490417D, 0.18557335436344147D, 0.18582487106323242D, 0.18608145415782928D, 0.18633334338665009D, 0.18658064305782318D, 0.18683351576328278D, 0.18709410727024078D, 0.18735168874263763D, 0.18761134147644043D, 0.18786972761154175D, 0.18811970949172974D, 0.18837547302246094D, 0.18862836062908173D, 0.18887996673583984D, 0.1891300231218338D, 0.18938672542572021D, 0.18964359164237976D, 0.18990398943424225D, 0.19015058875083923D, 0.19040174782276154D, 0.19066479802131653D, 0.19092917442321777D, 0.19117361307144165D, 0.19143356382846832D, 0.19168759882450104D, 0.1919550895690918D, 0.1922134906053543D, 0.19246909022331238D, 0.1927301287651062D, 0.19298666715621948D, 0.19325979053974152D, 0.19350659847259521D, 0.1937701553106308D, 0.19402582943439484D, 0.19428086280822754D, 0.19453628361225128D, 0.19479681551456451D, 0.19505488872528076D, 0.19530737400054932D, 0.1955641359090805D, 0.1958162784576416D, 0.1960599720478058D, 0.19630758464336395D, 0.19656088948249817D, 0.19681763648986816D, 0.19707539677619934D, 0.1973382830619812D, 0.19758382439613342D, 0.19783498346805573D, 0.19810113310813904D, 0.19836364686489105D, 0.198616623878479D, 0.19888028502464294D, 0.1991325318813324D, 0.19938108325004578D, 0.19963473081588745D, 0.19988803565502167D, 0.2001369297504425D, 0.20039276778697968D, 0.20064187049865723D, 0.2009114772081375D, 0.20116636157035828D, 0.20142139494419098D, 0.2016759216785431D, 0.20193830132484436D, 0.20219115912914276D, 0.2024461179971695D, 0.20269548892974854D, 0.20295751094818115D, 0.2032078355550766D, 0.20346446335315704D, 0.20372796058654785D, 0.20398731529712677D, 0.20425032079219818D, 0.20450064539909363D, 0.20475132763385773D, 0.20501857995986938D, 0.20528261363506317D, 0.20554444193840027D, 0.20581212639808655D, 0.20607292652130127D, 0.20632115006446838D, 0.20657122135162354D, 0.20683971047401428D, 0.2071026861667633D, 0.2073436677455902D, 0.20759855210781097D, 0.20785433053970337D, 0.20810873806476593D, 0.20837277173995972D, 0.2086334526538849D, 0.20889252424240112D, 0.2091631293296814D, 0.20941714942455292D, 0.20966646075248718D, 0.20992329716682434D, 0.210189089179039D, 0.2104564607143402D, 0.21071530878543854D, 0.2109697461128235D, 0.21122780442237854D, 0.21149942278862D, 0.21177108585834503D, 0.212026447057724D, 0.21229231357574463D, 0.21255123615264893D, 0.2128051221370697D, 0.2130669802427292D, 0.21332398056983948D, 0.21358664333820343D, 0.2138541340827942D, 0.2141055166721344D, 0.21435829997062683D, 0.21462669968605042D, 0.21488457918167114D, 0.21513977646827698D, 0.21538878977298737D, 0.2156517058610916D, 0.21592454612255096D, 0.216178759932518D, 0.216445192694664D, 0.21670177578926086D, 0.21695657074451447D, 0.21721142530441284D, 0.21747595071792603D, 0.21773701906204224D, 0.2179940938949585D, 0.2182585597038269D, 0.21852922439575195D, 0.2187880575656891D, 0.21905365586280823D, 0.21932736039161682D, 0.21959064900875092D, 0.2198474109172821D, 0.22009959816932678D, 0.22036632895469666D, 0.22063975036144257D, 0.2208988517522812D, 0.2211713194847107D, 0.22143341600894928D, 0.22171543538570404D, 0.22197507321834564D, 0.22224444150924683D, 0.2225213348865509D, 0.22277890145778656D, 0.22304566204547882D, 0.22330500185489655D, 0.22357644140720367D, 0.22383159399032593D, 0.22409124672412872D, 0.22433821856975555D, 0.22459536790847778D, 0.22486494481563568D, 0.22513198852539062D, 0.22539369761943817D, 0.22565101087093353D, 0.22591067850589752D, 0.22616182267665863D, 0.22642919421195984D, 0.22670313715934753D, 0.2269665002822876D, 0.2272244691848755D, 0.22747714817523956D, 0.2277398705482483D, 0.22800278663635254D, 0.22826018929481506D, 0.22853484749794006D, 0.22879329323768616D, 0.22905567288398743D, 0.22932875156402588D, 0.22959567606449127D, 0.22985166311264038D, 0.23012641072273254D, 0.23038911819458008D, 0.23065757751464844D, 0.2309347689151764D, 0.23118633031845093D, 0.23145408928394318D, 0.2317189872264862D, 0.23198048770427704D, 0.2322455197572708D, 0.23250694572925568D, 0.232782781124115D, 0.23303967714309692D, 0.2333066314458847D, 0.23356512188911438D, 0.23384179174900055D, 0.2341168224811554D, 0.23438036441802979D, 0.23465333878993988D, 0.23490497469902039D, 0.2351686954498291D, 0.23543143272399902D, 0.2357012927532196D, 0.23596397042274475D, 0.23622770607471466D, 0.23648853600025177D, 0.23676562309265137D, 0.23701412975788116D, 0.2372843474149704D, 0.23755553364753723D, 0.23782414197921753D, 0.2380770742893219D, 0.23833540081977844D, 0.23858565092086792D, 0.2388562709093094D, 0.2391243726015091D, 0.23939518630504608D, 0.2396606057882309D, 0.2399381399154663D, 0.24020333588123322D, 0.24046452343463898D, 0.24074232578277588D, 0.24100619554519653D, 0.24127767980098724D, 0.24153725802898407D, 0.24180150032043457D, 0.2420664131641388D, 0.24233688414096832D, 0.24260331690311432D, 0.24287430942058563D, 0.24314293265342712D, 0.2434246838092804D, 0.24368378520011902D, 0.24393977224826813D, 0.24419629573822021D, 0.24446481466293335D, 0.24473105370998383D, 0.24499809741973877D, 0.24526169896125793D, 0.24553239345550537D, 0.24579843878746033D, 0.24606765806674957D, 0.24634045362472534D, 0.24660402536392212D, 0.2468681037425995D, 0.2471298724412918D, 0.24741238355636597D, 0.2476801872253418D, 0.2479431927204132D, 0.2482285499572754D, 0.24848723411560059D, 0.24875469505786896D, 0.24903346598148346D, 0.24929732084274292D, 0.24957558512687683D, 0.24984514713287354D, 0.25010985136032104D, 0.25036337971687317D, 0.2506392002105713D, 0.2509065270423889D, 0.25119492411613464D, 0.25146934390068054D, 0.25174203515052795D, 0.25201404094696045D, 0.25227802991867065D, 0.252545565366745D, 0.252820760011673D, 0.2530921697616577D, 0.2533664405345917D, 0.25363945960998535D, 0.2539142072200775D, 0.25417646765708923D, 0.2544398903846741D, 0.2547091245651245D, 0.25498032569885254D, 0.2552673816680908D, 0.25553467869758606D, 0.2558070719242096D, 0.2560715973377228D, 0.2563423812389374D, 0.2566147446632385D, 0.256882905960083D, 0.2571600079536438D, 0.257426381111145D, 0.2576892673969269D, 0.2579575479030609D, 0.25823888182640076D, 0.258513867855072D, 0.2587907612323761D, 0.25906962156295776D, 0.2593492269515991D, 0.25961726903915405D, 0.25989121198654175D, 0.2601594924926758D, 0.26043808460235596D, 0.2607068121433258D, 0.2609749138355255D, 0.26124802231788635D, 0.2615189850330353D, 0.2617867887020111D, 0.2620628774166107D, 0.26233547925949097D, 0.262612521648407D, 0.2628844082355499D, 0.26317137479782104D, 0.26344573497772217D, 0.2637230157852173D, 0.2639881670475006D, 0.26426470279693604D, 0.2645290791988373D, 0.26480042934417725D, 0.26508674025535583D, 0.26537132263183594D, 0.26565036177635193D, 0.2659280598163605D, 0.26621153950691223D, 0.2664932310581207D, 0.266765296459198D, 0.2670402526855469D, 0.26732540130615234D, 0.2676064372062683D, 0.2678873836994171D, 0.26817184686660767D, 0.26845213770866394D, 0.2687281370162964D, 0.2689865827560425D, 0.2692733108997345D, 0.2695508897304535D, 0.26984232664108276D, 0.2701159417629242D, 0.27039632201194763D, 0.2706771194934845D, 0.2709551453590393D, 0.27123481035232544D, 0.2715044319629669D, 0.2717909812927246D, 0.2720479965209961D, 0.27231383323669434D, 0.2725817859172821D, 0.2728441059589386D, 0.27311280369758606D, 0.2733941972255707D, 0.27368631958961487D, 0.2739763855934143D, 0.274264395236969D, 0.2745394706726074D, 0.2748079299926758D, 0.2750902473926544D, 0.2753576934337616D, 0.27563992142677307D, 0.27591678500175476D, 0.2762015461921692D, 0.2764870226383209D, 0.2767705023288727D, 0.2770461440086365D, 0.2773202061653137D, 0.277586430311203D, 0.2778612971305847D, 0.2781475782394409D, 0.27842074632644653D, 0.27869942784309387D, 0.27898266911506653D, 0.27925804257392883D, 0.27953964471817017D, 0.2798300087451935D, 0.28011223673820496D, 0.28038647770881653D, 0.28068000078201294D, 0.280953049659729D, 0.2812424302101135D, 0.2815268635749817D, 0.28180745244026184D, 0.2820815443992615D, 0.28235483169555664D, 0.28263142704963684D, 0.28291577100753784D, 0.2831827402114868D, 0.28346097469329834D, 0.28373128175735474D, 0.28402161598205566D, 0.2842971086502075D, 0.2845851182937622D, 0.2848743200302124D, 0.28514111042022705D, 0.2854291498661041D, 0.28570130467414856D, 0.28598201274871826D, 0.2862635850906372D, 0.2865474224090576D, 0.2868312895298004D, 0.28711485862731934D, 0.287393182516098D, 0.28767767548561096D, 0.2879578173160553D, 0.28823962807655334D, 0.2885189354419708D, 0.28880178928375244D, 0.2890920341014862D, 0.28937217593193054D, 0.28966113924980164D, 0.2899322509765625D, 0.29023706912994385D, 0.2905227243900299D, 0.29082342982292175D, 0.29111379384994507D, 0.2913990020751953D, 0.29169899225234985D, 0.2919909954071045D, 0.2922763526439667D, 0.2925618588924408D, 0.2928437292575836D, 0.29313600063323975D, 0.29342198371887207D, 0.29370519518852234D, 0.293990820646286D, 0.29427266120910645D, 0.29455944895744324D, 0.2948371469974518D, 0.2951136827468872D, 0.29540109634399414D, 0.29569217562675476D, 0.29599061608314514D, 0.29627665877342224D, 0.2965618371963501D, 0.29685071110725403D, 0.29713842272758484D, 0.2974165678024292D, 0.2977107763290405D, 0.29799580574035645D, 0.29828667640686035D, 0.2985561192035675D, 0.29883459210395813D, 0.2991248369216919D, 0.29942139983177185D, 0.2997003495693207D, 0.2999816834926605D, 0.3002794682979584D, 0.300558477640152D, 0.3008628785610199D, 0.3011316657066345D, 0.30142825841903687D, 0.30170485377311707D, 0.30200570821762085D, 0.30228835344314575D, 0.30257362127304077D, 0.3028506934642792D, 0.3031497299671173D, 0.3034270107746124D, 0.3037080466747284D, 0.30399709939956665D, 0.3042883276939392D, 0.30455490946769714D, 0.3048365116119385D, 0.3051189184188843D, 0.305414617061615D, 0.30569401383399963D, 0.3059791922569275D, 0.3062690496444702D, 0.3065638244152069D, 0.30685165524482727D, 0.3071337342262268D, 0.30742549896240234D, 0.3077087104320526D, 0.307993084192276D, 0.308301717042923D, 0.3085950016975403D, 0.30887916684150696D, 0.30916836857795715D, 0.30946359038352966D, 0.3097575008869171D, 0.3100418746471405D, 0.3103356957435608D, 0.3106286823749542D, 0.3109305202960968D, 0.31121826171875D, 0.3115043640136719D, 0.3117966055870056D, 0.3120863735675812D, 0.31238704919815063D, 0.312675416469574D, 0.3129754364490509D, 0.3132772445678711D, 0.31357139348983765D, 0.3138739764690399D, 0.314156711101532D, 0.31446096301078796D, 0.314767062664032D, 0.3150571882724762D, 0.31536349654197693D, 0.31567034125328064D, 0.31597578525543213D, 0.31626302003860474D, 0.3165755569934845D, 0.31686896085739136D, 0.31716006994247437D, 0.3174631595611572D, 0.31774675846099854D, 0.3180374503135681D, 0.31833595037460327D, 0.3186424672603607D, 0.31892913579940796D, 0.3192225694656372D, 0.31952160596847534D, 0.31980904936790466D, 0.32011789083480835D, 0.32043129205703735D, 0.32072004675865173D, 0.32100987434387207D, 0.3213180601596832D, 0.3216226398944855D, 0.3219207525253296D, 0.32221996784210205D, 0.32251104712486267D, 0.3228189945220947D, 0.32310861349105835D, 0.32341235876083374D, 0.32371604442596436D, 0.3240188658237457D, 0.3243238031864166D, 0.3246264159679413D, 0.3249231278896332D, 0.32521936297416687D, 0.32550862431526184D, 0.32581818103790283D, 0.3261036276817322D, 0.32640382647514343D, 0.3267083168029785D, 0.327004998922348D, 0.3272927403450012D, 0.3275948762893677D, 0.32788318395614624D, 0.3281833529472351D, 0.3284815549850464D, 0.32878002524375916D, 0.3290672302246094D, 0.3293750286102295D, 0.3296642303466797D, 0.3299630880355835D, 0.3302602469921112D, 0.3305669128894806D, 0.33086422085762024D, 0.3311595916748047D, 0.33145591616630554D, 0.33177000284194946D, 0.33208441734313965D, 0.3323875963687897D, 0.33268964290618896D, 0.33300232887268066D, 0.33329537510871887D, 0.3335980772972107D, 0.3338931202888489D, 0.334201455116272D, 0.33450081944465637D, 0.33479708433151245D, 0.3350889980792999D, 0.3354017734527588D, 0.3356862962245941D, 0.33597806096076965D, 0.3362779915332794D, 0.33658143877983093D, 0.3368886709213257D, 0.3372003436088562D, 0.3374904990196228D, 0.33780431747436523D, 0.3381199836730957D, 0.3384174108505249D, 0.3387186527252197D, 0.33900177478790283D, 0.33931413292884827D, 0.33961257338523865D, 0.3399102985858917D, 0.34022054076194763D, 0.3405352234840393D, 0.3408523499965668D, 0.3411627411842346D, 0.3414681553840637D, 0.3417760133743286D, 0.3420804738998413D, 0.3423832356929779D, 0.34269484877586365D, 0.34302496910095215D, 0.34334123134613037D, 0.3436470329761505D, 0.34394562244415283D, 0.3442646265029907D, 0.34457018971443176D, 0.34488752484321594D, 0.3452032506465912D, 0.3455159664154053D, 0.34581413865089417D, 0.3461098074913025D, 0.34641650319099426D, 0.3467230796813965D, 0.34702906012535095D, 0.3473309278488159D, 0.34764036536216736D, 0.3479456901550293D, 0.3482525050640106D, 0.34856411814689636D, 0.3488941192626953D, 0.3492147624492645D, 0.34952324628829956D, 0.3498258590698242D, 0.35016393661499023D, 0.3504606783390045D, 0.3507762551307678D, 0.35109102725982666D, 0.3514126241207123D, 0.35172921419143677D, 0.3520503044128418D, 0.35238561034202576D, 0.3527106046676636D, 0.3530224859714508D, 0.3533511757850647D, 0.35365211963653564D, 0.3539552092552185D, 0.35427314043045044D, 0.3545979857444763D, 0.35491013526916504D, 0.355211466550827D, 0.35551631450653076D, 0.35583731532096863D, 0.3561674952507019D, 0.356503427028656D, 0.35681140422821045D, 0.35713064670562744D, 0.3574579656124115D, 0.3577730655670166D, 0.3580852746963501D, 0.35840508341789246D, 0.3587261736392975D, 0.3590567708015442D, 0.35936981439590454D, 0.35967788100242615D, 0.3599919378757477D, 0.36031630635261536D, 0.3606279492378235D, 0.360944539308548D, 0.3612835109233856D, 0.36159858107566833D, 0.36191561818122864D, 0.3622327446937561D, 0.36255162954330444D, 0.36288535594940186D, 0.3632265329360962D, 0.36356231570243835D, 0.36387547850608826D, 0.3641921877861023D, 0.3645060658454895D, 0.36482110619544983D, 0.36514586210250854D, 0.3654731512069702D, 0.3657870292663574D, 0.366103857755661D, 0.3664219379425049D, 0.3667573034763336D, 0.3670819103717804D, 0.36740440130233765D, 0.3677348494529724D, 0.3680580258369446D, 0.3683835566043854D, 0.36869534850120544D, 0.3690166771411896D, 0.36936962604522705D, 0.3697071671485901D, 0.3700341284275055D, 0.3703477680683136D, 0.3706650137901306D, 0.37098345160484314D, 0.3713064193725586D, 0.3716377019882202D, 0.3719581365585327D, 0.3722735345363617D, 0.3726058304309845D, 0.3729363977909088D, 0.37326177954673767D, 0.37356603145599365D, 0.3738855719566345D, 0.3742108941078186D, 0.37452539801597595D, 0.3748537600040436D, 0.3751770555973053D, 0.3755142092704773D, 0.37582820653915405D, 0.3761524558067322D, 0.3764798045158386D, 0.3767988681793213D, 0.37712106108665466D, 0.37743860483169556D, 0.3777543902397156D, 0.37809327244758606D, 0.37840941548347473D, 0.37875550985336304D, 0.37908700108528137D, 0.37941306829452515D, 0.3797505497932434D, 0.38008758425712585D, 0.3804277181625366D, 0.3807571530342102D, 0.3810791075229645D, 0.38141703605651855D, 0.3817656934261322D, 0.38210225105285645D, 0.3824288845062256D, 0.382769376039505D, 0.38310790061950684D, 0.38344258069992065D, 0.3837745189666748D, 0.3841177821159363D, 0.38443708419799805D, 0.3847852945327759D, 0.3851090669631958D, 0.3854374289512634D, 0.38577699661254883D, 0.38612180948257446D, 0.38646358251571655D, 0.3868139684200287D, 0.38715416193008423D, 0.3874974548816681D, 0.3878219425678253D, 0.3881516456604004D, 0.38848888874053955D, 0.3888251483440399D, 0.38917040824890137D, 0.38950109481811523D, 0.38981884717941284D, 0.3901572823524475D, 0.39050623774528503D, 0.39083072543144226D, 0.39116042852401733D, 0.3915018141269684D, 0.3918399214744568D, 0.39218366146087646D, 0.3925294280052185D, 0.3928794264793396D, 0.39322105050086975D, 0.39356595277786255D, 0.39390116930007935D, 0.39424818754196167D, 0.39459410309791565D, 0.39493328332901D, 0.39526739716529846D, 0.39559459686279297D, 0.39594566822052D, 0.3962780237197876D, 0.39662104845046997D, 0.3969428539276123D, 0.3972987234592438D, 0.39764490723609924D, 0.39799994230270386D, 0.3983498811721802D, 0.39869624376296997D, 0.3990347385406494D, 0.39939403533935547D, 0.39974305033683777D, 0.4000907838344574D, 0.40044382214546204D, 0.4007917642593384D, 0.40111610293388367D, 0.4014665186405182D, 0.40181636810302734D, 0.40216636657714844D, 0.40252143144607544D, 0.4028819799423218D, 0.40323081612586975D, 0.4035872519016266D, 0.40394827723503113D, 0.4042988121509552D, 0.4046299159526825D, 0.40498116612434387D, 0.4053340256214142D, 0.4056835174560547D, 0.40604034066200256D, 0.40639346837997437D, 0.40674713253974915D, 0.4070903956890106D, 0.4074479639530182D, 0.4077978730201721D, 0.40815556049346924D, 0.4085153043270111D, 0.4088471829891205D, 0.40920335054397583D, 0.409536749124527D, 0.40988242626190186D, 0.4102332293987274D, 0.41057583689689636D, 0.4109056293964386D, 0.4112517535686493D, 0.41158610582351685D, 0.411954402923584D, 0.4123139977455139D, 0.4126741290092468D, 0.41304558515548706D, 0.4134019911289215D, 0.413760781288147D, 0.414113849401474D, 0.4144744575023651D, 0.4148549735546112D, 0.4152146577835083D, 0.4155882000923157D, 0.41595014929771423D, 0.41632524132728577D, 0.41668492555618286D, 0.4170358180999756D, 0.417406290769577D, 0.4177599251270294D, 0.4181312918663025D, 0.4184896945953369D, 0.4188544452190399D, 0.41922518610954285D, 0.419583797454834D, 0.41994741559028625D, 0.42030736804008484D, 0.4206812381744385D, 0.4210386574268341D, 0.4214108884334564D, 0.42178136110305786D, 0.42215496301651D, 0.4225171208381653D, 0.4228813350200653D, 0.42325109243392944D, 0.423615962266922D, 0.4239715337753296D, 0.42434579133987427D, 0.42472386360168457D, 0.42510300874710083D, 0.4254789650440216D, 0.4258454144001007D, 0.4262089729309082D, 0.4265795052051544D, 0.4269504249095917D, 0.42731940746307373D, 0.4276832640171051D, 0.42804470658302307D, 0.4284045994281769D, 0.42876332998275757D, 0.4291493892669678D, 0.4295348823070526D, 0.4299010634422302D, 0.43027088046073914D, 0.43064936995506287D, 0.43101370334625244D, 0.4313836097717285D, 0.43177637457847595D, 0.43216753005981445D, 0.4325481057167053D, 0.43293753266334534D, 0.4333171844482422D, 0.4336993396282196D, 0.4340720772743225D, 0.43445608019828796D, 0.43482720851898193D, 0.43520474433898926D, 0.4355813264846802D, 0.435965895652771D, 0.4363478720188141D, 0.4367339015007019D, 0.43710440397262573D, 0.4374915361404419D, 0.43787166476249695D, 0.4382757544517517D, 0.4386570155620575D, 0.4390236437320709D, 0.43937790393829346D, 0.43978676199913025D, 0.4401753544807434D, 0.44054529070854187D, 0.4409463107585907D, 0.4413623809814453D, 0.44173145294189453D, 0.44210049510002136D, 0.44250327348709106D, 0.4428851902484894D, 0.44325748085975647D, 0.44363629817962646D, 0.4440159797668457D, 0.4443915784358978D, 0.4447783827781677D, 0.44518083333969116D, 0.4455743432044983D, 0.44597482681274414D, 0.44637376070022583D, 0.4467555284500122D, 0.4471644163131714D, 0.44755885004997253D, 0.44794702529907227D, 0.44833505153656006D, 0.44871219992637634D, 0.44911694526672363D, 0.44951802492141724D, 0.44992169737815857D, 0.45028671622276306D, 0.45069053769111633D, 0.4510745704174042D, 0.45147672295570374D, 0.4518676698207855D, 0.45226404070854187D, 0.4526667594909668D, 0.45307374000549316D, 0.45347461104393005D, 0.453886479139328D, 0.4542858898639679D, 0.45466384291648865D, 0.4550491273403168D, 0.45543593168258667D, 0.4558371901512146D, 0.45624276995658875D, 0.4566361904144287D, 0.457043319940567D, 0.45746922492980957D, 0.4578607976436615D, 0.458267480134964D, 0.45867159962654114D, 0.4590873718261719D, 0.459495484828949D, 0.4598916471004486D, 0.46029186248779297D, 0.46069759130477905D, 0.46110185980796814D, 0.4615064859390259D, 0.46192145347595215D, 0.46233877539634705D, 0.46276673674583435D, 0.46316519379615784D, 0.4635927677154541D, 0.4640122056007385D, 0.46440884470939636D, 0.4648398756980896D, 0.4652484059333801D, 0.4656558334827423D, 0.46607261896133423D, 0.4665050506591797D, 0.4669226109981537D, 0.46733230352401733D, 0.4677324891090393D, 0.46813610196113586D, 0.4685579836368561D, 0.4689575731754303D, 0.46935874223709106D, 0.4697929620742798D, 0.4702039957046509D, 0.4706023335456848D, 0.47102463245391846D, 0.4714542329311371D, 0.47186529636383057D, 0.47227713465690613D, 0.47273728251457214D, 0.47315338253974915D, 0.4735952317714691D, 0.4740048050880432D, 0.4744380712509155D, 0.47486940026283264D, 0.47530895471572876D, 0.47574278712272644D, 0.4761829376220703D, 0.47661855816841125D, 0.4770328402519226D, 0.4774709641933441D, 0.477912038564682D, 0.47833552956581116D, 0.47877728939056396D, 0.4792020618915558D, 0.47962984442710876D, 0.48004886507987976D, 0.48047083616256714D, 0.48091474175453186D, 0.48136579990386963D, 0.4817824363708496D, 0.48223716020584106D, 0.4826858341693878D, 0.483129620552063D, 0.48356717824935913D, 0.48402535915374756D, 0.4844686985015869D, 0.48492634296417236D, 0.4853666424751282D, 0.48579952120780945D, 0.48623910546302795D, 0.4866853952407837D, 0.4871336817741394D, 0.4875692129135132D, 0.4880107045173645D, 0.48845070600509644D, 0.4888957142829895D, 0.48936671018600464D, 0.4898100197315216D, 0.49028757214546204D, 0.4907471537590027D, 0.49118760228157043D, 0.49167636036872864D, 0.4921429753303528D, 0.49261200428009033D, 0.49306604266166687D, 0.4935230314731598D, 0.4939839243888855D, 0.49443933367729187D, 0.49487918615341187D, 0.495321661233902D, 0.49577128887176514D, 0.4962393343448639D, 0.4967193901538849D, 0.4971999526023865D, 0.4976634979248047D, 0.4981079697608948D, 0.4985779821872711D, 0.4990575909614563D, 0.4995216429233551D, 0.49998214840888977D, 0.5004438757896423D, 0.5009346604347229D, 0.5013915300369263D, 0.5018666386604309D, 0.5023337006568909D, 0.5028214454650879D, 0.5032830238342285D, 0.5037580728530884D, 0.5042566061019897D, 0.5047234296798706D, 0.5052047967910767D, 0.5056884288787842D, 0.506147027015686D, 0.5066317915916443D, 0.5071203708648682D, 0.5075882077217102D, 0.5080697536468506D, 0.5085747838020325D, 0.5090773105621338D, 0.5095798373222351D, 0.5100753307342529D, 0.5105835199356079D, 0.5110831260681152D, 0.5115672945976257D, 0.5120378136634827D, 0.5125263929367065D, 0.5130169987678528D, 0.5135247707366943D, 0.5140180587768555D, 0.5145205855369568D, 0.5150368213653564D, 0.5155346989631653D, 0.516032874584198D, 0.5165354609489441D, 0.5170459747314453D, 0.517546534538269D, 0.5180581212043762D, 0.5185604691505432D, 0.5190833210945129D, 0.5195894837379456D, 0.5200911164283752D, 0.5206009149551392D, 0.5211076736450195D, 0.5216162204742432D, 0.5221534967422485D, 0.5226559638977051D, 0.5232011079788208D, 0.5237134099006653D, 0.524222731590271D, 0.5247693657875061D, 0.5253021121025085D, 0.5258720517158508D, 0.5263900756835938D, 0.5269289612770081D, 0.527440071105957D, 0.527983546257019D, 0.5285229086875916D, 0.5290459990501404D, 0.5295710563659668D, 0.5301372408866882D, 0.5306873917579651D, 0.5312291383743286D, 0.5317577123641968D, 0.5322787761688232D, 0.5328095555305481D, 0.5333465933799744D, 0.5338669419288635D, 0.5344110131263733D, 0.5349779725074768D, 0.535515308380127D, 0.5360614657402039D, 0.5366105437278748D, 0.5371830463409424D, 0.5377721190452576D, 0.5383244156837463D, 0.5388537049293518D, 0.5394071340560913D, 0.5399731397628784D, 0.5405322909355164D, 0.5410723090171814D, 0.541620671749115D, 0.5421631336212158D, 0.5427330136299133D, 0.5433263778686523D, 0.543902575969696D, 0.5445014834403992D, 0.5451188087463379D, 0.54570472240448D, 0.5462703108787537D, 0.5468359589576721D, 0.5474085211753845D, 0.5479677319526672D, 0.5485826134681702D, 0.5491936206817627D, 0.5497756004333496D, 0.550329864025116D, 0.5509083271026611D, 0.5514797568321228D, 0.5520867705345154D, 0.5526585578918457D, 0.5532442331314087D, 0.5538352131843567D, 0.554451048374176D, 0.5550478100776672D, 0.5556716322898865D, 0.5562905669212341D, 0.5568975210189819D, 0.5575076937675476D, 0.55810546875D, 0.5587112903594971D, 0.5593138933181763D, 0.5599293112754822D, 0.560528576374054D, 0.5611559748649597D, 0.5618165731430054D, 0.5624411702156067D, 0.5630917549133301D, 0.5637422204017639D, 0.5643942356109619D, 0.565030038356781D, 0.5656741857528687D, 0.5663131475448608D, 0.5669856071472168D, 0.5676253437995911D, 0.5682467818260193D, 0.5688928961753845D, 0.5695339441299438D, 0.5701755881309509D, 0.5708367824554443D, 0.5714528560638428D, 0.5721008777618408D, 0.572792112827301D, 0.5734336972236633D, 0.5740956664085388D, 0.5747833847999573D, 0.5754809975624084D, 0.5761705636978149D, 0.5768662095069885D, 0.5775163769721985D, 0.5782217979431152D, 0.5789486169815063D, 0.5796666145324707D, 0.5803557634353638D, 0.581061065196991D, 0.5817610025405884D, 0.5824694633483887D, 0.5831955671310425D, 0.5839105844497681D, 0.5846039056777954D, 0.5852735042572021D, 0.585961639881134D, 0.5866875052452087D, 0.5874256491661072D, 0.5881643891334534D, 0.5888875722885132D, 0.5896194577217102D, 0.5903604030609131D, 0.5911058783531189D, 0.5918967723846436D, 0.5926496982574463D, 0.5934140086174011D, 0.5941669344902039D, 0.5949351787567139D, 0.5956904292106628D, 0.5964735746383667D, 0.5972592830657959D, 0.5980729460716248D, 0.5988597869873047D, 0.599652111530304D, 0.6004453897476196D, 0.6012773513793945D, 0.6020792722702026D, 0.6028953194618225D, 0.6037645936012268D, 0.6045876145362854D, 0.6053803563117981D, 0.6061732172966003D, 0.6070164442062378D, 0.607831597328186D, 0.6086806058883667D, 0.6095685958862305D, 0.6104097962379456D, 0.6112634539604187D, 0.6120801568031311D, 0.6129648685455322D, 0.61387699842453D, 0.6147569417953491D, 0.6155954599380493D, 0.616402268409729D, 0.6172897219657898D, 0.6181901693344116D, 0.6190983653068542D, 0.6199691891670227D, 0.6208701133728027D, 0.6217461824417114D, 0.6226446032524109D, 0.6236084699630737D, 0.6245348453521729D, 0.6254535913467407D, 0.6264715194702148D, 0.627429187297821D, 0.6283873319625854D, 0.6293536424636841D, 0.6303542852401733D, 0.6313357353210449D, 0.6323064565658569D, 0.6332805156707764D, 0.6342861652374268D, 0.6353551745414734D, 0.6363866329193115D, 0.6374404430389404D, 0.6384573578834534D, 0.6395328044891357D, 0.640578031539917D, 0.6416310667991638D, 0.6427513360977173D, 0.6438618302345276D, 0.6449521780014038D, 0.6460468173027039D, 0.6471554636955261D, 0.6482812166213989D, 0.6493995189666748D, 0.6506232619285583D, 0.6517972946166992D, 0.6529961228370667D, 0.6542066931724548D, 0.6553934216499329D, 0.6565525531768799D, 0.6577653288841248D, 0.659013569355011D, 0.6602596640586853D, 0.6615633964538574D, 0.6628472805023193D, 0.6642037034034729D, 0.6654988527297974D, 0.6668195128440857D, 0.6681184768676758D, 0.6694334149360657D, 0.6707931756973267D, 0.6722204685211182D, 0.6736778020858765D, 0.6750837564468384D, 0.6765458583831787D, 0.6780242919921875D, 0.6794694662094116D, 0.6809762716293335D, 0.6825757026672363D, 0.6842136383056641D, 0.6857424974441528D, 0.6873693466186523D, 0.6890041828155518D, 0.6906958222389221D, 0.6923577785491943D, 0.6941602230072021D, 0.6958938241004944D, 0.6976979374885559D, 0.6996030807495117D, 0.7014617919921875D, 0.7033551931381226D, 0.7053101062774658D, 0.7073088884353638D, 0.7093900442123413D, 0.7115321159362793D, 0.7136979699134827D, 0.7159866690635681D, 0.7184513211250305D, 0.7208492159843445D, 0.7233277559280396D, 0.725836992263794D, 0.7282920479774475D, 0.7309600114822388D, 0.7337514162063599D, 0.7369317412376404D, 0.7400341629981995D, 0.7431910634040833D, 0.7465731501579285D, 0.7502389550209045D, 0.7539366483688354D, 0.7578595280647278D, 0.7620136737823486D, 0.7664995193481445D, 0.7713850736618042D, 0.7766971588134766D, 0.7824797630310059D, 0.7896102666854858D, 0.7976230382919312D, 0.8072929978370667D, 0.8200995326042175D, 0.8393367528915405D, 0.8953311443328857D}; - - public static void main(String[] args) { + @Test + static void testDistribution() { FastNoiseLite noise = new FastNoiseLite(); noise.setNoiseType(FastNoiseLite.NoiseType.OpenSimplex2); @@ -55,17 +56,12 @@ public class DistributionTest { System.out.println("min: " + min); } - public static int normal(double d, int max) { - double ranged = Math.max(0, Math.min((d + 1) / 2D, 1)); - return (int) (ranged * max); - } - public static int normalize(double d, int num) { int start = 0; int end = normalMap.length - 1; while(start + 1 < end) { int mid = start + (end - start) / 2; - if(normalMap[mid] <= d) { + if (normalMap[mid] <= d) { start = mid; } else { end = mid; @@ -73,9 +69,14 @@ public class DistributionTest { } double left = Math.abs(normalMap[start] - d); double right = Math.abs(normalMap[end] - d); - if(left <= right) { + if (left <= right) { return start * (num) / (normalMap.length); } return end * (num) / (normalMap.length); } + + public static int normal(double d, int max) { + double ranged = Math.max(0, Math.min((d + 1) / 2D, 1)); + return (int) (ranged * max); + } } diff --git a/src/test/java/LookupGenerator.java b/src/test/java/LookupGenerator.java index b1caae1e6..51841866c 100644 --- a/src/test/java/LookupGenerator.java +++ b/src/test/java/LookupGenerator.java @@ -1,13 +1,15 @@ +import org.junit.jupiter.api.Test; import org.polydev.gaea.math.FastNoiseLite; import java.util.ArrayList; import java.util.Collections; import java.util.List; -public class LookupGenerator { +class LookupGenerator { private static double[] lookup; - public static void main(String[] args) throws InterruptedException { + @Test + static void main(String[] args) throws InterruptedException { int dist = 4096; List vals = new ArrayList<>(); @@ -63,7 +65,7 @@ public class LookupGenerator { int current = vals.size() / dist; System.out.println(i + ", max: " + vals.get(current * (i + 1) - 1)); lookup[i] = vals.get(current * (i + 1) - 1); - s.append(vals.get(current * (i + 1) - 1) + "D, "); + s.append(vals.get(current * (i + 1) - 1)).append("D, "); } s.delete(s.length() - 2, s.length()); s.append("}"); @@ -89,17 +91,23 @@ public class LookupGenerator { } + public static int normalizeNew(double d) { + for(int i = 0; i < lookup.length; i++) { + if (d < lookup[i]) return i; + } + return lookup.length - 1; + } + public static int normalize(double i, int n) { i *= 1.42; // Magic simplex value (sqrt(2) plus a little) i = Math.min(Math.max(i, -1), 1); return Math.min((int) Math.floor((i + 1) * ((double) n / 2)), n - 1); } - public static int normalizeNew(double d) { - for(int i = 0; i < lookup.length; i++) { - if(d < lookup[i]) return i; - } - return lookup.length - 1; + public static int normalize(double i, int n) { + i *= 1.42; // Magic simplex value (sqrt(2) plus a little) + i = Math.min(Math.max(i, -1), 1); + return Math.min((int) Math.floor((i + 1) * ((double) n / 2)), n - 1); } private static class Worker extends Thread { From 56671ac6a18b69576a7758100309c3deb823cbbc Mon Sep 17 00:00:00 2001 From: solonovamax Date: Sat, 7 Nov 2020 11:14:06 -0500 Subject: [PATCH 2/5] Fix formatting issues Signed-off-by: solonovamax --- .editorconfig | 4 +- .idea/misc.xml | 3 + Terra.iml | 17 ++ src/main/java/com/dfsek/terra/TerraWorld.java | 2 +- .../com/dfsek/terra/biome/TerraBiomeGrid.java | 6 +- .../dfsek/terra/carving/SimplexCarver.java | 2 +- .../dfsek/terra/config/base/ConfigPack.java | 32 ++-- .../dfsek/terra/config/base/WorldConfig.java | 10 +- .../terra/generation/TerraChunkGenerator.java | 18 +-- .../generation/UserDefinedGenerator.java | 2 +- .../com/dfsek/terra/image/ImageLoader.java | 20 +-- .../com/dfsek/terra/math/NoiseFunction2.java | 2 +- .../terra/population/FloraPopulator.java | 8 +- .../dfsek/terra/population/OrePopulator.java | 2 +- .../com/dfsek/terra/procgen/math/Vector2.java | 11 +- .../com/dfsek/terra/structure/Structure.java | 128 ++++++--------- .../structure/StructureSpawnRequirement.java | 6 +- .../structure/features/EntityFeature.java | 4 +- .../terra/util/structure/RotationUtil.java | 96 +---------- .../terra/util/structure/WorldEditUtil.java | 16 +- src/main/resources/config.yml | 12 +- .../abstract/biomes/basic_ores.yml | 44 ++--- .../abstract/biomes/beach_abstract.yml | 44 ++--- .../abstract/biomes/deep_ocean_abstract.yml | 44 ++--- .../biomes/mountain/mountains_pretty.yml | 50 +++--- .../mountain/mountains_pretty_border_0.yml | 50 +++--- .../mountain/mountains_pretty_border_1.yml | 50 +++--- .../abstract/biomes/ocean_abstract.yml | 44 ++--- .../abstract/biomes/plains_abstract.yml | 46 +++--- .../abstract/biomes/shelf_ocean_abstract.yml | 44 ++--- .../default-config/biomes/beach/beach.yml | 6 +- .../biomes/beach/beach_cold.yml | 6 +- .../biomes/beach/beach_frozen.yml | 8 +- .../biomes/beach/beach_warm.yml | 6 +- .../default-config/biomes/desert.yml | 6 +- .../biomes/forest/birch_forest.yml | 22 +-- .../biomes/forest/dark_forest.yml | 44 ++--- .../default-config/biomes/forest/jungle.yml | 24 +-- .../biomes/forest/oak_forest.yml | 24 +-- .../default-config/biomes/forest/savanna.yml | 24 +-- .../biomes/forest/snowy_taiga.yml | 12 +- .../default-config/biomes/forest/taiga.yml | 30 ++-- .../resources/default-config/biomes/mesa.yml | 12 +- .../biomes/mountain/arid_mountains.yml | 14 +- .../mountain/arid_mountains_border_0.yml | 44 ++--- .../mountain/arid_mountains_border_1.yml | 44 ++--- .../biomes/mountain/mountains_stone.yml | 38 ++--- .../mountain/mountains_stone_border_0.yml | 38 ++--- .../mountain/mountains_stone_border_1.yml | 18 +-- .../default-config/biomes/mountains.yml | 12 +- .../biomes/ocean/ocean_warm.yml | 2 +- .../biomes/ocean_deep/ocean_warm.yml | 2 +- .../biomes/ocean_shelf/ocean_warm.yml | 2 +- .../default-config/biomes/plains.yml | 8 +- .../default-config/biomes/plains_sky.yml | 10 +- .../resources/default-config/biomes/river.yml | 8 +- .../resources/default-config/biomes/swamp.yml | 8 +- .../default-config/biomes/tundra.yml | 18 +-- .../resources/default-config/carving/cave.yml | 6 +- .../default-config/carving/cave_ocean.yml | 6 +- .../default-config/carving/cave_swamp.yml | 6 +- .../default-config/carving/cave_tundra.yml | 8 +- .../default-config/carving/cavern.yml | 8 +- .../default-config/carving/ravine.yml | 8 +- .../ores/deposits/andesite_pocket.yml | 4 +- .../ores/deposits/diorite_pocket.yml | 4 +- .../ores/deposits/dirt_pocket.yml | 4 +- .../ores/deposits/granite_pocket.yml | 4 +- .../ores/deposits/gravel_pocket.yml | 4 +- .../default-config/ores/minerals/coal.yml | 4 +- .../default-config/ores/minerals/diamond.yml | 4 +- .../default-config/ores/minerals/gold.yml | 4 +- .../default-config/ores/minerals/iron.yml | 4 +- .../default-config/ores/minerals/lapis.yml | 4 +- .../default-config/ores/minerals/redstone.yml | 4 +- src/main/resources/default-config/pack.yml | 10 +- .../palettes/mountains/arid.yml | 40 ++--- .../palettes/mountains/grass.yml | 32 ++-- .../palettes/mountains/jungle.yml | 36 ++--- .../palettes/mountains/pretty_mountains.yml | 44 ++--- .../palettes/mountains/stone.yml | 24 +-- .../palettes/mountains/stone_grass.yml | 38 ++--- .../default-config/palettes/river_bottom.yml | 22 +-- .../default-config/palettes/river_shore.yml | 28 ++-- .../palettes/slabs/mountainslabs.yml | 14 +- .../palettes/slabs/mountainstairs.yml | 14 +- .../default-config/palettes/taiga.yml | 26 +-- .../default-config/palettes/tundra.yml | 38 ++--- .../structures/single/mansion.yml | 52 +++--- .../structures/single/stronghold.yml | 52 +++--- src/main/resources/lang/afr_sa.yml | 84 +++++----- src/main/resources/lang/de_de.yml | 150 +++++++++--------- src/main/resources/lang/en_us.yml | 150 +++++++++--------- src/main/resources/lang/es.yml | 146 ++++++++--------- src/main/resources/lang/ja_jp.yml | 146 ++++++++--------- src/main/resources/lang/pl.yml | 150 +++++++++--------- src/main/resources/lang/zh_cn.yml | 146 ++++++++--------- src/main/resources/plugin.yml | 26 +-- 98 files changed, 1369 insertions(+), 1492 deletions(-) create mode 100644 Terra.iml diff --git a/.editorconfig b/.editorconfig index 36339ddae..182e9199e 100644 --- a/.editorconfig +++ b/.editorconfig @@ -179,7 +179,7 @@ ij_java_space_before_for_left_brace = true ij_java_space_before_for_parentheses = false ij_java_space_before_for_semicolon = false ij_java_space_before_if_left_brace = true -ij_java_space_before_if_parentheses = true +ij_java_space_before_if_parentheses = false ij_java_space_before_method_call_parentheses = false ij_java_space_before_method_left_brace = true ij_java_space_before_method_parentheses = false @@ -340,7 +340,7 @@ ij_json_wrap_long_lines = false [{*.yaml,*.yml}] indent_size = 2 -ij_yaml_keep_indents_on_empty_lines = false +ij_yaml_keep_indents_on_empty_lines = true ij_yaml_keep_line_breaks = true ij_yaml_space_before_colon = true ij_yaml_spaces_within_braces = true diff --git a/.idea/misc.xml b/.idea/misc.xml index f56146bc8..594038a0a 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,9 @@ + + + diff --git a/Terra.iml b/Terra.iml new file mode 100644 index 000000000..f2029cb9e --- /dev/null +++ b/Terra.iml @@ -0,0 +1,17 @@ + + + + + + + + + + SPIGOT + + + + + \ No newline at end of file diff --git a/src/main/java/com/dfsek/terra/TerraWorld.java b/src/main/java/com/dfsek/terra/TerraWorld.java index 9bda533d6..8f7024a29 100644 --- a/src/main/java/com/dfsek/terra/TerraWorld.java +++ b/src/main/java/com/dfsek/terra/TerraWorld.java @@ -39,7 +39,7 @@ public class TerraWorld { for(int i = 0; i < config.biomeList.size(); i++) { String partName = config.biomeList.get(i); try { - if (partName.startsWith("BIOME:")) { + if(partName.startsWith("BIOME:")) { UserDefinedBiome[][] temp = new UserDefinedBiome[1][1]; UserDefinedBiome b = config.getBiomes().get(partName.substring(6)).getBiome(); temp[0][0] = b; diff --git a/src/main/java/com/dfsek/terra/biome/TerraBiomeGrid.java b/src/main/java/com/dfsek/terra/biome/TerraBiomeGrid.java index 7f66aa428..dbc47eb3f 100644 --- a/src/main/java/com/dfsek/terra/biome/TerraBiomeGrid.java +++ b/src/main/java/com/dfsek/terra/biome/TerraBiomeGrid.java @@ -21,11 +21,11 @@ public class TerraBiomeGrid extends BiomeGrid { public TerraBiomeGrid(World w, double freq1, double freq2, BiomeZone zone, ConfigPack c, UserDefinedGrid erosion) { super(w, freq1, freq2, 0, 0); - if (c.biomeBlend) { + if(c.biomeBlend) { perturb = new CoordinatePerturb(c.blendFreq, c.blendAmp, w.getSeed()); } this.zone = zone; - if (c.erosionEnable) { + if(c.erosionEnable) { erode = new ErosionNoise(c.erosionFreq, c.erosionThresh, c.erosionOctaves, w.getSeed()); this.erosionGrid = erosion; } @@ -39,7 +39,7 @@ public class TerraBiomeGrid extends BiomeGrid { public Biome getBiome(int x, int z, GenerationPhase phase) { int xp = x; int zp = z; - if (perturb != null && phase.equals(GenerationPhase.PALETTE_APPLY)) { + if(perturb != null && phase.equals(GenerationPhase.PALETTE_APPLY)) { Vector2 perturbCoords = perturb.getShiftedCoords(x, z); xp = (int) perturbCoords.getX(); zp = (int) perturbCoords.getZ(); diff --git a/src/main/java/com/dfsek/terra/carving/SimplexCarver.java b/src/main/java/com/dfsek/terra/carving/SimplexCarver.java index 948d2b8e7..42a951f80 100644 --- a/src/main/java/com/dfsek/terra/carving/SimplexCarver.java +++ b/src/main/java/com/dfsek/terra/carving/SimplexCarver.java @@ -58,7 +58,7 @@ public class SimplexCarver extends Carver { if(finalNoise > 0.5) { c.carve(x - ox, y, z - oz, type); double finalNoiseUp = (-0.05 * Math.abs((y + 1) - (heightNoise * 16 + 24)) + 1 - simplex) * hc; - if (finalNoiseUp > 0.5) { + if(finalNoiseUp > 0.5) { type = CarvingData.CarvingType.CENTER; } else type = CarvingData.CarvingType.TOP; } diff --git a/src/main/java/com/dfsek/terra/config/base/ConfigPack.java b/src/main/java/com/dfsek/terra/config/base/ConfigPack.java index e57eccdc6..c57fad859 100644 --- a/src/main/java/com/dfsek/terra/config/base/ConfigPack.java +++ b/src/main/java/com/dfsek/terra/config/base/ConfigPack.java @@ -158,6 +158,22 @@ public class ConfigPack extends YamlConfiguration { LangUtil.log("config-pack.loaded", Level.INFO, getID(), String.valueOf((System.nanoTime() - l) / 1000000D)); } + public String getID() { + return id; + } + + public Map getBiomes() { + return biomes; + } + + public StructureConfig getStructure(String id) { + return structures.get(id); + } + + public BiomeGridConfig getBiomeGrid(String id) { + return grids.get(id); + } + public static synchronized void loadAll(JavaPlugin main) { configs.clear(); File file = new File(main.getDataFolder(), "packs"); @@ -188,22 +204,6 @@ public class ConfigPack extends YamlConfiguration { } } - public String getID() { - return id; - } - - public Map getBiomes() { - return biomes; - } - - public StructureConfig getStructure(String id) { - return structures.get(id); - } - - public BiomeGridConfig getBiomeGrid(String id) { - return grids.get(id); - } - public static synchronized ConfigPack fromID(String id) { return configs.get(id); } diff --git a/src/main/java/com/dfsek/terra/config/base/WorldConfig.java b/src/main/java/com/dfsek/terra/config/base/WorldConfig.java index 426ce6af3..ae8729502 100644 --- a/src/main/java/com/dfsek/terra/config/base/WorldConfig.java +++ b/src/main/java/com/dfsek/terra/config/base/WorldConfig.java @@ -42,7 +42,7 @@ public class WorldConfig { FileConfiguration config = new YamlConfiguration(); Debug.info("Loading config " + configID + " for world " + worldID); try { // Load/create world config file - if (configID == null || configID.equals("")) + if(configID == null || configID.equals("")) throw new ConfigException("Config pack unspecified in bukkit.yml!", worldID); File configFile = new File(main.getDataFolder() + File.separator + "worlds", worldID + ".yml"); if(!configFile.exists()) { @@ -58,19 +58,19 @@ public class WorldConfig { tConfig = ConfigPack.fromID(configID); - if (tConfig == null) + if(tConfig == null) throw new ConfigException("No such config pack: \"" + configID + "\". This pack either does not exist, or failed to load due to configuration errors.", worldID); // Load image stuff try { biomeXChannel = ImageLoader.Channel.valueOf(Objects.requireNonNull(config.getString("image.channels.biome-x", "red")).toUpperCase()); biomeZChannel = ImageLoader.Channel.valueOf(Objects.requireNonNull(config.getString("image.channels.biome-z", "green")).toUpperCase()); - if (biomeZChannel.equals(biomeXChannel)) + if(biomeZChannel.equals(biomeXChannel)) throw new InvalidConfigurationException("2 objects share the same image channels: biome-x and biome-z"); zoneChannel = ImageLoader.Channel.valueOf(Objects.requireNonNull(config.getString("image.channels.zone", "blue")).toUpperCase()); - if (zoneChannel.equals(biomeXChannel) || zoneChannel.equals(biomeZChannel)) + if(zoneChannel.equals(biomeXChannel) || zoneChannel.equals(biomeZChannel)) throw new InvalidConfigurationException("2 objects share the same image channels: zone and biome-x/z"); - if (fromImage) { + if(fromImage) { try { //noinspection ConstantConditions imageLoader = new ImageLoader(new File(config.getString("image.file")), diff --git a/src/main/java/com/dfsek/terra/generation/TerraChunkGenerator.java b/src/main/java/com/dfsek/terra/generation/TerraChunkGenerator.java index c3579a826..a27f5b11c 100644 --- a/src/main/java/com/dfsek/terra/generation/TerraChunkGenerator.java +++ b/src/main/java/com/dfsek/terra/generation/TerraChunkGenerator.java @@ -70,7 +70,7 @@ public class TerraChunkGenerator extends GaeaChunkGenerator { } public static synchronized void fixChunk(Chunk c) { - if (!(c.getWorld().getGenerator() instanceof TerraChunkGenerator)) throw new IllegalArgumentException(); + if(!(c.getWorld().getGenerator() instanceof TerraChunkGenerator)) throw new IllegalArgumentException(); popMap.get(c.getWorld()).checkNeighbors(c.getX(), c.getZ(), c.getWorld()); } @@ -82,10 +82,10 @@ public class TerraChunkGenerator extends GaeaChunkGenerator { @Override public ChunkData generateBase(@NotNull World world, @NotNull Random random, int chunkX, int chunkZ, ChunkInterpolator interpolator) { - if (needsLoad) load(world); // Load population data for world. + if(needsLoad) load(world); // Load population data for world. ChunkData chunk = createChunkData(world); TerraWorld tw = TerraWorld.getWorld(world); - if (!tw.isSafe()) return chunk; + if(!tw.isSafe()) return chunk; ConfigPack config = tw.getConfig(); int xOrig = (chunkX << 4); int zOrig = (chunkZ << 4); @@ -109,7 +109,7 @@ public class TerraChunkGenerator extends GaeaChunkGenerator { slab.getStairs(), slab.getSlabThreshold(), interpolator); } paletteLevel++; - } else if (y <= sea) { + } else if(y <= sea) { chunk.setBlock(x, y, z, seaPalette.get(sea - y, x + xOrig, z + zOrig)); paletteLevel = 0; } else paletteLevel = 0; @@ -121,15 +121,15 @@ public class TerraChunkGenerator extends GaeaChunkGenerator { private void prepareBlockPart(BlockData down, BlockData orig, ChunkData chunk, Vector block, Map> slabs, Map> stairs, double thresh, ChunkInterpolator interpolator) { - if (interpolator.getNoise(block.getBlockX(), block.getBlockY() - 0.4, block.getBlockZ()) > thresh) { - if (stairs != null) { + if(interpolator.getNoise(block.getBlockX(), block.getBlockY() - 0.4, block.getBlockZ()) > thresh) { + if(stairs != null) { Palette stairPalette = stairs.get(down.getMaterial()); - if (stairPalette != null) { + if(stairPalette != null) { BlockData stair = stairPalette.get(0, block.getBlockX(), block.getBlockZ()); Stairs stairNew = (Stairs) stair.clone(); - if (interpolator.getNoise(block.getBlockX() - 0.5, block.getBlockY(), block.getBlockZ()) > thresh) { + if(interpolator.getNoise(block.getBlockX() - 0.5, block.getBlockY(), block.getBlockZ()) > thresh) { stairNew.setFacing(BlockFace.WEST); - } else if (interpolator.getNoise(block.getBlockX(), block.getBlockY(), block.getBlockZ() - 0.5) > thresh) { + } else if(interpolator.getNoise(block.getBlockX(), block.getBlockY(), block.getBlockZ() - 0.5) > thresh) { stairNew.setFacing(BlockFace.NORTH); } else if(interpolator.getNoise(block.getBlockX(), block.getBlockY(), block.getBlockZ() + 0.5) > thresh) { stairNew.setFacing(BlockFace.SOUTH); diff --git a/src/main/java/com/dfsek/terra/generation/UserDefinedGenerator.java b/src/main/java/com/dfsek/terra/generation/UserDefinedGenerator.java index c730b4148..ac5ea5d84 100644 --- a/src/main/java/com/dfsek/terra/generation/UserDefinedGenerator.java +++ b/src/main/java/com/dfsek/terra/generation/UserDefinedGenerator.java @@ -40,7 +40,7 @@ public class UserDefinedGenerator extends Generator { for(int y = 0; y < 256; y++) { Palette d = DataUtil.BLANK_PALETTE; for(Map.Entry> e : paletteMap.entrySet()) { - if (e.getKey() >= y) { + if(e.getKey() >= y) { d = e.getValue(); break; } diff --git a/src/main/java/com/dfsek/terra/image/ImageLoader.java b/src/main/java/com/dfsek/terra/image/ImageLoader.java index 3442c23c8..be3b521b3 100644 --- a/src/main/java/com/dfsek/terra/image/ImageLoader.java +++ b/src/main/java/com/dfsek/terra/image/ImageLoader.java @@ -15,9 +15,9 @@ import java.io.File; import java.io.IOException; public class ImageLoader { + private static final double INVERSE_ROOT_2 = 0.7071067811865475; private final BufferedImage image; private final Align align; - private static final double INVERSE_ROOT_2 = 0.7071067811865475; public ImageLoader(File file, Align align) throws IOException { image = ImageIO.read(file); @@ -60,9 +60,9 @@ public class ImageLoader { } public void debug(boolean genStep, World w) { - if (!ConfigUtil.debug) return; + if(!ConfigUtil.debug) return; BufferedImage newImg = copyImage(image); - if (genStep) { + if(genStep) { newImg = redrawStepped(image, w, align); } DebugGUI debugGUI = new DebugGUI(newImg); @@ -90,20 +90,6 @@ public class ImageLoader { } } - public void debug(boolean genStep, World w) { - if(!ConfigUtil.debug) return; - BufferedImage newImg = copyImage(image); - if(genStep) { - newImg = redrawStepped(image, w, align); - } - DebugGUI debugGUI = new DebugGUI(newImg); - debugGUI.start(); - } - - public double getNoiseVal(int x, int y, Channel channel) { - return ((double) (getChannel(x, y, channel) - 128) / 128) * inverseRoot2; - } - public Align getAlign() { return align; } diff --git a/src/main/java/com/dfsek/terra/math/NoiseFunction2.java b/src/main/java/com/dfsek/terra/math/NoiseFunction2.java index 1e13c11d0..3a011be24 100644 --- a/src/main/java/com/dfsek/terra/math/NoiseFunction2.java +++ b/src/main/java/com/dfsek/terra/math/NoiseFunction2.java @@ -37,7 +37,7 @@ public class NoiseFunction2 implements Function { public double get(double x, double z) { for(int i = 0; i < cacheX.length; i++) { - if (cacheX[i] == x && cacheZ[i] == z) return cacheValues[i]; + if(cacheX[i] == x && cacheZ[i] == z) return cacheValues[i]; } cacheX[0] = x; cacheZ[0] = z; diff --git a/src/main/java/com/dfsek/terra/population/FloraPopulator.java b/src/main/java/com/dfsek/terra/population/FloraPopulator.java index 2d3d31d83..15943293b 100644 --- a/src/main/java/com/dfsek/terra/population/FloraPopulator.java +++ b/src/main/java/com/dfsek/terra/population/FloraPopulator.java @@ -60,7 +60,7 @@ public class FloraPopulator extends GaeaBlockPopulator { item = biome.getDecorator().getFlora().get(f.getFloraNoise(), originX + x, originZ + z); else item = biome.getDecorator().getFlora().get(random); for(Block highest : item.getValidSpawnsAt(chunk, x, z, c.getFloraHeights(item))) { - if (random.nextInt(100) < biome.getDecorator().getFloraChance()) + if(random.nextInt(100) < biome.getDecorator().getFloraChance()) item.plant(highest.getLocation()); } } @@ -75,12 +75,12 @@ public class FloraPopulator extends GaeaBlockPopulator { for(Block block : getValidTreeSpawnsAt(chunk, x, z, new Range(0, 254))) { Tree tree = biome.getDecorator().getTrees().get(random); Range range = world.getConfig().getBiome(biome).getTreeRange(tree); - if (!range.isInRange(block.getY())) continue; + if(!range.isInRange(block.getY())) continue; try { Location l = block.getLocation(); TreeGenerateEvent event = new TreeGenerateEvent(world, l, tree); Bukkit.getPluginManager().callEvent(event); - if (!event.isCancelled()) tree.plant(l, random, Terra.getInstance()); + if(!event.isCancelled()) tree.plant(l, random, Terra.getInstance()); } catch(NullPointerException ignore) { } } @@ -90,7 +90,7 @@ public class FloraPopulator extends GaeaBlockPopulator { public static List getValidTreeSpawnsAt(Chunk chunk, int x, int z, Range check) { List blocks = new ArrayList<>(); for(int y : check) { - if (chunk.getBlock(x, y, z).getType().isSolid() && chunk.getBlock(x, y + 1, z).getType().isAir()) { + if(chunk.getBlock(x, y, z).getType().isSolid() && chunk.getBlock(x, y + 1, z).getType().isAir()) { blocks.add(chunk.getBlock(x, y + 1, z)); } } diff --git a/src/main/java/com/dfsek/terra/population/OrePopulator.java b/src/main/java/com/dfsek/terra/population/OrePopulator.java index 50d87db16..81bad037c 100644 --- a/src/main/java/com/dfsek/terra/population/OrePopulator.java +++ b/src/main/java/com/dfsek/terra/population/OrePopulator.java @@ -44,7 +44,7 @@ public class OrePopulator extends GaeaBlockPopulator { Bukkit.getPluginManager().callEvent(event); if(!event.isCancelled()) { if(ore.crossChunks()) ore.doVein(v, chunk, random); - else ore.doVeinSingle(new Vector(x, y, z), chunk, random); + else ore.doVeinSingleChunk(new Vector(x, y, z), chunk, random); } } } diff --git a/src/main/java/com/dfsek/terra/procgen/math/Vector2.java b/src/main/java/com/dfsek/terra/procgen/math/Vector2.java index ed45b5511..d7d296455 100644 --- a/src/main/java/com/dfsek/terra/procgen/math/Vector2.java +++ b/src/main/java/com/dfsek/terra/procgen/math/Vector2.java @@ -145,15 +145,6 @@ public class Vector2 implements Cloneable { return dx * dx + dz * dz; } - @Override - public boolean equals(Object obj) { - if(!(obj instanceof Vector2)) { - return false; - } - Vector2 other = (Vector2) obj; - return other.x == this.x && other.z == this.z; - } - @Override public int hashCode() { int hash = 17; @@ -164,7 +155,7 @@ public class Vector2 implements Cloneable { @Override public boolean equals(Object obj) { - if (!(obj instanceof Vector2)) { + if(!(obj instanceof Vector2)) { return false; } Vector2 other = (Vector2) obj; diff --git a/src/main/java/com/dfsek/terra/structure/Structure.java b/src/main/java/com/dfsek/terra/structure/Structure.java index 227d9c9f2..c4e78ec8d 100644 --- a/src/main/java/com/dfsek/terra/structure/Structure.java +++ b/src/main/java/com/dfsek/terra/structure/Structure.java @@ -54,7 +54,7 @@ public class Structure implements Serializable { this.uuid = UUID.randomUUID(); this.spawns = new HashSet<>(); this.inventories = new HashSet<>(); - if (l1.getX() > l2.getX() || l1.getY() > l2.getY() || l1.getZ() > l2.getZ()) + if(l1.getX() > l2.getX() || l1.getY() > l2.getY() || l1.getZ() > l2.getZ()) throw new IllegalArgumentException("Invalid locations provided!"); structure = new StructureContainedBlock[l2.getBlockX() - l1.getBlockX() + 1][l2.getBlockZ() - l1.getBlockZ() + 1][l2.getBlockY() - l1.getBlockY() + 1]; for(int x = 0; x <= l2.getBlockX() - l1.getBlockX(); x++) { @@ -68,16 +68,16 @@ public class Structure implements Serializable { int pullOffset = 0; StructureSpawnRequirement requirement = StructureSpawnRequirement.BLANK; try { - if (state instanceof Sign) { // Magic sign stuff + if(state instanceof Sign) { // Magic sign stuff Sign s = (Sign) b.getState(); - if (s.getLine(0).equals("[TERRA]")) { + if(s.getLine(0).equals("[TERRA]")) { try { d = Bukkit.createBlockData(s.getLine(2) + s.getLine(3)); useState = false; - if (s.getLine(1).equals("[CENTER]")) { + if(s.getLine(1).equals("[CENTER]")) { centerX = x; centerZ = z; - } else if (s.getLine(1).startsWith("[SPAWN=") && s.getLine(1).endsWith("]")) { + } else if(s.getLine(1).startsWith("[SPAWN=") && s.getLine(1).endsWith("]")) { String og = s.getLine(1); String spawn = og.substring(og.indexOf("=") + 1, og.length() - 1); try { @@ -85,7 +85,7 @@ public class Structure implements Serializable { } catch(IllegalArgumentException e) { throw new InitializationException("Invalid spawn type: " + spawn, b.getLocation()); } - } else if (s.getLine(1).startsWith("[PULL=") && s.getLine(1).endsWith("]")) { + } else if(s.getLine(1).startsWith("[PULL=") && s.getLine(1).endsWith("]")) { String og = s.getLine(1); String spawn = og.substring(og.indexOf("=") + 1, og.indexOf("_")); pullOffset = Integer.parseInt(og.substring(og.indexOf("_") + 1, og.length() - 1)); @@ -106,15 +106,15 @@ public class Structure implements Serializable { throw new InitializationException("Invalid sign.", b.getLocation()); } StructureContainedBlock block = new StructureContainedBlock(x, y, z, useState ? state : null, d, requirement, pull, pullOffset); - if (state instanceof BlockInventoryHolder) { + if(state instanceof BlockInventoryHolder) { inventories.add(new StructureContainedInventory(((BlockInventoryHolder) state).getInventory(), block)); } - if (!requirement.equals(StructureSpawnRequirement.BLANK)) spawns.add(block); + if(!requirement.equals(StructureSpawnRequirement.BLANK)) spawns.add(block); structure[x][z][y] = block; } } } - if (centerX < 0 || centerZ < 0) throw new InitializationException("No structure center specified.", null); + if(centerX < 0 || centerZ < 0) throw new InitializationException("No structure center specified.", null); structureInfo = new StructureInfo(l2.getBlockX() - l1.getBlockX() + 1, l2.getBlockY() - l1.getBlockY() + 1, l2.getBlockZ() - l1.getBlockZ() + 1, new Vector2(centerX, centerZ)); } @@ -177,33 +177,13 @@ public class Structure implements Serializable { } /** - * Paste structure at an origin location, confined to a single chunk. + * Get GaeaStructureInfo object * - * @param origin Origin location - * @param chunk Chunk to confine pasting to - * @param r Rotation + * @return Structure Info */ - public void paste(Location origin, Chunk chunk, Rotation r) { - int xOr = (chunk.getX() << 4); - int zOr = (chunk.getZ() << 4); - Range intersectX = new Range(xOr, xOr + 16).sub(origin.getBlockX() - structureInfo.getCenterX()); - Range intersectZ = new Range(zOr, zOr + 16).sub(origin.getBlockZ() - structureInfo.getCenterZ()); - if (intersectX == null || intersectZ == null) return; - executeForBlocksInRange(intersectX, getRange(Axis.Y, r), intersectZ, block -> pasteBlock(block, origin, r), r); - Debug.info(intersectX.toString() + " : " + intersectZ.toString()); - } - - public boolean checkSpawns(Location origin, Rotation r) { - for(StructureContainedBlock b : spawns) { - Vector2 rot = getRotatedCoords(new Vector2(b.getX() - structureInfo.getCenterX(), b.getZ() - structureInfo.getCenterZ()), r); - if (!b.getRequirement().matches(origin.getWorld(), (int) rot.getX() + origin.getBlockX(), origin.getBlockY() + b.getY(), (int) rot.getZ() + origin.getBlockZ())) - return false; - } - return true; - } - - public HashSet getInventories() { - return inventories; + @NotNull + public StructureInfo getStructureInfo() { + return structureInfo; } /** @@ -218,23 +198,11 @@ public class Structure implements Serializable { int zOr = (chunk.getZ() << 4); Range intersectX = new Range(xOr, xOr + 16).sub(origin.getBlockX() - structureInfo.getCenterX()); Range intersectZ = new Range(zOr, zOr + 16).sub(origin.getBlockZ() - structureInfo.getCenterZ()); - if (intersectX == null || intersectZ == null) return; + if(intersectX == null || intersectZ == null) return; executeForBlocksInRange(intersectX, getRange(Axis.Y, r), intersectZ, block -> pasteBlock(block, origin, r), r); Debug.info(intersectX.toString() + " : " + intersectZ.toString()); } - /** - * Test whether a set of coordinates is within the current structure - * - * @param x X coordinate - * @param y Y coordinate - * @param z Z coordinate - * @return True if coordinate set is in structure, false if it is not. - */ - private boolean isInStructure(int x, int y, int z) { - return x < structureInfo.getSizeX() && y < structureInfo.getSizeY() && z < structureInfo.getSizeZ() && x >= 0 && y >= 0 && z >= 0; - } - /** * Paste a single StructureDefinedBlock at an origin location, offset by its coordinates. * @@ -250,8 +218,8 @@ public class Structure implements Serializable { Block worldBlock = loc.getBlock(); main: while(worldBlock.isEmpty()) { - if (loc.getBlockY() > 255 || loc.getBlockY() < 0) return; - if (block.getPull() == null) break; + if(loc.getBlockY() > 255 || loc.getBlockY() < 0) return; + if(block.getPull() == null) break; switch(block.getPull()) { case UP: worldBlock = worldBlock.getRelative(BlockFace.UP); @@ -265,16 +233,16 @@ public class Structure implements Serializable { } int offset = block.getPullOffset(); - if (offset != 0) + if(offset != 0) worldBlock = worldBlock.getRelative((offset > 0) ? BlockFace.UP : BlockFace.DOWN, Math.abs(offset)); - if (data instanceof Rotatable) { + if(data instanceof Rotatable) { BlockFace rt = getRotatedFace(((Rotatable) data).getRotation(), r); ((Rotatable) data).setRotation(rt); - } else if (data instanceof Directional) { + } else if(data instanceof Directional) { BlockFace rt = getRotatedFace(((Directional) data).getFacing(), r); ((Directional) data).setFacing(rt); - } else if (data instanceof MultipleFacing) { + } else if(data instanceof MultipleFacing) { MultipleFacing mfData = (MultipleFacing) data; Map faces = new HashMap<>(); for(BlockFace f : mfData.getAllowedFaces()) { @@ -283,13 +251,13 @@ public class Structure implements Serializable { for(Map.Entry face : faces.entrySet()) { mfData.setFace(getRotatedFace(face.getKey(), r), face.getValue()); } - } else if (data instanceof Rail) { + } else if(data instanceof Rail) { Rail.Shape newShape = getRotatedRail(((Rail) data).getShape(), r); ((Rail) data).setShape(newShape); - } else if (data instanceof Orientable) { + } else if(data instanceof Orientable) { org.bukkit.Axis newAxis = getRotatedAxis(((Orientable) data).getAxis(), r); ((Orientable) data).setAxis(newAxis); - } else if (data instanceof RedstoneWire) { + } else if(data instanceof RedstoneWire) { Map connections = new HashMap<>(); RedstoneWire rData = (RedstoneWire) data; for(BlockFace f : rData.getAllowedFaces()) { @@ -300,26 +268,12 @@ public class Structure implements Serializable { } } worldBlock.setBlockData(data, false); - if (block.getState() != null) { + if(block.getState() != null) { block.getState().getState(worldBlock.getState()).update(true, false); } } } - @NotNull - private Range getRawRange(@NotNull Axis a) { - switch(a) { - case X: - return new Range(0, structureInfo.getSizeX()); - case Y: - return new Range(0, structureInfo.getSizeY()); - case Z: - return new Range(0, structureInfo.getSizeZ()); - default: - throw new IllegalArgumentException(); - } - } - /** * Execute a Consumer for all blocks in a cuboid region defined by 3 Ranges, accounting for rotation. * @@ -335,7 +289,7 @@ public class Structure implements Serializable { for(int z : zM) { Vector2 c = getRotatedCoords(new Vector2(x - structureInfo.getCenterX(), z - structureInfo.getCenterZ()), r); c.add(new Vector2(structureInfo.getCenterX(), structureInfo.getCenterZ())); - if (isInStructure((int) c.getX(), y, (int) c.getZ())) { + if(isInStructure((int) c.getX(), y, (int) c.getZ())) { StructureContainedBlock b = structure[(int) c.getX()][(int) c.getZ()][y]; exec.accept(new StructureContainedBlock(x - getStructureInfo().getCenterX(), y, z - getStructureInfo().getCenterZ(), b.getState(), b.getBlockData(), b.getRequirement(), b.getPull(), b.getPullOffset())); } @@ -345,30 +299,46 @@ public class Structure implements Serializable { } /** - * Get GaeaStructureInfo object + * Test whether a set of coordinates is within the current structure * - * @return Structure Info + * @param x X coordinate + * @param y Y coordinate + * @param z Z coordinate + * @return True if coordinate set is in structure, false if it is not. */ - @NotNull - public StructureInfo getStructureInfo() { - return structureInfo; + private boolean isInStructure(int x, int y, int z) { + return x < structureInfo.getSizeX() && y < structureInfo.getSizeY() && z < structureInfo.getSizeZ() && x >= 0 && y >= 0 && z >= 0; } @NotNull public Range getRange(@NotNull Axis a, @NotNull Rotation r) { - if (a.equals(Axis.Y)) return getRawRange(a); + if(a.equals(Axis.Y)) return getRawRange(a); Vector2 center = new Vector2(structureInfo.getCenterX(), structureInfo.getCenterZ()); Range x = getRawRange(Axis.X); Range z = getRawRange(Axis.Z); Vector2 min = getRotatedCoords(new Vector2(x.getMin(), z.getMin()).subtract(center), r.inverse()).add(center); Vector2 max = getRotatedCoords(new Vector2(x.getMax(), z.getMax()).subtract(center), r.inverse()).add(center); - if (a.equals(Axis.X)) + if(a.equals(Axis.X)) return new Range((int) Math.floor(Math.min(min.getX(), max.getX())), (int) Math.ceil(Math.max(min.getX(), max.getX())) + 1); else return new Range((int) Math.floor(Math.min(min.getZ(), max.getZ())), (int) Math.ceil(Math.max(min.getZ(), max.getZ())) + 1); } + @NotNull + private Range getRawRange(@NotNull Axis a) { + switch(a) { + case X: + return new Range(0, structureInfo.getSizeX()); + case Y: + return new Range(0, structureInfo.getSizeY()); + case Z: + return new Range(0, structureInfo.getSizeZ()); + default: + throw new IllegalArgumentException(); + } + } + /** * From an origin location (First bound) fetch the second bound. * diff --git a/src/main/java/com/dfsek/terra/structure/StructureSpawnRequirement.java b/src/main/java/com/dfsek/terra/structure/StructureSpawnRequirement.java index be228d8c2..812a36c21 100644 --- a/src/main/java/com/dfsek/terra/structure/StructureSpawnRequirement.java +++ b/src/main/java/com/dfsek/terra/structure/StructureSpawnRequirement.java @@ -21,7 +21,7 @@ public enum StructureSpawnRequirement implements Serializable { ConfigPack wc = tw.getConfig(); UserDefinedBiome b = (UserDefinedBiome) tw.getGrid().getBiome(x, z, GenerationPhase.POPULATE); BiomeConfig c = wc.getBiome(b); - if (y <= c.getOcean().getSeaLevel()) return false; + if(y <= c.getOcean().getSeaLevel()) return false; return b.getGenerator().getNoise(getNoise(w), w, x, y, z) <= 0; } }, OCEAN { @@ -30,7 +30,7 @@ public enum StructureSpawnRequirement implements Serializable { setNoise(w, x, y, z); UserDefinedBiome b = (UserDefinedBiome) TerraWorld.getWorld(w).getGrid().getBiome(x, z, GenerationPhase.POPULATE); BiomeConfig c = TerraWorld.getWorld(w).getConfig().getBiome(b); - if (y > c.getOcean().getSeaLevel()) return false; + if(y > c.getOcean().getSeaLevel()) return false; return b.getGenerator().getNoise(getNoise(w), w, x, y, z) <= 0; } }, LAND { @@ -52,7 +52,7 @@ public enum StructureSpawnRequirement implements Serializable { private static void setNoise(World w, int x, int y, int z) { TerraWorld tw = TerraWorld.getWorld(w); ConfigPack wc = tw.getConfig(); - if (getNoise(w) == null) { + if(getNoise(w) == null) { FastNoiseLite gen = new FastNoiseLite((int) w.getSeed()); gen.setNoiseType(FastNoiseLite.NoiseType.OpenSimplex2); gen.setFractalType(FastNoiseLite.FractalType.FBm); diff --git a/src/main/java/com/dfsek/terra/structure/features/EntityFeature.java b/src/main/java/com/dfsek/terra/structure/features/EntityFeature.java index 287bf8aff..78859e6da 100644 --- a/src/main/java/com/dfsek/terra/structure/features/EntityFeature.java +++ b/src/main/java/com/dfsek/terra/structure/features/EntityFeature.java @@ -63,9 +63,9 @@ public class EntityFeature implements Feature { for(int j = 1; j < inSize + 1; j++) if(!in.contains(on.getRelative(BlockFace.UP, j).getType())) canSpawn = false; - if (canSpawn) break; + if(canSpawn) break; } - if (canSpawn) { + if(canSpawn) { Debug.info("Spawning entity at " + attempt); chunk.getWorld().spawnEntity(attempt.add(0.5, 2, 0.5), type); // Add 0.5 to X & Z so entity spawns in center of block. } diff --git a/src/main/java/com/dfsek/terra/util/structure/RotationUtil.java b/src/main/java/com/dfsek/terra/util/structure/RotationUtil.java index aed825c91..270e61cc9 100644 --- a/src/main/java/com/dfsek/terra/util/structure/RotationUtil.java +++ b/src/main/java/com/dfsek/terra/util/structure/RotationUtil.java @@ -40,7 +40,7 @@ public final class RotationUtil { BlockFace n = f; int rotateNum = r.getDegrees() / 90; int rn = faceRotation(f); - if (rn >= 0) { + if(rn >= 0) { n = fromRotation(faceRotation(n) + 4 * rotateNum); } return n; @@ -141,10 +141,10 @@ public final class RotationUtil { final boolean shouldSwitch = r.equals(Structure.Rotation.CW_90) || r.equals(Structure.Rotation.CCW_90); switch(orig) { case X: - if (shouldSwitch) other = org.bukkit.Axis.Z; + if(shouldSwitch) other = org.bukkit.Axis.Z; break; case Z: - if (shouldSwitch) other = org.bukkit.Axis.X; + if(shouldSwitch) other = org.bukkit.Axis.X; break; } return other; @@ -231,94 +231,4 @@ public final class RotationUtil { } return orig; } - - /** - * Get an integer representation of a BlockFace, to perform math on. - * - * @param f BlockFace to get integer for - * @return integer representation of BlockFace - */ - public static int faceRotation(BlockFace f) { - switch(f) { - case NORTH: - return 0; - case NORTH_NORTH_EAST: - return 1; - case NORTH_EAST: - return 2; - case EAST_NORTH_EAST: - return 3; - case EAST: - return 4; - case EAST_SOUTH_EAST: - return 5; - case SOUTH_EAST: - return 6; - case SOUTH_SOUTH_EAST: - return 7; - case SOUTH: - return 8; - case SOUTH_SOUTH_WEST: - return 9; - case SOUTH_WEST: - return 10; - case WEST_SOUTH_WEST: - return 11; - case WEST: - return 12; - case WEST_NORTH_WEST: - return 13; - case NORTH_WEST: - return 14; - case NORTH_NORTH_WEST: - return 15; - default: - return -1; - } - } - - /** - * Convert integer to BlockFace representation - * - * @param r integer to get BlockFace for - * @return BlockFace represented by integer. - */ - public static BlockFace fromRotation(int r) { - switch(Math.floorMod(r, 16)) { - case 0: - return BlockFace.NORTH; - case 1: - return BlockFace.NORTH_NORTH_EAST; - case 2: - return BlockFace.NORTH_EAST; - case 3: - return BlockFace.EAST_NORTH_EAST; - case 4: - return BlockFace.EAST; - case 5: - return BlockFace.EAST_SOUTH_EAST; - case 6: - return BlockFace.SOUTH_EAST; - case 7: - return BlockFace.SOUTH_SOUTH_EAST; - case 8: - return BlockFace.SOUTH; - case 9: - return BlockFace.SOUTH_SOUTH_WEST; - case 10: - return BlockFace.SOUTH_WEST; - case 11: - return BlockFace.WEST_SOUTH_WEST; - case 12: - return BlockFace.WEST; - case 13: - return BlockFace.WEST_NORTH_WEST; - case 14: - return BlockFace.NORTH_WEST; - case 15: - return BlockFace.NORTH_NORTH_WEST; - default: - throw new IllegalArgumentException(); - } - } } diff --git a/src/main/java/com/dfsek/terra/util/structure/WorldEditUtil.java b/src/main/java/com/dfsek/terra/util/structure/WorldEditUtil.java index 8617c90f8..e73b123d0 100644 --- a/src/main/java/com/dfsek/terra/util/structure/WorldEditUtil.java +++ b/src/main/java/com/dfsek/terra/util/structure/WorldEditUtil.java @@ -36,16 +36,9 @@ public final class WorldEditUtil { return new Location[] {l1, l2}; } - public static WorldEditPlugin getWorldEdit() { - Plugin p = Bukkit.getServer().getPluginManager().getPlugin("WorldEdit"); - if (p instanceof WorldEditPlugin) return (WorldEditPlugin) p; - Bukkit.getLogger().severe("[Terra] a command requiring WorldEdit was executed, but WorldEdit was not detected!"); - return null; - } - public static Location[] getSelectionPositions(Player sender) { WorldEditPlugin we = WorldEditUtil.getWorldEdit(); - if (we == null) { + if(we == null) { sender.sendMessage("WorldEdit is not installed! Please install WorldEdit before attempting to export structures."); return null; } @@ -66,4 +59,11 @@ public final class WorldEditUtil { Location l2 = new Location(sender.getWorld(), max.getBlockX(), max.getBlockY(), max.getBlockZ()); return new Location[] {l1, l2}; } + + public static WorldEditPlugin getWorldEdit() { + Plugin p = Bukkit.getServer().getPluginManager().getPlugin("WorldEdit"); + if(p instanceof WorldEditPlugin) return (WorldEditPlugin) p; + Bukkit.getLogger().severe("[Terra] a command requiring WorldEdit was executed, but WorldEdit was not detected!"); + return null; + } } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 39696f020..04175c2b4 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,8 +1,8 @@ -debug: false -data-save: PT6M -language: "en_us" -fail-type: SHUTDOWN +debug: false +data-save: PT6M +language: "en_us" +fail-type: SHUTDOWN dump-default: true -cache-size: 8 +cache-size: 8 master-disable: - caves: false \ No newline at end of file + 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 index 27988852c..a881a1d64 100644 --- a/src/main/resources/default-config/abstract/biomes/basic_ores.yml +++ b/src/main/resources/default-config/abstract/biomes/basic_ores.yml @@ -9,57 +9,57 @@ carving: CAVERN: 5 ores: DIRT: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 GRAVEL: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 DIORITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 ANDESITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 GRANITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 COAL_ORE: - min: 4 - max: 8 + min: 4 + max: 8 min-height: 0 max-height: 84 IRON_ORE: - min: 2 - max: 6 + min: 2 + max: 6 min-height: 0 max-height: 64 GOLD_ORE: - min: 1 - max: 3 + min: 1 + max: 3 min-height: 0 max-height: 32 LAPIS_ORE: - min: 1 - max: 2 + min: 1 + max: 2 min-height: 0 max-height: 32 REDSTONE_ORE: - min: 1 - max: 2 + min: 1 + max: 2 min-height: 0 max-height: 16 DIAMOND_ORE: - min: 1 - max: 1 + 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 index f354079fb..03106c46c 100644 --- a/src/main/resources/default-config/abstract/biomes/beach_abstract.yml +++ b/src/main/resources/default-config/abstract/biomes/beach_abstract.yml @@ -40,57 +40,57 @@ flora: ores: DIRT: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 GRAVEL: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 DIORITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 ANDESITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 GRANITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 COAL_ORE: - min: 5 - max: 15 + min: 5 + max: 15 min-height: 0 max-height: 128 IRON_ORE: - min: 2 - max: 6 + min: 2 + max: 6 min-height: 0 max-height: 64 GOLD_ORE: - min: 1 - max: 3 + min: 1 + max: 3 min-height: 0 max-height: 32 LAPIS_ORE: - min: 1 - max: 4 + min: 1 + max: 4 min-height: 0 max-height: 32 REDSTONE_ORE: - min: 1 - max: 4 + min: 1 + max: 4 min-height: 0 max-height: 16 DIAMOND_ORE: - min: 1 - max: 2 + 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/deep_ocean_abstract.yml b/src/main/resources/default-config/abstract/biomes/deep_ocean_abstract.yml index 51f0eba88..19178b724 100644 --- a/src/main/resources/default-config/abstract/biomes/deep_ocean_abstract.yml +++ b/src/main/resources/default-config/abstract/biomes/deep_ocean_abstract.yml @@ -33,57 +33,57 @@ structures: ores: DIRT: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 GRAVEL: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 DIORITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 ANDESITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 GRANITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 COAL_ORE: - min: 5 - max: 15 + min: 5 + max: 15 min-height: 0 max-height: 128 IRON_ORE: - min: 2 - max: 6 + min: 2 + max: 6 min-height: 0 max-height: 64 GOLD_ORE: - min: 1 - max: 3 + min: 1 + max: 3 min-height: 0 max-height: 32 LAPIS_ORE: - min: 1 - max: 4 + min: 1 + max: 4 min-height: 0 max-height: 32 REDSTONE_ORE: - min: 1 - max: 4 + min: 1 + max: 4 min-height: 0 max-height: 16 DIAMOND_ORE: - min: 1 - max: 2 + 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 index 13b0c4362..139c53339 100644 --- a/src/main/resources/default-config/abstract/biomes/mountain/mountains_pretty.yml +++ b/src/main/resources/default-config/abstract/biomes/mountain/mountains_pretty.yml @@ -11,58 +11,58 @@ structures: ores: DIRT: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 GRAVEL: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 DIORITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 ANDESITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 GRANITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 COAL_ORE: - min: 4 - max: 8 + min: 4 + max: 8 min-height: 0 max-height: 84 IRON_ORE: - min: 2 - max: 6 + min: 2 + max: 6 min-height: 0 max-height: 64 GOLD_ORE: - min: 1 - max: 3 + min: 1 + max: 3 min-height: 0 max-height: 32 LAPIS_ORE: - min: 1 - max: 2 + min: 1 + max: 2 min-height: 0 max-height: 32 REDSTONE_ORE: - min: 1 - max: 2 + min: 1 + max: 2 min-height: 0 max-height: 16 DIAMOND_ORE: - min: 1 - max: 1 + min: 1 + max: 1 min-height: 0 max-height: 16 @@ -82,7 +82,7 @@ flora: simplex: enable: true frequency: 0.1 - seed: 4 + seed: 4 items: SMALL_ROCK: weight: 1 @@ -106,8 +106,8 @@ flora: max: 180 slabs: - enable: true - threshold: 0.0075 + enable: true + threshold: 0.0075 palettes: - "minecraft:stone": "MOUNTAIN_SLABS" - "minecraft:gravel": "MOUNTAIN_SLABS" 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 index a1cbafaed..24f769460 100644 --- 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 @@ -11,58 +11,58 @@ structures: ores: DIRT: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 GRAVEL: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 DIORITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 ANDESITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 GRANITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 COAL_ORE: - min: 4 - max: 8 + min: 4 + max: 8 min-height: 0 max-height: 84 IRON_ORE: - min: 2 - max: 6 + min: 2 + max: 6 min-height: 0 max-height: 64 GOLD_ORE: - min: 1 - max: 3 + min: 1 + max: 3 min-height: 0 max-height: 32 LAPIS_ORE: - min: 1 - max: 2 + min: 1 + max: 2 min-height: 0 max-height: 32 REDSTONE_ORE: - min: 1 - max: 2 + min: 1 + max: 2 min-height: 0 max-height: 16 DIAMOND_ORE: - min: 1 - max: 1 + min: 1 + max: 1 min-height: 0 max-height: 16 @@ -82,7 +82,7 @@ flora: simplex: enable: true frequency: 0.1 - seed: 4 + seed: 4 items: SMALL_ROCK: weight: 1 @@ -106,8 +106,8 @@ flora: max: 180 slabs: - enable: true - threshold: 0.0075 + enable: true + threshold: 0.0075 palettes: - "minecraft:stone": "MOUNTAIN_SLABS" - "minecraft:gravel": "MOUNTAIN_SLABS" 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 index 3935c2cb3..d463b5a16 100644 --- 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 @@ -11,58 +11,58 @@ structures: ores: DIRT: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 GRAVEL: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 DIORITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 ANDESITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 GRANITE: - min: 0 - max: 1 + min: 0 + max: 1 min-height: 0 max-height: 84 COAL_ORE: - min: 4 - max: 8 + min: 4 + max: 8 min-height: 0 max-height: 84 IRON_ORE: - min: 2 - max: 6 + min: 2 + max: 6 min-height: 0 max-height: 64 GOLD_ORE: - min: 1 - max: 3 + min: 1 + max: 3 min-height: 0 max-height: 32 LAPIS_ORE: - min: 1 - max: 2 + min: 1 + max: 2 min-height: 0 max-height: 32 REDSTONE_ORE: - min: 1 - max: 2 + min: 1 + max: 2 min-height: 0 max-height: 16 DIAMOND_ORE: - min: 1 - max: 1 + min: 1 + max: 1 min-height: 0 max-height: 16 @@ -82,7 +82,7 @@ flora: simplex: enable: true frequency: 0.1 - seed: 4 + seed: 4 items: SMALL_ROCK: weight: 1 @@ -106,8 +106,8 @@ flora: max: 180 slabs: - enable: true - threshold: 0.0075 + enable: true + threshold: 0.0075 palettes: - "minecraft:stone": "MOUNTAIN_SLABS" - "minecraft:gravel": "MOUNTAIN_SLABS" diff --git a/src/main/resources/default-config/abstract/biomes/ocean_abstract.yml b/src/main/resources/default-config/abstract/biomes/ocean_abstract.yml index 4de810cc9..08c9951b9 100644 --- a/src/main/resources/default-config/abstract/biomes/ocean_abstract.yml +++ b/src/main/resources/default-config/abstract/biomes/ocean_abstract.yml @@ -33,57 +33,57 @@ structures: ores: DIRT: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 GRAVEL: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 DIORITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 ANDESITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 GRANITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 COAL_ORE: - min: 5 - max: 15 + min: 5 + max: 15 min-height: 0 max-height: 128 IRON_ORE: - min: 2 - max: 6 + min: 2 + max: 6 min-height: 0 max-height: 64 GOLD_ORE: - min: 1 - max: 3 + min: 1 + max: 3 min-height: 0 max-height: 32 LAPIS_ORE: - min: 1 - max: 4 + min: 1 + max: 4 min-height: 0 max-height: 32 REDSTONE_ORE: - min: 1 - max: 4 + min: 1 + max: 4 min-height: 0 max-height: 16 DIAMOND_ORE: - min: 1 - max: 2 + 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 index 362de8498..065fbd3d2 100644 --- a/src/main/resources/default-config/abstract/biomes/plains_abstract.yml +++ b/src/main/resources/default-config/abstract/biomes/plains_abstract.yml @@ -1,5 +1,5 @@ noise-equation: "((-((y / 63)^2)) + 1) + |(noise2(x, z) / 3) + 0.1|" -id: "PLAINS_ABSTRACT" +id: "PLAINS_ABSTRACT" carving: CAVE: 30 @@ -12,57 +12,57 @@ structures: erodible: true ores: DIRT: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 72 GRAVEL: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 72 DIORITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 72 ANDESITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 72 GRANITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 72 COAL_ORE: - min: 3 - max: 7 + min: 3 + max: 7 min-height: 0 max-height: 72 IRON_ORE: - min: 2 - max: 7 + min: 2 + max: 7 min-height: 0 max-height: 64 GOLD_ORE: - min: 1 - max: 3 + min: 1 + max: 3 min-height: 0 max-height: 32 LAPIS_ORE: - min: 1 - max: 4 + min: 1 + max: 4 min-height: 0 max-height: 32 REDSTONE_ORE: - min: 1 - max: 4 + min: 1 + max: 4 min-height: 0 max-height: 16 DIAMOND_ORE: - min: 1 - max: 2 + 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/shelf_ocean_abstract.yml b/src/main/resources/default-config/abstract/biomes/shelf_ocean_abstract.yml index 557af8ffb..ccf221321 100644 --- a/src/main/resources/default-config/abstract/biomes/shelf_ocean_abstract.yml +++ b/src/main/resources/default-config/abstract/biomes/shelf_ocean_abstract.yml @@ -32,57 +32,57 @@ carving: ores: DIRT: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 GRAVEL: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 DIORITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 ANDESITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 GRANITE: - min: 0 - max: 2 + min: 0 + max: 2 min-height: 0 max-height: 128 COAL_ORE: - min: 5 - max: 15 + min: 5 + max: 15 min-height: 0 max-height: 128 IRON_ORE: - min: 2 - max: 6 + min: 2 + max: 6 min-height: 0 max-height: 64 GOLD_ORE: - min: 1 - max: 3 + min: 1 + max: 3 min-height: 0 max-height: 32 LAPIS_ORE: - min: 1 - max: 4 + min: 1 + max: 4 min-height: 0 max-height: 32 REDSTONE_ORE: - min: 1 - max: 4 + min: 1 + max: 4 min-height: 0 max-height: 16 DIAMOND_ORE: - min: 1 - max: 2 + 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 index 2bb04dde4..99ad276d7 100644 --- a/src/main/resources/default-config/biomes/beach/beach.yml +++ b/src/main/resources/default-config/biomes/beach/beach.yml @@ -1,4 +1,4 @@ -extends: "BEACH_ABSTRACT" -id: "BEACH" -vanilla: BEACH +extends: "BEACH_ABSTRACT" +id: "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 index 3d56a186b..5a863c5fa 100644 --- a/src/main/resources/default-config/biomes/beach/beach_cold.yml +++ b/src/main/resources/default-config/biomes/beach/beach_cold.yml @@ -1,5 +1,5 @@ -extends: "BEACH_ABSTRACT" -id: "COLD_BEACH" +extends: "BEACH_ABSTRACT" +id: "COLD_BEACH" palette: - "BLOCK:minecraft:bedrock": 0 - BEDROCK_MOST: 1 @@ -8,4 +8,4 @@ palette: - GRAVEL: 64 - TUNDRA: 255 erodible: true -vanilla: SNOWY_BEACH \ No newline at end of file +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 index 1b0dc341b..6f93b0f8c 100644 --- a/src/main/resources/default-config/biomes/beach/beach_frozen.yml +++ b/src/main/resources/default-config/biomes/beach/beach_frozen.yml @@ -1,5 +1,5 @@ -extends: "BEACH_ABSTRACT" -id: "FROZEN_BEACH" +extends: "BEACH_ABSTRACT" +id: "FROZEN_BEACH" palette: - "BLOCK:minecraft:bedrock": 0 - BEDROCK_MOST: 1 @@ -8,7 +8,7 @@ palette: - GRAVEL: 64 - TUNDRA: 255 erodible: true -vanilla: SNOWY_BEACH +vanilla: SNOWY_BEACH ocean: palette: "COLD_OCEAN" - level: 62 \ No newline at end of file + 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 index 4684d23d1..cb4adbcd4 100644 --- a/src/main/resources/default-config/biomes/beach/beach_warm.yml +++ b/src/main/resources/default-config/biomes/beach/beach_warm.yml @@ -1,6 +1,6 @@ -extends: "BEACH_ABSTRACT" -id: "WARM_BEACH" -vanilla: BEACH +extends: "BEACH_ABSTRACT" +id: "WARM_BEACH" +vanilla: BEACH erodible: true palette: diff --git a/src/main/resources/default-config/biomes/desert.yml b/src/main/resources/default-config/biomes/desert.yml index 25e825cd5..8418c9d21 100644 --- a/src/main/resources/default-config/biomes/desert.yml +++ b/src/main/resources/default-config/biomes/desert.yml @@ -1,5 +1,5 @@ extends: "PLAINS_ABSTRACT" -id: "DESERT" +id: "DESERT" palette: - "BLOCK:minecraft:bedrock": 0 @@ -36,8 +36,8 @@ trees: max: 72 slabs: - enable: true - threshold: 0.0075 + enable: true + threshold: 0.0075 palettes: - "minecraft:sand": "BLOCK:minecraft:sandstone_slab" use-stairs-if-available: true diff --git a/src/main/resources/default-config/biomes/forest/birch_forest.yml b/src/main/resources/default-config/biomes/forest/birch_forest.yml index 177158d19..1f501d04e 100644 --- a/src/main/resources/default-config/biomes/forest/birch_forest.yml +++ b/src/main/resources/default-config/biomes/forest/birch_forest.yml @@ -1,18 +1,18 @@ noise-equation: "((-((y / 63)^2)) + 1) + ((noise2(x, z)+0.5) / 3)" -extends: "BASIC_ORES" -id: "BIRCH_FOREST" +extends: "BASIC_ORES" +id: "BIRCH_FOREST" palette: - - "BLOCK:minecraft:bedrock": 0 - - BEDROCK_MOST: 1 - - BEDROCK_HALF: 2 - - BEDROCK_LITTLE: 3 - - SANDY: 62 - - GRASSY: 255 -vanilla: BIRCH_FOREST + - "BLOCK:minecraft:bedrock": 0 + - BEDROCK_MOST: 1 + - BEDROCK_HALF: 2 + - BEDROCK_LITTLE: 3 + - SANDY: 62 + - GRASSY: 255 +vanilla: BIRCH_FOREST flora: - chance: 40 + chance: 40 attempts: 1 items: TALL_GRASS: @@ -30,7 +30,7 @@ flora: y: min: 62 max: 84 -erodible: true +erodible: true trees: density: 200 diff --git a/src/main/resources/default-config/biomes/forest/dark_forest.yml b/src/main/resources/default-config/biomes/forest/dark_forest.yml index 3aa3b1a2e..c93aae7c1 100644 --- a/src/main/resources/default-config/biomes/forest/dark_forest.yml +++ b/src/main/resources/default-config/biomes/forest/dark_forest.yml @@ -1,30 +1,30 @@ noise-equation: "((-((y / 63)^2)) + 1) + ((noise2(x, z)+0.5) / 3)" -extends: "BASIC_ORES" -id: "DARK_FOREST" +extends: "BASIC_ORES" +id: "DARK_FOREST" structures: - - MANSION - - STRONGHOLD + - MANSION + - STRONGHOLD palette: - - "BLOCK:minecraft:bedrock": 0 - - BEDROCK_MOST: 1 - - BEDROCK_HALF: 2 - - BEDROCK_LITTLE: 3 - - SANDY: 62 - - GRASSY: 255 -vanilla: DARK_FOREST -erodible: true -flora-chance: 40 + - "BLOCK:minecraft: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: + chance: 40 + attempts: 1 + items: + TALL_GRASS: + weight: 15 + y: + min: 62 + max: 255 + GRASS: weight: 70 y: min: 62 diff --git a/src/main/resources/default-config/biomes/forest/jungle.yml b/src/main/resources/default-config/biomes/forest/jungle.yml index d08a6a4cd..bb916ee74 100644 --- a/src/main/resources/default-config/biomes/forest/jungle.yml +++ b/src/main/resources/default-config/biomes/forest/jungle.yml @@ -1,23 +1,23 @@ noise-equation: "((-((y / 63)^2)) + 1) + ((noise2(x, z)+0.25) / 3)" -extends: "BASIC_ORES" -id: "JUNGLE" +extends: "BASIC_ORES" +id: "JUNGLE" palette: - - "BLOCK:minecraft:bedrock": 0 - - BEDROCK_MOST: 1 - - BEDROCK_HALF: 2 - - BEDROCK_LITTLE: 3 - - RIVER_BOTTOM: 61 - - RIVER_SHORE: 62 - - GRASSY: 255 -vanilla: JUNGLE + - "BLOCK:minecraft:bedrock": 0 + - BEDROCK_MOST: 1 + - BEDROCK_HALF: 2 + - BEDROCK_LITTLE: 3 + - RIVER_BOTTOM: 61 + - RIVER_SHORE: 62 + - GRASSY: 255 +vanilla: JUNGLE -erodible: true +erodible: true structures: - JUNGLE - STRONGHOLD flora: - chance: 80 + chance: 80 attempts: 2 items: TALL_GRASS: diff --git a/src/main/resources/default-config/biomes/forest/oak_forest.yml b/src/main/resources/default-config/biomes/forest/oak_forest.yml index 00eb11a83..d74bc411d 100644 --- a/src/main/resources/default-config/biomes/forest/oak_forest.yml +++ b/src/main/resources/default-config/biomes/forest/oak_forest.yml @@ -1,19 +1,19 @@ noise-equation: "((-((y / 63)^2)) + 1) + ((noise2(x, z)+0.5) / 2)" -extends: "BASIC_ORES" -id: "FOREST" +extends: "BASIC_ORES" +id: "FOREST" palette: - - "BLOCK:minecraft:bedrock": 0 - - BEDROCK_MOST: 1 - - BEDROCK_HALF: 2 - - BEDROCK_LITTLE: 3 - - RIVER_BOTTOM: 61 - - RIVER_SHORE: 62 - - GRASSY: 255 -vanilla: FOREST + - "BLOCK:minecraft:bedrock": 0 + - BEDROCK_MOST: 1 + - BEDROCK_HALF: 2 + - BEDROCK_LITTLE: 3 + - RIVER_BOTTOM: 61 + - RIVER_SHORE: 62 + - GRASSY: 255 +vanilla: FOREST flora: - chance: 40 + chance: 40 attempts: 1 items: TALL_GRASS: @@ -41,7 +41,7 @@ flora: y: min: 62 max: 84 -erodible: true +erodible: true trees: density: 250 diff --git a/src/main/resources/default-config/biomes/forest/savanna.yml b/src/main/resources/default-config/biomes/forest/savanna.yml index 1290d4463..0e0d0a8d2 100644 --- a/src/main/resources/default-config/biomes/forest/savanna.yml +++ b/src/main/resources/default-config/biomes/forest/savanna.yml @@ -1,19 +1,19 @@ noise-equation: "((-((y / 63)^2)) + 1) + ((noise2(x, z)+0.5) / 3)" -extends: "BASIC_ORES" -id: "SAVANNA" +extends: "BASIC_ORES" +id: "SAVANNA" palette: - - "BLOCK:minecraft:bedrock": 0 - - BEDROCK_MOST: 1 - - BEDROCK_HALF: 2 - - BEDROCK_LITTLE: 3 - - RIVER_BOTTOM: 61 - - RIVER_SHORE: 62 - - GRASSY: 255 -vanilla: SAVANNA + - "BLOCK:minecraft:bedrock": 0 + - BEDROCK_MOST: 1 + - BEDROCK_HALF: 2 + - BEDROCK_LITTLE: 3 + - RIVER_BOTTOM: 61 + - RIVER_SHORE: 62 + - GRASSY: 255 +vanilla: SAVANNA flora: - chance: 40 + chance: 40 attempts: 1 items: TALL_GRASS: @@ -26,7 +26,7 @@ flora: y: min: 62 max: 84 -erodible: true +erodible: true trees: density: 20 diff --git a/src/main/resources/default-config/biomes/forest/snowy_taiga.yml b/src/main/resources/default-config/biomes/forest/snowy_taiga.yml index 0471dc706..7d6164ea3 100644 --- a/src/main/resources/default-config/biomes/forest/snowy_taiga.yml +++ b/src/main/resources/default-config/biomes/forest/snowy_taiga.yml @@ -1,7 +1,7 @@ noise-equation: "((-((y / 63)^2)) + 1) + ((noise2(x, z)+0.5) / 2)" -extends: "BASIC_ORES" -id: "SNOWY_TAIGA" -erodible: true +extends: "BASIC_ORES" +id: "SNOWY_TAIGA" +erodible: true palette: @@ -12,11 +12,11 @@ palette: - RIVER_BOTTOM: 61 - RIVER_SHORE: 62 - TAIGA: 255 -vanilla: TAIGA +vanilla: TAIGA snow: - - min: 0 - max: 255 + - min: 0 + max: 255 chance: 100 diff --git a/src/main/resources/default-config/biomes/forest/taiga.yml b/src/main/resources/default-config/biomes/forest/taiga.yml index 9e5cd4de3..edc7696d9 100644 --- a/src/main/resources/default-config/biomes/forest/taiga.yml +++ b/src/main/resources/default-config/biomes/forest/taiga.yml @@ -1,6 +1,6 @@ noise-equation: "((-((y / 63)^2)) + 1) + ((noise2(x, z)+0.5) / 2)" -extends: "BASIC_ORES" -id: "TAIGA" +extends: "BASIC_ORES" +id: "TAIGA" palette: - "BLOCK:minecraft:bedrock": 0 @@ -10,11 +10,11 @@ palette: - RIVER_BOTTOM: 61 - RIVER_SHORE: 62 - TAIGA: 255 -vanilla: TAIGA -erodible: true +vanilla: TAIGA +erodible: true flora: - chance: 40 + chance: 40 attempts: 1 items: TALL_GRASS: @@ -22,16 +22,16 @@ flora: y: min: 62 max: 84 - GRASS: - weight: 75 - y: - min: 62 - max: 84 - POPPY: - weight: 5 - y: - min: 62 - max: 84 + GRASS: + weight: 75 + y: + min: 62 + max: 84 + POPPY: + weight: 5 + y: + min: 62 + max: 84 trees: density: 75 diff --git a/src/main/resources/default-config/biomes/mesa.yml b/src/main/resources/default-config/biomes/mesa.yml index 1d0b7ea85..1832099f1 100644 --- a/src/main/resources/default-config/biomes/mesa.yml +++ b/src/main/resources/default-config/biomes/mesa.yml @@ -1,6 +1,6 @@ noise-equation: "((-((y / 64)^2)) + 1) + min(floor(((max(noise2(x/1.5, z/1.5)+0.1, 0)) + 0.1)*5), 3)/2.5 + |(noise2(x, z)+0.1)/3|" -extends: "BASIC_ORES" -id: "MESA" +extends: "BASIC_ORES" +id: "MESA" palette: - "BLOCK:minecraft:bedrock": 0 @@ -22,9 +22,9 @@ palette: - "BLOCK:minecraft:red_terracotta": 84 - "BLOCK:minecraft:orange_terracotta": 80 - RED_DESERT: 72 -vanilla: BADLANDS +vanilla: BADLANDS -flora-chance: 2 +flora-chance: 2 flora: chance: 2 attempts: 1 @@ -40,8 +40,8 @@ flora: min: 62 max: 84 slabs: - enable: true - threshold: 0.0075 + enable: true + threshold: 0.0075 palettes: - "minecraft:red_sand": "BLOCK:minecraft:red_sandstone_slab" use-stairs-if-available: true diff --git a/src/main/resources/default-config/biomes/mountain/arid_mountains.yml b/src/main/resources/default-config/biomes/mountain/arid_mountains.yml index 708d52d29..0e941cb15 100644 --- a/src/main/resources/default-config/biomes/mountain/arid_mountains.yml +++ b/src/main/resources/default-config/biomes/mountain/arid_mountains.yml @@ -1,7 +1,7 @@ noise-equation: "((-((y / 64)^2)) + 1) + min(floor(((|noise2(x/2.5, z/2.5)|) + 0.1)*4), 3)/2.5 + |noise2(x/2.5, z/2.5)|" -id: "ARID_MOUNTAINS" -extends: "BASIC_ORES" +id: "ARID_MOUNTAINS" +extends: "BASIC_ORES" palette: @@ -10,12 +10,12 @@ palette: - BEDROCK_HALF: 2 - BEDROCK_LITTLE: 3 - ARID: 255 -vanilla: SAVANNA +vanilla: SAVANNA -erodible: false +erodible: false flora: - chance: 40 + chance: 40 attempts: 1 items: TALL_GRASS: @@ -38,8 +38,8 @@ trees: min: 58 max: 128 slabs: - enable: true - threshold: 0.015 + enable: true + threshold: 0.015 palettes: - "minecraft:red_sand": "BLOCK:minecraft:red_sandstone_slab" use-stairs-if-available: true 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 index e7fff8825..9717f061b 100644 --- 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 @@ -1,26 +1,26 @@ noise-equation: "((-((y / 64)^2)) + 1) + min(floor(((|noise2(x/2.5, z/2.5)|) + 0.1)), 3)/5 + |noise2(x/2.5, z/2.5)|" -id: "ARID_MOUNTAINS_0" -extends: "BASIC_ORES" +id: "ARID_MOUNTAINS_0" +extends: "BASIC_ORES" palette: - - "BLOCK:minecraft:bedrock": 0 - - BEDROCK_MOST: 1 - - BEDROCK_HALF: 2 - - BEDROCK_LITTLE: 3 - - ARID: 255 -vanilla: SAVANNA + - "BLOCK:minecraft:bedrock": 0 + - BEDROCK_MOST: 1 + - BEDROCK_HALF: 2 + - BEDROCK_LITTLE: 3 + - ARID: 255 +vanilla: SAVANNA -erodible: false +erodible: false flora: - chance: 40 - attempts: 1 - items: - TALL_GRASS: - weight: 15 - y: + chance: 40 + attempts: 1 + items: + TALL_GRASS: + weight: 15 + y: min: 62 max: 128 GRASS: @@ -38,10 +38,10 @@ trees: 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 + 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 index bce92ce8b..4a6168d44 100644 --- 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 @@ -1,26 +1,26 @@ noise-equation: "((-((y / 64)^2)) + 1) + min(floor(((|noise2(x/2.5, z/2.5)|) + 0.1)*3), 3)/3 + |noise2(x/2.5, z/2.5)|" -id: "ARID_MOUNTAINS_1" -extends: "BASIC_ORES" +id: "ARID_MOUNTAINS_1" +extends: "BASIC_ORES" palette: - - "BLOCK:minecraft:bedrock": 0 - - BEDROCK_MOST: 1 - - BEDROCK_HALF: 2 - - BEDROCK_LITTLE: 3 - - ARID: 255 -vanilla: SAVANNA + - "BLOCK:minecraft:bedrock": 0 + - BEDROCK_MOST: 1 + - BEDROCK_HALF: 2 + - BEDROCK_LITTLE: 3 + - ARID: 255 +vanilla: SAVANNA -erodible: false +erodible: false flora: - chance: 40 - attempts: 1 - items: - TALL_GRASS: - weight: 15 - y: + chance: 40 + attempts: 1 + items: + TALL_GRASS: + weight: 15 + y: min: 62 max: 128 GRASS: @@ -38,10 +38,10 @@ trees: 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 + 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_stone.yml b/src/main/resources/default-config/biomes/mountain/mountains_stone.yml index a3dd00437..4b62adb3a 100644 --- a/src/main/resources/default-config/biomes/mountain/mountains_stone.yml +++ b/src/main/resources/default-config/biomes/mountain/mountains_stone.yml @@ -1,26 +1,26 @@ -extends: "MOUNTAINS_PRETTY" -id: "MOUNTAINS_STONE" +extends: "MOUNTAINS_PRETTY" +id: "MOUNTAINS_STONE" noise-equation: "((-((y / 76)^2)) + 1) + ((noise2(x, z)+0.5) / 3) + max(noise2(x/2, z/2)*4 + noise2(x*8, z*8)*0.25, 0)" prevent-smooth: true palette: - - "BLOCK:minecraft:bedrock": 0 - - BEDROCK_MOST: 1 - - BEDROCK_HALF: 2 - - BEDROCK_LITTLE: 3 - - MOUNTAIN_STONE: 255 - - MOUNTAIN_STONE_GRASS: 108 - - MOUNTAIN_GRASS: 84 -vanilla: MOUNTAINS + - "BLOCK:minecraft: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 + - min: 0 + max: 120 + chance: 50 + - min: 120 + max: 140 + chance: 75 + - min: 140 + max: 255 + chance: 100 trees: density: 200 items: 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 index dabe8bfe2..508f2dd7b 100644 --- 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 @@ -1,26 +1,26 @@ -extends: "MOUNTAINS_PRETTY_0" -id: "MOUNTAINS_STONE_0" +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), 0)" prevent-smooth: true palette: - - "BLOCK:minecraft:bedrock": 0 - - BEDROCK_MOST: 1 - - BEDROCK_HALF: 2 - - BEDROCK_LITTLE: 3 - - MOUNTAIN_STONE: 255 - - MOUNTAIN_STONE_GRASS: 108 - - MOUNTAIN_GRASS: 84 -vanilla: MOUNTAINS + - "BLOCK:minecraft: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 + - min: 0 + max: 120 + chance: 50 + - min: 120 + max: 140 + chance: 75 + - min: 140 + max: 255 + chance: 100 trees: density: 200 items: 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 index c31e6ca08..44502269e 100644 --- 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 @@ -1,5 +1,5 @@ -extends: "MOUNTAINS_PRETTY_1" -id: "MOUNTAINS_STONE_1" +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)*3 + noise2(x*8, z*8)*0.125, 0)" prevent-smooth: true palette: @@ -10,16 +10,16 @@ palette: - MOUNTAIN_STONE: 255 - MOUNTAIN_STONE_GRASS: 108 - MOUNTAIN_GRASS: 84 -vanilla: MOUNTAINS +vanilla: MOUNTAINS snow: - - min: 0 - max: 120 + - min: 0 + max: 120 chance: 50 - - min: 120 - max: 140 + - min: 120 + max: 140 chance: 75 - - min: 140 - max: 255 + - min: 140 + max: 255 chance: 100 trees: density: 200 diff --git a/src/main/resources/default-config/biomes/mountains.yml b/src/main/resources/default-config/biomes/mountains.yml index ba0c6b67d..0c8c23831 100644 --- a/src/main/resources/default-config/biomes/mountains.yml +++ b/src/main/resources/default-config/biomes/mountains.yml @@ -1,6 +1,6 @@ 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" +extends: "BASIC_ORES" +id: "MOUNTAINS" palette: - "BLOCK:minecraft:bedrock": 0 @@ -9,10 +9,10 @@ palette: - BEDROCK_LITTLE: 3 - TUNDRA: 100 - SNOW: 255 -vanilla: MOUNTAINS +vanilla: MOUNTAINS flora: - chance: 2 + chance: 2 attempts: 1 items: SMALL_ROCK: @@ -21,8 +21,8 @@ flora: min: 60 max: 72 slabs: - enable: true - threshold: 0.015 + enable: true + threshold: 0.015 palettes: - "minecraft:stone": "MOUNTAIN_SLABS" - "minecraft:snow_block": "SNOW_LAYERS" diff --git a/src/main/resources/default-config/biomes/ocean/ocean_warm.yml b/src/main/resources/default-config/biomes/ocean/ocean_warm.yml index 7d422ece2..d348eeab5 100644 --- a/src/main/resources/default-config/biomes/ocean/ocean_warm.yml +++ b/src/main/resources/default-config/biomes/ocean/ocean_warm.yml @@ -14,7 +14,7 @@ flora: simplex: enable: true frequency: 0.05 - seed: 4 + seed: 4 items: TALL_SEAGRASS: weight: 1 diff --git a/src/main/resources/default-config/biomes/ocean_deep/ocean_warm.yml b/src/main/resources/default-config/biomes/ocean_deep/ocean_warm.yml index 5848958f2..851322bcb 100644 --- a/src/main/resources/default-config/biomes/ocean_deep/ocean_warm.yml +++ b/src/main/resources/default-config/biomes/ocean_deep/ocean_warm.yml @@ -14,7 +14,7 @@ flora: simplex: enable: true frequency: 0.05 - seed: 4 + seed: 4 items: TALL_SEAGRASS: weight: 1 diff --git a/src/main/resources/default-config/biomes/ocean_shelf/ocean_warm.yml b/src/main/resources/default-config/biomes/ocean_shelf/ocean_warm.yml index 860d20dbd..279bfd0e5 100644 --- a/src/main/resources/default-config/biomes/ocean_shelf/ocean_warm.yml +++ b/src/main/resources/default-config/biomes/ocean_shelf/ocean_warm.yml @@ -14,7 +14,7 @@ flora: simplex: enable: true frequency: 0.05 - seed: 4 + seed: 4 items: TALL_SEAGRASS: weight: 1 diff --git a/src/main/resources/default-config/biomes/plains.yml b/src/main/resources/default-config/biomes/plains.yml index 9e3dda9f2..b8c8721b7 100644 --- a/src/main/resources/default-config/biomes/plains.yml +++ b/src/main/resources/default-config/biomes/plains.yml @@ -1,5 +1,5 @@ -extends: "PLAINS_ABSTRACT" -id: "PLAINS" +extends: "PLAINS_ABSTRACT" +id: "PLAINS" palette: - "BLOCK:minecraft:bedrock": 0 @@ -9,12 +9,12 @@ palette: - RIVER_BOTTOM: 61 - RIVER_SHORE: 62 - GRASSY: 255 -vanilla: PLAINS +vanilla: PLAINS erodible: true flora: - chance: 60 + chance: 60 attempts: 1 items: TALL_GRASS: diff --git a/src/main/resources/default-config/biomes/plains_sky.yml b/src/main/resources/default-config/biomes/plains_sky.yml index aa9a9cae2..ba9d42124 100644 --- a/src/main/resources/default-config/biomes/plains_sky.yml +++ b/src/main/resources/default-config/biomes/plains_sky.yml @@ -1,5 +1,5 @@ -extends: "PLAINS_ABSTRACT" -id: "SKY_ISLANDS" +extends: "PLAINS_ABSTRACT" +id: "SKY_ISLANDS" noise-equation: "if(max(y-96, 0), -(if(max(y-150, 0), |y-150|, |y-150|/16)) - 0.25 + (noise2(x*3, z*3)*3), ((-((y / 63)^2)) + 1) + |(noise2(x, z) / 3) + 0.1|)" @@ -11,12 +11,12 @@ palette: - RIVER_BOTTOM: 61 - RIVER_SHORE: 62 - GRASSY: 255 -vanilla: PLAINS +vanilla: PLAINS -erodible: true +erodible: true flora: - chance: 60 + chance: 60 attempts: 1 items: TALL_GRASS: diff --git a/src/main/resources/default-config/biomes/river.yml b/src/main/resources/default-config/biomes/river.yml index 5719efbb5..d5981f23b 100644 --- a/src/main/resources/default-config/biomes/river.yml +++ b/src/main/resources/default-config/biomes/river.yml @@ -1,6 +1,6 @@ noise-equation: "((-((y / 58)^2)) + 1) + ((noise2(x, z)/4))" -extends: "BASIC_ORES" -id: "RIVER" +extends: "BASIC_ORES" +id: "RIVER" palette: - "BLOCK:minecraft:bedrock": 0 - BEDROCK_MOST: 1 @@ -9,10 +9,10 @@ palette: - RIVER_BOTTOM: 61 - RIVER_SHORE: 62 - GRASSY: 255 -vanilla: RIVER +vanilla: RIVER flora: - chance: 60 + chance: 60 attempts: 1 items: TALL_GRASS: diff --git a/src/main/resources/default-config/biomes/swamp.yml b/src/main/resources/default-config/biomes/swamp.yml index 7b7e8f4e9..71c83b936 100644 --- a/src/main/resources/default-config/biomes/swamp.yml +++ b/src/main/resources/default-config/biomes/swamp.yml @@ -1,6 +1,6 @@ noise-equation: "((-((y / 62)^2)) + 1) + ((noise2(x, z)/4))" -extends: "BASIC_ORES" -id: "SWAMP" +extends: "BASIC_ORES" +id: "SWAMP" palette: - "BLOCK:minecraft:bedrock": 0 - BEDROCK_MOST: 1 @@ -8,9 +8,9 @@ palette: - BEDROCK_LITTLE: 3 - SWAMP_BOTTOM: 61 - SWAMP: 255 -vanilla: SWAMP +vanilla: SWAMP flora: - chance: 80 + chance: 80 attempts: 1 items: TALL_GRASS: diff --git a/src/main/resources/default-config/biomes/tundra.yml b/src/main/resources/default-config/biomes/tundra.yml index 8bea04905..256e564d2 100644 --- a/src/main/resources/default-config/biomes/tundra.yml +++ b/src/main/resources/default-config/biomes/tundra.yml @@ -1,5 +1,5 @@ -extends: "PLAINS_ABSTRACT" -id: "TUNDRA" +extends: "PLAINS_ABSTRACT" +id: "TUNDRA" palette: - "BLOCK:minecraft:bedrock": 0 @@ -7,15 +7,15 @@ palette: - BEDROCK_HALF: 2 - BEDROCK_LITTLE: 3 - TUNDRA: 255 -vanilla: SNOWY_TUNDRA +vanilla: SNOWY_TUNDRA carving: CAVE_TUNDRA: 35 - RAVINE: 5 - CAVERN: 5 + RAVINE: 5 + CAVERN: 5 snow: - - min: 0 - max: 255 + - min: 0 + max: 255 chance: 30 erodible: true @@ -36,8 +36,8 @@ trees: min: 58 max: 84 slabs: - enable: true - threshold: 0.015 + enable: true + threshold: 0.015 palettes: - "minecraft:stone": "MOUNTAIN_SLABS" - "minecraft:snow_block": "SNOW_LAYERS" diff --git a/src/main/resources/default-config/carving/cave.yml b/src/main/resources/default-config/carving/cave.yml index 23395e2d4..60b95bb5d 100644 --- a/src/main/resources/default-config/carving/cave.yml +++ b/src/main/resources/default-config/carving/cave.yml @@ -20,9 +20,9 @@ cut: top: 0 bottom: 1 mutate: - x: 2 - y: 6 - z: 2 + x: 2 + y: 6 + z: 2 radius: 0.125 palette: inner: diff --git a/src/main/resources/default-config/carving/cave_ocean.yml b/src/main/resources/default-config/carving/cave_ocean.yml index 4a6259110..e384226f9 100644 --- a/src/main/resources/default-config/carving/cave_ocean.yml +++ b/src/main/resources/default-config/carving/cave_ocean.yml @@ -20,9 +20,9 @@ cut: top: 0 bottom: 0 mutate: - x: 2 - y: 6 - z: 2 + x: 2 + y: 6 + z: 2 radius: 0.125 palette: inner: diff --git a/src/main/resources/default-config/carving/cave_swamp.yml b/src/main/resources/default-config/carving/cave_swamp.yml index 658e20fb1..a29a65c89 100644 --- a/src/main/resources/default-config/carving/cave_swamp.yml +++ b/src/main/resources/default-config/carving/cave_swamp.yml @@ -20,9 +20,9 @@ cut: top: 0 bottom: 0 mutate: - x: 2 - y: 6 - z: 2 + x: 2 + y: 6 + z: 2 radius: 0.125 palette: inner: diff --git a/src/main/resources/default-config/carving/cave_tundra.yml b/src/main/resources/default-config/carving/cave_tundra.yml index 69edda00b..62cd090c4 100644 --- a/src/main/resources/default-config/carving/cave_tundra.yml +++ b/src/main/resources/default-config/carving/cave_tundra.yml @@ -20,10 +20,10 @@ cut: top: 0 bottom: 0 mutate: - x: 2 - y: 6 - z: 2 - radius: 0.125 + x: 2 + y: 6 + z: 2 + radius: 0.125 palette: inner: replace-blacklist: true diff --git a/src/main/resources/default-config/carving/cavern.yml b/src/main/resources/default-config/carving/cavern.yml index d1058c47a..86c37cb0d 100644 --- a/src/main/resources/default-config/carving/cavern.yml +++ b/src/main/resources/default-config/carving/cavern.yml @@ -20,10 +20,10 @@ cut: top: 0 bottom: 1 mutate: - x: 2 - y: 6 - z: 2 - radius: 0.125 + x: 2 + y: 6 + z: 2 + radius: 0.125 palette: inner: replace-blacklist: true diff --git a/src/main/resources/default-config/carving/ravine.yml b/src/main/resources/default-config/carving/ravine.yml index 3b4e49d4c..caedc59da 100644 --- a/src/main/resources/default-config/carving/ravine.yml +++ b/src/main/resources/default-config/carving/ravine.yml @@ -20,10 +20,10 @@ cut: top: 1 bottom: 2 mutate: - x: 1 - y: 4 - z: 1 - radius: 0.125 + x: 1 + y: 4 + z: 1 + radius: 0.125 palette: inner: replace-blacklist: true diff --git a/src/main/resources/default-config/ores/deposits/andesite_pocket.yml b/src/main/resources/default-config/ores/deposits/andesite_pocket.yml index 9eb0238d3..612b7b2fe 100644 --- a/src/main/resources/default-config/ores/deposits/andesite_pocket.yml +++ b/src/main/resources/default-config/ores/deposits/andesite_pocket.yml @@ -2,8 +2,8 @@ material: "minecraft:andesite" radius: min: 3 max: 4 -deform: 0.75 +deform: 0.75 deform-frequency: 0.1 -id: "ANDESITE" +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 index df268bd9d..65e15d323 100644 --- a/src/main/resources/default-config/ores/deposits/diorite_pocket.yml +++ b/src/main/resources/default-config/ores/deposits/diorite_pocket.yml @@ -2,8 +2,8 @@ material: "minecraft:diorite" radius: min: 3 max: 4 -deform: 0.75 +deform: 0.75 deform-frequency: 0.1 -id: "DIORITE" +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 index 0fbaf7fac..76312b589 100644 --- a/src/main/resources/default-config/ores/deposits/dirt_pocket.yml +++ b/src/main/resources/default-config/ores/deposits/dirt_pocket.yml @@ -2,8 +2,8 @@ material: "minecraft:dirt" radius: min: 3 max: 4 -deform: 0.75 +deform: 0.75 deform-frequency: 0.1 -id: "DIRT" +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 index cc8fb36bd..d50fe47af 100644 --- a/src/main/resources/default-config/ores/deposits/granite_pocket.yml +++ b/src/main/resources/default-config/ores/deposits/granite_pocket.yml @@ -2,8 +2,8 @@ material: "minecraft:granite" radius: min: 3 max: 4 -deform: 0.75 +deform: 0.75 deform-frequency: 0.1 -id: "GRANITE" +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 index 6fc50aea7..dd74170bd 100644 --- a/src/main/resources/default-config/ores/deposits/gravel_pocket.yml +++ b/src/main/resources/default-config/ores/deposits/gravel_pocket.yml @@ -2,8 +2,8 @@ material: "minecraft:gravel" radius: min: 3 max: 4 -deform: 0.75 +deform: 0.75 deform-frequency: 0.1 -id: "GRAVEL" +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 index c2718e2af..8a3e7a63c 100644 --- a/src/main/resources/default-config/ores/minerals/coal.yml +++ b/src/main/resources/default-config/ores/minerals/coal.yml @@ -2,8 +2,8 @@ material: "minecraft:coal_ore" radius: min: 1 max: 2 -deform: 0.75 +deform: 0.75 deform-frequency: 0.2 -id: "COAL_ORE" +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 index 4649f2eee..2b1f32a56 100644 --- a/src/main/resources/default-config/ores/minerals/diamond.yml +++ b/src/main/resources/default-config/ores/minerals/diamond.yml @@ -2,8 +2,8 @@ material: "minecraft:diamond_ore" radius: min: 0 max: 1 -deform: 0.75 +deform: 0.75 deform-frequency: 0.2 -id: "DIAMOND_ORE" +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 index 97311d056..fc5954eb7 100644 --- a/src/main/resources/default-config/ores/minerals/gold.yml +++ b/src/main/resources/default-config/ores/minerals/gold.yml @@ -2,8 +2,8 @@ material: "minecraft:gold_ore" radius: min: 1 max: 1 -deform: 0.75 +deform: 0.75 deform-frequency: 0.2 -id: "GOLD_ORE" +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 index 0e4676c9a..0b2cf36a3 100644 --- a/src/main/resources/default-config/ores/minerals/iron.yml +++ b/src/main/resources/default-config/ores/minerals/iron.yml @@ -2,8 +2,8 @@ material: "minecraft:iron_ore" radius: min: 1 max: 1 -deform: 0.75 +deform: 0.75 deform-frequency: 0.2 -id: "IRON_ORE" +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 index 55decabf8..4c626b72a 100644 --- a/src/main/resources/default-config/ores/minerals/lapis.yml +++ b/src/main/resources/default-config/ores/minerals/lapis.yml @@ -2,8 +2,8 @@ material: "minecraft:lapis_ore" radius: min: 1 max: 1 -deform: 0.75 +deform: 0.75 deform-frequency: 0.2 -id: "LAPIS_ORE" +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 index 4d399bf63..dcf76b6a6 100644 --- a/src/main/resources/default-config/ores/minerals/redstone.yml +++ b/src/main/resources/default-config/ores/minerals/redstone.yml @@ -2,8 +2,8 @@ material: "minecraft:redstone_ore" radius: min: 1 max: 1 -deform: 0.75 +deform: 0.75 deform-frequency: 0.2 -id: "REDSTONE_ORE" +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 index 81563bceb..11f709da2 100644 --- a/src/main/resources/default-config/pack.yml +++ b/src/main/resources/default-config/pack.yml @@ -46,11 +46,11 @@ blend: frequency: 0.125 amplitude: 10 erode: - enable: true - frequency: 0.001 - threshold: 0.0015 - octaves: 5 - grid: "BIOME:RIVER" + enable: true + frequency: 0.001 + threshold: 0.0015 + octaves: 5 + grid: "BIOME:RIVER" noise: octaves: 5 frequency: 0.0075 diff --git a/src/main/resources/default-config/palettes/mountains/arid.yml b/src/main/resources/default-config/palettes/mountains/arid.yml index c27a4f153..9aeaef4f2 100644 --- a/src/main/resources/default-config/palettes/mountains/arid.yml +++ b/src/main/resources/default-config/palettes/mountains/arid.yml @@ -1,29 +1,29 @@ layers: - materials: - - "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: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 + - "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 + - materials: + - "minecraft:dirt": 7 + - "minecraft:white_terracotta": 1 + layers: 2 + - materials: + - "minecraft:stone": 1 + layers: 1 +id: "ARID" +simplex: true frequency: 0.05 -seed: 3 \ No newline at end of file +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 index 4f227aa90..f4d857e2e 100644 --- a/src/main/resources/default-config/palettes/mountains/grass.yml +++ b/src/main/resources/default-config/palettes/mountains/grass.yml @@ -1,18 +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 + - 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.075 -seed: 3 \ No newline at end of file +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 index 9e8ba9867..ac514fe04 100644 --- a/src/main/resources/default-config/palettes/mountains/jungle.yml +++ b/src/main/resources/default-config/palettes/mountains/jungle.yml @@ -1,20 +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 + - 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 +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 index 14864e392..cb0b88703 100644 --- a/src/main/resources/default-config/palettes/mountains/pretty_mountains.yml +++ b/src/main/resources/default-config/palettes/mountains/pretty_mountains.yml @@ -1,24 +1,24 @@ 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" -simplex: true + - 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" +simplex: true frequency: 0.03 -seed: 3 \ No newline at end of file +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 index 76a0bb271..a99dac41a 100644 --- a/src/main/resources/default-config/palettes/mountains/stone.yml +++ b/src/main/resources/default-config/palettes/mountains/stone.yml @@ -1,14 +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 + - 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.075 -seed: 3 \ No newline at end of file +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 index 0ec174614..e6abe73d0 100644 --- a/src/main/resources/default-config/palettes/mountains/stone_grass.yml +++ b/src/main/resources/default-config/palettes/mountains/stone_grass.yml @@ -1,22 +1,22 @@ layers: - - materials: - - "minecraft:cyan_terracotta": 1 - - "minecraft:stone": 2 - - "minecraft:grass_block": 2 - - "minecraft:snow_block": 4 - - "minecraft:cobblestone": 1 + - 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 + - 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.075 -seed: 3 \ No newline at end of file +seed: 3 \ No newline at end of file diff --git a/src/main/resources/default-config/palettes/river_bottom.yml b/src/main/resources/default-config/palettes/river_bottom.yml index 3b7d8ea9e..da88c45ac 100644 --- a/src/main/resources/default-config/palettes/river_bottom.yml +++ b/src/main/resources/default-config/palettes/river_bottom.yml @@ -1,13 +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 + - 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 +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 index ab0aaa6cc..7fca87bd2 100644 --- a/src/main/resources/default-config/palettes/river_shore.yml +++ b/src/main/resources/default-config/palettes/river_shore.yml @@ -1,16 +1,16 @@ 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" -simplex: true + - 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" +simplex: true frequency: 0.05 -seed: 3 \ No newline at end of file +seed: 3 \ No newline at end of file diff --git a/src/main/resources/default-config/palettes/slabs/mountainslabs.yml b/src/main/resources/default-config/palettes/slabs/mountainslabs.yml index 5727f6e7c..bcfd45052 100644 --- a/src/main/resources/default-config/palettes/slabs/mountainslabs.yml +++ b/src/main/resources/default-config/palettes/slabs/mountainslabs.yml @@ -1,9 +1,9 @@ layers: - - materials: - - "minecraft:cobblestone_slab": 1 - - "minecraft:stone_slab": 3 - layers: 1 -id: "MOUNTAIN_SLABS" -simplex: true + - materials: + - "minecraft:cobblestone_slab": 1 + - "minecraft:stone_slab": 3 + layers: 1 +id: "MOUNTAIN_SLABS" +simplex: true frequency: 0.1 -seed: 4 \ No newline at end of file +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 index a6c2967ac..a59794945 100644 --- a/src/main/resources/default-config/palettes/slabs/mountainstairs.yml +++ b/src/main/resources/default-config/palettes/slabs/mountainstairs.yml @@ -1,9 +1,9 @@ layers: - - materials: - - "minecraft:cobblestone_stairs": 1 - - "minecraft:stone_stairs": 3 - layers: 1 -id: "MOUNTAIN_STAIRS" -simplex: true + - materials: + - "minecraft:cobblestone_stairs": 1 + - "minecraft:stone_stairs": 3 + layers: 1 +id: "MOUNTAIN_STAIRS" +simplex: true frequency: 0.1 -seed: 4 \ No newline at end of file +seed: 4 \ 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 index 06fd944a5..e1792890b 100644 --- a/src/main/resources/default-config/palettes/taiga.yml +++ b/src/main/resources/default-config/palettes/taiga.yml @@ -1,15 +1,15 @@ 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" -simplex: true + - materials: + - "minecraft:grass_block": 2 + - "minecraft:podzol": 1 + layers: 1 + - materials: + - "minecraft:dirt": 1 + layers: 2 + - materials: + - "minecraft:stone": 1 + layers: 1 +id: "TAIGA" +simplex: true frequency: 0.03 -seed: 3 \ No newline at end of file +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 index 0988421a9..24d2f9787 100644 --- a/src/main/resources/default-config/palettes/tundra.yml +++ b/src/main/resources/default-config/palettes/tundra.yml @@ -1,21 +1,21 @@ 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" -simplex: true + - 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" +simplex: true frequency: 0.04 -seed: 4 \ No newline at end of file +seed: 4 \ No newline at end of file diff --git a/src/main/resources/default-config/structures/single/mansion.yml b/src/main/resources/default-config/structures/single/mansion.yml index 16ac5285b..a67f828b4 100644 --- a/src/main/resources/default-config/structures/single/mansion.yml +++ b/src/main/resources/default-config/structures/single/mansion.yml @@ -13,29 +13,29 @@ spawn: loot: 1: arrows features: - - ENTITY_FEATURE: - entity: VINDICATOR - attempts: 100 - in-height: 1 - amount: - min: 60 - max: 80 - spawnable-on: - - "minecraft:birch_planks" - spawnable-in: - - "minecraft:air" - - "minecraft:red_carpet" - - "minecraft:white_carpet" - - ENTITY_FEATURE: - entity: EVOKER - attempts: 50 - in-height: 2 - amount: - min: 1 - max: 3 - spawnable-on: - - "minecraft:birch_planks" - spawnable-in: - - "minecraft:air" - - "minecraft:red_carpet" - - "minecraft:white_carpet" \ No newline at end of file + - ENTITY_FEATURE: + entity: VINDICATOR + attempts: 100 + in-height: 1 + amount: + min: 60 + max: 80 + spawnable-on: + - "minecraft:birch_planks" + spawnable-in: + - "minecraft:air" + - "minecraft:red_carpet" + - "minecraft:white_carpet" + - ENTITY_FEATURE: + entity: EVOKER + attempts: 50 + in-height: 2 + amount: + min: 1 + max: 3 + spawnable-on: + - "minecraft:birch_planks" + spawnable-in: + - "minecraft:air" + - "minecraft:red_carpet" + - "minecraft:white_carpet" \ No newline at end of file diff --git a/src/main/resources/default-config/structures/single/stronghold.yml b/src/main/resources/default-config/structures/single/stronghold.yml index f7cd0778d..af81bdbd2 100644 --- a/src/main/resources/default-config/structures/single/stronghold.yml +++ b/src/main/resources/default-config/structures/single/stronghold.yml @@ -15,29 +15,29 @@ loot: 2: cobble_house 3: cobble_house features: - - ENTITY_FEATURE: - entity: SILVERFISH - attempts: 40 - in-height: 1 - amount: - min: 20 - max: 30 - spawnable-on: - - "minecraft:stone" - - "minecraft:stone_bricks" - - "minecraft:mossy_stone_bricks" - spawnable-in: - - "minecraft:air" - - ENTITY_FEATURE: - entity: ZOMBIE - attempts: 20 - in-height: 2 - amount: - min: 10 - max: 15 - spawnable-on: - - "minecraft:stone" - - "minecraft:stone_bricks" - - "minecraft:mossy_stone_bricks" - spawnable-in: - - "minecraft:air" \ No newline at end of file + - ENTITY_FEATURE: + entity: SILVERFISH + attempts: 40 + in-height: 1 + amount: + min: 20 + max: 30 + spawnable-on: + - "minecraft:stone" + - "minecraft:stone_bricks" + - "minecraft:mossy_stone_bricks" + spawnable-in: + - "minecraft:air" + - ENTITY_FEATURE: + entity: ZOMBIE + attempts: 20 + in-height: 2 + amount: + min: 10 + max: 15 + spawnable-on: + - "minecraft:stone" + - "minecraft:stone_bricks" + - "minecraft:mossy_stone_bricks" + spawnable-in: + - "minecraft:air" \ No newline at end of file diff --git a/src/main/resources/lang/afr_sa.yml b/src/main/resources/lang/afr_sa.yml index acb73665b..e173680e5 100644 --- a/src/main/resources/lang/afr_sa.yml +++ b/src/main/resources/lang/afr_sa.yml @@ -5,45 +5,45 @@ enable: disable: - "Dankie dat u Terra gebruik!" command: - debug-only: "Hierdie opdrag moet gebruik word as die ontfoutmodus geaktiveer is!" - player-only: "Hierdie opdrag is slegs vir spelers!" - invalid: "Ongeldige opdrag.(verwag %1$s argumente, argumente gevind is %2$s)." - players-only: "Hierdie opdrag is slegs vir spelers." - world: "This command must be executed in a Terra world!" - reload: "Terra instel herlaai" - version: "Hierdie bediener gebruik die Terra-weergawe \"%s\"" - main-menu: - - "--------------------Terra--------------------" - - "Herlaai - Herlaai konfigurasiedata" - - "bioom - Kry huidige bioom" - - "erts - Genereer 'n ertsader op die plek waar u te staan kom (vir foutopsporing)" - - "stoor-data - Stoor bevolkingsdata" - - "struktuur - Laai en stoor strukture" - - "profiel - Profielopsies" - - "beeld - Beeld / GUI-opsies" - biome: - biome-found: "Bioom geleë te (%1$s, %2$s)" - unable-to-locate: "Kan bioom nie opspoor nie." - invalid-radius: "Ongeldige radius: \"%s\"" - invalid: "Ongeldige Biome-ID: \"%s\"" - in: "Jy is in \"%s\"" - ore: + debug-only: "Hierdie opdrag moet gebruik word as die ontfoutmodus geaktiveer is!" + player-only: "Hierdie opdrag is slegs vir spelers!" + invalid: "Ongeldige opdrag.(verwag %1$s argumente, argumente gevind is %2$s)." + players-only: "Hierdie opdrag is slegs vir spelers." + world: "This command must be executed in a Terra world!" + reload: "Terra instel herlaai" + version: "Hierdie bediener gebruik die Terra-weergawe \"%s\"" main-menu: + - "--------------------Terra--------------------" + - "Herlaai - Herlaai konfigurasiedata" + - "bioom - Kry huidige bioom" + - "erts - Genereer 'n ertsader op die plek waar u te staan kom (vir foutopsporing)" + - "stoor-data - Stoor bevolkingsdata" + - "struktuur - Laai en stoor strukture" + - "profiel - Profielopsies" + - "beeld - Beeld / GUI-opsies" + biome: + biome-found: "Bioom geleë te (%1$s, %2$s)" + unable-to-locate: "Kan bioom nie opspoor nie." + invalid-radius: "Ongeldige radius: \"%s\"" + invalid: "Ongeldige Biome-ID: \"%s\"" + in: "Jy is in \"%s\"" + ore: + main-menu: - "---------------Terra/erts---------------" - "Genereer 'n ertsader by die blok waarna u kyk." out-of-range: "Blok buite bereik" - invalid-ore: "Kan nie Erts vind nie \"%s\"" + invalid-ore: "Kan nie Erts vind nie \"%s\"" geometry: - main-menu: + main-menu: - "---------------Terra/meetkunde----------------" - "Verskeie opsporingsopdragte vir voxel-meetkunde" - "sfeer - Genereer 'n sfeer" - "vervorming - Genereer 'n misvormde sfeer" - "tube - Genereer 'n tube" - deform: - invalid-radius: "Ongeldige radius: \"%s\"" - invalid-deform: "Ongeldige vervorm: \"%s\"" - invalid-frequency: "Ongeldige frekwensie: \"%s\"" + deform: + invalid-radius: "Ongeldige radius: \"%s\"" + invalid-deform: "Ongeldige vervorm: \"%s\"" + invalid-frequency: "Ongeldige frekwensie: \"%s\"" sphere: invalid-radius: "Ongeldige radius: \"%s\"" tube: @@ -73,20 +73,20 @@ command: start: "Profiler het begin." stop: "Profiler het opgehou." structure: - main-menu: - - "---------------Terra/struktuur---------------" - - "uitvoer - voer u huidige WorldEdit-keuse uit as 'n Terra-struktuur." - - "laai - Laai 'n Terra-struktuur" - invalid-radius: "Ongeldig radius: \"%s\"" - invalid-rotation: "Ongeldige rotasie: \"%s\"" - invalid: "Ongeldig Struktuur ID: \"%s\"" - export: "struktuur gestoor na \"%s\"" + main-menu: + - "---------------Terra/struktuur---------------" + - "uitvoer - voer u huidige WorldEdit-keuse uit as 'n Terra-struktuur." + - "laai - Laai 'n Terra-struktuur" + invalid-radius: "Ongeldig radius: \"%s\"" + invalid-rotation: "Ongeldige rotasie: \"%s\"" + invalid: "Ongeldig Struktuur ID: \"%s\"" + export: "struktuur gestoor na \"%s\"" world-config: - loading: "Laai wêreldkonfigurasiewaardes vir wêreld %s..." - not-found: "Konfigurasie vir wêreld \"%s\" nie gevind nie. Kopieer standaardinstelling." - using-image: "Laai wêreld vanaf prent." - error: "Kon nie konfigurasie vir wêreld laai nie %s" - done: "Wêreldlading voltooi. Tyd verloop: %sms" + loading: "Laai wêreldkonfigurasiewaardes vir wêreld %s..." + not-found: "Konfigurasie vir wêreld \"%s\" nie gevind nie. Kopieer standaardinstelling." + using-image: "Laai wêreld vanaf prent." + error: "Kon nie konfigurasie vir wêreld laai nie %s" + done: "Wêreldlading voltooi. Tyd verloop: %sms" config-pack: loaded: "Laai konfigurasie %1$s in %2$sms." config: diff --git a/src/main/resources/lang/de_de.yml b/src/main/resources/lang/de_de.yml index 091a31617..ac00f24b1 100644 --- a/src/main/resources/lang/de_de.yml +++ b/src/main/resources/lang/de_de.yml @@ -5,88 +5,88 @@ enable: disable: - "Danke, dass du Terra benutzt!!" command: - debug-only: "Dieser Befehl kann nur im Debugmodus benutzt werden!" - player-only: "Dieser Befehl kann nur von Spielern benutzt werden!" - invalid: "Ungültiger Befehl. (Erwartet %1$s Argumente, fand %2$s)." - players-only: "Dieser Befehl kann nur von Spielern benutzt werden." - world: "Dieser Befehl muss in einer von Terra generierten Welt ausgeführt werden!" - reload: "Terra-Konfiguration wurde neu geladen." - version: "Dieser Server verwendet Terra \"%s\"" - main-menu: - - "--------------------Terra--------------------" - - "reload - Lädt die Konfiguration neu" - - "biome - Zeigt dir das derzeitige Biom" - - "ore - Erzader an derzeitiger Position erzeugen (zum Debuggen)" - - "save-data - Bevölkerungsdaten speichern" - - "structure - Laden/Exportieren von Strukturen" - - "profile - Profiler-Optionen" - - "image - Bild-/GUI-Optionen" - biome: - biome-found: "Biom gefunden bei: (%1$s, %2$s)" - unable-to-locate: "Biom konnte nicht gefunden werden!" - invalid-radius: "Ungültiger Radius: \"%s\"" - invalid: "Ungültige Biom-ID: \"%s\"" - in: "Du bist in: \"%s\"" - ore: + debug-only: "Dieser Befehl kann nur im Debugmodus benutzt werden!" + player-only: "Dieser Befehl kann nur von Spielern benutzt werden!" + invalid: "Ungültiger Befehl. (Erwartet %1$s Argumente, fand %2$s)." + players-only: "Dieser Befehl kann nur von Spielern benutzt werden." + world: "Dieser Befehl muss in einer von Terra generierten Welt ausgeführt werden!" + reload: "Terra-Konfiguration wurde neu geladen." + version: "Dieser Server verwendet Terra \"%s\"" main-menu: - - "---------------Terra/Erz---------------" - - "Generiert eine Erzader an dem Block, den du anguckst" - out-of-range: "Block außer Reichweite" - invalid-ore: "Kann Erz \"%s\" nicht finden" - geometry: - main-menu: - - "---------------Terra/Geometrie----------------" - - "Verschiedene Debugging-Befehle für die Voxelgeometrie" - - "sphere - Generiert eine Kugel" - - "deformsphere - Generiert eine deformierte Kugel" - - "tube - Generiert ein Rohr" - deform: - invalid-radius: "Ungültiger Radius: \"%s\"" - invalid-deform: "Ungültiger Deformation: \"%s\"" - invalid-frequency: "Ungültige Frequenz: \"%s\"" - sphere: - invalid-radius: "Ungültiger Radius: \"%s\"" - tube: - invalid-radius: "Ungültiger Radius: \"%s\"" - image: - main-menu: - - "---------------Terra/Bilde---------------" - - "render - Rendert ein Bild mit einer bestimmten Breite und Höhe, das später als Welt importiert werden kann." - - "gui - Debug-GUI öffnen (muss in der Konfiguration aktiviert sein)" - gui: - main-menu: - - "-------------Terra/image/gui-------------" - - "raw - Öffnet eine GUI mit Biome-Rohdaten" - - "step - Daten erneut rendern, um Ränder deutlicher darzustellen" + - "--------------------Terra--------------------" + - "reload - Lädt die Konfiguration neu" + - "biome - Zeigt dir das derzeitige Biom" + - "ore - Erzader an derzeitiger Position erzeugen (zum Debuggen)" + - "save-data - Bevölkerungsdaten speichern" + - "structure - Laden/Exportieren von Strukturen" + - "profile - Profiler-Optionen" + - "image - Bild-/GUI-Optionen" + biome: + biome-found: "Biom gefunden bei: (%1$s, %2$s)" + unable-to-locate: "Biom konnte nicht gefunden werden!" + invalid-radius: "Ungültiger Radius: \"%s\"" + invalid: "Ungültige Biom-ID: \"%s\"" + in: "Du bist in: \"%s\"" + ore: + main-menu: + - "---------------Terra/Erz---------------" + - "Generiert eine Erzader an dem Block, den du anguckst" + out-of-range: "Block außer Reichweite" + invalid-ore: "Kann Erz \"%s\" nicht finden" + geometry: + main-menu: + - "---------------Terra/Geometrie----------------" + - "Verschiedene Debugging-Befehle für die Voxelgeometrie" + - "sphere - Generiert eine Kugel" + - "deformsphere - Generiert eine deformierte Kugel" + - "tube - Generiert ein Rohr" + deform: + invalid-radius: "Ungültiger Radius: \"%s\"" + invalid-deform: "Ungültiger Deformation: \"%s\"" + invalid-frequency: "Ungültige Frequenz: \"%s\"" + sphere: + invalid-radius: "Ungültiger Radius: \"%s\"" + tube: + invalid-radius: "Ungültiger Radius: \"%s\"" + image: + main-menu: + - "---------------Terra/Bilde---------------" + - "render - Rendert ein Bild mit einer bestimmten Breite und Höhe, das später als Welt importiert werden kann." + - "gui - Debug-GUI öffnen (muss in der Konfiguration aktiviert sein)" + gui: + main-menu: + - "-------------Terra/image/gui-------------" + - "raw - Öffnet eine GUI mit Biome-Rohdaten" + - "step - Daten erneut rendern, um Ränder deutlicher darzustellen" debug: "Der Debug-Modus muss aktiviert sein, um die Debug-GUI verwenden zu können! Die Debug-GUI ist NICHT PRODUKTIONSSICHER!" render: save: "Bild gespeichert unter: \"%s\"" error: "Beim speichern ist ein Fehler aufgetreten!" profile: - main-menu: - - "---------------Terra/Profiler---------------" - - "start - Startet den Profiler" - - "stop - Stoppt den Profiler" - - "query - Profiler-Daten anzeigen" - - "reset - Profiler-Daten zurücksetzen" - reset: "Profiler-Daten wurden zurückgesetzt." - start: "Der Profiler wurde gestartet." - stop: "Der Profiler wurde gestoppt." - structure: - main-menu: - - "---------------Terra/Strukturen---------------" - - "export - Exportiert deine aktuelle WorldEdit-Auswahl als Terra-Struktur." - - "load - Ladt eine Terra-Struktur." - invalid-radius: "Ungültiger Radius: \"%s\"" - invalid-rotation: "Ungültige Rotation: \"%s\"" - invalid: "Ungültige Strukturen-ID: \"%s\"" - export: "Struktur unter \"%s\" gespeichert." + main-menu: + - "---------------Terra/Profiler---------------" + - "start - Startet den Profiler" + - "stop - Stoppt den Profiler" + - "query - Profiler-Daten anzeigen" + - "reset - Profiler-Daten zurücksetzen" + reset: "Profiler-Daten wurden zurückgesetzt." + start: "Der Profiler wurde gestartet." + stop: "Der Profiler wurde gestoppt." + structure: + main-menu: + - "---------------Terra/Strukturen---------------" + - "export - Exportiert deine aktuelle WorldEdit-Auswahl als Terra-Struktur." + - "load - Ladt eine Terra-Struktur." + invalid-radius: "Ungültiger Radius: \"%s\"" + invalid-rotation: "Ungültige Rotation: \"%s\"" + invalid: "Ungültige Strukturen-ID: \"%s\"" + export: "Struktur unter \"%s\" gespeichert." world-config: - loading: "Lade Weltkonfigurationswerte für Welt %s..." - not-found: "Weltkonfigurationswerte für Welt \"%s\" nicht gefunden. Lade Standardwerte." - using-image: "Lade Welt von Bild." - error: "Konfiguration für Welt %s kann nicht geladen werden!" - done: "Laden der Welt abgeschlossen. Ladedauer: %sms" + loading: "Lade Weltkonfigurationswerte für Welt %s..." + not-found: "Weltkonfigurationswerte für Welt \"%s\" nicht gefunden. Lade Standardwerte." + using-image: "Lade Welt von Bild." + error: "Konfiguration für Welt %s kann nicht geladen werden!" + done: "Laden der Welt abgeschlossen. Ladedauer: %sms" config-pack: loaded: "Konfiguration %1$s wurde in %2$sms geladen." config: diff --git a/src/main/resources/lang/en_us.yml b/src/main/resources/lang/en_us.yml index 0c0e052c3..a7e11c02b 100644 --- a/src/main/resources/lang/en_us.yml +++ b/src/main/resources/lang/en_us.yml @@ -5,88 +5,88 @@ enable: disable: - "Thank you for using Terra!" command: - debug-only: "This command must be used with debug mode enabled!" - player-only: "This command is for players only!" - invalid: "Invalid command. (Expected %1$s arguments, found %2$s)." - players-only: "Command is for players only." - world: "This command must be executed in a Terra world!" - reload: "Reloaded Terra config." - version: "This server is running Terra version \"%s\"" - main-menu: - - "--------------------Terra--------------------" - - "reload - Reload configuration data" - - "biome - Get current biome" - - "ore - Generate an ore vein at the location you are facing (For debugging)" - - "save-data - Save population data" - - "structure - Load and export structures" - - "profile - Profiler options" - - "image - Image/GUI options" - biome: - biome-found: "Located biome at (%1$s, %2$s)" - unable-to-locate: "Unable to locate biome." - invalid-radius: "Invalid radius: \"%s\"" - invalid: "Invalid Biome ID: \"%s\"" - in: "You are in \"%s\"" - ore: + debug-only: "This command must be used with debug mode enabled!" + player-only: "This command is for players only!" + invalid: "Invalid command. (Expected %1$s arguments, found %2$s)." + players-only: "Command is for players only." + world: "This command must be executed in a Terra world!" + reload: "Reloaded Terra config." + version: "This server is running Terra version \"%s\"" main-menu: - - "---------------Terra/ore---------------" - - "Generates a vein of ore at the block you are looking at." - out-of-range: "Block out of range" - invalid-ore: "Unable to find Ore \"%s\"" - geometry: - main-menu: - - "---------------Terra/geometry----------------" - - "Various voxel geometry debugging commands" - - "sphere - Generate a sphere" - - "deformsphere - Generate a deformed sphere" - - "tube - Generate a tube" - deform: - invalid-radius: "Invalid radius: \"%s\"" - invalid-deform: "Invalid deform: \"%s\"" - invalid-frequency: "Invalid frequency: \"%s\"" - sphere: - invalid-radius: "Invalid radius: \"%s\"" - tube: - invalid-radius: "Invalid radius: \"%s\"" - image: - main-menu: - - "---------------Terra/image---------------" - - "render - Render an image with a given width and height, that can later be imported as a world." - - "gui - Open debug GUI (Must be enabled in config)" - gui: - main-menu: - - "-------------Terra/image/gui-------------" - - "raw - Open GUI with raw Biome data" - - "step - Re-render data to show borders more clearly" + - "--------------------Terra--------------------" + - "reload - Reload configuration data" + - "biome - Get current biome" + - "ore - Generate an ore vein at the location you are facing (For debugging)" + - "save-data - Save population data" + - "structure - Load and export structures" + - "profile - Profiler options" + - "image - Image/GUI options" + biome: + biome-found: "Located biome at (%1$s, %2$s)" + unable-to-locate: "Unable to locate biome." + invalid-radius: "Invalid radius: \"%s\"" + invalid: "Invalid Biome ID: \"%s\"" + in: "You are in \"%s\"" + ore: + main-menu: + - "---------------Terra/ore---------------" + - "Generates a vein of ore at the block you are looking at." + out-of-range: "Block out of range" + invalid-ore: "Unable to find Ore \"%s\"" + geometry: + main-menu: + - "---------------Terra/geometry----------------" + - "Various voxel geometry debugging commands" + - "sphere - Generate a sphere" + - "deformsphere - Generate a deformed sphere" + - "tube - Generate a tube" + deform: + invalid-radius: "Invalid radius: \"%s\"" + invalid-deform: "Invalid deform: \"%s\"" + invalid-frequency: "Invalid frequency: \"%s\"" + sphere: + invalid-radius: "Invalid radius: \"%s\"" + tube: + invalid-radius: "Invalid radius: \"%s\"" + image: + main-menu: + - "---------------Terra/image---------------" + - "render - Render an image with a given width and height, that can later be imported as a world." + - "gui - Open debug GUI (Must be enabled in config)" + gui: + main-menu: + - "-------------Terra/image/gui-------------" + - "raw - Open GUI with raw Biome data" + - "step - Re-render data to show borders more clearly" debug: "Debug mode must be enabled to use the debug GUI! The debug GUI is NOT PRODUCTION SAFE!" render: save: "Saved image as \"%s\"" error: "An error occurred while generating the image!" profile: - main-menu: - - "---------------Terra/profile---------------" - - "start - Starts the profiler" - - "stop - Stops the profiler" - - "query - Fetches profiler data" - - "reset - Resets profiler data" - reset: "Profiler has been reset." - start: "Profiler has started." - stop: "Profiler has stopped." - structure: - main-menu: - - "---------------Terra/structure---------------" - - "export - Export your current WorldEdit selection as a Terra structure." - - "load - Load a Terra structure" - invalid-radius: "Invalid radius: \"%s\"" - invalid-rotation: "Invalid rotation: \"%s\"" - invalid: "Invalid Structure ID: \"%s\"" - export: "Saved structure to \"%s\"" + main-menu: + - "---------------Terra/profile---------------" + - "start - Starts the profiler" + - "stop - Stops the profiler" + - "query - Fetches profiler data" + - "reset - Resets profiler data" + reset: "Profiler has been reset." + start: "Profiler has started." + stop: "Profiler has stopped." + structure: + main-menu: + - "---------------Terra/structure---------------" + - "export - Export your current WorldEdit selection as a Terra structure." + - "load - Load a Terra structure" + invalid-radius: "Invalid radius: \"%s\"" + invalid-rotation: "Invalid rotation: \"%s\"" + invalid: "Invalid Structure ID: \"%s\"" + export: "Saved structure to \"%s\"" world-config: - loading: "Loading world configuration values for world %s..." - not-found: "Configuration for world \"%s\" not found. Copying default config." - using-image: "Loading world from image." - error: "Unable to load configuration for world %s" - done: "World load complete. Time elapsed: %sms" + loading: "Loading world configuration values for world %s..." + not-found: "Configuration for world \"%s\" not found. Copying default config." + using-image: "Loading world from image." + error: "Unable to load configuration for world %s" + done: "World load complete. Time elapsed: %sms" config-pack: loaded: "Loaded config %1$s in %2$sms." config: diff --git a/src/main/resources/lang/es.yml b/src/main/resources/lang/es.yml index 269c56b30..be7e74ecb 100644 --- a/src/main/resources/lang/es.yml +++ b/src/main/resources/lang/es.yml @@ -5,86 +5,86 @@ enable: disable: - "Gracias por usar Terra!" command: - player-only: "Este comando solo puede ser usado por jugadores!" - terra-world: "Este comando solo puede ser usado en un mundo Terra!" - invalid: "Comando invalido. (Expected %1$s arguments, found %2$s)." - players-only: "Este comando solo puede ser usado por jugadores" - world: "Este comando puede ejecutarse solo en un mundo terra!" - reload: "La configuración Terra ha sido recargada." - main-menu: - - "--------------------Terra--------------------" - - "reload - Recarga los datos de configuración del plugin." - - "biome - Obtienes información del bioma actual" - - "ore - Genera una mena de ore en el lugar que estes mirando.(For debugging)" - - "save-data - Guarda los datos actuales." - - "structure - Cargar o exportar estructuras." - - "profile - Opciones de perfil." - - "image - Opciones de imagen/GUI." - biome: - biome-found: "Bioma localizado en (%1$s, %2$s)" - unable-to-locate: "No se pudo localizar el bioma." - invalid-radius: "Radio invalido: \"%s\"" - invalid: "ID del bioma invalido: \"%s\"" - in: "Te encuentras en \"%s\"" - ore: + player-only: "Este comando solo puede ser usado por jugadores!" + terra-world: "Este comando solo puede ser usado en un mundo Terra!" + invalid: "Comando invalido. (Expected %1$s arguments, found %2$s)." + players-only: "Este comando solo puede ser usado por jugadores" + world: "Este comando puede ejecutarse solo en un mundo terra!" + reload: "La configuración Terra ha sido recargada." main-menu: - - "---------------Terra/ore---------------" - - "Generas una mena de ore en el bloque que te encuentres mirando." - out-of-range: "Bloque fuera de rango." - invalid-ore: "No se pudo encontrar el Ore \"%s\"" - geometry: - main-menu: - - "---------------Terra/geometry----------------" - - "Various voxel geometry debugging commands" - - "sphere - Generas un sphere" - - "deformsphere - Generas un sphere deformado" - - "tube - Generas un tube" - deform: - invalid-radius: "Radio invalido: \"%s\"" - invalid-deform: "Deform invalido: \"%s\"" - invalid-frequency: "Frequencia invalida: \"%s\"" - sphere: - invalid-radius: "Radio invalido: \"%s\"" - tube: - invalid-radius: "Radio invalido: \"%s\"" - image: - main-menu: - - "---------------Terra/image---------------" - - "render - Renderiza una imagen con alto y ancho, y este después podrá ser importado como un mundo." - - "gui - Abre el debug GUI.(Puede ser habilitado en la configuración)" - gui: - main-menu: - - "-------------Terra/image/gui-------------" - - "raw - Abre el GUI con la configuración del bioma sin procesar." - - "step - Vuelve a renderizar la configuración para mostrar los límites más claro." + - "--------------------Terra--------------------" + - "reload - Recarga los datos de configuración del plugin." + - "biome - Obtienes información del bioma actual" + - "ore - Genera una mena de ore en el lugar que estes mirando.(For debugging)" + - "save-data - Guarda los datos actuales." + - "structure - Cargar o exportar estructuras." + - "profile - Opciones de perfil." + - "image - Opciones de imagen/GUI." + biome: + biome-found: "Bioma localizado en (%1$s, %2$s)" + unable-to-locate: "No se pudo localizar el bioma." + invalid-radius: "Radio invalido: \"%s\"" + invalid: "ID del bioma invalido: \"%s\"" + in: "Te encuentras en \"%s\"" + ore: + main-menu: + - "---------------Terra/ore---------------" + - "Generas una mena de ore en el bloque que te encuentres mirando." + out-of-range: "Bloque fuera de rango." + invalid-ore: "No se pudo encontrar el Ore \"%s\"" + geometry: + main-menu: + - "---------------Terra/geometry----------------" + - "Various voxel geometry debugging commands" + - "sphere - Generas un sphere" + - "deformsphere - Generas un sphere deformado" + - "tube - Generas un tube" + deform: + invalid-radius: "Radio invalido: \"%s\"" + invalid-deform: "Deform invalido: \"%s\"" + invalid-frequency: "Frequencia invalida: \"%s\"" + sphere: + invalid-radius: "Radio invalido: \"%s\"" + tube: + invalid-radius: "Radio invalido: \"%s\"" + image: + main-menu: + - "---------------Terra/image---------------" + - "render - Renderiza una imagen con alto y ancho, y este después podrá ser importado como un mundo." + - "gui - Abre el debug GUI.(Puede ser habilitado en la configuración)" + gui: + main-menu: + - "-------------Terra/image/gui-------------" + - "raw - Abre el GUI con la configuración del bioma sin procesar." + - "step - Vuelve a renderizar la configuración para mostrar los límites más claro." debug: "El modo debug puede habilitarse para usar el debug GUI! LA CREACIÓN DEL DEBUG GUI NO PODRÍA SER SEGURA!" render: save: "Guarda una imagen como \"%s\"" error: "Un error ha ocurrido mientras se generaba la imagen!" profile: - main-menu: - - "---------------Terra/profile---------------" - - "start - Se incia la generación del Profiler." - - "stop - Se detiene la generación del Profiler." - - "query - Fetches profiler data" - - "reset - Reinicia la configuración del Profiler." - reset: "El Profiler ha sido reiniciado." - start: "El Profiler se ha iniciado." - stop: "El Profiler se ha detenido." - structure: - main-menu: - - "---------------Terra/structure---------------" - - "export - Exporta tus estructuras de Worldedit como estructuras Terra." - - "load - Carga una estructura Terra." - invalid-radius: "Radio invalido: \"%s\"" - invalid: "ID de la estructura es invalida: \"%s\"" - export: "Estructura guardada como \"%s\"" + main-menu: + - "---------------Terra/profile---------------" + - "start - Se incia la generación del Profiler." + - "stop - Se detiene la generación del Profiler." + - "query - Fetches profiler data" + - "reset - Reinicia la configuración del Profiler." + reset: "El Profiler ha sido reiniciado." + start: "El Profiler se ha iniciado." + stop: "El Profiler se ha detenido." + structure: + main-menu: + - "---------------Terra/structure---------------" + - "export - Exporta tus estructuras de Worldedit como estructuras Terra." + - "load - Carga una estructura Terra." + invalid-radius: "Radio invalido: \"%s\"" + invalid: "ID de la estructura es invalida: \"%s\"" + export: "Estructura guardada como \"%s\"" world-config: - loading: "Carga los parametros de configuración para el mundo %s..." - not-found: "La configuración para el mundo \"%s\" no se puede encontrar. Copiando la configuración por defecto." - using-image: "Carga el mundo a partir de una imagen." - error: "No se pudo cargar la configuración para el mundo %s" - done: "el mundo se ha cargado completamente. Tiempo transcurrido: %sms" + loading: "Carga los parametros de configuración para el mundo %s..." + not-found: "La configuración para el mundo \"%s\" no se puede encontrar. Copiando la configuración por defecto." + using-image: "Carga el mundo a partir de una imagen." + error: "No se pudo cargar la configuración para el mundo %s" + done: "el mundo se ha cargado completamente. Tiempo transcurrido: %sms" config-pack: loaded: "Configuración %1$s fue cargada en %2$sms." config: diff --git a/src/main/resources/lang/ja_jp.yml b/src/main/resources/lang/ja_jp.yml index 92c3ccd49..e9ab552e2 100644 --- a/src/main/resources/lang/ja_jp.yml +++ b/src/main/resources/lang/ja_jp.yml @@ -5,86 +5,86 @@ enable: disable: - "Terraをご利用いただきありがとうございます!" command: - player-only: "このコマンドはプレイヤー専用です!" - terra-world: "このコマンドはTerraのワールドで実行する必要があります!" - invalid: "無効なコマンド(期待される %1$s 引数、%2$s が見つかりました。)" - players-only: "コマンドはプレイヤー専用です。" - world: "このコマンドはTerraのワールドで実行する必要があります!" - reload: "Terraの設定を再読み込みしました。" - main-menu: - - "--------------------Terra--------------------" - - "reload - 設定データを再読み込み" - - "biome - 現在のバイオームを取得" - - "ore - 向いている場所に鉱石を生成する(デバッグ用)" - - "save-data - データを保存" - - "structure - ストラクチャーのロード及びエクスポート" - - "profile - プロファイラ オプション" - - "image - 画像/GUI オプション" - biome: - biome-found: "バイオームの座標 (%1$s, %2$s)" - unable-to-locate: "バイオームが見つけられません。" - invalid-radius: "無効な半径: \"%s\"" - invalid: "無効なバイオームID: \"%s\"" - in: "あなたは \"%s\" にいます。" - ore: + player-only: "このコマンドはプレイヤー専用です!" + terra-world: "このコマンドはTerraのワールドで実行する必要があります!" + invalid: "無効なコマンド(期待される %1$s 引数、%2$s が見つかりました。)" + players-only: "コマンドはプレイヤー専用です。" + world: "このコマンドはTerraのワールドで実行する必要があります!" + reload: "Terraの設定を再読み込みしました。" main-menu: - - "---------------Terra/ore---------------" - - "見ているブロックに鉱石を生成します。" - out-of-range: "範囲外のブロック" - invalid-ore: "鉱石 \"%s\" が見つかりません。" - geometry: - main-menu: - - "---------------Terra/geometry----------------" - - "様々なボクセルジオメトリのデバッグコマンド" - - "sphere - 球体を生成" - - "deformsphere - 変形した球体を生成" - - "tube - チューブを生成" - deform: - invalid-radius: "無効な半径: \"%s\"" - invalid-deform: "無効な変形: \"%s\"" - invalid-frequency: "無効な周波数: \"%s\"" - sphere: - invalid-radius: "無効な半径: \"%s\"" - tube: - invalid-radius: "無効な半径: \"%s\"" - image: - main-menu: - - "---------------Terra/image---------------" - - "render - 指定された幅と高さの画像をレンダリングします。" - - "gui - デバッグGUIを開く(設定で有効にする必要があります)" - gui: - main-menu: - - "-------------Terra/image/gui-------------" - - "raw - 生のBiomeデータを利用したGUIを開く" - - "step - 境界線をより明確に表示するためにデータを再レンダリング" + - "--------------------Terra--------------------" + - "reload - 設定データを再読み込み" + - "biome - 現在のバイオームを取得" + - "ore - 向いている場所に鉱石を生成する(デバッグ用)" + - "save-data - データを保存" + - "structure - ストラクチャーのロード及びエクスポート" + - "profile - プロファイラ オプション" + - "image - 画像/GUI オプション" + biome: + biome-found: "バイオームの座標 (%1$s, %2$s)" + unable-to-locate: "バイオームが見つけられません。" + invalid-radius: "無効な半径: \"%s\"" + invalid: "無効なバイオームID: \"%s\"" + in: "あなたは \"%s\" にいます。" + ore: + main-menu: + - "---------------Terra/ore---------------" + - "見ているブロックに鉱石を生成します。" + out-of-range: "範囲外のブロック" + invalid-ore: "鉱石 \"%s\" が見つかりません。" + geometry: + main-menu: + - "---------------Terra/geometry----------------" + - "様々なボクセルジオメトリのデバッグコマンド" + - "sphere - 球体を生成" + - "deformsphere - 変形した球体を生成" + - "tube - チューブを生成" + deform: + invalid-radius: "無効な半径: \"%s\"" + invalid-deform: "無効な変形: \"%s\"" + invalid-frequency: "無効な周波数: \"%s\"" + sphere: + invalid-radius: "無効な半径: \"%s\"" + tube: + invalid-radius: "無効な半径: \"%s\"" + image: + main-menu: + - "---------------Terra/image---------------" + - "render - 指定された幅と高さの画像をレンダリングします。" + - "gui - デバッグGUIを開く(設定で有効にする必要があります)" + gui: + main-menu: + - "-------------Terra/image/gui-------------" + - "raw - 生のBiomeデータを利用したGUIを開く" + - "step - 境界線をより明確に表示するためにデータを再レンダリング" debug: "デバッグGUIを使用するには、デバッグモードを有効にする必要があります。デバッグGUIは安全ではありません!" render: save: "\"%s\" として画像を保存" error: "画像生成中にエラーが発生しました!" profile: - main-menu: - - "---------------Terra/profile---------------" - - "start - プロファイラを起動" - - "stop - プロファイラを停止" - - "query - プロファイラデータを取得" - - "reset - プロファイラのデータをリセット" - reset: "プロファイラがリセットされました。" - start: "プロファイラが起動しました。" - stop: "プロファイラが停止しました。" - structure: - main-menu: - - "---------------Terra/structure---------------" - - "export - 現在のWorldEditの選択範囲をTerraストラクチャーとしてエクスポート" - - "load - Terraストラクチャーを読み込む" - invalid-radius: "無効な半径: \"%s\"" - invalid: "無効なストラクチャーID: \"%s\"" - export: "\"%s\" にストラクチャーを保存" + main-menu: + - "---------------Terra/profile---------------" + - "start - プロファイラを起動" + - "stop - プロファイラを停止" + - "query - プロファイラデータを取得" + - "reset - プロファイラのデータをリセット" + reset: "プロファイラがリセットされました。" + start: "プロファイラが起動しました。" + stop: "プロファイラが停止しました。" + structure: + main-menu: + - "---------------Terra/structure---------------" + - "export - 現在のWorldEditの選択範囲をTerraストラクチャーとしてエクスポート" + - "load - Terraストラクチャーを読み込む" + invalid-radius: "無効な半径: \"%s\"" + invalid: "無効なストラクチャーID: \"%s\"" + export: "\"%s\" にストラクチャーを保存" world-config: - loading: "ワールド %s のワールド設定を読込中..." - not-found: "ワールド \"%s\" の設定が見つかりませんでした。デフォルトの設定をコピーします。" - using-image: "画像からワールドを読み込みます。" - error: "ワールド %s の設定を読み込めませんでした" - done: "ワールドの読み込みが完了しました。経過時間: %sms" + loading: "ワールド %s のワールド設定を読込中..." + not-found: "ワールド \"%s\" の設定が見つかりませんでした。デフォルトの設定をコピーします。" + using-image: "画像からワールドを読み込みます。" + error: "ワールド %s の設定を読み込めませんでした" + done: "ワールドの読み込みが完了しました。経過時間: %sms" config-pack: loaded: "%2$sms で設定 %1$s が読み込まれました。" config: diff --git a/src/main/resources/lang/pl.yml b/src/main/resources/lang/pl.yml index 245ac7014..9033470d6 100644 --- a/src/main/resources/lang/pl.yml +++ b/src/main/resources/lang/pl.yml @@ -5,88 +5,88 @@ enable: disable: - "Dziekuje za korzystanie z Terra!" command: - debug-only: "Ta komenda musi byc uzyta z trybem debugowym wlaczonym!" - player-only: "Ta komenda jest tylko dla graczy!" - invalid: "Niepoprawna komenda. (Oczekiwane %1$s argumenty, znalezione %2$s)." - players-only: "Komenda jest tylko dla graczy." - world: "Ta komenda musi byc wpisana w swiecie Terra!" - reload: "Przeladowano plik konfiguracyjny Terra." - version: "Ten serwer korzysta z wersji Terra \"%s\"" - main-menu: - - "--------------------Terra--------------------" - - "reload - Przeladuj dane konfiguracyjne" - - "biome - Otrzymaj informacje o obecnym biomie" - - "ore - Wygeneruj zloze rud w strone w ktora patrzysz (Do debugowania)" - - "save-data - Zapisz dane" - - "structure - Zaladuj i wyeksportuj dane struktur" - - "profile - Opcje profilera" - - "image - Opcje obrazu/GUI" - biome: - biome-found: "Zlokalizowano biom na (%1$s, %2$s)" - unable-to-locate: "Nie moglismy zlokalizowac biomu." - invalid-radius: "Niepoprawny zakres: \"%s\"" - invalid: "Niepoprawne Biome ID: \"%s\"" - in: "Jestes na \"%s\"" - ore: + debug-only: "Ta komenda musi byc uzyta z trybem debugowym wlaczonym!" + player-only: "Ta komenda jest tylko dla graczy!" + invalid: "Niepoprawna komenda. (Oczekiwane %1$s argumenty, znalezione %2$s)." + players-only: "Komenda jest tylko dla graczy." + world: "Ta komenda musi byc wpisana w swiecie Terra!" + reload: "Przeladowano plik konfiguracyjny Terra." + version: "Ten serwer korzysta z wersji Terra \"%s\"" main-menu: - - "---------------Terra/rudy---------------" - - "Generuje zloze rud w strone w ktora patrzysz." - out-of-range: "Blok spoza zakresu" - invalid-ore: "Niemoglismy znalezc Rudy \"%s\"" - geometry: - main-menu: - - "---------------Terra/geometria----------------" - - "Zroznicowane komendy geometrii voxeli do debugowania" - - "sphere - Generuje kule" - - "deformsphere - Generuje zdeformowana kul" - - "tube - Generaje tube" - deform: - invalid-radius: "Niepoprawny zakres: \"%s\"" - invalid-deform: "Niepoprawna deformacja: \"%s\"" - invalid-frequency: "Niepoprawna czestotliwosc: \"%s\"" - sphere: - invalid-radius: "Niepoprawny zakres: \"%s\"" - tube: - invalid-radius: "Niepoprawny zakres: \"%s\"" - image: - main-menu: - - "---------------Terra/obraz---------------" - - "render - Renderuje obraz o podanej szerokosci i wysokosci, moze byc potem zaimportowane jako swiat." - - "gui - Otwiera GUI debugowania (Musi byc wlaczone w pliku konfiguracyjnym)" - gui: - main-menu: - - "-------------Terra/obraz/gui-------------" - - "raw - Otwiera GUI z surowymi danymi Biomu" - - "step - Przerenderowuje dane aby pokazac granice bardziej przejrzyscie" + - "--------------------Terra--------------------" + - "reload - Przeladuj dane konfiguracyjne" + - "biome - Otrzymaj informacje o obecnym biomie" + - "ore - Wygeneruj zloze rud w strone w ktora patrzysz (Do debugowania)" + - "save-data - Zapisz dane" + - "structure - Zaladuj i wyeksportuj dane struktur" + - "profile - Opcje profilera" + - "image - Opcje obrazu/GUI" + biome: + biome-found: "Zlokalizowano biom na (%1$s, %2$s)" + unable-to-locate: "Nie moglismy zlokalizowac biomu." + invalid-radius: "Niepoprawny zakres: \"%s\"" + invalid: "Niepoprawne Biome ID: \"%s\"" + in: "Jestes na \"%s\"" + ore: + main-menu: + - "---------------Terra/rudy---------------" + - "Generuje zloze rud w strone w ktora patrzysz." + out-of-range: "Blok spoza zakresu" + invalid-ore: "Niemoglismy znalezc Rudy \"%s\"" + geometry: + main-menu: + - "---------------Terra/geometria----------------" + - "Zroznicowane komendy geometrii voxeli do debugowania" + - "sphere - Generuje kule" + - "deformsphere - Generuje zdeformowana kul" + - "tube - Generaje tube" + deform: + invalid-radius: "Niepoprawny zakres: \"%s\"" + invalid-deform: "Niepoprawna deformacja: \"%s\"" + invalid-frequency: "Niepoprawna czestotliwosc: \"%s\"" + sphere: + invalid-radius: "Niepoprawny zakres: \"%s\"" + tube: + invalid-radius: "Niepoprawny zakres: \"%s\"" + image: + main-menu: + - "---------------Terra/obraz---------------" + - "render - Renderuje obraz o podanej szerokosci i wysokosci, moze byc potem zaimportowane jako swiat." + - "gui - Otwiera GUI debugowania (Musi byc wlaczone w pliku konfiguracyjnym)" + gui: + main-menu: + - "-------------Terra/obraz/gui-------------" + - "raw - Otwiera GUI z surowymi danymi Biomu" + - "step - Przerenderowuje dane aby pokazac granice bardziej przejrzyscie" debug: "Tryb debugowania musi byc wlaczony aby debugowac za pomoca GUI! GUI debugowania NIE JEST STABILNE!" render: save: "Zapisano obraz jako \"%s\"" error: "Wystapil error podczas generowania obrazu!" profile: - main-menu: - - "---------------Terra/profil---------------" - - "start - Rozpoczyna dzialanie profilera" - - "stop - Zatrzymuje dzialanie profilera" - - "query - Wydobywa dane profilera" - - "reset - Resetuje dane profilera" - reset: "Profiler zostal zresetowany." - start: "Profiler zostal wlaczony." - stop: "Profiler zostal wylaczony." - structure: - main-menu: - - "---------------Terra/struktury---------------" - - "export - Wyeksportuj obecne zaznaczenie w WorldEdicie jako strukture Terra." - - "load - Zaladuj strukture Terra" - invalid-radius: "Niepoprawny zakres: \"%s\"" - invalid-rotation: "Niepoprawny zakres: \"%s\"" - invalid: "Niepoprawne ID Struktury: \"%s\"" - export: "Zapisano strukture jak \"%s\"" + main-menu: + - "---------------Terra/profil---------------" + - "start - Rozpoczyna dzialanie profilera" + - "stop - Zatrzymuje dzialanie profilera" + - "query - Wydobywa dane profilera" + - "reset - Resetuje dane profilera" + reset: "Profiler zostal zresetowany." + start: "Profiler zostal wlaczony." + stop: "Profiler zostal wylaczony." + structure: + main-menu: + - "---------------Terra/struktury---------------" + - "export - Wyeksportuj obecne zaznaczenie w WorldEdicie jako strukture Terra." + - "load - Zaladuj strukture Terra" + invalid-radius: "Niepoprawny zakres: \"%s\"" + invalid-rotation: "Niepoprawny zakres: \"%s\"" + invalid: "Niepoprawne ID Struktury: \"%s\"" + export: "Zapisano strukture jak \"%s\"" world-config: - loading: "Ladowanie wartosci konfiguracji dla swiata %s..." - not-found: "Konfiguracja dla swiata \"%s\" nie zostala znaleziona. Kopiuje domyslny plik konfiguracyjny." - using-image: "Ladowania swiata z obrazu." - error: "Nie udalo sie zaladowac konfiguracji dla swiata %s" - done: "Ladowanie swiata gotowe. Wykonano to w: %sms" + loading: "Ladowanie wartosci konfiguracji dla swiata %s..." + not-found: "Konfiguracja dla swiata \"%s\" nie zostala znaleziona. Kopiuje domyslny plik konfiguracyjny." + using-image: "Ladowania swiata z obrazu." + error: "Nie udalo sie zaladowac konfiguracji dla swiata %s" + done: "Ladowanie swiata gotowe. Wykonano to w: %sms" config-pack: loaded: "Zaladowano plik konfiguracyjny %1$s w %2$sms." config: diff --git a/src/main/resources/lang/zh_cn.yml b/src/main/resources/lang/zh_cn.yml index 6eb215fb3..e44659b9b 100644 --- a/src/main/resources/lang/zh_cn.yml +++ b/src/main/resources/lang/zh_cn.yml @@ -5,86 +5,86 @@ enable: disable: - "感谢使用Terra!" command: - player-only: "该指令只能由玩家使用!" - terra-world: "该指令只能在Terra世界内使用!" - invalid: "无效的指令。(应有%1$s项参数,现在只有%2$s项)。" - players-only: "指令只能由玩家使用。" - world: "该指令只能在Terra世界内使用!" - reload: "重载Terra配置。" - main-menu: - - "--------------------Terra--------------------" - - "reload - 重载配置数据" - - "biome - 查看所在群系" - - "ore - 在你面朝的位置生成矿脉(用于调试)" - - "save-data - 保存数据" - - "structure - 加载和导出建筑" - - "profile - 分析工具选项" - - "image - 图像/GUI 选项" - biome: - biome-found: "群系位于(%1$s, %2$s)" - unable-to-locate: "无法定位群系。" - invalid-radius: "无效范围:\"%s\"" - invalid: "无效的群系ID: \"%s\"" - in: "你位于\"%s\"" - ore: + player-only: "该指令只能由玩家使用!" + terra-world: "该指令只能在Terra世界内使用!" + invalid: "无效的指令。(应有%1$s项参数,现在只有%2$s项)。" + players-only: "指令只能由玩家使用。" + world: "该指令只能在Terra世界内使用!" + reload: "重载Terra配置。" main-menu: - - "---------------Terra/矿物---------------" - - "在你所视位置生成矿脉。" - out-of-range: "所视方块超出范围" - invalid-ore: "找不到矿物 \"%s\"" - geometry: - main-menu: - - "---------------Terra/几何----------------" - - "各种几何调试指令" - - "sphere - 生成球体" - - "deformsphere - 生成变形球体" - - "tube - 生成管形" - deform: - invalid-radius: "无效范围:\"%s\"" - invalid-deform: "无效变形:\"%s\"" - invalid-frequency: "无效频率:\"%s\"" - sphere: - invalid-radius: "无效范围:\"%s\"" - tube: - invalid-radius: "无效范围:\"%s\"" - image: - main-menu: - - "---------------Terra/图像---------------" - - "render - 根据给定宽度和高度渲染图像,以便于之后导入到世界内。" - - "gui - 打开调试GUI (必须先在配置内启用)" - gui: - main-menu: - - "-------------Terra/图像/GUI-------------" - - "raw - 打开纯群系数据的GUI" - - "step - 重渲染数据以更清晰地显示边界" + - "--------------------Terra--------------------" + - "reload - 重载配置数据" + - "biome - 查看所在群系" + - "ore - 在你面朝的位置生成矿脉(用于调试)" + - "save-data - 保存数据" + - "structure - 加载和导出建筑" + - "profile - 分析工具选项" + - "image - 图像/GUI 选项" + biome: + biome-found: "群系位于(%1$s, %2$s)" + unable-to-locate: "无法定位群系。" + invalid-radius: "无效范围:\"%s\"" + invalid: "无效的群系ID: \"%s\"" + in: "你位于\"%s\"" + ore: + main-menu: + - "---------------Terra/矿物---------------" + - "在你所视位置生成矿脉。" + out-of-range: "所视方块超出范围" + invalid-ore: "找不到矿物 \"%s\"" + geometry: + main-menu: + - "---------------Terra/几何----------------" + - "各种几何调试指令" + - "sphere - 生成球体" + - "deformsphere - 生成变形球体" + - "tube - 生成管形" + deform: + invalid-radius: "无效范围:\"%s\"" + invalid-deform: "无效变形:\"%s\"" + invalid-frequency: "无效频率:\"%s\"" + sphere: + invalid-radius: "无效范围:\"%s\"" + tube: + invalid-radius: "无效范围:\"%s\"" + image: + main-menu: + - "---------------Terra/图像---------------" + - "render - 根据给定宽度和高度渲染图像,以便于之后导入到世界内。" + - "gui - 打开调试GUI (必须先在配置内启用)" + gui: + main-menu: + - "-------------Terra/图像/GUI-------------" + - "raw - 打开纯群系数据的GUI" + - "step - 重渲染数据以更清晰地显示边界" debug: "必须先启用调试模式才能使用GUI!调试GUI不适合在运行中的服务器里使用!" render: save: "已将图像保存为\"%s\"" error: "生成图像时出错!" profile: - main-menu: - - "---------------Terra/分析---------------" - - "start - 启动分析工具" - - "stop - 关闭分析工具" - - "query - 获取分析数据" - - "reset - 重置分析数据" - reset: "分析工具已重置。" - start: "分析工具已启动。" - stop: "分析工具已关闭。" - structure: - main-menu: - - "---------------Terra/建筑---------------" - - "export - 导出你当前的WorldEdit选区为Terra的建筑。" - - "load - 加载Terra的建筑。" - invalid-radius: "无效范围:\"%s\"" - invalid: "无效建筑ID:\"%s\"" - export: "已将建筑保存为\"%s\"" + main-menu: + - "---------------Terra/分析---------------" + - "start - 启动分析工具" + - "stop - 关闭分析工具" + - "query - 获取分析数据" + - "reset - 重置分析数据" + reset: "分析工具已重置。" + start: "分析工具已启动。" + stop: "分析工具已关闭。" + structure: + main-menu: + - "---------------Terra/建筑---------------" + - "export - 导出你当前的WorldEdit选区为Terra的建筑。" + - "load - 加载Terra的建筑。" + invalid-radius: "无效范围:\"%s\"" + invalid: "无效建筑ID:\"%s\"" + export: "已将建筑保存为\"%s\"" world-config: - loading: "正在加载世界%s配置数值……" - not-found: "找不到世界\"%s\"的配置。正应用默认配置。" - using-image: "加载图像中" - error: "无法加载世界%s的配置" - done: "加载世界完成。耗时:%sms" + loading: "正在加载世界%s配置数值……" + not-found: "找不到世界\"%s\"的配置。正应用默认配置。" + using-image: "加载图像中" + error: "无法加载世界%s的配置" + done: "加载世界完成。耗时:%sms" config-pack: loaded: "已加载配置%1$s,耗时%2$sms。" config: diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index ff9a48d83..d43fcc691 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,17 +1,17 @@ -name: "Terra" +name: "Terra" depend: [ "Gaea" ] -main: "com.dfsek.terra.Terra" -version: "1.1.1-BETA" -load: "STARTUP" +main: "com.dfsek.terra.Terra" +version: "1.1.1-BETA" +load: "STARTUP" api-version: "1.16" softdepend: [ "WorldEdit" ] commands: - terra: - description: "Terra base command" - usage: "/terra " - aliases: [ "te" ] - permission: "terra.command" - locate: - description: "Locate a Terra Structure" - usage: "/locate " - permission: "terra.locate" \ No newline at end of file + terra: + description: "Terra base command" + usage: "/terra " + aliases: [ "te" ] + permission: "terra.command" + locate: + description: "Locate a Terra Structure" + usage: "/locate " + permission: "terra.locate" \ No newline at end of file From de4eb8cb7354bc56cc405f5041fdd9a95950f338 Mon Sep 17 00:00:00 2001 From: solonovamax Date: Sat, 7 Nov 2020 17:48:25 -0500 Subject: [PATCH 3/5] Fix formatting issues Signed-off-by: solonovamax --- src/main/resources/config.yml | 2 +- .../biomes/mountain/mountains_pretty.yml | 2 +- .../biomes/forest/birch_forest.yml | 14 +- .../biomes/forest/dark_forest.yml | 34 ++-- .../default-config/biomes/forest/jungle.yml | 16 +- .../biomes/forest/oak_forest.yml | 16 +- .../default-config/biomes/forest/savanna.yml | 16 +- .../mountain/arid_mountains_border_0.yml | 36 ++--- .../mountain/arid_mountains_border_1.yml | 36 ++--- .../biomes/mountain/mountains_stone.yml | 32 ++-- .../mountain/mountains_stone_border_0.yml | 32 ++-- .../biomes/ocean_deep/ocean_warm.yml | 2 +- .../biomes/ocean_shelf/ocean_warm.yml | 2 +- .../default-config/carving/cave_tundra.yml | 8 +- .../default-config/carving/cavern.yml | 8 +- .../default-config/carving/ravine.yml | 8 +- src/main/resources/default-config/pack.yml | 10 +- .../structures/single/mansion.yml | 52 +++--- .../structures/single/stronghold.yml | 52 +++--- src/main/resources/lang/afr_sa.yml | 84 +++++----- src/main/resources/lang/de_de.yml | 150 +++++++++--------- src/main/resources/lang/en_us.yml | 150 +++++++++--------- src/main/resources/lang/es.yml | 146 ++++++++--------- src/main/resources/lang/ja_jp.yml | 146 ++++++++--------- src/main/resources/lang/pl.yml | 150 +++++++++--------- src/main/resources/lang/zh_cn.yml | 146 ++++++++--------- src/main/resources/plugin.yml | 18 +-- 27 files changed, 684 insertions(+), 684 deletions(-) diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 04175c2b4..d87580b25 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -5,4 +5,4 @@ fail-type: SHUTDOWN dump-default: true cache-size: 8 master-disable: - caves: false \ No newline at end of file + caves: false \ 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 index 139c53339..0db3425de 100644 --- a/src/main/resources/default-config/abstract/biomes/mountain/mountains_pretty.yml +++ b/src/main/resources/default-config/abstract/biomes/mountain/mountains_pretty.yml @@ -82,7 +82,7 @@ flora: simplex: enable: true frequency: 0.1 - seed: 4 + seed: 4 items: SMALL_ROCK: weight: 1 diff --git a/src/main/resources/default-config/biomes/forest/birch_forest.yml b/src/main/resources/default-config/biomes/forest/birch_forest.yml index 1f501d04e..c6d34cba4 100644 --- a/src/main/resources/default-config/biomes/forest/birch_forest.yml +++ b/src/main/resources/default-config/biomes/forest/birch_forest.yml @@ -3,16 +3,16 @@ extends: "BASIC_ORES" id: "BIRCH_FOREST" palette: - - "BLOCK:minecraft:bedrock": 0 - - BEDROCK_MOST: 1 - - BEDROCK_HALF: 2 - - BEDROCK_LITTLE: 3 - - SANDY: 62 - - GRASSY: 255 + - "BLOCK:minecraft:bedrock": 0 + - BEDROCK_MOST: 1 + - BEDROCK_HALF: 2 + - BEDROCK_LITTLE: 3 + - SANDY: 62 + - GRASSY: 255 vanilla: BIRCH_FOREST flora: - chance: 40 + chance: 40 attempts: 1 items: TALL_GRASS: diff --git a/src/main/resources/default-config/biomes/forest/dark_forest.yml b/src/main/resources/default-config/biomes/forest/dark_forest.yml index c93aae7c1..eaf40f8a3 100644 --- a/src/main/resources/default-config/biomes/forest/dark_forest.yml +++ b/src/main/resources/default-config/biomes/forest/dark_forest.yml @@ -3,28 +3,28 @@ extends: "BASIC_ORES" id: "DARK_FOREST" structures: - - MANSION - - STRONGHOLD + - MANSION + - STRONGHOLD palette: - - "BLOCK:minecraft:bedrock": 0 - - BEDROCK_MOST: 1 - - BEDROCK_HALF: 2 - - BEDROCK_LITTLE: 3 - - SANDY: 62 - - GRASSY: 255 + - "BLOCK:minecraft: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: + chance: 40 + attempts: 1 + items: + TALL_GRASS: + weight: 15 + y: + min: 62 + max: 255 + GRASS: weight: 70 y: min: 62 diff --git a/src/main/resources/default-config/biomes/forest/jungle.yml b/src/main/resources/default-config/biomes/forest/jungle.yml index bb916ee74..ec17219ff 100644 --- a/src/main/resources/default-config/biomes/forest/jungle.yml +++ b/src/main/resources/default-config/biomes/forest/jungle.yml @@ -3,13 +3,13 @@ extends: "BASIC_ORES" id: "JUNGLE" palette: - - "BLOCK:minecraft:bedrock": 0 - - BEDROCK_MOST: 1 - - BEDROCK_HALF: 2 - - BEDROCK_LITTLE: 3 - - RIVER_BOTTOM: 61 - - RIVER_SHORE: 62 - - GRASSY: 255 + - "BLOCK:minecraft:bedrock": 0 + - BEDROCK_MOST: 1 + - BEDROCK_HALF: 2 + - BEDROCK_LITTLE: 3 + - RIVER_BOTTOM: 61 + - RIVER_SHORE: 62 + - GRASSY: 255 vanilla: JUNGLE erodible: true @@ -17,7 +17,7 @@ structures: - JUNGLE - STRONGHOLD flora: - chance: 80 + chance: 80 attempts: 2 items: TALL_GRASS: diff --git a/src/main/resources/default-config/biomes/forest/oak_forest.yml b/src/main/resources/default-config/biomes/forest/oak_forest.yml index d74bc411d..6362a7d6a 100644 --- a/src/main/resources/default-config/biomes/forest/oak_forest.yml +++ b/src/main/resources/default-config/biomes/forest/oak_forest.yml @@ -3,17 +3,17 @@ extends: "BASIC_ORES" id: "FOREST" palette: - - "BLOCK:minecraft:bedrock": 0 - - BEDROCK_MOST: 1 - - BEDROCK_HALF: 2 - - BEDROCK_LITTLE: 3 - - RIVER_BOTTOM: 61 - - RIVER_SHORE: 62 - - GRASSY: 255 + - "BLOCK:minecraft:bedrock": 0 + - BEDROCK_MOST: 1 + - BEDROCK_HALF: 2 + - BEDROCK_LITTLE: 3 + - RIVER_BOTTOM: 61 + - RIVER_SHORE: 62 + - GRASSY: 255 vanilla: FOREST flora: - chance: 40 + chance: 40 attempts: 1 items: TALL_GRASS: diff --git a/src/main/resources/default-config/biomes/forest/savanna.yml b/src/main/resources/default-config/biomes/forest/savanna.yml index 0e0d0a8d2..86406c443 100644 --- a/src/main/resources/default-config/biomes/forest/savanna.yml +++ b/src/main/resources/default-config/biomes/forest/savanna.yml @@ -3,17 +3,17 @@ extends: "BASIC_ORES" id: "SAVANNA" palette: - - "BLOCK:minecraft:bedrock": 0 - - BEDROCK_MOST: 1 - - BEDROCK_HALF: 2 - - BEDROCK_LITTLE: 3 - - RIVER_BOTTOM: 61 - - RIVER_SHORE: 62 - - GRASSY: 255 + - "BLOCK:minecraft:bedrock": 0 + - BEDROCK_MOST: 1 + - BEDROCK_HALF: 2 + - BEDROCK_LITTLE: 3 + - RIVER_BOTTOM: 61 + - RIVER_SHORE: 62 + - GRASSY: 255 vanilla: SAVANNA flora: - chance: 40 + chance: 40 attempts: 1 items: TALL_GRASS: 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 index 9717f061b..647ceeffa 100644 --- 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 @@ -5,22 +5,22 @@ extends: "BASIC_ORES" palette: - - "BLOCK:minecraft:bedrock": 0 - - BEDROCK_MOST: 1 - - BEDROCK_HALF: 2 - - BEDROCK_LITTLE: 3 - - ARID: 255 + - "BLOCK:minecraft: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: + chance: 40 + attempts: 1 + items: + TALL_GRASS: + weight: 15 + y: min: 62 max: 128 GRASS: @@ -38,10 +38,10 @@ trees: 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 + 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 index 4a6168d44..78e95c034 100644 --- 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 @@ -5,22 +5,22 @@ extends: "BASIC_ORES" palette: - - "BLOCK:minecraft:bedrock": 0 - - BEDROCK_MOST: 1 - - BEDROCK_HALF: 2 - - BEDROCK_LITTLE: 3 - - ARID: 255 + - "BLOCK:minecraft: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: + chance: 40 + attempts: 1 + items: + TALL_GRASS: + weight: 15 + y: min: 62 max: 128 GRASS: @@ -38,10 +38,10 @@ trees: 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 + 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_stone.yml b/src/main/resources/default-config/biomes/mountain/mountains_stone.yml index 4b62adb3a..990d33129 100644 --- a/src/main/resources/default-config/biomes/mountain/mountains_stone.yml +++ b/src/main/resources/default-config/biomes/mountain/mountains_stone.yml @@ -3,24 +3,24 @@ id: "MOUNTAINS_STONE" noise-equation: "((-((y / 76)^2)) + 1) + ((noise2(x, z)+0.5) / 3) + max(noise2(x/2, z/2)*4 + noise2(x*8, z*8)*0.25, 0)" prevent-smooth: true palette: - - "BLOCK:minecraft:bedrock": 0 - - BEDROCK_MOST: 1 - - BEDROCK_HALF: 2 - - BEDROCK_LITTLE: 3 - - MOUNTAIN_STONE: 255 - - MOUNTAIN_STONE_GRASS: 108 - - MOUNTAIN_GRASS: 84 + - "BLOCK:minecraft: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 + - min: 0 + max: 120 + chance: 50 + - min: 120 + max: 140 + chance: 75 + - min: 140 + max: 255 + chance: 100 trees: density: 200 items: 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 index 508f2dd7b..f50551b3e 100644 --- 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 @@ -3,24 +3,24 @@ id: "MOUNTAINS_STONE_0" noise-equation: "((-((y / 64)^2)) + 1) + ((noise2(x, z)+0.5) / 3) + max(noise2(x/2, z/2), 0)" prevent-smooth: true palette: - - "BLOCK:minecraft:bedrock": 0 - - BEDROCK_MOST: 1 - - BEDROCK_HALF: 2 - - BEDROCK_LITTLE: 3 - - MOUNTAIN_STONE: 255 - - MOUNTAIN_STONE_GRASS: 108 - - MOUNTAIN_GRASS: 84 + - "BLOCK:minecraft: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 + - min: 0 + max: 120 + chance: 50 + - min: 120 + max: 140 + chance: 75 + - min: 140 + max: 255 + chance: 100 trees: density: 200 items: diff --git a/src/main/resources/default-config/biomes/ocean_deep/ocean_warm.yml b/src/main/resources/default-config/biomes/ocean_deep/ocean_warm.yml index 851322bcb..73fc57b81 100644 --- a/src/main/resources/default-config/biomes/ocean_deep/ocean_warm.yml +++ b/src/main/resources/default-config/biomes/ocean_deep/ocean_warm.yml @@ -14,7 +14,7 @@ flora: simplex: enable: true frequency: 0.05 - seed: 4 + seed: 4 items: TALL_SEAGRASS: weight: 1 diff --git a/src/main/resources/default-config/biomes/ocean_shelf/ocean_warm.yml b/src/main/resources/default-config/biomes/ocean_shelf/ocean_warm.yml index 279bfd0e5..39566c99a 100644 --- a/src/main/resources/default-config/biomes/ocean_shelf/ocean_warm.yml +++ b/src/main/resources/default-config/biomes/ocean_shelf/ocean_warm.yml @@ -14,7 +14,7 @@ flora: simplex: enable: true frequency: 0.05 - seed: 4 + seed: 4 items: TALL_SEAGRASS: weight: 1 diff --git a/src/main/resources/default-config/carving/cave_tundra.yml b/src/main/resources/default-config/carving/cave_tundra.yml index 62cd090c4..865985df8 100644 --- a/src/main/resources/default-config/carving/cave_tundra.yml +++ b/src/main/resources/default-config/carving/cave_tundra.yml @@ -20,10 +20,10 @@ cut: top: 0 bottom: 0 mutate: - x: 2 - y: 6 - z: 2 - radius: 0.125 + x: 2 + y: 6 + z: 2 + radius: 0.125 palette: inner: replace-blacklist: true diff --git a/src/main/resources/default-config/carving/cavern.yml b/src/main/resources/default-config/carving/cavern.yml index 86c37cb0d..1d35760fb 100644 --- a/src/main/resources/default-config/carving/cavern.yml +++ b/src/main/resources/default-config/carving/cavern.yml @@ -20,10 +20,10 @@ cut: top: 0 bottom: 1 mutate: - x: 2 - y: 6 - z: 2 - radius: 0.125 + x: 2 + y: 6 + z: 2 + radius: 0.125 palette: inner: replace-blacklist: true diff --git a/src/main/resources/default-config/carving/ravine.yml b/src/main/resources/default-config/carving/ravine.yml index caedc59da..56c73bec7 100644 --- a/src/main/resources/default-config/carving/ravine.yml +++ b/src/main/resources/default-config/carving/ravine.yml @@ -20,10 +20,10 @@ cut: top: 1 bottom: 2 mutate: - x: 1 - y: 4 - z: 1 - radius: 0.125 + x: 1 + y: 4 + z: 1 + radius: 0.125 palette: inner: replace-blacklist: true diff --git a/src/main/resources/default-config/pack.yml b/src/main/resources/default-config/pack.yml index 11f709da2..a47cae3ef 100644 --- a/src/main/resources/default-config/pack.yml +++ b/src/main/resources/default-config/pack.yml @@ -46,11 +46,11 @@ blend: frequency: 0.125 amplitude: 10 erode: - enable: true - frequency: 0.001 - threshold: 0.0015 - octaves: 5 - grid: "BIOME:RIVER" + enable: true + frequency: 0.001 + threshold: 0.0015 + octaves: 5 + grid: "BIOME:RIVER" noise: octaves: 5 frequency: 0.0075 diff --git a/src/main/resources/default-config/structures/single/mansion.yml b/src/main/resources/default-config/structures/single/mansion.yml index a67f828b4..f7e5a9abe 100644 --- a/src/main/resources/default-config/structures/single/mansion.yml +++ b/src/main/resources/default-config/structures/single/mansion.yml @@ -13,29 +13,29 @@ spawn: loot: 1: arrows features: - - ENTITY_FEATURE: - entity: VINDICATOR - attempts: 100 - in-height: 1 - amount: - min: 60 - max: 80 - spawnable-on: - - "minecraft:birch_planks" - spawnable-in: - - "minecraft:air" - - "minecraft:red_carpet" - - "minecraft:white_carpet" - - ENTITY_FEATURE: - entity: EVOKER - attempts: 50 - in-height: 2 - amount: - min: 1 - max: 3 - spawnable-on: - - "minecraft:birch_planks" - spawnable-in: - - "minecraft:air" - - "minecraft:red_carpet" - - "minecraft:white_carpet" \ No newline at end of file + - ENTITY_FEATURE: + entity: VINDICATOR + attempts: 100 + in-height: 1 + amount: + min: 60 + max: 80 + spawnable-on: + - "minecraft:birch_planks" + spawnable-in: + - "minecraft:air" + - "minecraft:red_carpet" + - "minecraft:white_carpet" + - ENTITY_FEATURE: + entity: EVOKER + attempts: 50 + in-height: 2 + amount: + min: 1 + max: 3 + spawnable-on: + - "minecraft:birch_planks" + spawnable-in: + - "minecraft:air" + - "minecraft:red_carpet" + - "minecraft:white_carpet" \ No newline at end of file diff --git a/src/main/resources/default-config/structures/single/stronghold.yml b/src/main/resources/default-config/structures/single/stronghold.yml index af81bdbd2..b3150491e 100644 --- a/src/main/resources/default-config/structures/single/stronghold.yml +++ b/src/main/resources/default-config/structures/single/stronghold.yml @@ -15,29 +15,29 @@ loot: 2: cobble_house 3: cobble_house features: - - ENTITY_FEATURE: - entity: SILVERFISH - attempts: 40 - in-height: 1 - amount: - min: 20 - max: 30 - spawnable-on: - - "minecraft:stone" - - "minecraft:stone_bricks" - - "minecraft:mossy_stone_bricks" - spawnable-in: - - "minecraft:air" - - ENTITY_FEATURE: - entity: ZOMBIE - attempts: 20 - in-height: 2 - amount: - min: 10 - max: 15 - spawnable-on: - - "minecraft:stone" - - "minecraft:stone_bricks" - - "minecraft:mossy_stone_bricks" - spawnable-in: - - "minecraft:air" \ No newline at end of file + - ENTITY_FEATURE: + entity: SILVERFISH + attempts: 40 + in-height: 1 + amount: + min: 20 + max: 30 + spawnable-on: + - "minecraft:stone" + - "minecraft:stone_bricks" + - "minecraft:mossy_stone_bricks" + spawnable-in: + - "minecraft:air" + - ENTITY_FEATURE: + entity: ZOMBIE + attempts: 20 + in-height: 2 + amount: + min: 10 + max: 15 + spawnable-on: + - "minecraft:stone" + - "minecraft:stone_bricks" + - "minecraft:mossy_stone_bricks" + spawnable-in: + - "minecraft:air" \ No newline at end of file diff --git a/src/main/resources/lang/afr_sa.yml b/src/main/resources/lang/afr_sa.yml index e173680e5..06b007ca5 100644 --- a/src/main/resources/lang/afr_sa.yml +++ b/src/main/resources/lang/afr_sa.yml @@ -5,45 +5,45 @@ enable: disable: - "Dankie dat u Terra gebruik!" command: - debug-only: "Hierdie opdrag moet gebruik word as die ontfoutmodus geaktiveer is!" - player-only: "Hierdie opdrag is slegs vir spelers!" - invalid: "Ongeldige opdrag.(verwag %1$s argumente, argumente gevind is %2$s)." - players-only: "Hierdie opdrag is slegs vir spelers." - world: "This command must be executed in a Terra world!" - reload: "Terra instel herlaai" - version: "Hierdie bediener gebruik die Terra-weergawe \"%s\"" - main-menu: - - "--------------------Terra--------------------" - - "Herlaai - Herlaai konfigurasiedata" - - "bioom - Kry huidige bioom" - - "erts - Genereer 'n ertsader op die plek waar u te staan kom (vir foutopsporing)" - - "stoor-data - Stoor bevolkingsdata" - - "struktuur - Laai en stoor strukture" - - "profiel - Profielopsies" - - "beeld - Beeld / GUI-opsies" - biome: - biome-found: "Bioom geleë te (%1$s, %2$s)" - unable-to-locate: "Kan bioom nie opspoor nie." - invalid-radius: "Ongeldige radius: \"%s\"" - invalid: "Ongeldige Biome-ID: \"%s\"" - in: "Jy is in \"%s\"" + debug-only: "Hierdie opdrag moet gebruik word as die ontfoutmodus geaktiveer is!" + player-only: "Hierdie opdrag is slegs vir spelers!" + invalid: "Ongeldige opdrag.(verwag %1$s argumente, argumente gevind is %2$s)." + players-only: "Hierdie opdrag is slegs vir spelers." + world: "This command must be executed in a Terra world!" + reload: "Terra instel herlaai" + version: "Hierdie bediener gebruik die Terra-weergawe \"%s\"" + main-menu: + - "--------------------Terra--------------------" + - "Herlaai - Herlaai konfigurasiedata" + - "bioom - Kry huidige bioom" + - "erts - Genereer 'n ertsader op die plek waar u te staan kom (vir foutopsporing)" + - "stoor-data - Stoor bevolkingsdata" + - "struktuur - Laai en stoor strukture" + - "profiel - Profielopsies" + - "beeld - Beeld / GUI-opsies" + biome: + biome-found: "Bioom geleë te (%1$s, %2$s)" + unable-to-locate: "Kan bioom nie opspoor nie." + invalid-radius: "Ongeldige radius: \"%s\"" + invalid: "Ongeldige Biome-ID: \"%s\"" + in: "Jy is in \"%s\"" ore: - main-menu: + main-menu: - "---------------Terra/erts---------------" - "Genereer 'n ertsader by die blok waarna u kyk." out-of-range: "Blok buite bereik" - invalid-ore: "Kan nie Erts vind nie \"%s\"" + invalid-ore: "Kan nie Erts vind nie \"%s\"" geometry: - main-menu: + main-menu: - "---------------Terra/meetkunde----------------" - "Verskeie opsporingsopdragte vir voxel-meetkunde" - "sfeer - Genereer 'n sfeer" - "vervorming - Genereer 'n misvormde sfeer" - "tube - Genereer 'n tube" - deform: - invalid-radius: "Ongeldige radius: \"%s\"" - invalid-deform: "Ongeldige vervorm: \"%s\"" - invalid-frequency: "Ongeldige frekwensie: \"%s\"" + deform: + invalid-radius: "Ongeldige radius: \"%s\"" + invalid-deform: "Ongeldige vervorm: \"%s\"" + invalid-frequency: "Ongeldige frekwensie: \"%s\"" sphere: invalid-radius: "Ongeldige radius: \"%s\"" tube: @@ -73,20 +73,20 @@ command: start: "Profiler het begin." stop: "Profiler het opgehou." structure: - main-menu: - - "---------------Terra/struktuur---------------" - - "uitvoer - voer u huidige WorldEdit-keuse uit as 'n Terra-struktuur." - - "laai - Laai 'n Terra-struktuur" - invalid-radius: "Ongeldig radius: \"%s\"" - invalid-rotation: "Ongeldige rotasie: \"%s\"" - invalid: "Ongeldig Struktuur ID: \"%s\"" - export: "struktuur gestoor na \"%s\"" + main-menu: + - "---------------Terra/struktuur---------------" + - "uitvoer - voer u huidige WorldEdit-keuse uit as 'n Terra-struktuur." + - "laai - Laai 'n Terra-struktuur" + invalid-radius: "Ongeldig radius: \"%s\"" + invalid-rotation: "Ongeldige rotasie: \"%s\"" + invalid: "Ongeldig Struktuur ID: \"%s\"" + export: "struktuur gestoor na \"%s\"" world-config: - loading: "Laai wêreldkonfigurasiewaardes vir wêreld %s..." - not-found: "Konfigurasie vir wêreld \"%s\" nie gevind nie. Kopieer standaardinstelling." - using-image: "Laai wêreld vanaf prent." - error: "Kon nie konfigurasie vir wêreld laai nie %s" - done: "Wêreldlading voltooi. Tyd verloop: %sms" + loading: "Laai wêreldkonfigurasiewaardes vir wêreld %s..." + not-found: "Konfigurasie vir wêreld \"%s\" nie gevind nie. Kopieer standaardinstelling." + using-image: "Laai wêreld vanaf prent." + error: "Kon nie konfigurasie vir wêreld laai nie %s" + done: "Wêreldlading voltooi. Tyd verloop: %sms" config-pack: loaded: "Laai konfigurasie %1$s in %2$sms." config: diff --git a/src/main/resources/lang/de_de.yml b/src/main/resources/lang/de_de.yml index ac00f24b1..b0b345d32 100644 --- a/src/main/resources/lang/de_de.yml +++ b/src/main/resources/lang/de_de.yml @@ -5,88 +5,88 @@ enable: disable: - "Danke, dass du Terra benutzt!!" command: - debug-only: "Dieser Befehl kann nur im Debugmodus benutzt werden!" - player-only: "Dieser Befehl kann nur von Spielern benutzt werden!" - invalid: "Ungültiger Befehl. (Erwartet %1$s Argumente, fand %2$s)." - players-only: "Dieser Befehl kann nur von Spielern benutzt werden." - world: "Dieser Befehl muss in einer von Terra generierten Welt ausgeführt werden!" - reload: "Terra-Konfiguration wurde neu geladen." - version: "Dieser Server verwendet Terra \"%s\"" + debug-only: "Dieser Befehl kann nur im Debugmodus benutzt werden!" + player-only: "Dieser Befehl kann nur von Spielern benutzt werden!" + invalid: "Ungültiger Befehl. (Erwartet %1$s Argumente, fand %2$s)." + players-only: "Dieser Befehl kann nur von Spielern benutzt werden." + world: "Dieser Befehl muss in einer von Terra generierten Welt ausgeführt werden!" + reload: "Terra-Konfiguration wurde neu geladen." + version: "Dieser Server verwendet Terra \"%s\"" + main-menu: + - "--------------------Terra--------------------" + - "reload - Lädt die Konfiguration neu" + - "biome - Zeigt dir das derzeitige Biom" + - "ore - Erzader an derzeitiger Position erzeugen (zum Debuggen)" + - "save-data - Bevölkerungsdaten speichern" + - "structure - Laden/Exportieren von Strukturen" + - "profile - Profiler-Optionen" + - "image - Bild-/GUI-Optionen" + biome: + biome-found: "Biom gefunden bei: (%1$s, %2$s)" + unable-to-locate: "Biom konnte nicht gefunden werden!" + invalid-radius: "Ungültiger Radius: \"%s\"" + invalid: "Ungültige Biom-ID: \"%s\"" + in: "Du bist in: \"%s\"" + ore: main-menu: - - "--------------------Terra--------------------" - - "reload - Lädt die Konfiguration neu" - - "biome - Zeigt dir das derzeitige Biom" - - "ore - Erzader an derzeitiger Position erzeugen (zum Debuggen)" - - "save-data - Bevölkerungsdaten speichern" - - "structure - Laden/Exportieren von Strukturen" - - "profile - Profiler-Optionen" - - "image - Bild-/GUI-Optionen" - biome: - biome-found: "Biom gefunden bei: (%1$s, %2$s)" - unable-to-locate: "Biom konnte nicht gefunden werden!" - invalid-radius: "Ungültiger Radius: \"%s\"" - invalid: "Ungültige Biom-ID: \"%s\"" - in: "Du bist in: \"%s\"" - ore: - main-menu: - - "---------------Terra/Erz---------------" - - "Generiert eine Erzader an dem Block, den du anguckst" - out-of-range: "Block außer Reichweite" - invalid-ore: "Kann Erz \"%s\" nicht finden" - geometry: - main-menu: - - "---------------Terra/Geometrie----------------" - - "Verschiedene Debugging-Befehle für die Voxelgeometrie" - - "sphere - Generiert eine Kugel" - - "deformsphere - Generiert eine deformierte Kugel" - - "tube - Generiert ein Rohr" - deform: - invalid-radius: "Ungültiger Radius: \"%s\"" - invalid-deform: "Ungültiger Deformation: \"%s\"" - invalid-frequency: "Ungültige Frequenz: \"%s\"" - sphere: - invalid-radius: "Ungültiger Radius: \"%s\"" - tube: - invalid-radius: "Ungültiger Radius: \"%s\"" - image: - main-menu: - - "---------------Terra/Bilde---------------" - - "render - Rendert ein Bild mit einer bestimmten Breite und Höhe, das später als Welt importiert werden kann." - - "gui - Debug-GUI öffnen (muss in der Konfiguration aktiviert sein)" - gui: - main-menu: - - "-------------Terra/image/gui-------------" - - "raw - Öffnet eine GUI mit Biome-Rohdaten" - - "step - Daten erneut rendern, um Ränder deutlicher darzustellen" + - "---------------Terra/Erz---------------" + - "Generiert eine Erzader an dem Block, den du anguckst" + out-of-range: "Block außer Reichweite" + invalid-ore: "Kann Erz \"%s\" nicht finden" + geometry: + main-menu: + - "---------------Terra/Geometrie----------------" + - "Verschiedene Debugging-Befehle für die Voxelgeometrie" + - "sphere - Generiert eine Kugel" + - "deformsphere - Generiert eine deformierte Kugel" + - "tube - Generiert ein Rohr" + deform: + invalid-radius: "Ungültiger Radius: \"%s\"" + invalid-deform: "Ungültiger Deformation: \"%s\"" + invalid-frequency: "Ungültige Frequenz: \"%s\"" + sphere: + invalid-radius: "Ungültiger Radius: \"%s\"" + tube: + invalid-radius: "Ungültiger Radius: \"%s\"" + image: + main-menu: + - "---------------Terra/Bilde---------------" + - "render - Rendert ein Bild mit einer bestimmten Breite und Höhe, das später als Welt importiert werden kann." + - "gui - Debug-GUI öffnen (muss in der Konfiguration aktiviert sein)" + gui: + main-menu: + - "-------------Terra/image/gui-------------" + - "raw - Öffnet eine GUI mit Biome-Rohdaten" + - "step - Daten erneut rendern, um Ränder deutlicher darzustellen" debug: "Der Debug-Modus muss aktiviert sein, um die Debug-GUI verwenden zu können! Die Debug-GUI ist NICHT PRODUKTIONSSICHER!" render: save: "Bild gespeichert unter: \"%s\"" error: "Beim speichern ist ein Fehler aufgetreten!" profile: - main-menu: - - "---------------Terra/Profiler---------------" - - "start - Startet den Profiler" - - "stop - Stoppt den Profiler" - - "query - Profiler-Daten anzeigen" - - "reset - Profiler-Daten zurücksetzen" - reset: "Profiler-Daten wurden zurückgesetzt." - start: "Der Profiler wurde gestartet." - stop: "Der Profiler wurde gestoppt." - structure: - main-menu: - - "---------------Terra/Strukturen---------------" - - "export - Exportiert deine aktuelle WorldEdit-Auswahl als Terra-Struktur." - - "load - Ladt eine Terra-Struktur." - invalid-radius: "Ungültiger Radius: \"%s\"" - invalid-rotation: "Ungültige Rotation: \"%s\"" - invalid: "Ungültige Strukturen-ID: \"%s\"" - export: "Struktur unter \"%s\" gespeichert." + main-menu: + - "---------------Terra/Profiler---------------" + - "start - Startet den Profiler" + - "stop - Stoppt den Profiler" + - "query - Profiler-Daten anzeigen" + - "reset - Profiler-Daten zurücksetzen" + reset: "Profiler-Daten wurden zurückgesetzt." + start: "Der Profiler wurde gestartet." + stop: "Der Profiler wurde gestoppt." + structure: + main-menu: + - "---------------Terra/Strukturen---------------" + - "export - Exportiert deine aktuelle WorldEdit-Auswahl als Terra-Struktur." + - "load - Ladt eine Terra-Struktur." + invalid-radius: "Ungültiger Radius: \"%s\"" + invalid-rotation: "Ungültige Rotation: \"%s\"" + invalid: "Ungültige Strukturen-ID: \"%s\"" + export: "Struktur unter \"%s\" gespeichert." world-config: - loading: "Lade Weltkonfigurationswerte für Welt %s..." - not-found: "Weltkonfigurationswerte für Welt \"%s\" nicht gefunden. Lade Standardwerte." - using-image: "Lade Welt von Bild." - error: "Konfiguration für Welt %s kann nicht geladen werden!" - done: "Laden der Welt abgeschlossen. Ladedauer: %sms" + loading: "Lade Weltkonfigurationswerte für Welt %s..." + not-found: "Weltkonfigurationswerte für Welt \"%s\" nicht gefunden. Lade Standardwerte." + using-image: "Lade Welt von Bild." + error: "Konfiguration für Welt %s kann nicht geladen werden!" + done: "Laden der Welt abgeschlossen. Ladedauer: %sms" config-pack: loaded: "Konfiguration %1$s wurde in %2$sms geladen." config: diff --git a/src/main/resources/lang/en_us.yml b/src/main/resources/lang/en_us.yml index a7e11c02b..17e40ec04 100644 --- a/src/main/resources/lang/en_us.yml +++ b/src/main/resources/lang/en_us.yml @@ -5,88 +5,88 @@ enable: disable: - "Thank you for using Terra!" command: - debug-only: "This command must be used with debug mode enabled!" - player-only: "This command is for players only!" - invalid: "Invalid command. (Expected %1$s arguments, found %2$s)." - players-only: "Command is for players only." - world: "This command must be executed in a Terra world!" - reload: "Reloaded Terra config." - version: "This server is running Terra version \"%s\"" + debug-only: "This command must be used with debug mode enabled!" + player-only: "This command is for players only!" + invalid: "Invalid command. (Expected %1$s arguments, found %2$s)." + players-only: "Command is for players only." + world: "This command must be executed in a Terra world!" + reload: "Reloaded Terra config." + version: "This server is running Terra version \"%s\"" + main-menu: + - "--------------------Terra--------------------" + - "reload - Reload configuration data" + - "biome - Get current biome" + - "ore - Generate an ore vein at the location you are facing (For debugging)" + - "save-data - Save population data" + - "structure - Load and export structures" + - "profile - Profiler options" + - "image - Image/GUI options" + biome: + biome-found: "Located biome at (%1$s, %2$s)" + unable-to-locate: "Unable to locate biome." + invalid-radius: "Invalid radius: \"%s\"" + invalid: "Invalid Biome ID: \"%s\"" + in: "You are in \"%s\"" + ore: main-menu: - - "--------------------Terra--------------------" - - "reload - Reload configuration data" - - "biome - Get current biome" - - "ore - Generate an ore vein at the location you are facing (For debugging)" - - "save-data - Save population data" - - "structure - Load and export structures" - - "profile - Profiler options" - - "image - Image/GUI options" - biome: - biome-found: "Located biome at (%1$s, %2$s)" - unable-to-locate: "Unable to locate biome." - invalid-radius: "Invalid radius: \"%s\"" - invalid: "Invalid Biome ID: \"%s\"" - in: "You are in \"%s\"" - ore: - main-menu: - - "---------------Terra/ore---------------" - - "Generates a vein of ore at the block you are looking at." - out-of-range: "Block out of range" - invalid-ore: "Unable to find Ore \"%s\"" - geometry: - main-menu: - - "---------------Terra/geometry----------------" - - "Various voxel geometry debugging commands" - - "sphere - Generate a sphere" - - "deformsphere - Generate a deformed sphere" - - "tube - Generate a tube" - deform: - invalid-radius: "Invalid radius: \"%s\"" - invalid-deform: "Invalid deform: \"%s\"" - invalid-frequency: "Invalid frequency: \"%s\"" - sphere: - invalid-radius: "Invalid radius: \"%s\"" - tube: - invalid-radius: "Invalid radius: \"%s\"" - image: - main-menu: - - "---------------Terra/image---------------" - - "render - Render an image with a given width and height, that can later be imported as a world." - - "gui - Open debug GUI (Must be enabled in config)" - gui: - main-menu: - - "-------------Terra/image/gui-------------" - - "raw - Open GUI with raw Biome data" - - "step - Re-render data to show borders more clearly" + - "---------------Terra/ore---------------" + - "Generates a vein of ore at the block you are looking at." + out-of-range: "Block out of range" + invalid-ore: "Unable to find Ore \"%s\"" + geometry: + main-menu: + - "---------------Terra/geometry----------------" + - "Various voxel geometry debugging commands" + - "sphere - Generate a sphere" + - "deformsphere - Generate a deformed sphere" + - "tube - Generate a tube" + deform: + invalid-radius: "Invalid radius: \"%s\"" + invalid-deform: "Invalid deform: \"%s\"" + invalid-frequency: "Invalid frequency: \"%s\"" + sphere: + invalid-radius: "Invalid radius: \"%s\"" + tube: + invalid-radius: "Invalid radius: \"%s\"" + image: + main-menu: + - "---------------Terra/image---------------" + - "render - Render an image with a given width and height, that can later be imported as a world." + - "gui - Open debug GUI (Must be enabled in config)" + gui: + main-menu: + - "-------------Terra/image/gui-------------" + - "raw - Open GUI with raw Biome data" + - "step - Re-render data to show borders more clearly" debug: "Debug mode must be enabled to use the debug GUI! The debug GUI is NOT PRODUCTION SAFE!" render: save: "Saved image as \"%s\"" error: "An error occurred while generating the image!" profile: - main-menu: - - "---------------Terra/profile---------------" - - "start - Starts the profiler" - - "stop - Stops the profiler" - - "query - Fetches profiler data" - - "reset - Resets profiler data" - reset: "Profiler has been reset." - start: "Profiler has started." - stop: "Profiler has stopped." - structure: - main-menu: - - "---------------Terra/structure---------------" - - "export - Export your current WorldEdit selection as a Terra structure." - - "load - Load a Terra structure" - invalid-radius: "Invalid radius: \"%s\"" - invalid-rotation: "Invalid rotation: \"%s\"" - invalid: "Invalid Structure ID: \"%s\"" - export: "Saved structure to \"%s\"" + main-menu: + - "---------------Terra/profile---------------" + - "start - Starts the profiler" + - "stop - Stops the profiler" + - "query - Fetches profiler data" + - "reset - Resets profiler data" + reset: "Profiler has been reset." + start: "Profiler has started." + stop: "Profiler has stopped." + structure: + main-menu: + - "---------------Terra/structure---------------" + - "export - Export your current WorldEdit selection as a Terra structure." + - "load - Load a Terra structure" + invalid-radius: "Invalid radius: \"%s\"" + invalid-rotation: "Invalid rotation: \"%s\"" + invalid: "Invalid Structure ID: \"%s\"" + export: "Saved structure to \"%s\"" world-config: - loading: "Loading world configuration values for world %s..." - not-found: "Configuration for world \"%s\" not found. Copying default config." - using-image: "Loading world from image." - error: "Unable to load configuration for world %s" - done: "World load complete. Time elapsed: %sms" + loading: "Loading world configuration values for world %s..." + not-found: "Configuration for world \"%s\" not found. Copying default config." + using-image: "Loading world from image." + error: "Unable to load configuration for world %s" + done: "World load complete. Time elapsed: %sms" config-pack: loaded: "Loaded config %1$s in %2$sms." config: diff --git a/src/main/resources/lang/es.yml b/src/main/resources/lang/es.yml index be7e74ecb..4ca8138b2 100644 --- a/src/main/resources/lang/es.yml +++ b/src/main/resources/lang/es.yml @@ -5,86 +5,86 @@ enable: disable: - "Gracias por usar Terra!" command: - player-only: "Este comando solo puede ser usado por jugadores!" - terra-world: "Este comando solo puede ser usado en un mundo Terra!" - invalid: "Comando invalido. (Expected %1$s arguments, found %2$s)." - players-only: "Este comando solo puede ser usado por jugadores" - world: "Este comando puede ejecutarse solo en un mundo terra!" - reload: "La configuración Terra ha sido recargada." + player-only: "Este comando solo puede ser usado por jugadores!" + terra-world: "Este comando solo puede ser usado en un mundo Terra!" + invalid: "Comando invalido. (Expected %1$s arguments, found %2$s)." + players-only: "Este comando solo puede ser usado por jugadores" + world: "Este comando puede ejecutarse solo en un mundo terra!" + reload: "La configuración Terra ha sido recargada." + main-menu: + - "--------------------Terra--------------------" + - "reload - Recarga los datos de configuración del plugin." + - "biome - Obtienes información del bioma actual" + - "ore - Genera una mena de ore en el lugar que estes mirando.(For debugging)" + - "save-data - Guarda los datos actuales." + - "structure - Cargar o exportar estructuras." + - "profile - Opciones de perfil." + - "image - Opciones de imagen/GUI." + biome: + biome-found: "Bioma localizado en (%1$s, %2$s)" + unable-to-locate: "No se pudo localizar el bioma." + invalid-radius: "Radio invalido: \"%s\"" + invalid: "ID del bioma invalido: \"%s\"" + in: "Te encuentras en \"%s\"" + ore: main-menu: - - "--------------------Terra--------------------" - - "reload - Recarga los datos de configuración del plugin." - - "biome - Obtienes información del bioma actual" - - "ore - Genera una mena de ore en el lugar que estes mirando.(For debugging)" - - "save-data - Guarda los datos actuales." - - "structure - Cargar o exportar estructuras." - - "profile - Opciones de perfil." - - "image - Opciones de imagen/GUI." - biome: - biome-found: "Bioma localizado en (%1$s, %2$s)" - unable-to-locate: "No se pudo localizar el bioma." - invalid-radius: "Radio invalido: \"%s\"" - invalid: "ID del bioma invalido: \"%s\"" - in: "Te encuentras en \"%s\"" - ore: - main-menu: - - "---------------Terra/ore---------------" - - "Generas una mena de ore en el bloque que te encuentres mirando." - out-of-range: "Bloque fuera de rango." - invalid-ore: "No se pudo encontrar el Ore \"%s\"" - geometry: - main-menu: - - "---------------Terra/geometry----------------" - - "Various voxel geometry debugging commands" - - "sphere - Generas un sphere" - - "deformsphere - Generas un sphere deformado" - - "tube - Generas un tube" - deform: - invalid-radius: "Radio invalido: \"%s\"" - invalid-deform: "Deform invalido: \"%s\"" - invalid-frequency: "Frequencia invalida: \"%s\"" - sphere: - invalid-radius: "Radio invalido: \"%s\"" - tube: - invalid-radius: "Radio invalido: \"%s\"" - image: - main-menu: - - "---------------Terra/image---------------" - - "render - Renderiza una imagen con alto y ancho, y este después podrá ser importado como un mundo." - - "gui - Abre el debug GUI.(Puede ser habilitado en la configuración)" - gui: - main-menu: - - "-------------Terra/image/gui-------------" - - "raw - Abre el GUI con la configuración del bioma sin procesar." - - "step - Vuelve a renderizar la configuración para mostrar los límites más claro." + - "---------------Terra/ore---------------" + - "Generas una mena de ore en el bloque que te encuentres mirando." + out-of-range: "Bloque fuera de rango." + invalid-ore: "No se pudo encontrar el Ore \"%s\"" + geometry: + main-menu: + - "---------------Terra/geometry----------------" + - "Various voxel geometry debugging commands" + - "sphere - Generas un sphere" + - "deformsphere - Generas un sphere deformado" + - "tube - Generas un tube" + deform: + invalid-radius: "Radio invalido: \"%s\"" + invalid-deform: "Deform invalido: \"%s\"" + invalid-frequency: "Frequencia invalida: \"%s\"" + sphere: + invalid-radius: "Radio invalido: \"%s\"" + tube: + invalid-radius: "Radio invalido: \"%s\"" + image: + main-menu: + - "---------------Terra/image---------------" + - "render - Renderiza una imagen con alto y ancho, y este después podrá ser importado como un mundo." + - "gui - Abre el debug GUI.(Puede ser habilitado en la configuración)" + gui: + main-menu: + - "-------------Terra/image/gui-------------" + - "raw - Abre el GUI con la configuración del bioma sin procesar." + - "step - Vuelve a renderizar la configuración para mostrar los límites más claro." debug: "El modo debug puede habilitarse para usar el debug GUI! LA CREACIÓN DEL DEBUG GUI NO PODRÍA SER SEGURA!" render: save: "Guarda una imagen como \"%s\"" error: "Un error ha ocurrido mientras se generaba la imagen!" profile: - main-menu: - - "---------------Terra/profile---------------" - - "start - Se incia la generación del Profiler." - - "stop - Se detiene la generación del Profiler." - - "query - Fetches profiler data" - - "reset - Reinicia la configuración del Profiler." - reset: "El Profiler ha sido reiniciado." - start: "El Profiler se ha iniciado." - stop: "El Profiler se ha detenido." - structure: - main-menu: - - "---------------Terra/structure---------------" - - "export - Exporta tus estructuras de Worldedit como estructuras Terra." - - "load - Carga una estructura Terra." - invalid-radius: "Radio invalido: \"%s\"" - invalid: "ID de la estructura es invalida: \"%s\"" - export: "Estructura guardada como \"%s\"" + main-menu: + - "---------------Terra/profile---------------" + - "start - Se incia la generación del Profiler." + - "stop - Se detiene la generación del Profiler." + - "query - Fetches profiler data" + - "reset - Reinicia la configuración del Profiler." + reset: "El Profiler ha sido reiniciado." + start: "El Profiler se ha iniciado." + stop: "El Profiler se ha detenido." + structure: + main-menu: + - "---------------Terra/structure---------------" + - "export - Exporta tus estructuras de Worldedit como estructuras Terra." + - "load - Carga una estructura Terra." + invalid-radius: "Radio invalido: \"%s\"" + invalid: "ID de la estructura es invalida: \"%s\"" + export: "Estructura guardada como \"%s\"" world-config: - loading: "Carga los parametros de configuración para el mundo %s..." - not-found: "La configuración para el mundo \"%s\" no se puede encontrar. Copiando la configuración por defecto." - using-image: "Carga el mundo a partir de una imagen." - error: "No se pudo cargar la configuración para el mundo %s" - done: "el mundo se ha cargado completamente. Tiempo transcurrido: %sms" + loading: "Carga los parametros de configuración para el mundo %s..." + not-found: "La configuración para el mundo \"%s\" no se puede encontrar. Copiando la configuración por defecto." + using-image: "Carga el mundo a partir de una imagen." + error: "No se pudo cargar la configuración para el mundo %s" + done: "el mundo se ha cargado completamente. Tiempo transcurrido: %sms" config-pack: loaded: "Configuración %1$s fue cargada en %2$sms." config: diff --git a/src/main/resources/lang/ja_jp.yml b/src/main/resources/lang/ja_jp.yml index e9ab552e2..04a399c8c 100644 --- a/src/main/resources/lang/ja_jp.yml +++ b/src/main/resources/lang/ja_jp.yml @@ -5,86 +5,86 @@ enable: disable: - "Terraをご利用いただきありがとうございます!" command: - player-only: "このコマンドはプレイヤー専用です!" - terra-world: "このコマンドはTerraのワールドで実行する必要があります!" - invalid: "無効なコマンド(期待される %1$s 引数、%2$s が見つかりました。)" - players-only: "コマンドはプレイヤー専用です。" - world: "このコマンドはTerraのワールドで実行する必要があります!" - reload: "Terraの設定を再読み込みしました。" + player-only: "このコマンドはプレイヤー専用です!" + terra-world: "このコマンドはTerraのワールドで実行する必要があります!" + invalid: "無効なコマンド(期待される %1$s 引数、%2$s が見つかりました。)" + players-only: "コマンドはプレイヤー専用です。" + world: "このコマンドはTerraのワールドで実行する必要があります!" + reload: "Terraの設定を再読み込みしました。" + main-menu: + - "--------------------Terra--------------------" + - "reload - 設定データを再読み込み" + - "biome - 現在のバイオームを取得" + - "ore - 向いている場所に鉱石を生成する(デバッグ用)" + - "save-data - データを保存" + - "structure - ストラクチャーのロード及びエクスポート" + - "profile - プロファイラ オプション" + - "image - 画像/GUI オプション" + biome: + biome-found: "バイオームの座標 (%1$s, %2$s)" + unable-to-locate: "バイオームが見つけられません。" + invalid-radius: "無効な半径: \"%s\"" + invalid: "無効なバイオームID: \"%s\"" + in: "あなたは \"%s\" にいます。" + ore: main-menu: - - "--------------------Terra--------------------" - - "reload - 設定データを再読み込み" - - "biome - 現在のバイオームを取得" - - "ore - 向いている場所に鉱石を生成する(デバッグ用)" - - "save-data - データを保存" - - "structure - ストラクチャーのロード及びエクスポート" - - "profile - プロファイラ オプション" - - "image - 画像/GUI オプション" - biome: - biome-found: "バイオームの座標 (%1$s, %2$s)" - unable-to-locate: "バイオームが見つけられません。" - invalid-radius: "無効な半径: \"%s\"" - invalid: "無効なバイオームID: \"%s\"" - in: "あなたは \"%s\" にいます。" - ore: - main-menu: - - "---------------Terra/ore---------------" - - "見ているブロックに鉱石を生成します。" - out-of-range: "範囲外のブロック" - invalid-ore: "鉱石 \"%s\" が見つかりません。" - geometry: - main-menu: - - "---------------Terra/geometry----------------" - - "様々なボクセルジオメトリのデバッグコマンド" - - "sphere - 球体を生成" - - "deformsphere - 変形した球体を生成" - - "tube - チューブを生成" - deform: - invalid-radius: "無効な半径: \"%s\"" - invalid-deform: "無効な変形: \"%s\"" - invalid-frequency: "無効な周波数: \"%s\"" - sphere: - invalid-radius: "無効な半径: \"%s\"" - tube: - invalid-radius: "無効な半径: \"%s\"" - image: - main-menu: - - "---------------Terra/image---------------" - - "render - 指定された幅と高さの画像をレンダリングします。" - - "gui - デバッグGUIを開く(設定で有効にする必要があります)" - gui: - main-menu: - - "-------------Terra/image/gui-------------" - - "raw - 生のBiomeデータを利用したGUIを開く" - - "step - 境界線をより明確に表示するためにデータを再レンダリング" + - "---------------Terra/ore---------------" + - "見ているブロックに鉱石を生成します。" + out-of-range: "範囲外のブロック" + invalid-ore: "鉱石 \"%s\" が見つかりません。" + geometry: + main-menu: + - "---------------Terra/geometry----------------" + - "様々なボクセルジオメトリのデバッグコマンド" + - "sphere - 球体を生成" + - "deformsphere - 変形した球体を生成" + - "tube - チューブを生成" + deform: + invalid-radius: "無効な半径: \"%s\"" + invalid-deform: "無効な変形: \"%s\"" + invalid-frequency: "無効な周波数: \"%s\"" + sphere: + invalid-radius: "無効な半径: \"%s\"" + tube: + invalid-radius: "無効な半径: \"%s\"" + image: + main-menu: + - "---------------Terra/image---------------" + - "render - 指定された幅と高さの画像をレンダリングします。" + - "gui - デバッグGUIを開く(設定で有効にする必要があります)" + gui: + main-menu: + - "-------------Terra/image/gui-------------" + - "raw - 生のBiomeデータを利用したGUIを開く" + - "step - 境界線をより明確に表示するためにデータを再レンダリング" debug: "デバッグGUIを使用するには、デバッグモードを有効にする必要があります。デバッグGUIは安全ではありません!" render: save: "\"%s\" として画像を保存" error: "画像生成中にエラーが発生しました!" profile: - main-menu: - - "---------------Terra/profile---------------" - - "start - プロファイラを起動" - - "stop - プロファイラを停止" - - "query - プロファイラデータを取得" - - "reset - プロファイラのデータをリセット" - reset: "プロファイラがリセットされました。" - start: "プロファイラが起動しました。" - stop: "プロファイラが停止しました。" - structure: - main-menu: - - "---------------Terra/structure---------------" - - "export - 現在のWorldEditの選択範囲をTerraストラクチャーとしてエクスポート" - - "load - Terraストラクチャーを読み込む" - invalid-radius: "無効な半径: \"%s\"" - invalid: "無効なストラクチャーID: \"%s\"" - export: "\"%s\" にストラクチャーを保存" + main-menu: + - "---------------Terra/profile---------------" + - "start - プロファイラを起動" + - "stop - プロファイラを停止" + - "query - プロファイラデータを取得" + - "reset - プロファイラのデータをリセット" + reset: "プロファイラがリセットされました。" + start: "プロファイラが起動しました。" + stop: "プロファイラが停止しました。" + structure: + main-menu: + - "---------------Terra/structure---------------" + - "export - 現在のWorldEditの選択範囲をTerraストラクチャーとしてエクスポート" + - "load - Terraストラクチャーを読み込む" + invalid-radius: "無効な半径: \"%s\"" + invalid: "無効なストラクチャーID: \"%s\"" + export: "\"%s\" にストラクチャーを保存" world-config: - loading: "ワールド %s のワールド設定を読込中..." - not-found: "ワールド \"%s\" の設定が見つかりませんでした。デフォルトの設定をコピーします。" - using-image: "画像からワールドを読み込みます。" - error: "ワールド %s の設定を読み込めませんでした" - done: "ワールドの読み込みが完了しました。経過時間: %sms" + loading: "ワールド %s のワールド設定を読込中..." + not-found: "ワールド \"%s\" の設定が見つかりませんでした。デフォルトの設定をコピーします。" + using-image: "画像からワールドを読み込みます。" + error: "ワールド %s の設定を読み込めませんでした" + done: "ワールドの読み込みが完了しました。経過時間: %sms" config-pack: loaded: "%2$sms で設定 %1$s が読み込まれました。" config: diff --git a/src/main/resources/lang/pl.yml b/src/main/resources/lang/pl.yml index 9033470d6..7c72d280c 100644 --- a/src/main/resources/lang/pl.yml +++ b/src/main/resources/lang/pl.yml @@ -5,88 +5,88 @@ enable: disable: - "Dziekuje za korzystanie z Terra!" command: - debug-only: "Ta komenda musi byc uzyta z trybem debugowym wlaczonym!" - player-only: "Ta komenda jest tylko dla graczy!" - invalid: "Niepoprawna komenda. (Oczekiwane %1$s argumenty, znalezione %2$s)." - players-only: "Komenda jest tylko dla graczy." - world: "Ta komenda musi byc wpisana w swiecie Terra!" - reload: "Przeladowano plik konfiguracyjny Terra." - version: "Ten serwer korzysta z wersji Terra \"%s\"" + debug-only: "Ta komenda musi byc uzyta z trybem debugowym wlaczonym!" + player-only: "Ta komenda jest tylko dla graczy!" + invalid: "Niepoprawna komenda. (Oczekiwane %1$s argumenty, znalezione %2$s)." + players-only: "Komenda jest tylko dla graczy." + world: "Ta komenda musi byc wpisana w swiecie Terra!" + reload: "Przeladowano plik konfiguracyjny Terra." + version: "Ten serwer korzysta z wersji Terra \"%s\"" + main-menu: + - "--------------------Terra--------------------" + - "reload - Przeladuj dane konfiguracyjne" + - "biome - Otrzymaj informacje o obecnym biomie" + - "ore - Wygeneruj zloze rud w strone w ktora patrzysz (Do debugowania)" + - "save-data - Zapisz dane" + - "structure - Zaladuj i wyeksportuj dane struktur" + - "profile - Opcje profilera" + - "image - Opcje obrazu/GUI" + biome: + biome-found: "Zlokalizowano biom na (%1$s, %2$s)" + unable-to-locate: "Nie moglismy zlokalizowac biomu." + invalid-radius: "Niepoprawny zakres: \"%s\"" + invalid: "Niepoprawne Biome ID: \"%s\"" + in: "Jestes na \"%s\"" + ore: main-menu: - - "--------------------Terra--------------------" - - "reload - Przeladuj dane konfiguracyjne" - - "biome - Otrzymaj informacje o obecnym biomie" - - "ore - Wygeneruj zloze rud w strone w ktora patrzysz (Do debugowania)" - - "save-data - Zapisz dane" - - "structure - Zaladuj i wyeksportuj dane struktur" - - "profile - Opcje profilera" - - "image - Opcje obrazu/GUI" - biome: - biome-found: "Zlokalizowano biom na (%1$s, %2$s)" - unable-to-locate: "Nie moglismy zlokalizowac biomu." - invalid-radius: "Niepoprawny zakres: \"%s\"" - invalid: "Niepoprawne Biome ID: \"%s\"" - in: "Jestes na \"%s\"" - ore: - main-menu: - - "---------------Terra/rudy---------------" - - "Generuje zloze rud w strone w ktora patrzysz." - out-of-range: "Blok spoza zakresu" - invalid-ore: "Niemoglismy znalezc Rudy \"%s\"" - geometry: - main-menu: - - "---------------Terra/geometria----------------" - - "Zroznicowane komendy geometrii voxeli do debugowania" - - "sphere - Generuje kule" - - "deformsphere - Generuje zdeformowana kul" - - "tube - Generaje tube" - deform: - invalid-radius: "Niepoprawny zakres: \"%s\"" - invalid-deform: "Niepoprawna deformacja: \"%s\"" - invalid-frequency: "Niepoprawna czestotliwosc: \"%s\"" - sphere: - invalid-radius: "Niepoprawny zakres: \"%s\"" - tube: - invalid-radius: "Niepoprawny zakres: \"%s\"" - image: - main-menu: - - "---------------Terra/obraz---------------" - - "render - Renderuje obraz o podanej szerokosci i wysokosci, moze byc potem zaimportowane jako swiat." - - "gui - Otwiera GUI debugowania (Musi byc wlaczone w pliku konfiguracyjnym)" - gui: - main-menu: - - "-------------Terra/obraz/gui-------------" - - "raw - Otwiera GUI z surowymi danymi Biomu" - - "step - Przerenderowuje dane aby pokazac granice bardziej przejrzyscie" + - "---------------Terra/rudy---------------" + - "Generuje zloze rud w strone w ktora patrzysz." + out-of-range: "Blok spoza zakresu" + invalid-ore: "Niemoglismy znalezc Rudy \"%s\"" + geometry: + main-menu: + - "---------------Terra/geometria----------------" + - "Zroznicowane komendy geometrii voxeli do debugowania" + - "sphere - Generuje kule" + - "deformsphere - Generuje zdeformowana kul" + - "tube - Generaje tube" + deform: + invalid-radius: "Niepoprawny zakres: \"%s\"" + invalid-deform: "Niepoprawna deformacja: \"%s\"" + invalid-frequency: "Niepoprawna czestotliwosc: \"%s\"" + sphere: + invalid-radius: "Niepoprawny zakres: \"%s\"" + tube: + invalid-radius: "Niepoprawny zakres: \"%s\"" + image: + main-menu: + - "---------------Terra/obraz---------------" + - "render - Renderuje obraz o podanej szerokosci i wysokosci, moze byc potem zaimportowane jako swiat." + - "gui - Otwiera GUI debugowania (Musi byc wlaczone w pliku konfiguracyjnym)" + gui: + main-menu: + - "-------------Terra/obraz/gui-------------" + - "raw - Otwiera GUI z surowymi danymi Biomu" + - "step - Przerenderowuje dane aby pokazac granice bardziej przejrzyscie" debug: "Tryb debugowania musi byc wlaczony aby debugowac za pomoca GUI! GUI debugowania NIE JEST STABILNE!" render: save: "Zapisano obraz jako \"%s\"" error: "Wystapil error podczas generowania obrazu!" profile: - main-menu: - - "---------------Terra/profil---------------" - - "start - Rozpoczyna dzialanie profilera" - - "stop - Zatrzymuje dzialanie profilera" - - "query - Wydobywa dane profilera" - - "reset - Resetuje dane profilera" - reset: "Profiler zostal zresetowany." - start: "Profiler zostal wlaczony." - stop: "Profiler zostal wylaczony." - structure: - main-menu: - - "---------------Terra/struktury---------------" - - "export - Wyeksportuj obecne zaznaczenie w WorldEdicie jako strukture Terra." - - "load - Zaladuj strukture Terra" - invalid-radius: "Niepoprawny zakres: \"%s\"" - invalid-rotation: "Niepoprawny zakres: \"%s\"" - invalid: "Niepoprawne ID Struktury: \"%s\"" - export: "Zapisano strukture jak \"%s\"" + main-menu: + - "---------------Terra/profil---------------" + - "start - Rozpoczyna dzialanie profilera" + - "stop - Zatrzymuje dzialanie profilera" + - "query - Wydobywa dane profilera" + - "reset - Resetuje dane profilera" + reset: "Profiler zostal zresetowany." + start: "Profiler zostal wlaczony." + stop: "Profiler zostal wylaczony." + structure: + main-menu: + - "---------------Terra/struktury---------------" + - "export - Wyeksportuj obecne zaznaczenie w WorldEdicie jako strukture Terra." + - "load - Zaladuj strukture Terra" + invalid-radius: "Niepoprawny zakres: \"%s\"" + invalid-rotation: "Niepoprawny zakres: \"%s\"" + invalid: "Niepoprawne ID Struktury: \"%s\"" + export: "Zapisano strukture jak \"%s\"" world-config: - loading: "Ladowanie wartosci konfiguracji dla swiata %s..." - not-found: "Konfiguracja dla swiata \"%s\" nie zostala znaleziona. Kopiuje domyslny plik konfiguracyjny." - using-image: "Ladowania swiata z obrazu." - error: "Nie udalo sie zaladowac konfiguracji dla swiata %s" - done: "Ladowanie swiata gotowe. Wykonano to w: %sms" + loading: "Ladowanie wartosci konfiguracji dla swiata %s..." + not-found: "Konfiguracja dla swiata \"%s\" nie zostala znaleziona. Kopiuje domyslny plik konfiguracyjny." + using-image: "Ladowania swiata z obrazu." + error: "Nie udalo sie zaladowac konfiguracji dla swiata %s" + done: "Ladowanie swiata gotowe. Wykonano to w: %sms" config-pack: loaded: "Zaladowano plik konfiguracyjny %1$s w %2$sms." config: diff --git a/src/main/resources/lang/zh_cn.yml b/src/main/resources/lang/zh_cn.yml index e44659b9b..f72c8b505 100644 --- a/src/main/resources/lang/zh_cn.yml +++ b/src/main/resources/lang/zh_cn.yml @@ -5,86 +5,86 @@ enable: disable: - "感谢使用Terra!" command: - player-only: "该指令只能由玩家使用!" - terra-world: "该指令只能在Terra世界内使用!" - invalid: "无效的指令。(应有%1$s项参数,现在只有%2$s项)。" - players-only: "指令只能由玩家使用。" - world: "该指令只能在Terra世界内使用!" - reload: "重载Terra配置。" + player-only: "该指令只能由玩家使用!" + terra-world: "该指令只能在Terra世界内使用!" + invalid: "无效的指令。(应有%1$s项参数,现在只有%2$s项)。" + players-only: "指令只能由玩家使用。" + world: "该指令只能在Terra世界内使用!" + reload: "重载Terra配置。" + main-menu: + - "--------------------Terra--------------------" + - "reload - 重载配置数据" + - "biome - 查看所在群系" + - "ore - 在你面朝的位置生成矿脉(用于调试)" + - "save-data - 保存数据" + - "structure - 加载和导出建筑" + - "profile - 分析工具选项" + - "image - 图像/GUI 选项" + biome: + biome-found: "群系位于(%1$s, %2$s)" + unable-to-locate: "无法定位群系。" + invalid-radius: "无效范围:\"%s\"" + invalid: "无效的群系ID: \"%s\"" + in: "你位于\"%s\"" + ore: main-menu: - - "--------------------Terra--------------------" - - "reload - 重载配置数据" - - "biome - 查看所在群系" - - "ore - 在你面朝的位置生成矿脉(用于调试)" - - "save-data - 保存数据" - - "structure - 加载和导出建筑" - - "profile - 分析工具选项" - - "image - 图像/GUI 选项" - biome: - biome-found: "群系位于(%1$s, %2$s)" - unable-to-locate: "无法定位群系。" - invalid-radius: "无效范围:\"%s\"" - invalid: "无效的群系ID: \"%s\"" - in: "你位于\"%s\"" - ore: - main-menu: - - "---------------Terra/矿物---------------" - - "在你所视位置生成矿脉。" - out-of-range: "所视方块超出范围" - invalid-ore: "找不到矿物 \"%s\"" - geometry: - main-menu: - - "---------------Terra/几何----------------" - - "各种几何调试指令" - - "sphere - 生成球体" - - "deformsphere - 生成变形球体" - - "tube - 生成管形" - deform: - invalid-radius: "无效范围:\"%s\"" - invalid-deform: "无效变形:\"%s\"" - invalid-frequency: "无效频率:\"%s\"" - sphere: - invalid-radius: "无效范围:\"%s\"" - tube: - invalid-radius: "无效范围:\"%s\"" - image: - main-menu: - - "---------------Terra/图像---------------" - - "render - 根据给定宽度和高度渲染图像,以便于之后导入到世界内。" - - "gui - 打开调试GUI (必须先在配置内启用)" - gui: - main-menu: - - "-------------Terra/图像/GUI-------------" - - "raw - 打开纯群系数据的GUI" - - "step - 重渲染数据以更清晰地显示边界" + - "---------------Terra/矿物---------------" + - "在你所视位置生成矿脉。" + out-of-range: "所视方块超出范围" + invalid-ore: "找不到矿物 \"%s\"" + geometry: + main-menu: + - "---------------Terra/几何----------------" + - "各种几何调试指令" + - "sphere - 生成球体" + - "deformsphere - 生成变形球体" + - "tube - 生成管形" + deform: + invalid-radius: "无效范围:\"%s\"" + invalid-deform: "无效变形:\"%s\"" + invalid-frequency: "无效频率:\"%s\"" + sphere: + invalid-radius: "无效范围:\"%s\"" + tube: + invalid-radius: "无效范围:\"%s\"" + image: + main-menu: + - "---------------Terra/图像---------------" + - "render - 根据给定宽度和高度渲染图像,以便于之后导入到世界内。" + - "gui - 打开调试GUI (必须先在配置内启用)" + gui: + main-menu: + - "-------------Terra/图像/GUI-------------" + - "raw - 打开纯群系数据的GUI" + - "step - 重渲染数据以更清晰地显示边界" debug: "必须先启用调试模式才能使用GUI!调试GUI不适合在运行中的服务器里使用!" render: save: "已将图像保存为\"%s\"" error: "生成图像时出错!" profile: - main-menu: - - "---------------Terra/分析---------------" - - "start - 启动分析工具" - - "stop - 关闭分析工具" - - "query - 获取分析数据" - - "reset - 重置分析数据" - reset: "分析工具已重置。" - start: "分析工具已启动。" - stop: "分析工具已关闭。" - structure: - main-menu: - - "---------------Terra/建筑---------------" - - "export - 导出你当前的WorldEdit选区为Terra的建筑。" - - "load - 加载Terra的建筑。" - invalid-radius: "无效范围:\"%s\"" - invalid: "无效建筑ID:\"%s\"" - export: "已将建筑保存为\"%s\"" + main-menu: + - "---------------Terra/分析---------------" + - "start - 启动分析工具" + - "stop - 关闭分析工具" + - "query - 获取分析数据" + - "reset - 重置分析数据" + reset: "分析工具已重置。" + start: "分析工具已启动。" + stop: "分析工具已关闭。" + structure: + main-menu: + - "---------------Terra/建筑---------------" + - "export - 导出你当前的WorldEdit选区为Terra的建筑。" + - "load - 加载Terra的建筑。" + invalid-radius: "无效范围:\"%s\"" + invalid: "无效建筑ID:\"%s\"" + export: "已将建筑保存为\"%s\"" world-config: - loading: "正在加载世界%s配置数值……" - not-found: "找不到世界\"%s\"的配置。正应用默认配置。" - using-image: "加载图像中" - error: "无法加载世界%s的配置" - done: "加载世界完成。耗时:%sms" + loading: "正在加载世界%s配置数值……" + not-found: "找不到世界\"%s\"的配置。正应用默认配置。" + using-image: "加载图像中" + error: "无法加载世界%s的配置" + done: "加载世界完成。耗时:%sms" config-pack: loaded: "已加载配置%1$s,耗时%2$sms。" config: diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index d43fcc691..4cf39c40c 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -6,12 +6,12 @@ load: "STARTUP" api-version: "1.16" softdepend: [ "WorldEdit" ] commands: - terra: - description: "Terra base command" - usage: "/terra " - aliases: [ "te" ] - permission: "terra.command" - locate: - description: "Locate a Terra Structure" - usage: "/locate " - permission: "terra.locate" \ No newline at end of file + terra: + description: "Terra base command" + usage: "/terra " + aliases: [ "te" ] + permission: "terra.command" + locate: + description: "Locate a Terra Structure" + usage: "/locate " + permission: "terra.locate" \ No newline at end of file From dc46e4596d3f64d4ae023aeafa202beaa34651e1 Mon Sep 17 00:00:00 2001 From: solonovamax Date: Sat, 7 Nov 2020 18:27:39 -0500 Subject: [PATCH 4/5] Add linting + fix warnings Signed-off-by: solonovamax --- .idea/inspectionProfiles/Project_Default.xml | 13 +++ build.gradle.kts | 10 ++- src/main/java/com/dfsek/terra/Terra.java | 2 +- .../config/exception/ConfigException.java | 1 + .../config/exception/NotFoundException.java | 2 + .../terra/config/genconfig/OreConfig.java | 12 +-- .../com/dfsek/terra/debug/gui/DebugFrame.java | 1 + .../generation/UserDefinedGenerator.java | 2 +- .../dfsek/terra/population/CavePopulator.java | 1 + .../terra/population/FloraPopulator.java | 1 + .../dfsek/terra/population/OrePopulator.java | 3 +- .../dfsek/terra/population/SnowPopulator.java | 1 + .../terra/population/StructurePopulator.java | 1 + .../structure/InitializationException.java | 1 + .../com/dfsek/terra/structure/Structure.java | 80 +++++++++---------- .../serialize/block/SerializableBanner.java | 1 + .../terra/util/structure/RotationUtil.java | 1 + .../terra/util/structure/WorldEditUtil.java | 14 ++-- .../palettes/mountains/arid.yml | 34 ++++---- .../palettes/mountains/grass.yml | 26 +++--- .../palettes/mountains/jungle.yml | 30 +++---- .../palettes/mountains/pretty_mountains.yml | 38 ++++----- .../palettes/mountains/stone.yml | 18 ++--- .../palettes/mountains/stone_grass.yml | 34 ++++---- .../default-config/palettes/river_bottom.yml | 16 ++-- .../default-config/palettes/river_shore.yml | 22 ++--- .../palettes/slabs/mountainslabs.yml | 8 +- .../palettes/slabs/mountainstairs.yml | 8 +- .../default-config/palettes/taiga.yml | 20 ++--- .../default-config/palettes/tundra.yml | 32 ++++---- src/test/java/LookupGenerator.java | 6 -- 31 files changed, 233 insertions(+), 206 deletions(-) diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml index 875ffa22b..6eeb63b56 100644 --- a/.idea/inspectionProfiles/Project_Default.xml +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -6,5 +6,18 @@ + + + + + + + + + \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index b2b79e36d..343d2d244 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -48,9 +48,17 @@ dependencies { testImplementation(name = "Gaea-1.14.0", group = "") } +val compileJava: JavaCompile by tasks +compileJava.apply { + options.encoding = "UTF-8" + doFirst { + options.compilerArgs = mutableListOf("-Xlint:all", "-Xlint:-processing") + } +} + tasks.test { useJUnitPlatform() - + maxHeapSize = "1G" ignoreFailures = false failFast = true diff --git a/src/main/java/com/dfsek/terra/Terra.java b/src/main/java/com/dfsek/terra/Terra.java index e6541dc70..7999adc6a 100644 --- a/src/main/java/com/dfsek/terra/Terra.java +++ b/src/main/java/com/dfsek/terra/Terra.java @@ -35,6 +35,7 @@ public class Terra extends GaeaPlugin { TerraChunkGenerator.saveAll(); } + @SuppressWarnings("deprecation") @Override public void onEnable() { instance = this; @@ -54,7 +55,6 @@ public class Terra extends GaeaPlugin { locatePl.setTabCompleter(locate); saveDefaultConfig(); - //noinspection deprecation Bukkit.getScheduler().scheduleAsyncRepeatingTask(this, TerraChunkGenerator::saveAll, ConfigUtil.dataSave, ConfigUtil.dataSave); Bukkit.getPluginManager().registerEvents(new EventListener(this), this); PaperUtil.checkPaper(this); diff --git a/src/main/java/com/dfsek/terra/config/exception/ConfigException.java b/src/main/java/com/dfsek/terra/config/exception/ConfigException.java index 16eb90508..7c1f24e68 100644 --- a/src/main/java/com/dfsek/terra/config/exception/ConfigException.java +++ b/src/main/java/com/dfsek/terra/config/exception/ConfigException.java @@ -6,6 +6,7 @@ import org.bukkit.configuration.InvalidConfigurationException; * Thrown when a config item is not valid. */ public class ConfigException extends InvalidConfigurationException { + private static final long serialVersionUID = -4342864317005935979L; private final String message; private final String id; diff --git a/src/main/java/com/dfsek/terra/config/exception/NotFoundException.java b/src/main/java/com/dfsek/terra/config/exception/NotFoundException.java index 88c1f4124..3a8dd3e16 100644 --- a/src/main/java/com/dfsek/terra/config/exception/NotFoundException.java +++ b/src/main/java/com/dfsek/terra/config/exception/NotFoundException.java @@ -4,6 +4,8 @@ package com.dfsek.terra.config.exception; * Thrown when a required config item is not found. */ public class NotFoundException extends ConfigException { + private static final long serialVersionUID = -3763471113262357426L; + public NotFoundException(String item, String itemName, String id) { super(item + " \"" + itemName + "\" cannot be found!", id); } diff --git a/src/main/java/com/dfsek/terra/config/genconfig/OreConfig.java b/src/main/java/com/dfsek/terra/config/genconfig/OreConfig.java index 112d916a1..8ebea851c 100644 --- a/src/main/java/com/dfsek/terra/config/genconfig/OreConfig.java +++ b/src/main/java/com/dfsek/terra/config/genconfig/OreConfig.java @@ -61,8 +61,8 @@ public class OreConfig extends TerraConfig { } } - private int randomInRange(Random r) { - return r.nextInt(max - min + 1) + min; + public String getID() { + return id; } public void doVein(Vector l, Chunk chunk, Random r) { @@ -91,6 +91,10 @@ public class OreConfig extends TerraConfig { } } + private int randomInRange(Random r) { + return r.nextInt(max - min + 1) + min; + } + public void doVeinSingle(Vector l, Chunk chunk, Random r) { FastNoiseLite ore = new FastNoiseLite(r.nextInt()); ore.setNoiseType(FastNoiseLite.NoiseType.OpenSimplex2); @@ -117,10 +121,6 @@ public class OreConfig extends TerraConfig { return "Ore with ID " + getID(); } - public String getID() { - return id; - } - public boolean crossChunks() { return crossChunks; } diff --git a/src/main/java/com/dfsek/terra/debug/gui/DebugFrame.java b/src/main/java/com/dfsek/terra/debug/gui/DebugFrame.java index ddf91d1e8..fdad86db2 100644 --- a/src/main/java/com/dfsek/terra/debug/gui/DebugFrame.java +++ b/src/main/java/com/dfsek/terra/debug/gui/DebugFrame.java @@ -15,6 +15,7 @@ import java.awt.event.ActionListener; import java.awt.image.BufferedImage; public class DebugFrame extends JFrame implements ActionListener { + private static final long serialVersionUID = 9133084939622854303L; private final int x; private final int z; private final BufferedImage img; diff --git a/src/main/java/com/dfsek/terra/generation/UserDefinedGenerator.java b/src/main/java/com/dfsek/terra/generation/UserDefinedGenerator.java index ac5ea5d84..2db007307 100644 --- a/src/main/java/com/dfsek/terra/generation/UserDefinedGenerator.java +++ b/src/main/java/com/dfsek/terra/generation/UserDefinedGenerator.java @@ -25,7 +25,7 @@ public class UserDefinedGenerator extends Generator { private final Variable xVar = s.getVariable("x"); private final Variable yVar = s.getVariable("y"); private final Variable zVar = s.getVariable("z"); - @SuppressWarnings("unchecked") + @SuppressWarnings({"unchecked", "rawtypes", "RedundantSuppression"}) private final Palette[] palettes = new Palette[256]; private final NoiseFunction2 n2 = new NoiseFunction2(); private final NoiseFunction3 n3 = new NoiseFunction3(); diff --git a/src/main/java/com/dfsek/terra/population/CavePopulator.java b/src/main/java/com/dfsek/terra/population/CavePopulator.java index f09f19bc7..dbed28e7b 100644 --- a/src/main/java/com/dfsek/terra/population/CavePopulator.java +++ b/src/main/java/com/dfsek/terra/population/CavePopulator.java @@ -28,6 +28,7 @@ public class CavePopulator extends BlockPopulator { private static final Map shiftStorage = new HashMap<>(); // Persist BlockData created for shifts, to avoid re-calculating each time. private static final BlockData AIR = Material.AIR.createBlockData(); + @SuppressWarnings("try") @Override public void populate(@NotNull World world, @NotNull Random random, @NotNull Chunk chunk) { if(ConfigUtil.masterDisableCaves) return; diff --git a/src/main/java/com/dfsek/terra/population/FloraPopulator.java b/src/main/java/com/dfsek/terra/population/FloraPopulator.java index 15943293b..99d5e2723 100644 --- a/src/main/java/com/dfsek/terra/population/FloraPopulator.java +++ b/src/main/java/com/dfsek/terra/population/FloraPopulator.java @@ -30,6 +30,7 @@ import java.util.Random; * Populates Flora and Trees */ public class FloraPopulator extends GaeaBlockPopulator { + @SuppressWarnings("try") @Override public void populate(@NotNull World world, @NotNull Random random, @NotNull Chunk chunk) { try(ProfileFuture ignored = TerraProfiler.fromWorld(world).measure("FloraTime")) { diff --git a/src/main/java/com/dfsek/terra/population/OrePopulator.java b/src/main/java/com/dfsek/terra/population/OrePopulator.java index 81bad037c..4a6097b1b 100644 --- a/src/main/java/com/dfsek/terra/population/OrePopulator.java +++ b/src/main/java/com/dfsek/terra/population/OrePopulator.java @@ -22,6 +22,7 @@ import java.util.Map; import java.util.Random; public class OrePopulator extends GaeaBlockPopulator { + @SuppressWarnings("try") @Override public void populate(@NotNull World world, @NotNull Random random, @NotNull Chunk chunk) { try(ProfileFuture ignored = TerraProfiler.fromWorld(world).measure("OreTime")) { @@ -44,7 +45,7 @@ public class OrePopulator extends GaeaBlockPopulator { Bukkit.getPluginManager().callEvent(event); if(!event.isCancelled()) { if(ore.crossChunks()) ore.doVein(v, chunk, random); - else ore.doVeinSingleChunk(new Vector(x, y, z), chunk, random); + else ore.doVeinSingle(new Vector(x, y, z), chunk, random); } } } diff --git a/src/main/java/com/dfsek/terra/population/SnowPopulator.java b/src/main/java/com/dfsek/terra/population/SnowPopulator.java index 5671c2fc7..515860d04 100644 --- a/src/main/java/com/dfsek/terra/population/SnowPopulator.java +++ b/src/main/java/com/dfsek/terra/population/SnowPopulator.java @@ -44,6 +44,7 @@ public class SnowPopulator extends GaeaBlockPopulator { Bukkit.getLogger().info("Added " + blacklistSpawn.size() + " materials to snow blacklist"); } + @SuppressWarnings("try") @Override public void populate(@NotNull World world, @NotNull Random random, @NotNull Chunk chunk) { try(ProfileFuture ignored = TerraProfiler.fromWorld(world).measure("SnowTime")) { diff --git a/src/main/java/com/dfsek/terra/population/StructurePopulator.java b/src/main/java/com/dfsek/terra/population/StructurePopulator.java index 4018653a4..816af7527 100644 --- a/src/main/java/com/dfsek/terra/population/StructurePopulator.java +++ b/src/main/java/com/dfsek/terra/population/StructurePopulator.java @@ -25,6 +25,7 @@ import java.util.Random; public class StructurePopulator extends BlockPopulator { + @SuppressWarnings("try") @Override public void populate(@NotNull World world, @NotNull Random random, @NotNull Chunk chunk) { try(ProfileFuture ignored = TerraProfiler.fromWorld(world).measure("StructureTime")) { diff --git a/src/main/java/com/dfsek/terra/structure/InitializationException.java b/src/main/java/com/dfsek/terra/structure/InitializationException.java index eec31ab7c..6d38ede96 100644 --- a/src/main/java/com/dfsek/terra/structure/InitializationException.java +++ b/src/main/java/com/dfsek/terra/structure/InitializationException.java @@ -5,6 +5,7 @@ import org.jetbrains.annotations.Nullable; @SuppressWarnings("unused") public class InitializationException extends Exception { + private static final long serialVersionUID = -3817726044758088486L; private final Location worldLoc; public InitializationException(String message, @Nullable Location worldLoc) { diff --git a/src/main/java/com/dfsek/terra/structure/Structure.java b/src/main/java/com/dfsek/terra/structure/Structure.java index c4e78ec8d..fd21dcf8d 100644 --- a/src/main/java/com/dfsek/terra/structure/Structure.java +++ b/src/main/java/com/dfsek/terra/structure/Structure.java @@ -163,46 +163,6 @@ public class Structure implements Serializable { this.executeForBlocksInRange(xRange, getRange(Axis.Y, r), zRange, block -> pasteBlock(block, origin, r), r); } - public boolean checkSpawns(Location origin, Rotation r) { - for(StructureContainedBlock b : spawns) { - Vector2 rot = getRotatedCoords(new Vector2(b.getX() - structureInfo.getCenterX(), b.getZ() - structureInfo.getCenterZ()), r); - if(!b.getRequirement().matches(origin.getWorld(), (int) rot.getX() + origin.getBlockX(), origin.getBlockY() + b.getY(), (int) rot.getZ() + origin.getBlockZ())) - return false; - } - return true; - } - - public HashSet getInventories() { - return inventories; - } - - /** - * Get GaeaStructureInfo object - * - * @return Structure Info - */ - @NotNull - public StructureInfo getStructureInfo() { - return structureInfo; - } - - /** - * Paste structure at an origin location, confined to a single chunk. - * - * @param origin Origin location - * @param chunk Chunk to confine pasting to - * @param r Rotation - */ - public void paste(Location origin, Chunk chunk, Rotation r) { - int xOr = (chunk.getX() << 4); - int zOr = (chunk.getZ() << 4); - Range intersectX = new Range(xOr, xOr + 16).sub(origin.getBlockX() - structureInfo.getCenterX()); - Range intersectZ = new Range(zOr, zOr + 16).sub(origin.getBlockZ() - structureInfo.getCenterZ()); - if(intersectX == null || intersectZ == null) return; - executeForBlocksInRange(intersectX, getRange(Axis.Y, r), intersectZ, block -> pasteBlock(block, origin, r), r); - Debug.info(intersectX.toString() + " : " + intersectZ.toString()); - } - /** * Paste a single StructureDefinedBlock at an origin location, offset by its coordinates. * @@ -298,6 +258,16 @@ public class Structure implements Serializable { } } + /** + * Get GaeaStructureInfo object + * + * @return Structure Info + */ + @NotNull + public StructureInfo getStructureInfo() { + return structureInfo; + } + /** * Test whether a set of coordinates is within the current structure * @@ -339,6 +309,36 @@ public class Structure implements Serializable { } } + public boolean checkSpawns(Location origin, Rotation r) { + for(StructureContainedBlock b : spawns) { + Vector2 rot = getRotatedCoords(new Vector2(b.getX() - structureInfo.getCenterX(), b.getZ() - structureInfo.getCenterZ()), r); + if(!b.getRequirement().matches(origin.getWorld(), (int) rot.getX() + origin.getBlockX(), origin.getBlockY() + b.getY(), (int) rot.getZ() + origin.getBlockZ())) + return false; + } + return true; + } + + public HashSet getInventories() { + return inventories; + } + + /** + * Paste structure at an origin location, confined to a single chunk. + * + * @param origin Origin location + * @param chunk Chunk to confine pasting to + * @param r Rotation + */ + public void paste(Location origin, Chunk chunk, Rotation r) { + int xOr = (chunk.getX() << 4); + int zOr = (chunk.getZ() << 4); + Range intersectX = new Range(xOr, xOr + 16).sub(origin.getBlockX() - structureInfo.getCenterX()); + Range intersectZ = new Range(zOr, zOr + 16).sub(origin.getBlockZ() - structureInfo.getCenterZ()); + if(intersectX == null || intersectZ == null) return; + executeForBlocksInRange(intersectX, getRange(Axis.Y, r), intersectZ, block -> pasteBlock(block, origin, r), r); + Debug.info(intersectX.toString() + " : " + intersectZ.toString()); + } + /** * From an origin location (First bound) fetch the second bound. * diff --git a/src/main/java/com/dfsek/terra/structure/serialize/block/SerializableBanner.java b/src/main/java/com/dfsek/terra/structure/serialize/block/SerializableBanner.java index f42f3e9f4..36a2ae145 100644 --- a/src/main/java/com/dfsek/terra/structure/serialize/block/SerializableBanner.java +++ b/src/main/java/com/dfsek/terra/structure/serialize/block/SerializableBanner.java @@ -32,6 +32,7 @@ public class SerializableBanner implements SerializableBlockState { } private static final class Pattern implements Serializable { + private static final long serialVersionUID = -7802163816361757171L; private final DyeColor color; private final PatternType type; diff --git a/src/main/java/com/dfsek/terra/util/structure/RotationUtil.java b/src/main/java/com/dfsek/terra/util/structure/RotationUtil.java index 270e61cc9..4fc7f4797 100644 --- a/src/main/java/com/dfsek/terra/util/structure/RotationUtil.java +++ b/src/main/java/com/dfsek/terra/util/structure/RotationUtil.java @@ -157,6 +157,7 @@ public final class RotationUtil { * @param r Rotate * @return Rotated/mirrored shape */ + @SuppressWarnings("fallthrough") public static Rail.Shape getRotatedRail(Rail.Shape orig, Structure.Rotation r) { switch(r) { case CCW_90: diff --git a/src/main/java/com/dfsek/terra/util/structure/WorldEditUtil.java b/src/main/java/com/dfsek/terra/util/structure/WorldEditUtil.java index e73b123d0..d4813ef22 100644 --- a/src/main/java/com/dfsek/terra/util/structure/WorldEditUtil.java +++ b/src/main/java/com/dfsek/terra/util/structure/WorldEditUtil.java @@ -36,6 +36,13 @@ public final class WorldEditUtil { return new Location[] {l1, l2}; } + public static WorldEditPlugin getWorldEdit() { + Plugin p = Bukkit.getServer().getPluginManager().getPlugin("WorldEdit"); + if(p instanceof WorldEditPlugin) return (WorldEditPlugin) p; + Bukkit.getLogger().severe("[Terra] a command requiring WorldEdit was executed, but WorldEdit was not detected!"); + return null; + } + public static Location[] getSelectionPositions(Player sender) { WorldEditPlugin we = WorldEditUtil.getWorldEdit(); if(we == null) { @@ -59,11 +66,4 @@ public final class WorldEditUtil { Location l2 = new Location(sender.getWorld(), max.getBlockX(), max.getBlockY(), max.getBlockZ()); return new Location[] {l1, l2}; } - - public static WorldEditPlugin getWorldEdit() { - Plugin p = Bukkit.getServer().getPluginManager().getPlugin("WorldEdit"); - if(p instanceof WorldEditPlugin) return (WorldEditPlugin) p; - Bukkit.getLogger().severe("[Terra] a command requiring WorldEdit was executed, but WorldEdit was not detected!"); - return null; - } } diff --git a/src/main/resources/default-config/palettes/mountains/arid.yml b/src/main/resources/default-config/palettes/mountains/arid.yml index 9aeaef4f2..203aa93de 100644 --- a/src/main/resources/default-config/palettes/mountains/arid.yml +++ b/src/main/resources/default-config/palettes/mountains/arid.yml @@ -1,28 +1,28 @@ layers: - materials: - - "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: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 + - "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 - - materials: - - "minecraft:dirt": 7 - - "minecraft:white_terracotta": 1 - layers: 2 - - materials: - - "minecraft:stone": 1 - layers: 1 id: "ARID" simplex: true frequency: 0.05 diff --git a/src/main/resources/default-config/palettes/mountains/grass.yml b/src/main/resources/default-config/palettes/mountains/grass.yml index f4d857e2e..88709cc53 100644 --- a/src/main/resources/default-config/palettes/mountains/grass.yml +++ b/src/main/resources/default-config/palettes/mountains/grass.yml @@ -1,17 +1,17 @@ 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 + - 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.075 diff --git a/src/main/resources/default-config/palettes/mountains/jungle.yml b/src/main/resources/default-config/palettes/mountains/jungle.yml index ac514fe04..fcc8c3a5b 100644 --- a/src/main/resources/default-config/palettes/mountains/jungle.yml +++ b/src/main/resources/default-config/palettes/mountains/jungle.yml @@ -1,19 +1,19 @@ 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 + - 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 diff --git a/src/main/resources/default-config/palettes/mountains/pretty_mountains.yml b/src/main/resources/default-config/palettes/mountains/pretty_mountains.yml index cb0b88703..797c4418e 100644 --- a/src/main/resources/default-config/palettes/mountains/pretty_mountains.yml +++ b/src/main/resources/default-config/palettes/mountains/pretty_mountains.yml @@ -1,23 +1,23 @@ 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 + - 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" simplex: true frequency: 0.03 diff --git a/src/main/resources/default-config/palettes/mountains/stone.yml b/src/main/resources/default-config/palettes/mountains/stone.yml index a99dac41a..6600ad39e 100644 --- a/src/main/resources/default-config/palettes/mountains/stone.yml +++ b/src/main/resources/default-config/palettes/mountains/stone.yml @@ -1,13 +1,13 @@ layers: - - materials: - - "minecraft:cyan_terracotta": 1 - - "minecraft:stone": 2 - - "minecraft:snow_block": 3 - - "minecraft:cobblestone": 1 - layers: 3 - - materials: - - "minecraft:stone": 1 - layers: 1 + - 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.075 diff --git a/src/main/resources/default-config/palettes/mountains/stone_grass.yml b/src/main/resources/default-config/palettes/mountains/stone_grass.yml index e6abe73d0..8151c796b 100644 --- a/src/main/resources/default-config/palettes/mountains/stone_grass.yml +++ b/src/main/resources/default-config/palettes/mountains/stone_grass.yml @@ -1,21 +1,21 @@ 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 + - 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.075 diff --git a/src/main/resources/default-config/palettes/river_bottom.yml b/src/main/resources/default-config/palettes/river_bottom.yml index da88c45ac..e47b4eb5a 100644 --- a/src/main/resources/default-config/palettes/river_bottom.yml +++ b/src/main/resources/default-config/palettes/river_bottom.yml @@ -1,12 +1,12 @@ layers: - - materials: - - "minecraft:gravel": 1 - - "minecraft:dirt": 4 - - "minecraft:sand": 2 - layers: 2 - - materials: - - "minecraft:stone": 1 - layers: 1 + - 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 diff --git a/src/main/resources/default-config/palettes/river_shore.yml b/src/main/resources/default-config/palettes/river_shore.yml index 7fca87bd2..75544719a 100644 --- a/src/main/resources/default-config/palettes/river_shore.yml +++ b/src/main/resources/default-config/palettes/river_shore.yml @@ -1,15 +1,15 @@ 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 + - 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" simplex: true frequency: 0.05 diff --git a/src/main/resources/default-config/palettes/slabs/mountainslabs.yml b/src/main/resources/default-config/palettes/slabs/mountainslabs.yml index bcfd45052..128b085dd 100644 --- a/src/main/resources/default-config/palettes/slabs/mountainslabs.yml +++ b/src/main/resources/default-config/palettes/slabs/mountainslabs.yml @@ -1,8 +1,8 @@ layers: - - materials: - - "minecraft:cobblestone_slab": 1 - - "minecraft:stone_slab": 3 - layers: 1 + - materials: + - "minecraft:cobblestone_slab": 1 + - "minecraft:stone_slab": 3 + layers: 1 id: "MOUNTAIN_SLABS" simplex: true frequency: 0.1 diff --git a/src/main/resources/default-config/palettes/slabs/mountainstairs.yml b/src/main/resources/default-config/palettes/slabs/mountainstairs.yml index a59794945..e5b998b3a 100644 --- a/src/main/resources/default-config/palettes/slabs/mountainstairs.yml +++ b/src/main/resources/default-config/palettes/slabs/mountainstairs.yml @@ -1,8 +1,8 @@ layers: - - materials: - - "minecraft:cobblestone_stairs": 1 - - "minecraft:stone_stairs": 3 - layers: 1 + - materials: + - "minecraft:cobblestone_stairs": 1 + - "minecraft:stone_stairs": 3 + layers: 1 id: "MOUNTAIN_STAIRS" simplex: true frequency: 0.1 diff --git a/src/main/resources/default-config/palettes/taiga.yml b/src/main/resources/default-config/palettes/taiga.yml index e1792890b..bb2c4068e 100644 --- a/src/main/resources/default-config/palettes/taiga.yml +++ b/src/main/resources/default-config/palettes/taiga.yml @@ -1,14 +1,14 @@ layers: - - materials: - - "minecraft:grass_block": 2 - - "minecraft:podzol": 1 - layers: 1 - - materials: - - "minecraft:dirt": 1 - layers: 2 - - materials: - - "minecraft:stone": 1 - layers: 1 + - materials: + - "minecraft:grass_block": 2 + - "minecraft:podzol": 1 + layers: 1 + - materials: + - "minecraft:dirt": 1 + layers: 2 + - materials: + - "minecraft:stone": 1 + layers: 1 id: "TAIGA" simplex: true frequency: 0.03 diff --git a/src/main/resources/default-config/palettes/tundra.yml b/src/main/resources/default-config/palettes/tundra.yml index 24d2f9787..b6136d2c6 100644 --- a/src/main/resources/default-config/palettes/tundra.yml +++ b/src/main/resources/default-config/palettes/tundra.yml @@ -1,20 +1,20 @@ 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 + - 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" simplex: true frequency: 0.04 diff --git a/src/test/java/LookupGenerator.java b/src/test/java/LookupGenerator.java index 51841866c..fe15ca665 100644 --- a/src/test/java/LookupGenerator.java +++ b/src/test/java/LookupGenerator.java @@ -104,12 +104,6 @@ class LookupGenerator { return Math.min((int) Math.floor((i + 1) * ((double) n / 2)), n - 1); } - public static int normalize(double i, int n) { - i *= 1.42; // Magic simplex value (sqrt(2) plus a little) - i = Math.min(Math.max(i, -1), 1); - return Math.min((int) Math.floor((i + 1) * ((double) n / 2)), n - 1); - } - private static class Worker extends Thread { private final List l; private final int searches; From 2230c87bb6fcd637593d0038086436355962339a Mon Sep 17 00:00:00 2001 From: dfsek Date: Sun, 8 Nov 2020 18:48:47 -0700 Subject: [PATCH 5/5] Fix broken YAML formatting --- .../default-config/biomes/forest/taiga.yml | 20 ++++++++--------- .../palettes/mountains/arid.yml | 18 +++++++-------- .../palettes/mountains/grass.yml | 2 +- .../palettes/mountains/pretty_mountains.yml | 2 +- .../palettes/mountains/stone_grass.yml | 22 +++++++++---------- .../default-config/palettes/tundra.yml | 6 ++--- 6 files changed, 35 insertions(+), 35 deletions(-) diff --git a/src/main/resources/default-config/biomes/forest/taiga.yml b/src/main/resources/default-config/biomes/forest/taiga.yml index edc7696d9..22f9c91d5 100644 --- a/src/main/resources/default-config/biomes/forest/taiga.yml +++ b/src/main/resources/default-config/biomes/forest/taiga.yml @@ -22,16 +22,16 @@ flora: y: min: 62 max: 84 - GRASS: - weight: 75 - y: - min: 62 - max: 84 - POPPY: - weight: 5 - y: - min: 62 - max: 84 + GRASS: + weight: 75 + y: + min: 62 + max: 84 + POPPY: + weight: 5 + y: + min: 62 + max: 84 trees: density: 75 diff --git a/src/main/resources/default-config/palettes/mountains/arid.yml b/src/main/resources/default-config/palettes/mountains/arid.yml index 203aa93de..20d799504 100644 --- a/src/main/resources/default-config/palettes/mountains/arid.yml +++ b/src/main/resources/default-config/palettes/mountains/arid.yml @@ -6,15 +6,15 @@ layers: - "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 + - "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 diff --git a/src/main/resources/default-config/palettes/mountains/grass.yml b/src/main/resources/default-config/palettes/mountains/grass.yml index 88709cc53..852bcec64 100644 --- a/src/main/resources/default-config/palettes/mountains/grass.yml +++ b/src/main/resources/default-config/palettes/mountains/grass.yml @@ -2,7 +2,7 @@ layers: - materials: - "minecraft:cyan_terracotta": 1 - "minecraft:grass_block": 2 - - "minecraft:snow_block": 3 + - "minecraft:snow_block": 3 layers: 1 - materials: - "minecraft:cyan_terracotta": 1 diff --git a/src/main/resources/default-config/palettes/mountains/pretty_mountains.yml b/src/main/resources/default-config/palettes/mountains/pretty_mountains.yml index 797c4418e..1e189b628 100644 --- a/src/main/resources/default-config/palettes/mountains/pretty_mountains.yml +++ b/src/main/resources/default-config/palettes/mountains/pretty_mountains.yml @@ -5,7 +5,7 @@ layers: - "minecraft:light_gray_terracotta": 2 - "minecraft:grass_block": 10 - "minecraft:cobblestone": 1 - - "minecraft:stone": 1 + - "minecraft:stone": 1 layers: 1 - materials: - "minecraft:cyan_terracotta": 2 diff --git a/src/main/resources/default-config/palettes/mountains/stone_grass.yml b/src/main/resources/default-config/palettes/mountains/stone_grass.yml index 8151c796b..11f0c202f 100644 --- a/src/main/resources/default-config/palettes/mountains/stone_grass.yml +++ b/src/main/resources/default-config/palettes/mountains/stone_grass.yml @@ -5,17 +5,17 @@ layers: - "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 + 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.075 diff --git a/src/main/resources/default-config/palettes/tundra.yml b/src/main/resources/default-config/palettes/tundra.yml index b6136d2c6..d30870eb4 100644 --- a/src/main/resources/default-config/palettes/tundra.yml +++ b/src/main/resources/default-config/palettes/tundra.yml @@ -5,9 +5,9 @@ layers: - "minecraft:gravel": 1 - "minecraft:gravel": 1 - "minecraft:stone": 1 - - "minecraft:snow_block": 2 - - "minecraft:gravel": 1 - - "minecraft:snow_block": 2 + - "minecraft:snow_block": 2 + - "minecraft:gravel": 1 + - "minecraft:snow_block": 2 layers: 2 - materials: - "minecraft:stone": 1