Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 6 additions & 27 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,37 +1,13 @@

/.gradle/
/build/
/.idea/
/api/target/
/api/.flattened-pom.xml
/api/ore-control-api.iml
/common/target/
/common/.flattened-pom.xml
/common/ore-control-common.iml
/impl/v1_18_R1/target/
/impl/v1_18_R1/.flattened-pom.xml
/impl/v1_18_R1/ore-control-impl-v1_18_R1.iml
/impl/v1_18_R2/target/
/impl/v1_18_R2/.flattened-pom.xml
/impl/v1_18_R2/ore-control-impl-v1_18_R2.iml
/impl/v1_19_R1/target/
/impl/v1_19_R1/.flattened-pom.xml
/impl/v1_19_R1/ore-control-impl-v1_19_R1.iml
/impl/v1_19_R2/target/
/impl/v1_19_R2/.flattened-pom.xml
/impl/v1_19_R2/ore-control-impl-v1_19_R2.iml
/impl/v1_19_R3/target/
/impl/v1_19_R3/.flattened-pom.xml
/impl/v1_19_R3/ore-control-impl-v1_19_R3.iml
/impl/v1_20_R1/target/
/impl/v1_20_R1/.flattened-pom.xml
/impl/v1_20_R1/ore-control-impl-v1_20_R1.iml
/impl/v1_20_R2/target/
/impl/v1_20_R2/.flattened-pom.xml
/impl/v1_20_R2/ore-control-impl-v1_20_R2.iml
/impl/v1_20_R3/target/
/impl/v1_20_R3/.flattened-pom.xml
/impl/v1_20_R3/ore-control-impl-v1_20_R3.iml
/impl/.flattened-pom.xml
/impl/ore-control-impl.iml
/ore-control/target/
/ore-control/.flattened-pom.xml
/ore-control/ore-control.iml
Expand All @@ -40,4 +16,7 @@
.flattened-pom.xml
target
*.iml

*/build/
*/.gradle
impl/*/build/
impl/*/.gradle
14 changes: 14 additions & 0 deletions api/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@

plugins {
`java-library`
id("buildlogic.common")
}

repositories {
maven("https://repo.papermc.io/repository/maven-public/")
}

dependencies {
compileOnly(libs.paperApi)
compileOnly(libs.jetbrainsAnnotations)
}
15 changes: 0 additions & 15 deletions api/pom.xml

This file was deleted.

