Skip to content

Commit 8a32118

Browse files
committed
(upgrade) mc 1.20.4
+ (refactor) rewrite build.gradle file into kts
1 parent 6606708 commit 8a32118

File tree

10 files changed

+158
-134
lines changed

10 files changed

+158
-134
lines changed

at.at

Lines changed: 0 additions & 2 deletions
This file was deleted.

build.gradle

Lines changed: 0 additions & 120 deletions
This file was deleted.

build.gradle.kts

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
import io.papermc.paperweight.util.path
2+
3+
plugins {
4+
`java-library`
5+
`maven-publish`
6+
id("io.papermc.paperweight.userdev") version "1.5.11"
7+
id("xyz.jpenilla.run-paper") version "2.2.3" // Adds runServer and runMojangMappedServer tasks for testing
8+
}
9+
10+
// = = =
11+
12+
val pluginName = "NyaaCore"
13+
val majorVersion = 9
14+
val minorVersion = 3
15+
16+
val paperApiName = "1.20.4-R0.1-SNAPSHOT"
17+
18+
// = = =
19+
20+
// for Jenkins CI
21+
val buildNumber = System.getenv("BUILD_NUMBER") ?: "local"
22+
val mavenDirectory =
23+
System.getenv("MAVEN_DIR")
24+
?: layout.buildDirectory.dir("repo").path.toString()
25+
val javaDocDirectory =
26+
System.getenv("JAVADOC_DIR")
27+
?: layout.buildDirectory.dir("javadoc").path.toString()
28+
29+
// Version used for distribution. Different from maven repo
30+
group = "cat.nyaa"
31+
//archivesBaseName = "${pluginNameUpper}-mc$minecraftVersion"
32+
version =
33+
"$majorVersion.$minorVersion-${getMcVersion(paperApiName)}-b$buildNumber"
34+
35+
java {
36+
// Configure the java toolchain. This allows gradle to auto-provision JDK 17 on systems that only have JDK 8 installed for example.
37+
toolchain.languageVersion.set(JavaLanguageVersion.of(17))
38+
}
39+
40+
repositories {
41+
mavenCentral()
42+
maven {
43+
url = uri("https://papermc.io/repo/repository/maven-public/")
44+
} //paper
45+
maven { url = uri("https://libraries.minecraft.net") } // mojang
46+
maven { url = uri("https://repo.essentialsx.net/releases/") } // essentials
47+
maven { url = uri("https://ci.nyaacat.com/maven/") } // nyaacat
48+
49+
}
50+
51+
dependencies {
52+
paperweightDevelopmentBundle(paperweight.paperDevBundle(paperApiName))
53+
// paperweight.foliaDevBundle("1.20.4-R0.1-SNAPSHOT")
54+
// paperweight.devBundle("com.example.paperfork", "1.20.4-R0.1-SNAPSHOT")
55+
compileOnly("net.essentialsx:EssentialsX:2.19.6") // soft dep
56+
compileOnly("org.jetbrains:annotations:23.0.0")
57+
// Testing
58+
testImplementation(platform("org.junit:junit-bom:5.9.0"))
59+
testImplementation("org.junit.jupiter:junit-jupiter")
60+
testImplementation("com.github.seeseemelk:MockBukkit-v1.19:2.132.3")
61+
testImplementation("org.mockito:mockito-core:4.8.0")
62+
testImplementation("org.mockito:mockito-junit-jupiter:4.8.0")
63+
testImplementation("org.xerial:sqlite-jdbc:3.39.3.0")
64+
testImplementation("ch.vorburger.mariaDB4j:mariaDB4j:2.6.0")
65+
}
66+
67+
publishing {
68+
publications {
69+
create<MavenPublication>("mavenJava") {
70+
from(getComponents()["java"])
71+
afterEvaluate {
72+
artifactId = pluginName
73+
groupId = "$group"
74+
version =
75+
"$majorVersion.$minorVersion.$buildNumber-${
76+
getMcVersion(
77+
paperApiName
78+
)
79+
}"
80+
}
81+
}
82+
}
83+
repositories {
84+
maven {
85+
name = "nyaaMaven"
86+
url = uri(mavenDirectory)
87+
}
88+
}
89+
}
90+
91+
/*
92+
reobfJar {
93+
// This is an example of how you might change the output location for reobfJar. It's recommended not to do this
94+
// for a variety of reasons, however it's asked frequently enough that an example of how to do it is included here.
95+
outputJar.set(layout.buildDirectory.file("libs/PaperweightTestPlugin-${project.version}.jar"))
96+
}
97+
*/
98+
99+
100+
tasks {
101+
// Configure reobfJar to run when invoking the build task
102+
assemble {
103+
dependsOn(reobfJar)
104+
}
105+
106+
107+
compileJava {
108+
options.encoding = Charsets.UTF_8.name() // We want UTF-8 for everything
109+
110+
// Set the release flag. This configures what version bytecode the compiler will emit, as well as what JDK APIs are usable.
111+
// See https://openjdk.java.net/jeps/247 for more information.
112+
options.release.set(17)
113+
}
114+
javadoc {
115+
with((options as StandardJavadocDocletOptions)) {
116+
options.encoding =
117+
Charsets.UTF_8.name() // We want UTF-8 for everything
118+
links("https://docs.oracle.com/en/java/javase/17/docs/api/")
119+
links("https://guava.dev/releases/21.0/api/docs/")
120+
links("https://ci.md-5.net/job/BungeeCord/ws/chat/target/apidocs/")
121+
links("https://jd.papermc.io/paper/1.20/")
122+
options.locale = "en_US"
123+
options.encoding = "UTF-8"
124+
(options as StandardJavadocDocletOptions).addBooleanOption(
125+
"keywords",
126+
true
127+
)
128+
(options as StandardJavadocDocletOptions).addStringOption(
129+
"Xdoclint:none",
130+
"-quiet"
131+
)
132+
(options as StandardJavadocDocletOptions).addBooleanOption(
133+
"html5",
134+
true
135+
)
136+
options.windowTitle = "$pluginName Javadoc"
137+
}
138+
139+
140+
}
141+
142+
}
143+
144+
private fun getMcVersion(apiNameString: String): String {
145+
return apiNameString.split('-')[0]
146+
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
12
distributionBase=GRADLE_USER_HOME
23
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
4-
zipStoreBase=GRADLE_USER_HOME
54
zipStorePath=wrapper/dists
5+
zipStoreBase=GRADLE_USER_HOME

src/main/java/cat/nyaa/nyaacore/utils/ItemStackUtils.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import net.minecraft.util.datafix.DataFixers;
1515
import net.minecraft.util.datafix.fixes.References;
1616
import org.bukkit.Bukkit;
17-
import org.bukkit.craftbukkit.v1_20_R1.inventory.CraftItemStack;
17+
import org.bukkit.craftbukkit.v1_20_R3.inventory.CraftItemStack;
1818
import org.bukkit.inventory.ItemStack;
1919

2020
import java.io.*;
@@ -78,13 +78,13 @@ public static ItemStack itemFromBinary(byte[] nbt) throws ReflectiveOperationExc
7878

7979
public static ItemStack itemFromBinary(byte[] nbt, int offset, int len) throws IOException {
8080
if (unlimitedNbtAccounter == null) {
81-
unlimitedNbtAccounter = NbtAccounter.UNLIMITED;
81+
unlimitedNbtAccounter = NbtAccounter.unlimitedHeap();
8282
}
8383

8484
//Constructor<?> constructNativeItemStackFromCompoundTag = classNativeItemStack.getConstructor(classCompoundTag);
8585
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(nbt, offset, len);
8686
DataInputStream dataInputStream = new DataInputStream(byteArrayInputStream);
87-
CompoundTag reconstructedCompoundTag = CompoundTag.TYPE.load(dataInputStream, 0, unlimitedNbtAccounter);
87+
CompoundTag reconstructedCompoundTag = CompoundTag.TYPE.load(dataInputStream, unlimitedNbtAccounter);
8888
dataInputStream.close();
8989
byteArrayInputStream.close();
9090
int dataVersion = reconstructedCompoundTag.getInt(NYAACORE_ITEMSTACK_DATAVERSION_KEY);

src/main/java/cat/nyaa/nyaacore/utils/ItemTagUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package cat.nyaa.nyaacore.utils;
22

33
import net.minecraft.nbt.CompoundTag;
4-
import org.bukkit.craftbukkit.v1_20_R1.inventory.CraftItemStack;
4+
import org.bukkit.craftbukkit.v1_20_R3.inventory.CraftItemStack;
55
import org.bukkit.inventory.ItemStack;
66

77
import java.lang.reflect.Field;

src/main/java/cat/nyaa/nyaacore/utils/LocaleUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import net.md_5.bungee.api.chat.TranslatableComponent;
66
import org.bukkit.Material;
77
import org.bukkit.NamespacedKey;
8-
import org.bukkit.craftbukkit.v1_20_R1.inventory.CraftItemStack;
8+
import org.bukkit.craftbukkit.v1_20_R3.inventory.CraftItemStack;
99
import org.bukkit.enchantments.Enchantment;
1010
import org.bukkit.inventory.ItemStack;
1111
import org.bukkit.inventory.meta.SkullMeta;

src/main/java/cat/nyaa/nyaacore/utils/NmsUtils.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
import org.bukkit.World;
1212
import org.bukkit.block.Block;
1313
import org.bukkit.block.BlockState;
14-
import org.bukkit.craftbukkit.v1_20_R1.CraftWorld;
15-
import org.bukkit.craftbukkit.v1_20_R1.entity.CraftEntity;
16-
import org.bukkit.craftbukkit.v1_20_R1.entity.CraftLivingEntity;
14+
import org.bukkit.craftbukkit.v1_20_R3.CraftWorld;
15+
import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
16+
import org.bukkit.craftbukkit.v1_20_R3.entity.CraftLivingEntity;
1717
import org.bukkit.entity.Entity;
1818
import org.bukkit.entity.LivingEntity;
1919

src/main/java/cat/nyaa/nyaacore/utils/RayTraceUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import org.bukkit.FluidCollisionMode;
55
import org.bukkit.GameMode;
66
import org.bukkit.block.Block;
7-
import org.bukkit.craftbukkit.v1_20_R1.entity.CraftEntity;
7+
import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
88
import org.bukkit.entity.Entity;
99
import org.bukkit.entity.EntityType;
1010
import org.bukkit.entity.LivingEntity;

src/main/java/cat/nyaa/nyaacore/utils/TridentUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package cat.nyaa.nyaacore.utils;
22

33
import net.minecraft.world.entity.projectile.ThrownTrident;
4-
import org.bukkit.craftbukkit.v1_20_R1.entity.CraftEntity;
4+
import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
55
import org.bukkit.entity.Trident;
66
import org.bukkit.inventory.ItemStack;
77

0 commit comments

Comments
 (0)