From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: violetc <58360096+s-yh-china@users.noreply.github.com> Date: Tue, 13 Sep 2022 16:58:47 +0800 Subject: [PATCH] Build changes diff --git a/build.gradle.kts b/build.gradle.kts index 6d3d573ffc118e7f4d76422dc014a7df0384bb49..b688eeae8034128318925ad83d308332dfe043d0 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,8 +7,12 @@ plugins { } dependencies { - implementation(project(":paper-api")) - implementation(project(":paper-mojangapi")) + implementation(project(":leaves-api")) // Leaves + // Leaves start + implementation("io.papermc.paper:paper-mojangapi:1.20.1-R0.1-SNAPSHOT") { + exclude("io.papermc.paper", "paper-api") + } + // Leaves end // Paper start implementation("org.jline:jline-terminal-jansi:3.21.0") implementation("net.minecrell:terminalconsoleappender:1.3.0") @@ -58,13 +62,13 @@ tasks.jar { manifest { val git = Git(rootProject.layout.projectDirectory.path) val gitHash = git("rev-parse", "--short=7", "HEAD").getText().trim() - val implementationVersion = System.getenv("BUILD_NUMBER") ?: "\"$gitHash\"" + val implementationVersion = /* System.getenv("BUILD_NUMBER") ?: */ "\"$gitHash\"" // Leaves we dont have CI val date = git("show", "-s", "--format=%ci", gitHash).getText().trim() // Paper val gitBranch = git("rev-parse", "--abbrev-ref", "HEAD").getText().trim() // Paper attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", "Implementation-Title" to "CraftBukkit", - "Implementation-Version" to "git-Paper-$implementationVersion", + "Implementation-Version" to "git-Leaves-$implementationVersion", "Implementation-Vendor" to date, // Paper "Specification-Title" to "Bukkit", "Specification-Version" to project.version, @@ -136,7 +140,7 @@ fun TaskContainer.registerRunTask( name: String, block: JavaExec.() -> Unit ): TaskProvider = register(name) { - group = "paper" + group = "paperweight" mainClass.set("org.bukkit.craftbukkit.Main") standardInput = System.`in` workingDir = rootProject.layout.projectDirectory diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java index 4b002e8b75d117b726b0de274a76d3596fce015b..0ac8bcb0a4b7d1da3d0e016617db7a81ce9acead 100644 --- a/src/main/java/com/destroystokyo/paper/Metrics.java +++ b/src/main/java/com/destroystokyo/paper/Metrics.java @@ -593,7 +593,7 @@ public class Metrics { boolean logFailedRequests = config.getBoolean("logFailedRequests", false); // Only start Metrics, if it's enabled in the config if (config.getBoolean("enabled", true)) { - Metrics metrics = new Metrics("Paper", serverUUID, logFailedRequests, Bukkit.getLogger()); + Metrics metrics = new Metrics("Leaves", serverUUID, logFailedRequests, Bukkit.getLogger()); // Leaves - we have our own bstats page metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> { String minecraftVersion = Bukkit.getVersion(); @@ -603,15 +603,7 @@ public class Metrics { metrics.addCustomChart(new Metrics.SingleLineChart("players", () -> Bukkit.getOnlinePlayers().size())); metrics.addCustomChart(new Metrics.SimplePie("online_mode", () -> Bukkit.getOnlineMode() ? "online" : "offline")); - final String paperVersion; - final String implVersion = org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion(); - if (implVersion != null) { - final String buildOrHash = implVersion.substring(implVersion.lastIndexOf('-') + 1); - paperVersion = "git-Paper-%s-%s".formatted(Bukkit.getServer().getMinecraftVersion(), buildOrHash); - } else { - paperVersion = "unknown"; - } - metrics.addCustomChart(new Metrics.SimplePie("paper_version", () -> paperVersion)); + metrics.addCustomChart(new Metrics.SimplePie("leaves_version", () -> (Metrics.class.getPackage().getImplementationVersion() != null) ? Metrics.class.getPackage().getImplementationVersion() : "unknown")); // Leaves - we have our own bstats page metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> { Map> map = new HashMap<>(); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java index 3238cbcba567b1242c77e41f6b6f19a8d157fb4e..670f25370554c3f8c40d2fcc4f5a31d7a372f452 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1693,7 +1693,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop // Spigot - Spigot > // CraftBukkit - cb > vanilla! + return "Leaves"; // Leaves - Leaves > //Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla! } public SystemReport fillSystemReport(SystemReport details) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java index 0859f11567aecc8cae993a1409cfac7c53ab3dd5..b1f34ee7a421c35eb3ee7ab112defe48d935c788 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -261,7 +261,7 @@ import javax.annotation.Nullable; // Paper import javax.annotation.Nonnull; // Paper public final class CraftServer implements Server { - private final String serverName = "Paper"; // Paper + private final String serverName = "Leaves"; // Leaves // Paper private final String serverVersion; private final String bukkitVersion = Versioning.getBukkitVersion(); private final Logger logger = Logger.getLogger("Minecraft"); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java index d4f6935a1bea77e5118bfd538f9b1358c21591a7..a53514f2c510b29f596c361de7bc0b405c27e964 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -292,7 +292,7 @@ public class Main { if (buildDate.before(deadline.getTime())) { // Paper start - This is some stupid bullshit System.err.println("*** Warning, you've not updated in a while! ***"); - System.err.println("*** Please download a new build as per instructions from https://papermc.io/downloads/paper ***"); // Paper + System.err.println("*** Please download a new build as per instructions from https://github.com/LeavesMC/Leaves/releases ***"); //Paper // Leaves //System.err.println("*** Server will start in 20 seconds ***"); //Thread.sleep(TimeUnit.SECONDS.toMillis(20)); // Paper End diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java index 774556a62eb240da42e84db4502e2ed43495be17..ca166161ef919c559de9cc02bdf435cbfcc972df 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java @@ -11,7 +11,7 @@ public final class Versioning { public static String getBukkitVersion() { String result = "Unknown-Version"; - InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/io.papermc.paper/paper-api/pom.properties"); + InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/top.leavesmc.leaves/leaves-api/pom.properties"); // Leaves Properties properties = new Properties(); if (stream != null) { diff --git a/src/main/resources/logo.png b/src/main/resources/logo.png index 8b924977b7886df9ab8790b1e4ff9b1c04a2af45..68e9ac07245a9e4607b5e57c3511121a5651ad43 100644 GIT binary patch literal 9654 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 literal 16900 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 LFIp>X81%mY^Bg|U