6 changes: 3 additions & 3 deletions api/src/main/java/de/derfrzocker/feature/api/Feature.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,16 @@
* Each Feature contains one generator and can have multiple placement modifiers.
* The order of the placement modifiers is important. A list which preserves its order should be used.
*
* @param key The unique key of this feature.
* @param namedKey The unique key of this feature.
* @param generator The generator which generates the blocks.
* @param placementModifiers The placement modifiers which determine the positions to generate the feature.
*/
public record Feature(@NotNull NamespacedKey key, @NotNull FeatureGenerator<?> generator,
public record Feature(@NotNull NamespacedKey namedKey, @NotNull FeatureGenerator<?> generator,
@NotNull List<FeaturePlacementModifier<?>> placementModifiers) implements Keyed {

@NotNull
@Override
public NamespacedKey getKey() {
return key();
return namedKey();
}
}
15 changes: 15 additions & 0 deletions build-logic/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
plugins {
`kotlin-dsl`
}

repositories {
mavenCentral()
gradlePluginPortal()
}

dependencies {
implementation(gradleApi())
implementation(libs.grgit)
implementation(libs.paperweight)
implementation(libs.shadow)
}
9 changes: 9 additions & 0 deletions build-logic/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
dependencyResolutionManagement {
versionCatalogs {
create("libs") {
from(files("../gradle/libs.versions.toml"))
}
}
}

rootProject.name = "build-logic"
36 changes: 36 additions & 0 deletions build-logic/src/main/kotlin/buildlogic.adapter.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
plugins {
`java-library`
id("io.papermc.paperweight.userdev")
id("buildlogic.common-java")
}

repositories {
maven {
name = "Paper"
url = uri("https://repo.papermc.io/repository/maven-public/")
}
maven {
name = "DerFrZocker-Releases"
url = uri("https://nexus.derfrzocker.de/repository/maven-releases/")
metadataSources {
artifact()
}
}
mavenCentral()
}

paperweight.reobfArtifactConfiguration = io.papermc.paperweight.userdev.ReobfArtifactConfiguration.REOBF_PRODUCTION

dependencies {
"compileOnly"(project(":api"))
"compileOnly"(project(":common"))
constraints {
"remapper"("net.fabricmc:tiny-remapper:[0.8.11,)") {
because("Need remapper to support Java 21")
}
}
}

tasks.named("assemble").configure {
dependsOn("reobfJar")
}
16 changes: 16 additions & 0 deletions build-logic/src/main/kotlin/buildlogic.common-java.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@

plugins {
id("eclipse")
id("idea")
}

tasks
.withType<JavaCompile>()
.matching { it.name == "compileJava" || it.name == "compileTestJava" }
.configureEach {
options.release.set(21)
options.encoding = "UTF-8"
options.compilerArgs.add("-parameters")
options.compilerArgs.add("-Werror")
}

26 changes: 26 additions & 0 deletions build-logic/src/main/kotlin/buildlogic.common.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import org.gradle.kotlin.dsl.`java-library`
import org.gradle.kotlin.dsl.repositories

plugins {
`java-library`
id("buildlogic.common-java")
}

repositories {
maven {
name = "Paper"
url = uri("https://repo.papermc.io/repository/maven-public/")
}
maven {
name = "DerFrZocker-Releases"
url = uri("https://nexus.derfrzocker.de/repository/maven-releases/")
metadataSources {
artifact()
}
}
maven {
name = "CodeMC"
url = uri("https://repo.codemc.org/repository/maven-public")
}
mavenCentral()
}
5 changes: 5 additions & 0 deletions build-logic/src/main/kotlin/buildlogic.shadow.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

plugins {
id("com.gradleup.shadow")
id("buildlogic.common-java")
}
25 changes: 25 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import org.ajoberstar.grgit.Grgit
import java.time.LocalDate
import java.time.format.DateTimeFormatter

plugins {
jacoco
id("org.ajoberstar.grgit") version "5.2.2"
}

val date: String = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy.MM.dd"))

if (!project.hasProperty("gitCommitHash")) {
apply(plugin = "org.ajoberstar.grgit")
val gitCommitHash: String? = try {
extensions.getByName<Grgit>("grgit").head()?.abbreviatedId
} catch (e: Exception) {
logger.warn("Error getting commit hash", e)
""
}
version = "$date-$gitCommitHash"
} else {
version = date
}

group = "de.derfrzocker"
12 changes: 12 additions & 0 deletions common/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
plugins {
`java-library`
id("buildlogic.common")
}

dependencies {
compileOnly(libs.paperApi)
implementation(project(":api"))
implementation(libs.bstats)
implementation(libs.spigotutils)
compileOnly(libs.exp4j)
}
30 changes: 0 additions & 30 deletions common/pom.xml

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package de.derfrzocker.feature.common.util;

public class Refraction {
private static final String MOJANG_MAPPED_CLASS_NAME = "net.minecraft.nbt.ListTag";
private static final boolean IS_MOJANG_MAPPED;

static {
boolean isMojangMapped;
try {
Class.forName(MOJANG_MAPPED_CLASS_NAME, false, Refraction.class.getClassLoader());
isMojangMapped = true;
} catch (ClassNotFoundException e) {
isMojangMapped = false;
}
IS_MOJANG_MAPPED = isMojangMapped;
}

public static String pickName(String mojangName, String spigotName) {
return IS_MOJANG_MAPPED ? mojangName : spigotName;
}

private Refraction() {}
}
2 changes: 2 additions & 0 deletions gradle/gradle-daemon-jvm.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#This file is generated by updateDaemonJvm
toolchainVersion=21
23 changes: 23 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
[libraries]
grgit = "org.ajoberstar.grgit:grgit-gradle:5.2.2"
shadow = "com.gradleup.shadow:shadow-gradle-plugin:8.3.5"

paperweight = "io.papermc.paperweight.userdev:io.papermc.paperweight.userdev.gradle.plugin:1.7.7"

jsr305 = "com.google.code.findbugs:jsr305:3.0.2"
jetbrainsAnnotations = "org.jetbrains:annotations:24.1.0"

junit = "org.junit.jupiter:junit-jupiter:5.10.0-M1"

mockito-bom = "org.mockito:mockito-bom:5.11.0"
mockito-core.module = "org.mockito:mockito-core"
mockito-junit-jupiter.module = "org.mockito:mockito-junit-jupiter"

commonsCli = "commons-cli:commons-cli:1.4"

paperApi = "io.papermc.paper:paper-api:1.20.2-R0.1-SNAPSHOT"
paperLib = "io.papermc:paperlib:1.0.8"

bstats = "org.bstats:bstats-bukkit:3.0.0"
spigotutils = "de.derfrzocker:spigot-utils:97"
exp4j = "net.objecthunter:exp4j:0.4.8"
Binary file added gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
7 changes: 7 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading