mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-05-20 08:40:26 +00:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e160cae3d8 | |||
| cb9aa4f167 | |||
| b612d1c7aa | |||
| e4df8dce1d | |||
| 601d174720 | |||
| 3339d08e11 | |||
| 3aef977384 | |||
| 6060ceae57 | |||
| e499ddebd4 |
+6
-12
@@ -1,19 +1,13 @@
|
||||
# Global owners, automatically request review when pull request is submitted
|
||||
* @dfsek @solonovamax
|
||||
* @dfsek @solonovamax @duplexsystem @Astrashh @justaureus
|
||||
|
||||
# Platforms
|
||||
## dfsek wrote the majority of the platform impls
|
||||
/platforms/bukkit/ @dfsek
|
||||
/platforms/fabric/ @dfsek
|
||||
/platforms/forge/ @dfsek
|
||||
/platforms/sponge/ @dfsek
|
||||
## solonovamax is working on the region generator (unless duplexsystem takes it over)
|
||||
/platforms/region/ @solonovamax
|
||||
/platforms/ @dfsek @solonovamax @duplexsystem @justaureus
|
||||
|
||||
# Common
|
||||
/common/ @dfsek @solonovamax
|
||||
/common/ @dfsek @solonovamax @duplexsystem @Astrashh
|
||||
|
||||
# Gradle Stuff
|
||||
## Most gradle stuff was written by solonovamax
|
||||
/buildSrc/ @solonovamax
|
||||
*.gradle.kts @solonovamax
|
||||
/buildSrc/ @dfsek @solonovamax @duplexsystem
|
||||
*.gradle.kts @dfsek @solonovamax @duplexsystem
|
||||
/gradle/ @dfsek @solonovamax @duplexsystem
|
||||
@@ -0,0 +1,47 @@
|
||||
# This workflow uses actions that are not certified by GitHub.
|
||||
# They are provided by a third-party and are governed by
|
||||
# separate terms of service, privacy policy, and support
|
||||
# documentation.
|
||||
# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created
|
||||
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle
|
||||
|
||||
name: Gradle Build
|
||||
|
||||
on: [ pull_request ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
|
||||
- name: Set up JDK 17
|
||||
uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93
|
||||
with:
|
||||
java-version: '17'
|
||||
distribution: 'temurin'
|
||||
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
|
||||
settings-path: ${{ github.workspace }} # location for the settings.xml file
|
||||
|
||||
- uses: burrunan/gradle-cache-action@03c71a8ba93d670980695505f48f49daf43704a6
|
||||
name: Build Terra
|
||||
with:
|
||||
# Specifies arguments for Gradle execution
|
||||
# If arguments is missing or empty, then Gradle is not executed
|
||||
arguments: build
|
||||
# arguments can be multi-line for better readability
|
||||
# arguments: |
|
||||
# --no-paralell
|
||||
# build
|
||||
# -x test
|
||||
# Gradle version to use for execution:
|
||||
# wrapper (default), current, rc, nightly, release-nightly, or
|
||||
# versions like 6.6 (see https://services.gradle.org/versions/all)
|
||||
gradle-version: wrapper
|
||||
# Properties are passed as -Pname=value
|
||||
properties: |
|
||||
kotlin.js.compiler=ir
|
||||
kotlin.parallel.tasks.in.project=true
|
||||
+3
-3
@@ -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 {
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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()}")
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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.*"
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
version = version("1.1.0")
|
||||
version = version("1.1.1")
|
||||
|
||||
dependencies {
|
||||
compileOnlyApi(project(":common:addons:manifest-addon-loader"))
|
||||
|
||||
+16
-23
@@ -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
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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}.")
|
||||
}
|
||||
}
|
||||
+10
-1
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -39,3 +39,12 @@ pluginManagement {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// settings.gradle.kts
|
||||
val isCiServer = System.getenv().containsKey("CI")
|
||||
// Cache build artifacts, so expensive operations do not need to be re-computed
|
||||
buildCache {
|
||||
local {
|
||||
isEnabled = !isCiServer
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user