diff --git a/build.gradle.kts b/build.gradle.kts index 73654719d..f1156e2f7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,8 +1,8 @@ preRelease(true) -versionProjects(":common:api", version("6.4.0")) -versionProjects(":common:implementation", version("6.4.0")) -versionProjects(":platforms", version("6.4.0")) +versionProjects(":common:api", version("6.4.1")) +versionProjects(":common:implementation", version("6.4.1")) +versionProjects(":platforms", version("6.4.1")) allprojects { diff --git a/buildSrc/src/main/kotlin/AddonConfig.kt b/buildSrc/src/main/kotlin/AddonConfig.kt index b4dda3bca..1880a7b0d 100644 --- a/buildSrc/src/main/kotlin/AddonConfig.kt +++ b/buildSrc/src/main/kotlin/AddonConfig.kt @@ -18,7 +18,7 @@ fun Project.addonDir(dir: File, task: Task) { matchingAddons(dir) { it.name.startsWith("Terra-") // Assume everything that starts with Terra- is a core addon. }.forEach { - println("Deleting old addon: " + it.absolutePath) + logger.info("Deleting old addon: " + it.absolutePath) it.delete() } forSubProjects(":common:addons") { @@ -29,7 +29,7 @@ fun Project.addonDir(dir: File, task: Task) { val base = "${jar.archiveBaseName.get()}-${version}" - println("Copying addon ${jar.archiveFileName.get()} to ${target.absolutePath}. Base name: $base") + logger.info("Copying addon ${jar.archiveFileName.get()} to ${target.absolutePath}. Base name: $base") jar.archiveFile.orNull?.asFile?.copyTo(target) } diff --git a/buildSrc/src/main/kotlin/DistributionConfig.kt b/buildSrc/src/main/kotlin/DistributionConfig.kt index 8c262e729..df003b078 100644 --- a/buildSrc/src/main/kotlin/DistributionConfig.kt +++ b/buildSrc/src/main/kotlin/DistributionConfig.kt @@ -53,7 +53,7 @@ fun Project.configureDistribution() { forSubProjects(":common:addons") { val jar = getJarTask() - println("Packaging addon ${jar.archiveFileName.get()} to $dest. size: ${jar.archiveFile.get().asFile.length() / 1024}KB") + logger.info("Packaging addon ${jar.archiveFileName.get()} to $dest. size: ${jar.archiveFile.get().asFile.length() / 1024}KB") val boot = if (extra.has("bootstrap") && extra.get("bootstrap") as Boolean) "bootstrap/" else "" val addonPath = fs.getPath("/addons/$boot${jar.archiveFileName.get()}") diff --git a/buildSrc/src/main/kotlin/Utils.kt b/buildSrc/src/main/kotlin/Utils.kt index b775871b0..679786788 100644 --- a/buildSrc/src/main/kotlin/Utils.kt +++ b/buildSrc/src/main/kotlin/Utils.kt @@ -42,10 +42,10 @@ fun preRelease(preRelease: Boolean) { fun Project.versionProjects(project: String, version: String) { forSubProjects(project) { this.version = version - println("Setting version of $path to $version") + logger.info("Setting version of $path to $version") } project(project).version = version - println("Setting version of $project to $version") + logger.info("Setting version of $project to $version") } fun Project.version(version: String): String { diff --git a/buildSrc/src/main/kotlin/com/dfsek/terra/tectonicdoc/GenerateDocsTask.kt b/buildSrc/src/main/kotlin/com/dfsek/terra/tectonicdoc/GenerateDocsTask.kt index 30f515355..60977aee5 100644 --- a/buildSrc/src/main/kotlin/com/dfsek/terra/tectonicdoc/GenerateDocsTask.kt +++ b/buildSrc/src/main/kotlin/com/dfsek/terra/tectonicdoc/GenerateDocsTask.kt @@ -82,7 +82,7 @@ abstract class GenerateDocsTask : DefaultTask() { } template.add(keyName.toString(), description.toString().ifBlank { - println("No description provided for field " + field.name + " in class " + name) + logger.info("No description provided for field " + field.name + " in class " + name) "*No description provided.*" }) } diff --git a/common/addons/config-ore/build.gradle.kts b/common/addons/config-ore/build.gradle.kts index 469635ee6..06718492e 100644 --- a/common/addons/config-ore/build.gradle.kts +++ b/common/addons/config-ore/build.gradle.kts @@ -1,4 +1,4 @@ -version = version("1.1.0") +version = version("1.1.1") dependencies { compileOnlyApi(project(":common:addons:manifest-addon-loader")) diff --git a/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/utils/VanillaOreUtils.java b/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/utils/VanillaOreUtils.java index cfef65b57..f8ede8680 100644 --- a/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/utils/VanillaOreUtils.java +++ b/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/utils/VanillaOreUtils.java @@ -8,31 +8,24 @@ import com.dfsek.terra.api.world.WritableWorld; public class VanillaOreUtils { - protected static boolean shouldNotDiscard(Random random, double chance) { - if(chance <= 0.0F) { - return true; - } else if(chance >= 1.0F) { - return false; - } else { - return random.nextFloat() >= chance; - } + private static boolean shouldExpose(Random random, double exposedChance) { + if(exposedChance >= 1.0F) return true; + if(exposedChance <= 0.0F) return false; + return random.nextFloat() < exposedChance; } - public static boolean shouldPlace(MaterialSet replaceable, BlockType type, Double exposed, Random random, WritableWorld world, int x, + public static boolean shouldPlace(MaterialSet replaceable, BlockType type, Double exposedChance, Random random, WritableWorld world, + int x, int y, int z) { - if(!replaceable.contains(type)) { - return false; - } else if(shouldNotDiscard(random, exposed)) { - return true; - } else { - return !(world.getBlockState(x, y, z - 1).isAir() || - world.getBlockState(x, y, z + 1).isAir() || - world.getBlockState(x, y - 1, z).isAir() || - world.getBlockState(x, y + 1, z).isAir() || - world.getBlockState(x - 1, y, z).isAir() || - world.getBlockState(x + 1, y, z).isAir()); - } + if(!replaceable.contains(type)) return false; + if(shouldExpose(random, exposedChance)) return true; // Exposed blocks can be placed regardless of adjacency to air + // Adjacency is checked after determining not exposed rather than vice-versa, assuming block checks are more expensive + boolean adjacentAir = world.getBlockState(x, y, z - 1).isAir() || + world.getBlockState(x, y, z + 1).isAir() || + world.getBlockState(x, y - 1, z).isAir() || + world.getBlockState(x, y + 1, z).isAir() || + world.getBlockState(x - 1, y, z).isAir() || + world.getBlockState(x + 1, y, z).isAir(); + return !adjacentAir; // Exposed check did not pass earlier so only blocks not adjacent air should place } - } - diff --git a/platforms/fabric/build.gradle.kts b/platforms/fabric/build.gradle.kts index 3b977d8af..3598ae92c 100644 --- a/platforms/fabric/build.gradle.kts +++ b/platforms/fabric/build.gradle.kts @@ -29,6 +29,8 @@ dependencies { modImplementation("cloud.commandframework", "cloud-fabric", Versions.Libraries.cloud) include("cloud.commandframework", "cloud-fabric", Versions.Libraries.cloud) + + modRuntimeOnly("net.fabricmc.fabric-api", "fabric-api", Versions.Fabric.fabricAPI) } loom { diff --git a/platforms/merged/build.gradle.kts b/platforms/merged/build.gradle.kts index ec9e56f87..aab37e093 100644 --- a/platforms/merged/build.gradle.kts +++ b/platforms/merged/build.gradle.kts @@ -13,7 +13,7 @@ val dump = tasks.create("dumpDependents") { doFirst { taskSet.forEach { val resource = File(resourcesDir, it.archiveFileName.get()) - println("Including archive " + it.archiveFileName.orNull + " in directory " + resource.absolutePath) + logger.info("Including archive " + it.archiveFileName.orNull + " in directory " + resource.absolutePath) it.archiveFile.get().asFile.copyTo(resource, true) } } @@ -32,6 +32,6 @@ afterEvaluate { } tasks["dumpDependents"].dependsOn(task) taskSet.add(task) - println("Merged JAR will incorporate task ${task.name} from platform ${it.name}.") + logger.info("Merged JAR will incorporate task ${task.name} from platform ${it.name}.") } } \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index 7a1cdc8a0..579176985 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -5,7 +5,7 @@ fun includeImmediateChildren(dir: File, type: String) { dir.walkTopDown().maxDepth(1).forEach { if (!it.isDirectory || !File(it, "build.gradle.kts").exists()) return@forEach val addonDir = it.relativeTo(file(".")).path.replace("/", ":").replace("\\", ":") - println("Including $type directory \"$addonDir\" as subproject.") + logger.info("Including $type directory \"$addonDir\" as subproject.") include(addonDir) } }