Updated Upstream (Paper, Purpur)
[Purpur Changes] PlazmaMC/Purpur@ceeec1c: work PlazmaMC/Purpur@e8f8f93: Updated Upstream (Paper, Pufferfish) [Paper Changes] PaperMC/Paper@f175193: Expose server build information (#10729) PaperMC/Paper@d8d59e0: Fix NPE sending resource pack without prompt PaperMC/Paper@5a9afbe: Fixes issues in the suppress dismount cancellation patch (#10735) PaperMC/Paper@0ad09de: Make PaperSimplePluginClassLoader show class which is not found PaperMC/Paper@b3b3406: fix CompassMeta not being correct (#10737) PaperMC/Paper@591521e: Check for more correct profile validation (#10730) PaperMC/Paper@7d2e5c3: Add an 'empty' RecipeChoice for certain ingredient slots (#10710) PaperMC/Paper@9bf4855: Add a better warning message than "Server performance will be affected" for CommandRegisteredEvent use (#10754) PaperMC/Paper@66cb880: Remove ThreadedWorldUpgrader patch PaperMC/Paper@980cff9: Fix compile PaperMC/Paper@d3ffa62: fix default item attributes PaperMC/Paper@b149584: Always show command exception stack traces in logs (#10766) PaperMC/Paper@a9201d4: [ci skip] Move logic in our patches to ItemType/BlockType (#10772) PaperMC/Paper@3de408e: Fix equipment slot and group API (#10767) PaperMC/Paper@d408381: Print CommandRegisteredEvent deprecation warnings again (#10756) PaperMC/Paper@6de7a1f: Improve default item attributes API (#10765) PaperMC/Paper@2a90732: Remove incorrect logic for Fireball#setVelocity (#10764) PaperMC/Paper@5e7b65a: Allow using PluginLoader classpath API from Bukkit plugins (#10758) PaperMC/Paper@3004717: Do not re-wrap vanilla goals (#10751) PaperMC/Paper@377733d: Use getter/setter on Mob for equipment drop chances (#10780) PaperMC/Paper@dff591d: Allow to define new map cursor types (#10782) PaperMC/Paper@4fd3ac0: [ci skip] Update Player#getListeningPluginChannels Jdoc (#10778) PaperMC/Paper@535dca5: Fix a few issues with ItemMeta (#10740) PaperMC/Paper@26e90b9: Fix CraftMetaBlockState for data components (#10731) PaperMC/Paper@f0bd0cc: Expose anvil cost in the API (#10682) PaperMC/Paper@41bee55: Fix NPE for color-related metas PaperMC/Paper@4e10fad: reset meta block state on BlockStateMeta#setBlockState
This commit is contained in:
@@ -11,8 +11,8 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
val jdkVersion = property("jdkVersion").toString().toInt()
|
val jdkVersion = property("jdkVersion").toString().toInt()
|
||||||
val projectName = property("projectName").toString()
|
val providerRepo = property("providerRepo").toString()
|
||||||
val projectRepo = property("projectRepo").toString()
|
val brandName = property("brandName").toString()
|
||||||
|
|
||||||
kotlin.jvmToolchain(jdkVersion)
|
kotlin.jvmToolchain(jdkVersion)
|
||||||
|
|
||||||
@@ -35,21 +35,13 @@ allprojects {
|
|||||||
|
|
||||||
java.toolchain.languageVersion.set(JavaLanguageVersion.of(jdkVersion))
|
java.toolchain.languageVersion.set(JavaLanguageVersion.of(jdkVersion))
|
||||||
|
|
||||||
publishing {
|
publishing.repositories.maven("https://maven.pkg.github.com/$providerRepo") {
|
||||||
repositories {
|
name = "githubPackage"
|
||||||
maven {
|
url = uri("https://maven.pkg.github.com/$providerRepo")
|
||||||
name = "githubPackage"
|
|
||||||
url = uri("https://maven.pkg.github.com/$projectRepo")
|
|
||||||
|
|
||||||
credentials {
|
credentials {
|
||||||
username = System.getenv("GITHUB_USERNAME")
|
username = System.getenv("GITHUB_USERNAME")
|
||||||
password = System.getenv("GITHUB_TOKEN")
|
password = System.getenv("GITHUB_TOKEN")
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
publications.register<MavenPublication>("gpr") {
|
|
||||||
from(components["java"])
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -90,7 +82,7 @@ subprojects {
|
|||||||
}
|
}
|
||||||
|
|
||||||
paperweight {
|
paperweight {
|
||||||
serverProject = project(":${projectName.lowercase()}-server")
|
serverProject = project(":${brandName.lowercase()}-server")
|
||||||
|
|
||||||
remapRepo = "https://repo.papermc.io/repository/maven-public/"
|
remapRepo = "https://repo.papermc.io/repository/maven-public/"
|
||||||
decompileRepo = "https://repo.papermc.io/repository/maven-public/"
|
decompileRepo = "https://repo.papermc.io/repository/maven-public/"
|
||||||
@@ -98,10 +90,10 @@ paperweight {
|
|||||||
usePaperUpstream(providers.gradleProperty("paperCommit")) {
|
usePaperUpstream(providers.gradleProperty("paperCommit")) {
|
||||||
withPaperPatcher {
|
withPaperPatcher {
|
||||||
apiPatchDir.set(projectDir.resolve("patches/api"))
|
apiPatchDir.set(projectDir.resolve("patches/api"))
|
||||||
apiOutputDir.set(projectDir.resolve("$projectName-API"))
|
apiOutputDir.set(projectDir.resolve("$brandName-API"))
|
||||||
|
|
||||||
serverPatchDir.set(projectDir.resolve("patches/server"))
|
serverPatchDir.set(projectDir.resolve("patches/server"))
|
||||||
serverOutputDir.set(projectDir.resolve("$projectName-Server"))
|
serverOutputDir.set(projectDir.resolve("$brandName-Server"))
|
||||||
}
|
}
|
||||||
|
|
||||||
patchTasks.register("generatedApi") {
|
patchTasks.register("generatedApi") {
|
||||||
@@ -139,10 +131,10 @@ tasks {
|
|||||||
}
|
}
|
||||||
|
|
||||||
generateDevelopmentBundle {
|
generateDevelopmentBundle {
|
||||||
apiCoordinates.set("${project.group}:${projectName.lowercase()}-api")
|
apiCoordinates.set("${project.group}:${brandName.lowercase()}-api")
|
||||||
libraryRepositories.addAll(
|
libraryRepositories.addAll(
|
||||||
"https://repo.maven.apache.org/maven2/",
|
"https://repo.maven.apache.org/maven2/",
|
||||||
"https://maven.pkg.github.com/$projectRepo",
|
"https://maven.pkg.github.com/$providerRepo",
|
||||||
"https://papermc.io/repo/repository/maven-public/"
|
"https://papermc.io/repo/repository/maven-public/"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -151,8 +143,8 @@ tasks {
|
|||||||
doLast {
|
doLast {
|
||||||
listOf(
|
listOf(
|
||||||
".gradle/caches",
|
".gradle/caches",
|
||||||
"$projectName-API",
|
"$brandName-API",
|
||||||
"$projectName-Server",
|
"$brandName-Server",
|
||||||
"paper-api-generator",
|
"paper-api-generator",
|
||||||
"run",
|
"run",
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,9 @@ paper.runMemoryGb = 8
|
|||||||
paper.runDisableWatchdog = true
|
paper.runDisableWatchdog = true
|
||||||
|
|
||||||
group = org.plazmamc.plazma
|
group = org.plazmamc.plazma
|
||||||
projectName = Plazma
|
brandName = Plazma
|
||||||
projectRepo = PlazmaMC/PlazmaBukkit
|
providerName = PlazmaMC
|
||||||
|
providerRepo = PlazmaMC/PlazmaBukkit
|
||||||
|
|
||||||
version = 1.20.6-R0.1-SNAPSHOT
|
version = 1.20.6-R0.1-SNAPSHOT
|
||||||
mcVersion = 1.20.6
|
mcVersion = 1.20.6
|
||||||
@@ -23,5 +24,5 @@ pufferfishRepo = https://github.com/PlazmaMC/Pufferfish
|
|||||||
pufferfishBranch = ver/1.20
|
pufferfishBranch = ver/1.20
|
||||||
usePufferfish = true
|
usePufferfish = true
|
||||||
|
|
||||||
paperCommit = 3fc93581bb876e8149b2ca423375a98f5ca12d27
|
paperCommit = 4e10fadfdc8f854feeabf916c23a71e21fb0b29f
|
||||||
purpurCommit = 150395f1dc7bc64b1e8099f9f41ee7f9bcc94519
|
purpurCommit = e8f8f9345b7f7110e8f85e542c0cbccbb0fb1475
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
From: AlphaKR93 <dev@alpha93.kr>
|
From: AlphaKR93 <dev@alpha93.kr>
|
||||||
Date: Tue, 14 May 2024 19:21:24 +0900
|
Date: Sun, 26 May 2024 19:50:35 +0900
|
||||||
Subject: [PATCH] Pufferfish API Changes
|
Subject: [PATCH] Pufferfish API Changes
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
From: granny <contact@granny.dev>
|
From: granny <contact@granny.dev>
|
||||||
Date: Wed, 15 May 2024 03:16:50 +0000
|
Date: Sun, 26 May 2024 20:53:49 +0900
|
||||||
Subject: [PATCH] Purpur API Changes
|
Subject: [PATCH] Purpur API Changes
|
||||||
|
|
||||||
PurpurMC
|
PurpurMC
|
||||||
@@ -198,11 +198,29 @@ index ab5fea0b03224bf249352ce340e94704ff713345..3441cdad70da1bd523c5933b1a914688
|
|||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
SIMDDetection.testRun = true;
|
SIMDDetection.testRun = true;
|
||||||
|
diff --git a/src/main/java/io/papermc/paper/ServerBuildInfo.java b/src/main/java/io/papermc/paper/ServerBuildInfo.java
|
||||||
|
index 9df9d09aa477d4cd3c496ba0933c816df1ef0964..7107eabf02d9d9b69d97c978ba421ad52031ec3f 100644
|
||||||
|
--- a/src/main/java/io/papermc/paper/ServerBuildInfo.java
|
||||||
|
+++ b/src/main/java/io/papermc/paper/ServerBuildInfo.java
|
||||||
|
@@ -18,6 +18,13 @@ public interface ServerBuildInfo {
|
||||||
|
*/
|
||||||
|
Key BRAND_PAPER_ID = Key.key("papermc", "paper");
|
||||||
|
|
||||||
|
+ // Purpur start
|
||||||
|
+ /**
|
||||||
|
+ * The brand id for Purpur.
|
||||||
|
+ */
|
||||||
|
+ Key BRAND_PURPUR_ID = Key.key("purpurmc", "purpur");
|
||||||
|
+ // Purpur end
|
||||||
|
+
|
||||||
|
/**
|
||||||
|
* Gets the {@code ServerBuildInfo}.
|
||||||
|
*
|
||||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||||
index 5d1b55fdbcbe63f6b42b694d05211a3cc691a09d..70ef8f63ab79e102cb4326c21cc344488f4fbdd3 100644
|
index 9a219b255b63f10005fc68faacb771dd32f61ac2..83b979fbb8c0dd64f0a19feef654af2b165bd603 100644
|
||||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||||
@@ -2910,4 +2910,127 @@ public final class Bukkit {
|
@@ -2913,4 +2913,127 @@ public final class Bukkit {
|
||||||
public static Server.Spigot spigot() {
|
public static Server.Spigot spigot() {
|
||||||
return server.spigot();
|
return server.spigot();
|
||||||
}
|
}
|
||||||
@@ -421,10 +439,10 @@ index 918a045165cdcde264bc24082b7afebb407271de..687d11619379aead7f665d4a5f8f8bcc
|
|||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
|
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
|
||||||
index 81f9ad99699a78b97e4accaaf1a98eacf29493ce..e3e996d932db689ba62a43f7f01d6f003f8337d3 100644
|
index 7509b61dfdc0a6675256970cb850b08f9e814580..c1986ca90c3adb81daca4f72b62cda65e5465bff 100644
|
||||||
--- a/src/main/java/org/bukkit/Material.java
|
--- a/src/main/java/org/bukkit/Material.java
|
||||||
+++ b/src/main/java/org/bukkit/Material.java
|
+++ b/src/main/java/org/bukkit/Material.java
|
||||||
@@ -5701,4 +5701,40 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
|
@@ -5733,4 +5733,40 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
|
||||||
}
|
}
|
||||||
return Registry.BLOCK.get(material.key);
|
return Registry.BLOCK.get(material.key);
|
||||||
}
|
}
|
||||||
@@ -577,7 +595,7 @@ index 30298a629b39bd43ce14b414fc697b2dfcbea89c..ce00af9121de7a910aaea4e0685a06d4
|
|||||||
+ // Purpur end - OfflinePlayer API
|
+ // Purpur end - OfflinePlayer API
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||||
index c8595ffcfcbdd79794d464415287d46acef72b72..ec8b9b2cbe65838a194281f7d76d0e17defc5211 100644
|
index 49d2547fcdaf779e284f513e58c1ac2ae3000bda..916db0d6096338c4f1b8707048eb38b50a2b027d 100644
|
||||||
--- a/src/main/java/org/bukkit/Server.java
|
--- a/src/main/java/org/bukkit/Server.java
|
||||||
+++ b/src/main/java/org/bukkit/Server.java
|
+++ b/src/main/java/org/bukkit/Server.java
|
||||||
@@ -2257,6 +2257,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
|
@@ -2257,6 +2257,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
|
||||||
@@ -599,7 +617,7 @@ index c8595ffcfcbdd79794d464415287d46acef72b72..ec8b9b2cbe65838a194281f7d76d0e17
|
|||||||
/**
|
/**
|
||||||
* Sends the component to the player
|
* Sends the component to the player
|
||||||
*
|
*
|
||||||
@@ -2542,4 +2554,105 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
|
@@ -2546,4 +2558,105 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
|
||||||
*/
|
*/
|
||||||
boolean isOwnedByCurrentRegion(@NotNull Entity entity);
|
boolean isOwnedByCurrentRegion(@NotNull Entity entity);
|
||||||
// Paper end - Folia region threading API
|
// Paper end - Folia region threading API
|
||||||
@@ -864,7 +882,7 @@ index c3a9cf65db73ed534bf20996c7f05b5eb0aaebe1..fdedac32544be6534288c8ba28abe7f5
|
|||||||
server.getPluginManager().callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerCommandException(ex, target, sender, args))); // Paper
|
server.getPluginManager().callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerCommandException(ex, target, sender, args))); // Paper
|
||||||
//target.timings.stopTiming(); // Spigot // Paper
|
//target.timings.stopTiming(); // Spigot // Paper
|
||||||
diff --git a/src/main/java/org/bukkit/command/defaults/VersionCommand.java b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
diff --git a/src/main/java/org/bukkit/command/defaults/VersionCommand.java b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
||||||
index fd5d9881abfd930bb883120f018f76dc78b62b14..d3dadad49df09e85c724c93e8cc88da2c985e9b4 100644
|
index fd5d9881abfd930bb883120f018f76dc78b62b14..3d29c47ac0620af82d990faf5dfc266c6f0235f1 100644
|
||||||
--- a/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
--- a/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
||||||
+++ b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
+++ b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
||||||
@@ -214,7 +214,7 @@ public class VersionCommand extends BukkitCommand {
|
@@ -214,7 +214,7 @@ public class VersionCommand extends BukkitCommand {
|
||||||
@@ -886,7 +904,7 @@ index fd5d9881abfd930bb883120f018f76dc78b62b14..d3dadad49df09e85c724c93e8cc88da2
|
|||||||
+ // Purpur start
|
+ // Purpur start
|
||||||
+ int distance = getVersionFetcher().distance();
|
+ int distance = getVersionFetcher().distance();
|
||||||
+ final Component message = Component.join(net.kyori.adventure.text.JoinConfiguration.separator(Component.newline()),
|
+ final Component message = Component.join(net.kyori.adventure.text.JoinConfiguration.separator(Component.newline()),
|
||||||
+ ChatColor.parseMM("<grey>Current: %s%s*", distance == 0 ? "<green>" : distance > 0 ? "<yellow>" : "<red>", Bukkit.getVersion()),
|
+ ChatColor.parseMM("<grey>Current Purpur Version: %s%s*", distance == 0 ? "<green>" : distance > 0 ? "<yellow>" : "<red>", Bukkit.getVersion()),
|
||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
msg
|
msg
|
||||||
);
|
);
|
||||||
@@ -2041,7 +2059,7 @@ index c64413a6740b604282984dea2a8430a6e7478d68..5c609d916e2d2f08ba90ebd23f13c5c9
|
|||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/inventory/RecipeChoice.java b/src/main/java/org/bukkit/inventory/RecipeChoice.java
|
diff --git a/src/main/java/org/bukkit/inventory/RecipeChoice.java b/src/main/java/org/bukkit/inventory/RecipeChoice.java
|
||||||
index c143b0d8b97d514566bac8413d0346cf50822aeb..032a21766ce91471cb7d91b663d70e0d9fa66a26 100644
|
index 1cd6601c9d2e86ef850011fcb9e59811207b4af7..5ec7d9dab1935bb743e3264d9f7390795fd9f55c 100644
|
||||||
--- a/src/main/java/org/bukkit/inventory/RecipeChoice.java
|
--- a/src/main/java/org/bukkit/inventory/RecipeChoice.java
|
||||||
+++ b/src/main/java/org/bukkit/inventory/RecipeChoice.java
|
+++ b/src/main/java/org/bukkit/inventory/RecipeChoice.java
|
||||||
@@ -10,6 +10,7 @@ import java.util.function.Predicate;
|
@@ -10,6 +10,7 @@ import java.util.function.Predicate;
|
||||||
@@ -2052,7 +2070,7 @@ index c143b0d8b97d514566bac8413d0346cf50822aeb..032a21766ce91471cb7d91b663d70e0d
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a potential item match within a recipe. All choices within a
|
* Represents a potential item match within a recipe. All choices within a
|
||||||
@@ -157,6 +158,7 @@ public interface RecipeChoice extends Predicate<ItemStack>, Cloneable {
|
@@ -180,6 +181,7 @@ public interface RecipeChoice extends Predicate<ItemStack>, Cloneable {
|
||||||
public static class ExactChoice implements RecipeChoice {
|
public static class ExactChoice implements RecipeChoice {
|
||||||
|
|
||||||
private List<ItemStack> choices;
|
private List<ItemStack> choices;
|
||||||
@@ -2060,7 +2078,7 @@ index c143b0d8b97d514566bac8413d0346cf50822aeb..032a21766ce91471cb7d91b663d70e0d
|
|||||||
|
|
||||||
public ExactChoice(@NotNull ItemStack stack) {
|
public ExactChoice(@NotNull ItemStack stack) {
|
||||||
this(Arrays.asList(stack));
|
this(Arrays.asList(stack));
|
||||||
@@ -206,6 +208,7 @@ public interface RecipeChoice extends Predicate<ItemStack>, Cloneable {
|
@@ -229,6 +231,7 @@ public interface RecipeChoice extends Predicate<ItemStack>, Cloneable {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean test(@NotNull ItemStack t) {
|
public boolean test(@NotNull ItemStack t) {
|
||||||
@@ -2068,7 +2086,7 @@ index c143b0d8b97d514566bac8413d0346cf50822aeb..032a21766ce91471cb7d91b663d70e0d
|
|||||||
for (ItemStack match : choices) {
|
for (ItemStack match : choices) {
|
||||||
if (t.isSimilar(match)) {
|
if (t.isSimilar(match)) {
|
||||||
return true;
|
return true;
|
||||||
@@ -215,6 +218,17 @@ public interface RecipeChoice extends Predicate<ItemStack>, Cloneable {
|
@@ -238,6 +241,17 @@ public interface RecipeChoice extends Predicate<ItemStack>, Cloneable {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2138,7 +2156,7 @@ index 301e82369603f3dd6e6c1bd380da4bacacd7ef6c..0c6ca7588fb3d6b6497ddf032fe75e5c
|
|||||||
/**
|
/**
|
||||||
* This class was not meant to be constructed explicitly
|
* This class was not meant to be constructed explicitly
|
||||||
diff --git a/src/main/java/org/bukkit/plugin/java/LibraryLoader.java b/src/main/java/org/bukkit/plugin/java/LibraryLoader.java
|
diff --git a/src/main/java/org/bukkit/plugin/java/LibraryLoader.java b/src/main/java/org/bukkit/plugin/java/LibraryLoader.java
|
||||||
index 8e1b6be2462aaa692efa1f72986921a6dc357196..b6e18b12fd4d61ce92203582906d24b4d14e6cc5 100644
|
index c66252802c51174bc26f266cb5cdecdd856ff220..97f580fccd06a8db5f592a53c8b95a7a6159adac 100644
|
||||||
--- a/src/main/java/org/bukkit/plugin/java/LibraryLoader.java
|
--- a/src/main/java/org/bukkit/plugin/java/LibraryLoader.java
|
||||||
+++ b/src/main/java/org/bukkit/plugin/java/LibraryLoader.java
|
+++ b/src/main/java/org/bukkit/plugin/java/LibraryLoader.java
|
||||||
@@ -68,6 +68,7 @@ public class LibraryLoader
|
@@ -68,6 +68,7 @@ public class LibraryLoader
|
||||||
@@ -2149,7 +2167,7 @@ index 8e1b6be2462aaa692efa1f72986921a6dc357196..b6e18b12fd4d61ce92203582906d24b4
|
|||||||
logger.log( Level.INFO, "Downloading {0}", event.getResource().getRepositoryUrl() + event.getResource().getResourceName() );
|
logger.log( Level.INFO, "Downloading {0}", event.getResource().getRepositoryUrl() + event.getResource().getResourceName() );
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
@@ -88,6 +89,7 @@ public class LibraryLoader
|
@@ -94,6 +95,7 @@ public class LibraryLoader
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -2157,7 +2175,7 @@ index 8e1b6be2462aaa692efa1f72986921a6dc357196..b6e18b12fd4d61ce92203582906d24b4
|
|||||||
logger.log( Level.INFO, "[{0}] Loading {1} libraries... please wait", new Object[]
|
logger.log( Level.INFO, "[{0}] Loading {1} libraries... please wait", new Object[]
|
||||||
{
|
{
|
||||||
java.util.Objects.requireNonNullElseGet(desc.getPrefix(), desc::getName), desc.getLibraries().size() // Paper - use configured log prefix
|
java.util.Objects.requireNonNullElseGet(desc.getPrefix(), desc::getName), desc.getLibraries().size() // Paper - use configured log prefix
|
||||||
@@ -135,6 +137,7 @@ public class LibraryLoader
|
@@ -144,6 +146,7 @@ public class LibraryLoader
|
||||||
}
|
}
|
||||||
|
|
||||||
jarFiles.add( url );
|
jarFiles.add( url );
|
||||||
|
|||||||
@@ -31,3 +31,90 @@ index 0000000000000000000000000000000000000000..67d405764ed68083d0164b1af0eabc0a
|
|||||||
+BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
+BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||||
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
|
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
|
||||||
+OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
+OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
diff --git a/src/main/java/co/aikar/timings/TimingHandler.java b/src/main/java/co/aikar/timings/TimingHandler.java
|
||||||
|
index 199789d56d22fcb1b77ebd56805cc28aa5a5ab0a..3b3bcfa6fa2dbcc7fef899cc7570da097437ab3a 100644
|
||||||
|
--- a/src/main/java/co/aikar/timings/TimingHandler.java
|
||||||
|
+++ b/src/main/java/co/aikar/timings/TimingHandler.java
|
||||||
|
@@ -127,7 +127,7 @@ class TimingHandler implements Timing {
|
||||||
|
while ((last = TIMING_STACK.removeLast()) != this) {
|
||||||
|
last.timingDepth = 0;
|
||||||
|
if ("Minecraft".equalsIgnoreCase(last.identifier.group)) {
|
||||||
|
- Logger.getGlobal().log(Level.SEVERE, "TIMING_STACK_CORRUPTION - Look above this for any errors and report this to Paper unless it has a plugin in the stack trace (" + last.identifier + " did not stopTiming)");
|
||||||
|
+ Logger.getGlobal().log(Level.SEVERE, "TIMING_STACK_CORRUPTION - Look above this for any errors and report this to " + io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " unless it has a plugin in the stack trace (" + last.identifier + " did not stopTiming)");
|
||||||
|
} else {
|
||||||
|
Logger.getGlobal().log(Level.SEVERE, "TIMING_STACK_CORRUPTION - Report this to the plugin " + last.identifier.group + " (Look for errors above this in the logs) (" + last.identifier + " did not stopTiming)", new Throwable());
|
||||||
|
}
|
||||||
|
diff --git a/src/main/java/io/papermc/paper/ServerBuildInfo.java b/src/main/java/io/papermc/paper/ServerBuildInfo.java
|
||||||
|
index 7107eabf02d9d9b69d97c978ba421ad52031ec3f..098125a57409b480f045c3a8c3b58db74a6605f3 100644
|
||||||
|
--- a/src/main/java/io/papermc/paper/ServerBuildInfo.java
|
||||||
|
+++ b/src/main/java/io/papermc/paper/ServerBuildInfo.java
|
||||||
|
@@ -25,6 +25,29 @@ public interface ServerBuildInfo {
|
||||||
|
Key BRAND_PURPUR_ID = Key.key("purpurmc", "purpur");
|
||||||
|
// Purpur end
|
||||||
|
|
||||||
|
+ // Plazma start - Rebranding
|
||||||
|
+ /**
|
||||||
|
+ * The brand id for Plazma.
|
||||||
|
+ */
|
||||||
|
+ Key BRAND_PLAZMA_ID = Key.key("plazmamc", "plazma");
|
||||||
|
+
|
||||||
|
+ // For those who fork Plazma - please add the new branding key here
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * The brand id of the server.
|
||||||
|
+ */
|
||||||
|
+ Key BRAND_ID = BRAND_PLAZMA_ID;
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Supported brands of the server.
|
||||||
|
+ */
|
||||||
|
+ java.util.List<Key> SUPPORTED_BRANDS = java.util.Arrays.asList(
|
||||||
|
+ BRAND_PAPER_ID,
|
||||||
|
+ BRAND_PURPUR_ID,
|
||||||
|
+ BRAND_PLAZMA_ID
|
||||||
|
+ );
|
||||||
|
+ // Plazma end - Rebranding
|
||||||
|
+
|
||||||
|
/**
|
||||||
|
* Gets the {@code ServerBuildInfo}.
|
||||||
|
*
|
||||||
|
diff --git a/src/main/java/org/bukkit/command/defaults/VersionCommand.java b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
||||||
|
index 3d29c47ac0620af82d990faf5dfc266c6f0235f1..0dd22efb7f318867d0f099e336505d2830883745 100644
|
||||||
|
--- a/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
||||||
|
+++ b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
||||||
|
@@ -258,7 +258,7 @@ public class VersionCommand extends BukkitCommand {
|
||||||
|
// Purpur start
|
||||||
|
int distance = getVersionFetcher().distance();
|
||||||
|
final Component message = Component.join(net.kyori.adventure.text.JoinConfiguration.separator(Component.newline()),
|
||||||
|
- ChatColor.parseMM("<grey>Current Purpur Version: %s%s*", distance == 0 ? "<green>" : distance > 0 ? "<yellow>" : "<red>", Bukkit.getVersion()),
|
||||||
|
+ ChatColor.parseMM("<grey>Current " + io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " Version: %s%s*", distance == 0 ? "<green>" : distance > 0 ? "<yellow>" : "<red>", Bukkit.getVersion()),
|
||||||
|
// Purpur end
|
||||||
|
msg
|
||||||
|
);
|
||||||
|
@@ -281,6 +281,7 @@ public class VersionCommand extends BukkitCommand {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /* // Plazma - Fork-friendly Rebranding
|
||||||
|
private static int getDistance(@NotNull String repo, @NotNull String hash) {
|
||||||
|
try {
|
||||||
|
BufferedReader reader = Resources.asCharSource(
|
||||||
|
@@ -301,4 +302,5 @@ public class VersionCommand extends BukkitCommand {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ */ // Plazma - Fork-friendly Rebranding
|
||||||
|
}
|
||||||
|
diff --git a/src/main/java/org/bukkit/plugin/EventExecutor.java b/src/main/java/org/bukkit/plugin/EventExecutor.java
|
||||||
|
index 60e086be70529e0804280b24a2a3e7ae72d8d363..dcf1d53af919e94a6947bc3f81121bd4fad1a163 100644
|
||||||
|
--- a/src/main/java/org/bukkit/plugin/EventExecutor.java
|
||||||
|
+++ b/src/main/java/org/bukkit/plugin/EventExecutor.java
|
||||||
|
@@ -54,7 +54,7 @@ public interface EventExecutor {
|
||||||
|
if (m.getReturnType() != Void.TYPE) {
|
||||||
|
final org.bukkit.plugin.java.JavaPlugin plugin = org.bukkit.plugin.java.JavaPlugin.getProvidingPlugin(m.getDeclaringClass());
|
||||||
|
org.bukkit.Bukkit.getLogger().warning("@EventHandler method " + m.getDeclaringClass().getName() + (Modifier.isStatic(m.getModifiers()) ? '.' : '#') + m.getName()
|
||||||
|
- + " returns non-void type " + m.getReturnType().getName() + ". This is unsupported behavior and will no longer work in a future version of Paper."
|
||||||
|
+ + " returns non-void type " + m.getReturnType().getName() + ". This is unsupported behavior and will no longer work in a future version of " + io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + "." // Plazma - Fork-friendly Rebranding
|
||||||
|
+ " This should be reported to the developers of " + plugin.getPluginMeta().getDisplayName() + " (" + String.join(",", plugin.getPluginMeta().getAuthors()) + ')');
|
||||||
|
}
|
||||||
|
if (Modifier.isStatic(m.getModifiers())) {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
From: Kevin Raneri <kevin.raneri@gmail.com>
|
From: Kevin Raneri <kevin.raneri@gmail.com>
|
||||||
Date: Wed, 15 May 2024 03:16:48 +0000
|
Date: Sun, 26 May 2024 20:53:48 +0900
|
||||||
Subject: [PATCH] Pufferfish Server Changes
|
Subject: [PATCH] Pufferfish Server Changes
|
||||||
|
|
||||||
Pufferfish
|
Pufferfish
|
||||||
@@ -20,19 +20,19 @@ You should have received a copy of the GNU General Public License
|
|||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||||
index 87bb3fd9b97506f61734ae7f2e6860610ba794e7..00b31bbf6a5832799eae65e5be67cc6e92c69a56 100644
|
index 4998aff0b7cb084dcda15c6a18bbe45e99b6000a..d877dbae82b775250739b5b8d84e163d37a39e35 100644
|
||||||
--- a/build.gradle.kts
|
--- a/build.gradle.kts
|
||||||
+++ b/build.gradle.kts
|
+++ b/build.gradle.kts
|
||||||
@@ -12,7 +12,7 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) {
|
@@ -13,7 +13,7 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) {
|
||||||
val alsoShade: Configuration by configurations.creating
|
val alsoShade: Configuration by configurations.creating
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
- implementation(project(":paper-api"))
|
- implementation(project(":paper-api"))
|
||||||
+ implementation(project(":pufferfish-api")) // Pufferfish // Paper
|
+ implementation(project(":pufferfish-api")) // Pufferfish
|
||||||
// Paper start
|
// Paper start
|
||||||
implementation("org.jline:jline-terminal-jansi:3.21.0")
|
implementation("org.jline:jline-terminal-jansi:3.21.0")
|
||||||
implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
||||||
@@ -46,6 +46,14 @@ dependencies {
|
@@ -47,6 +47,14 @@ dependencies {
|
||||||
runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.18")
|
runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.18")
|
||||||
runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.18")
|
runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.18")
|
||||||
|
|
||||||
@@ -47,7 +47,7 @@ index 87bb3fd9b97506f61734ae7f2e6860610ba794e7..00b31bbf6a5832799eae65e5be67cc6e
|
|||||||
testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test
|
testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test
|
||||||
testImplementation("org.junit.jupiter:junit-jupiter:5.10.2")
|
testImplementation("org.junit.jupiter:junit-jupiter:5.10.2")
|
||||||
testImplementation("org.hamcrest:hamcrest:2.2")
|
testImplementation("org.hamcrest:hamcrest:2.2")
|
||||||
@@ -66,6 +74,13 @@ paperweight {
|
@@ -67,6 +75,13 @@ paperweight {
|
||||||
craftBukkitPackageVersion.set("v1_20_R4") // also needs to be updated in MappingEnvironment
|
craftBukkitPackageVersion.set("v1_20_R4") // also needs to be updated in MappingEnvironment
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -61,15 +61,15 @@ index 87bb3fd9b97506f61734ae7f2e6860610ba794e7..00b31bbf6a5832799eae65e5be67cc6e
|
|||||||
tasks.jar {
|
tasks.jar {
|
||||||
archiveClassifier.set("dev")
|
archiveClassifier.set("dev")
|
||||||
|
|
||||||
@@ -78,7 +93,7 @@ tasks.jar {
|
@@ -75,7 +90,7 @@ tasks.jar {
|
||||||
|
val mcVersion = rootProject.providers.gradleProperty("mcVersion").get()
|
||||||
|
val build = System.getenv("BUILD_NUMBER") ?: null
|
||||||
|
val gitHash = git("rev-parse", "--short=7", "HEAD").getText().trim()
|
||||||
|
- val implementationVersion = "$mcVersion-${build ?: "DEV"}-$gitHash"
|
||||||
|
+ val implementationVersion = "git-Pufferfish-$gitHash" // Pufferfish
|
||||||
|
val date = git("show", "-s", "--format=%ci", gitHash).getText().trim() // Paper
|
||||||
|
val gitBranch = git("rev-parse", "--abbrev-ref", "HEAD").getText().trim() // Paper
|
||||||
attributes(
|
attributes(
|
||||||
"Main-Class" to "org.bukkit.craftbukkit.Main",
|
|
||||||
"Implementation-Title" to "CraftBukkit",
|
|
||||||
- "Implementation-Version" to "git-Paper-$implementationVersion",
|
|
||||||
+ "Implementation-Version" to "git-Pufferfish-$implementationVersion", // Pufferfish
|
|
||||||
"Implementation-Vendor" to date, // Paper
|
|
||||||
"Specification-Title" to "Bukkit",
|
|
||||||
"Specification-Version" to project.version,
|
|
||||||
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
|
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
|
||||||
index 7620c72a4c243cbeea245203ce03a97cbfa7d922..b35a9f4c5f8960864c402ede8a51fb5ab9c4fcc0 100644
|
index 7620c72a4c243cbeea245203ce03a97cbfa7d922..b35a9f4c5f8960864c402ede8a51fb5ab9c4fcc0 100644
|
||||||
--- a/src/main/java/co/aikar/timings/TimingsExport.java
|
--- a/src/main/java/co/aikar/timings/TimingsExport.java
|
||||||
@@ -2251,10 +2251,10 @@ index 300929a406905f5ff1ede664d5b99fb0938d4d2e..01a6b1135420ea659d092ddca499f281
|
|||||||
throw new SignedMessageChain.DecodeException(SignedMessageChain.DecodeException.OUT_OF_ORDER_CHAT, org.bukkit.event.player.PlayerKickEvent.Cause.OUT_OF_ORDER_CHAT); // Paper - kick event causes
|
throw new SignedMessageChain.DecodeException(SignedMessageChain.DecodeException.OUT_OF_ORDER_CHAT, org.bukkit.event.player.PlayerKickEvent.Cause.OUT_OF_ORDER_CHAT); // Paper - kick event causes
|
||||||
} else {
|
} else {
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 39303bb4e336732db0ab19dee0c1f8b609bbb134..b5b5d467231b571455f82d1943e6a8a46d75c7dc 100644
|
index 0ed42fa899721f83b598db05be1b5f321af3614a..d3ac9185d16099daac9144d7adf6dc38827ab0dc 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -319,6 +319,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -316,6 +316,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
public volatile Thread shutdownThread; // Paper
|
public volatile Thread shutdownThread; // Paper
|
||||||
public volatile boolean abnormalExit = false; // Paper
|
public volatile boolean abnormalExit = false; // Paper
|
||||||
public static final long SERVER_INIT = System.nanoTime(); // Paper - Lag compensation
|
public static final long SERVER_INIT = System.nanoTime(); // Paper - Lag compensation
|
||||||
@@ -2262,7 +2262,7 @@ index 39303bb4e336732db0ab19dee0c1f8b609bbb134..b5b5d467231b571455f82d1943e6a8a4
|
|||||||
|
|
||||||
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
|
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
|
||||||
AtomicReference<S> atomicreference = new AtomicReference();
|
AtomicReference<S> atomicreference = new AtomicReference();
|
||||||
@@ -1240,6 +1241,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1234,6 +1235,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
this.profiler.popPush("nextTickWait");
|
this.profiler.popPush("nextTickWait");
|
||||||
this.mayHaveDelayedTasks = true;
|
this.mayHaveDelayedTasks = true;
|
||||||
this.delayedTasksMaxNextTickTimeNanos = Math.max(Util.getNanos() + i, this.nextTickTimeNanos);
|
this.delayedTasksMaxNextTickTimeNanos = Math.max(Util.getNanos() + i, this.nextTickTimeNanos);
|
||||||
@@ -2275,16 +2275,16 @@ index 39303bb4e336732db0ab19dee0c1f8b609bbb134..b5b5d467231b571455f82d1943e6a8a4
|
|||||||
this.startMeasuringTaskExecutionTime();
|
this.startMeasuringTaskExecutionTime();
|
||||||
this.waitUntilNextTick();
|
this.waitUntilNextTick();
|
||||||
this.finishMeasuringTaskExecutionTime();
|
this.finishMeasuringTaskExecutionTime();
|
||||||
@@ -1926,7 +1933,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1920,7 +1927,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
|
|
||||||
@DontObfuscate
|
@DontObfuscate
|
||||||
public String getServerModName() {
|
public String getServerModName() {
|
||||||
- return "Paper"; // Paper
|
- return io.papermc.paper.ServerBuildInfo.buildInfo().brandName(); // Paper
|
||||||
+ return "Pufferfish"; // Pufferfish > // Paper
|
+ return "Pufferfish"; // Paper // Pufferfish - Use dedicated VersionFetcher
|
||||||
}
|
}
|
||||||
|
|
||||||
public SystemReport fillSystemReport(SystemReport details) {
|
public SystemReport fillSystemReport(SystemReport details) {
|
||||||
@@ -2561,6 +2568,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -2555,6 +2562,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
}
|
}
|
||||||
|
|
||||||
public ProfilerFiller getProfiler() {
|
public ProfilerFiller getProfiler() {
|
||||||
@@ -2669,7 +2669,7 @@ index f402dbbfe3a443e6bc51f88b85abe937852b52f0..c960ddfe628051257cca0d25da385c1d
|
|||||||
float DEFAULT_DISTANCE_BUFFER = 4.0F;
|
float DEFAULT_DISTANCE_BUFFER = 4.0F;
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 2bc85351e6e52f90da5fdb29d8d042a06132d742..c246be0aa8e88d9c60260176fe4cbc076ddbcbcf 100644
|
index 25ea45a528612d1a2a2d77293b3802f473a52f38..ef92c5ef523bd08a524e6e91b45e2fa63bc69c48 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -312,7 +312,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -312,7 +312,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
@@ -2704,7 +2704,7 @@ index 2bc85351e6e52f90da5fdb29d8d042a06132d742..c246be0aa8e88d9c60260176fe4cbc07
|
|||||||
this.baseTick();
|
this.baseTick();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4478,16 +4487,18 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -4484,16 +4493,18 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) {
|
public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) {
|
||||||
@@ -2730,7 +2730,7 @@ index 2bc85351e6e52f90da5fdb29d8d042a06132d742..c246be0aa8e88d9c60260176fe4cbc07
|
|||||||
double d1 = 0.0D;
|
double d1 = 0.0D;
|
||||||
boolean flag = this.isPushedByFluid();
|
boolean flag = this.isPushedByFluid();
|
||||||
boolean flag1 = false;
|
boolean flag1 = false;
|
||||||
@@ -4495,14 +4506,61 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -4501,14 +4512,61 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
int k1 = 0;
|
int k1 = 0;
|
||||||
BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos();
|
BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos();
|
||||||
|
|
||||||
@@ -2798,7 +2798,7 @@ index 2bc85351e6e52f90da5fdb29d8d042a06132d742..c246be0aa8e88d9c60260176fe4cbc07
|
|||||||
|
|
||||||
if (d2 >= axisalignedbb.minY) {
|
if (d2 >= axisalignedbb.minY) {
|
||||||
flag1 = true;
|
flag1 = true;
|
||||||
@@ -4524,9 +4582,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -4530,9 +4588,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2825,7 +2825,7 @@ index a46bf73c608641bf1f00fd55242de71a0f2ee06e..e6edbe6177b168d85759bd9c414dc87e
|
|||||||
private String descriptionId;
|
private String descriptionId;
|
||||||
@Nullable
|
@Nullable
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
index 517e10c3d8b1549cd30fd0e7cf2bcb35e88eb8ed..6bc0f6256851b1aa3c0e590692a949cd1e9c337d 100644
|
index ef0f118aecf0893e45cb9423a677d7e42496324b..d2f3597e590d54753f53759680c6617a98d4f913 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -150,7 +150,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
|
@@ -150,7 +150,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
|
||||||
@@ -2887,7 +2887,7 @@ index 517e10c3d8b1549cd30fd0e7cf2bcb35e88eb8ed..6bc0f6256851b1aa3c0e590692a949cd
|
|||||||
if (this.isSpectator()) {
|
if (this.isSpectator()) {
|
||||||
return false;
|
return false;
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
index e89f9c3e887601d8461eb967ae0bf582b672f631..9aa42d6ce2c9f64142dd6f35a34319983bf7f3e4 100644
|
index a80f313771575c1f772d23ef2469a2dce7b1688c..4dcd23324921373975d4ef8e1c4b3fd10292fdca 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
@@ -237,14 +237,16 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti
|
@@ -237,14 +237,16 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti
|
||||||
@@ -3497,10 +3497,10 @@ index 3554109bcc4651ca93b6275c914e57e007e2204e..60c7a9520335de8e2638572100affcfd
|
|||||||
autorecipestackmanager.initialize(this); // Paper - better exact choice recipes
|
autorecipestackmanager.initialize(this); // Paper - better exact choice recipes
|
||||||
int i = 0;
|
int i = 0;
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index b4ef3ad2c17168085372f1fe46809f02d9dfe74a..876990240293740046c6a6b43aebad6d7d5075d6 100644
|
index 0a8eeebb2d702ebcefd9f26cc0f41d1eab497902..85368ac2e4b420d91c96860344f86d1a64d0d47e 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -212,6 +212,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -203,6 +203,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|
||||||
public abstract ResourceKey<LevelStem> getTypeKey();
|
public abstract ResourceKey<LevelStem> getTypeKey();
|
||||||
@@ -3509,7 +3509,7 @@ index b4ef3ad2c17168085372f1fe46809f02d9dfe74a..876990240293740046c6a6b43aebad6d
|
|||||||
|
|
||||||
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - create paper world config; Async-Anti-Xray: Pass executor
|
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - create paper world config; Async-Anti-Xray: Pass executor
|
||||||
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
|
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
|
||||||
@@ -1308,13 +1310,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -1299,13 +1301,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
try {
|
try {
|
||||||
tickConsumer.accept(entity);
|
tickConsumer.accept(entity);
|
||||||
MinecraftServer.getServer().executeMidTickTasks(); // Paper - execute chunk tasks mid tick
|
MinecraftServer.getServer().executeMidTickTasks(); // Paper - execute chunk tasks mid tick
|
||||||
@@ -3525,7 +3525,7 @@ index b4ef3ad2c17168085372f1fe46809f02d9dfe74a..876990240293740046c6a6b43aebad6d
|
|||||||
// Paper end - Prevent block entity and entity crashes
|
// Paper end - Prevent block entity and entity crashes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1789,6 +1791,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -1780,6 +1782,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
}
|
}
|
||||||
|
|
||||||
public ProfilerFiller getProfiler() {
|
public ProfilerFiller getProfiler() {
|
||||||
@@ -4058,19 +4058,19 @@ index 88a4a72bb390947dc17e5da09a99b2d1b3ac4621..284c76ddb9724b44bb2e93f590685c72
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index da1aed63af837b193900bb85393611edbd56c363..6262147f9d3fc1a988d9362573d3736e3ddd88a1 100644
|
index af015237214cebc4d1c4bb9e9c5f939d433e365c..49794050997ee1f0511ce4fa6c191906e4f4ca47 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -269,7 +269,7 @@ import javax.annotation.Nullable; // Paper
|
@@ -264,7 +264,7 @@ import javax.annotation.Nullable; // Paper
|
||||||
import javax.annotation.Nonnull; // Paper
|
import javax.annotation.Nonnull; // Paper
|
||||||
|
|
||||||
public final class CraftServer implements Server {
|
public final class CraftServer implements Server {
|
||||||
- private final String serverName = "Paper"; // Paper
|
- private final String serverName = io.papermc.paper.ServerBuildInfo.buildInfo().brandName(); // Paper
|
||||||
+ private final String serverName = "Pufferfish"; // Paper // Pufferfish
|
+ private final String serverName = "Pufferfish"; // Paper // Pufferfish - Use dedicated VersionFetcher
|
||||||
private final String serverVersion;
|
private final String serverVersion;
|
||||||
private final String bukkitVersion = Versioning.getBukkitVersion();
|
private final String bukkitVersion = Versioning.getBukkitVersion();
|
||||||
private final Logger logger = Logger.getLogger("Minecraft");
|
private final Logger logger = Logger.getLogger("Minecraft");
|
||||||
@@ -1129,6 +1129,11 @@ public final class CraftServer implements Server {
|
@@ -1124,6 +1124,11 @@ public final class CraftServer implements Server {
|
||||||
plugin.getPluginMeta().getDisplayName(),
|
plugin.getPluginMeta().getDisplayName(),
|
||||||
"This plugin is not properly shutting down its async tasks when it is being shut down. This task may throw errors during the final shutdown logs and might not complete before process dies."
|
"This plugin is not properly shutting down its async tasks when it is being shut down. This task may throw errors during the final shutdown logs and might not complete before process dies."
|
||||||
));
|
));
|
||||||
@@ -4132,10 +4132,10 @@ index 66bdac50130f523f9dc4379b103b7a469f9ca36b..ef780e0566dbac07da88ba26dc595b49
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||||
index 5a382907285a288f2a223189e690d3dbdf45594c..16d6a515e93619a0c9fdcaec5b99e0a36f8faec5 100644
|
index e46714f38df931350d81c30907560c381c8d2725..d9f1164ab63017124a9601f980ee6a6ddb3626eb 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||||
@@ -511,7 +511,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
@@ -502,7 +502,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
|
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -5,14 +5,13 @@ Subject: [PATCH] Use Gradle Version Catalogs
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||||
index 3bece6335887414d1388505febf6b8796e32bf9a..8d1a11c1a1fedb7ae73789abc6f4a9a689fb78c3 100644
|
index 4c4d242475c5229e9cdae69fcc328d52af6df4b8..c2a0dd63fe700484ac9473733b10615375d7c2b4 100644
|
||||||
--- a/build.gradle.kts
|
--- a/build.gradle.kts
|
||||||
+++ b/build.gradle.kts
|
+++ b/build.gradle.kts
|
||||||
@@ -12,66 +12,32 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) {
|
@@ -14,65 +14,29 @@ val alsoShade: Configuration by configurations.creating
|
||||||
val alsoShade: Configuration by configurations.creating
|
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
- implementation(project(":purpur-api")) // Pufferfish // Paper // Purpur
|
implementation(project(":purpur-api")) // Pufferfish // Purpur
|
||||||
- // Paper start
|
- // Paper start
|
||||||
- implementation("org.jline:jline-terminal-jansi:3.21.0")
|
- implementation("org.jline:jline-terminal-jansi:3.21.0")
|
||||||
- implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
- implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
||||||
@@ -39,35 +38,12 @@ index 3bece6335887414d1388505febf6b8796e32bf9a..8d1a11c1a1fedb7ae73789abc6f4a9a6
|
|||||||
- // Paper start - Use Velocity cipher
|
- // Paper start - Use Velocity cipher
|
||||||
- implementation("com.velocitypowered:velocity-native:3.1.2-SNAPSHOT") {
|
- implementation("com.velocitypowered:velocity-native:3.1.2-SNAPSHOT") {
|
||||||
- isTransitive = false
|
- isTransitive = false
|
||||||
+ implementation(project(":purpur-api")) // Purpur
|
- }
|
||||||
+
|
|
||||||
+ // Plazma start - Use Gradle Version Catalogs
|
|
||||||
+ implementation(server.bundles.implementation)
|
|
||||||
+ implementation(common.snakeyaml)
|
|
||||||
+ implementation(common.asm.commons)
|
|
||||||
+ implementation(common.log4j.iostreams)
|
|
||||||
+ implementation(common.commons.lang2)
|
|
||||||
+ implementation(server.velocity) { isTransitive = false }
|
|
||||||
+ implementation(server.simpleyaml) {
|
|
||||||
+ exclude(group="org.yaml", module="snakeyaml")
|
|
||||||
}
|
|
||||||
- // Paper end - Use Velocity cipher
|
- // Paper end - Use Velocity cipher
|
||||||
|
-
|
||||||
- runtimeOnly("org.apache.maven:maven-resolver-provider:3.9.6")
|
- runtimeOnly("org.apache.maven:maven-resolver-provider:3.9.6")
|
||||||
- runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.18")
|
- runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.18")
|
||||||
- runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.18")
|
- runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.18")
|
||||||
+ runtimeOnly(common.maven.provider)
|
|
||||||
+ runtimeOnly(common.bundles.maven)
|
|
||||||
+ runtimeOnly(server.bundles.runtime)
|
|
||||||
+
|
|
||||||
+ implementation(common.log4j.core) // Paper - implementation
|
|
||||||
+ log4jPlugins.annotationProcessorConfigurationName(common.log4j.core) // Paper - Needed to generate meta for our Log4j plugins
|
|
||||||
+ runtimeOnly(log4jPlugins.output) // Plazma - diff on patch
|
|
||||||
+ alsoShade(log4jPlugins.output) // Plazma - diff on patch
|
|
||||||
+
|
|
||||||
+ testImplementation(server.bundles.test)
|
|
||||||
+ testImplementation(common.bundles.test)
|
|
||||||
+ // Plazma end - Use Gradle Version Catalogs
|
|
||||||
|
|
||||||
- // Pufferfish start
|
- // Pufferfish start
|
||||||
- implementation("org.yaml:snakeyaml:1.32")
|
- implementation("org.yaml:snakeyaml:1.32")
|
||||||
@@ -95,6 +71,28 @@ index 3bece6335887414d1388505febf6b8796e32bf9a..8d1a11c1a1fedb7ae73789abc6f4a9a6
|
|||||||
- implementation("io.papermc:reflection-rewriter-runtime:$reflectionRewriterVersion")
|
- implementation("io.papermc:reflection-rewriter-runtime:$reflectionRewriterVersion")
|
||||||
- implementation("io.papermc:reflection-rewriter-proxy-generator:$reflectionRewriterVersion")
|
- implementation("io.papermc:reflection-rewriter-proxy-generator:$reflectionRewriterVersion")
|
||||||
- // Paper end - Remap reflection
|
- // Paper end - Remap reflection
|
||||||
|
+ // Plazma start - Use Gradle Version Catalogs
|
||||||
|
+ implementation(common.snakeyaml)
|
||||||
|
+ implementation(common.asm.commons)
|
||||||
|
+ implementation(common.log4j.core)
|
||||||
|
+ implementation(common.log4j.iostreams)
|
||||||
|
+ implementation(common.commons.lang2)
|
||||||
|
+ implementation(common.adventure.serializer.ansi)
|
||||||
|
+ implementation(server.velocity) { isTransitive = false }
|
||||||
|
+ implementation(server.simpleyaml) { exclude(group="org.yaml", module="snakeyaml") }
|
||||||
|
+ implementation(server.bundles.implementation)
|
||||||
|
+
|
||||||
|
+ log4jPlugins.annotationProcessorConfigurationName(common.log4j.core)
|
||||||
|
+ alsoShade(log4jPlugins.output) // Plazma - Diff on patch
|
||||||
|
+ runtimeOnly(log4jPlugins.output) // Plazma - Diff on patch
|
||||||
|
+
|
||||||
|
+ runtimeOnly(common.maven.provider)
|
||||||
|
+ runtimeOnly(common.bundles.maven)
|
||||||
|
+ runtimeOnly(server.bundles.runtime)
|
||||||
|
+
|
||||||
|
+ testImplementation(common.bundles.test)
|
||||||
|
+ testImplementation(server.bundles.test)
|
||||||
|
+ // Plazma end - Use Gradle Version Catalogs
|
||||||
}
|
}
|
||||||
|
|
||||||
paperweight {
|
paperweight {
|
||||||
|
|||||||
497
patches/server/0004-Fork-friendly-Rebranding.patch
Normal file
497
patches/server/0004-Fork-friendly-Rebranding.patch
Normal file
@@ -0,0 +1,497 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: AlphaKR93 <dev@alpha93.kr>
|
||||||
|
Date: Wed, 21 Dec 2022 19:31:24 +0900
|
||||||
|
Subject: [PATCH] Fork-friendly Rebranding
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||||
|
index c2a0dd63fe700484ac9473733b10615375d7c2b4..acca28dd3e99821e4f55794946ed27b7e8c780a5 100644
|
||||||
|
--- a/build.gradle.kts
|
||||||
|
+++ b/build.gradle.kts
|
||||||
|
@@ -13,7 +13,7 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) {
|
||||||
|
val alsoShade: Configuration by configurations.creating
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
- implementation(project(":purpur-api")) // Pufferfish // Purpur
|
||||||
|
+ implementation(project(":${rootProject.providers.gradleProperty("brandName").get().lowercase()}-api")) // Pufferfish // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
|
||||||
|
// Plazma start - Use Gradle Version Catalogs
|
||||||
|
implementation(common.snakeyaml)
|
||||||
|
@@ -63,14 +63,14 @@ tasks.jar {
|
||||||
|
val gitBranch = git("rev-parse", "--abbrev-ref", "HEAD").getText().trim() // Paper
|
||||||
|
attributes(
|
||||||
|
"Main-Class" to "org.bukkit.craftbukkit.Main",
|
||||||
|
- "Implementation-Title" to "Purpur", // Purpur
|
||||||
|
+ "Implementation-Title" to rootProject.providers.gradleProperty("brandName").get(), // Purpur // Plazma - Rebrand // Plazma - Fork-friendly Rebranding
|
||||||
|
"Implementation-Version" to implementationVersion,
|
||||||
|
"Implementation-Vendor" to date, // Paper
|
||||||
|
- "Specification-Title" to "Purpur", // Purpur
|
||||||
|
+ "Specification-Title" to rootProject.providers.gradleProperty("brandName").get(), // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
"Specification-Version" to project.version,
|
||||||
|
- "Specification-Vendor" to "Purpur Team", // Purpur
|
||||||
|
- "Brand-Id" to "purpurmc:purpur", // Purpur
|
||||||
|
- "Brand-Name" to "Purpur", // Purpur
|
||||||
|
+ "Specification-Vendor" to rootProject.providers.gradleProperty("providerName").get(), // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
+ "Brand-Id" to rootProject.providers.gradleProperty("brandKey").get(), // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
+ "Brand-Name" to rootProject.providers.gradleProperty("brandName").get(), // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
"Build-Number" to (build ?: ""),
|
||||||
|
"Build-Time" to Instant.now().toString(),
|
||||||
|
"Git-Branch" to gitBranch, // Paper
|
||||||
|
diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java
|
||||||
|
index 8cde30544e14f8fc2dac32966ae3c21f8cf3a551..81b204c03b3c9a997f00fd423daa963757cb0daf 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("Purpur", serverUUID, logFailedRequests, Bukkit.getLogger()); // Pufferfish // Purpur
|
||||||
|
+ Metrics metrics = new Metrics(io.papermc.paper.ServerBuildInfo.buildInfo().brandName(), serverUUID, logFailedRequests, Bukkit.getLogger()); // Pufferfish // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
|
||||||
|
metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> {
|
||||||
|
String minecraftVersion = Bukkit.getVersion();
|
||||||
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
|
||||||
|
index 6d36fc6d8e22d9b68dea3830f6ecc8763184c343..6995627310de4911d87a2f93a723d6b93dc0612f 100644
|
||||||
|
--- a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
|
||||||
|
+++ b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
|
||||||
|
@@ -36,7 +36,7 @@ public class PaperVersionFetcher implements VersionFetcher {
|
||||||
|
private static final int DISTANCE_ERROR = -1;
|
||||||
|
private static final int DISTANCE_UNKNOWN = -2;
|
||||||
|
// Purpur start
|
||||||
|
- private static final String DOWNLOAD_PAGE = "https://purpurmc.org/downloads";
|
||||||
|
+ // private static final String DOWNLOAD_PAGE = "https://purpurmc.org/downloads"; // Plazma - Fork-friendly Rebranding
|
||||||
|
private static int distance = DISTANCE_UNKNOWN; public int distance() { return distance; }
|
||||||
|
// Purpur end
|
||||||
|
|
||||||
|
@@ -52,7 +52,7 @@ public class PaperVersionFetcher implements VersionFetcher {
|
||||||
|
if (build.buildNumber().isEmpty() && build.gitCommit().isEmpty()) {
|
||||||
|
updateMessage = text("You are running a development version without access to version information", color(0xFF5300));
|
||||||
|
} else {
|
||||||
|
- updateMessage = getUpdateStatusMessage("PurpurMC/Purpur", build); // Purpur
|
||||||
|
+ updateMessage = getUpdateStatusMessage("PlazmaMC/Plazma", build); // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
}
|
||||||
|
final @Nullable Component history = this.getHistory();
|
||||||
|
|
||||||
|
@@ -63,8 +63,12 @@ public class PaperVersionFetcher implements VersionFetcher {
|
||||||
|
//int distance = DISTANCE_ERROR; // Purpur - use field
|
||||||
|
|
||||||
|
final OptionalInt buildNumber = build.buildNumber();
|
||||||
|
- if (buildNumber.isPresent()) {
|
||||||
|
- distance = fetchDistanceFromSiteApi(build, buildNumber.getAsInt());
|
||||||
|
+ // Plazma start - TODO: CI Checking
|
||||||
|
+ //noinspection PointlessBooleanExpression
|
||||||
|
+ if (false && buildNumber.isPresent()) {
|
||||||
|
+ throw new UnsupportedOperationException("Version fetching from CI is not supported yet");
|
||||||
|
+ // distance = fetchDistanceFromSiteApi(build, buildNumber.getAsInt());
|
||||||
|
+ // Plazma end - TODO: CI Checking
|
||||||
|
} else {
|
||||||
|
final Optional<String> gitBranch = build.gitBranch();
|
||||||
|
final Optional<String> gitCommit = build.gitCommit();
|
||||||
|
@@ -80,12 +84,13 @@ public class PaperVersionFetcher implements VersionFetcher {
|
||||||
|
default -> text("* You are " + distance + " version(s) behind", NamedTextColor.YELLOW) // Purpur
|
||||||
|
.append(Component.newline())
|
||||||
|
.append(text("Download the new version at: ")
|
||||||
|
- .append(text(DOWNLOAD_PAGE, NamedTextColor.GOLD)
|
||||||
|
+ .append(text(io.papermc.paper.ServerBrandConstants.DOWNLOAD_PAGE, NamedTextColor.GOLD) // Plazma - Fork-friendly Rebranding
|
||||||
|
.hoverEvent(text("Click to open", NamedTextColor.WHITE))
|
||||||
|
- .clickEvent(ClickEvent.openUrl(DOWNLOAD_PAGE))));
|
||||||
|
+ .clickEvent(ClickEvent.openUrl(io.papermc.paper.ServerBrandConstants.DOWNLOAD_PAGE)))); // Plazma - Fork-friendly Rebranding
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /* // Plazma - TODO: CI Checking
|
||||||
|
private static int fetchDistanceFromSiteApi(final ServerBuildInfo build, final int jenkinsBuild) {
|
||||||
|
try {
|
||||||
|
try (final BufferedReader reader = Resources.asCharSource(
|
||||||
|
@@ -105,6 +110,7 @@ public class PaperVersionFetcher implements VersionFetcher {
|
||||||
|
return DISTANCE_ERROR;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ */ // Plazma - TODO: CI Checking
|
||||||
|
|
||||||
|
// Contributed by Techcable <Techcable@outlook.com> in GH-65
|
||||||
|
private static int fetchDistanceFromGitHub(final String repo, final String branch, final String hash) {
|
||||||
|
diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
||||||
|
index 3cb56595822799926a8141e60a42f5d1edfc6de5..70d6e514870b5cdf529eb067137a5c1579d3de1e 100644
|
||||||
|
--- a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
||||||
|
+++ b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
||||||
|
@@ -17,7 +17,7 @@ public final class PaperConsole extends SimpleTerminalConsole {
|
||||||
|
@Override
|
||||||
|
protected LineReader buildReader(LineReaderBuilder builder) {
|
||||||
|
builder
|
||||||
|
- .appName("Purpur") // Purpur
|
||||||
|
+ .appName(io.papermc.paper.ServerBuildInfo.buildInfo().brandName()) // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
.variable(LineReader.HISTORY_FILE, java.nio.file.Paths.get(".console_history"))
|
||||||
|
.completer(new ConsoleCommandCompleter(this.server))
|
||||||
|
.option(LineReader.Option.COMPLETE_IN_WORD, true);
|
||||||
|
diff --git a/src/main/java/io/papermc/paper/ServerBrandConstants.java b/src/main/java/io/papermc/paper/ServerBrandConstants.java
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000000000000000000000000000000000000..c60e1ce73b80125efaf8bff273d3bffa90a20b39
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/main/java/io/papermc/paper/ServerBrandConstants.java
|
||||||
|
@@ -0,0 +1,33 @@
|
||||||
|
+package io.papermc.paper;
|
||||||
|
+
|
||||||
|
+import org.jetbrains.annotations.Nullable;
|
||||||
|
+
|
||||||
|
+public enum ServerBrandConstants {;
|
||||||
|
+
|
||||||
|
+ // Basic brand informations
|
||||||
|
+ private static final String BRAND_NAME = "Plazma";
|
||||||
|
+ public static final String RESOURCE_PATH = "META-INF/maven/org.plazmamc.plazma/plazma-api/pom.properties";
|
||||||
|
+
|
||||||
|
+ @Nullable
|
||||||
|
+ public static final String ASCII_LOGO = """
|
||||||
|
+
|
||||||
|
+ \033[38;2;215;23;133m█\033[38;2;212;24;134m█\033[38;2;209;26;134m█\033[38;2;205;27;135m█\033[38;2;202;28;136m█\033[38;2;199;30;136m█\033[38;2;196;31;137m╗\033[38;2;193;33;138m \033[38;2;190;34;138m█\033[38;2;186;35;139m█\033[38;2;183;37;140m╗\033[38;2;180;38;140m \033[38;2;177;39;141m \033[38;2;174;41;142m \033[38;2;170;42;142m \033[38;2;167;43;143m \033[38;2;164;45;144m \033[38;2;161;46;144m█\033[38;2;158;47;145m█\033[38;2;155;49;146m█\033[38;2;151;50;146m█\033[38;2;148;52;147m█\033[38;2;145;53;148m╗\033[38;2;142;54;148m \033[38;2;139;56;149m█\033[38;2;135;57;149m█\033[38;2;132;58;150m█\033[38;2;129;60;151m█\033[38;2;126;61;151m█\033[38;2;123;62;152m█\033[38;2;120;64;153m█\033[38;2;116;65;153m╗ \033[38;2;113;67;154m█\033[38;2;110;68;155m█\033[38;2;107;69;155m█\033[38;2;104;71;156m╗\033[38;2;101;72;157m \033[38;2;97;73;157m \033[38;2;94;75;158m \033[38;2;91;76;159m█\033[38;2;88;77;159m█\033[38;2;85;79;160m█\033[38;2;81;80;161m╗ \033[38;2;78;81;161m \033[38;2;75;83;162m█\033[38;2;72;84;163m█\033[38;2;69;86;163m█\033[38;2;66;87;164m█\033[38;2;62;88;165m█\033[38;2;59;90;165m╗\033[38;2;56;91;166m\s
|
||||||
|
+ \033[38;2;215;23;133m█\033[38;2;212;24;134m█\033[38;2;209;26;134m╔\033[38;2;205;27;135m═\033[38;2;202;28;136m═\033[38;2;199;30;136m█\033[38;2;196;31;137m█\033[38;2;193;33;138m╗ \033[38;2;190;34;138m█\033[38;2;186;35;139m█\033[38;2;183;37;140m║\033[38;2;180;38;140m \033[38;2;177;39;141m \033[38;2;174;41;142m \033[38;2;170;42;142m \033[38;2;167;43;143m \033[38;2;164;45;144m█\033[38;2;161;46;144m█\033[38;2;158;47;145m╔\033[38;2;155;49;146m═\033[38;2;151;50;146m═\033[38;2;148;52;147m█\033[38;2;145;53;148m█\033[38;2;142;54;148m╗ \033[38;2;139;56;149m╚\033[38;2;135;57;149m═\033[38;2;132;58;150m═\033[38;2;129;60;151m█\033[38;2;126;61;151m█\033[38;2;123;62;152m█\033[38;2;120;64;153m╔\033[38;2;116;65;153m╝ \033[38;2;113;67;154m█\033[38;2;110;68;155m█\033[38;2;107;69;155m█\033[38;2;104;71;156m█\033[38;2;101;72;157m╗\033[38;2;97;73;157m \033[38;2;94;75;158m█\033[38;2;91;76;159m█\033[38;2;88;77;159m█\033[38;2;85;79;160m█\033[38;2;81;80;161m║ \033[38;2;78;81;161m█\033[38;2;75;83;162m█\033[38;2;72;84;163m╔\033[38;2;69;86;163m═\033[38;2;66;87;164m═\033[38;2;62;88;165m█\033[38;2;59;90;165m█\033[38;2;56;91;166m╗
|
||||||
|
+ \033[38;2;215;23;133m█\033[38;2;212;24;134m█\033[38;2;209;26;134m█\033[38;2;205;27;135m█\033[38;2;202;28;136m█\033[38;2;199;30;136m█\033[38;2;196;31;137m╔\033[38;2;193;33;138m╝ \033[38;2;190;34;138m█\033[38;2;186;35;139m█\033[38;2;183;37;140m║\033[38;2;180;38;140m \033[38;2;177;39;141m \033[38;2;174;41;142m \033[38;2;170;42;142m \033[38;2;167;43;143m \033[38;2;164;45;144m█\033[38;2;161;46;144m█\033[38;2;158;47;145m█\033[38;2;155;49;146m█\033[38;2;151;50;146m█\033[38;2;148;52;147m█\033[38;2;145;53;148m█\033[38;2;142;54;148m║ \033[38;2;139;56;149m \033[38;2;135;57;149m \033[38;2;132;58;150m█\033[38;2;129;60;151m█\033[38;2;126;61;151m█\033[38;2;123;62;152m╔\033[38;2;120;64;153m╝\033[38;2;116;65;153m \033[38;2;113;67;154m█\033[38;2;110;68;155m█\033[38;2;107;69;155m╔\033[38;2;104;71;156m█\033[38;2;101;72;157m█\033[38;2;97;73;157m█\033[38;2;94;75;158m█\033[38;2;91;76;159m╔\033[38;2;88;77;159m█\033[38;2;85;79;160m█\033[38;2;81;80;161m║ \033[38;2;78;81;161m█\033[38;2;75;83;162m█\033[38;2;72;84;163m█\033[38;2;69;86;163m█\033[38;2;66;87;164m█\033[38;2;62;88;165m█\033[38;2;59;90;165m█\033[38;2;56;91;166m║
|
||||||
|
+ \033[38;2;215;23;133m█\033[38;2;212;24;134m█\033[38;2;209;26;134m╔\033[38;2;205;27;135m═\033[38;2;202;28;136m═\033[38;2;199;30;136m═\033[38;2;196;31;137m╝\033[38;2;193;33;138m \033[38;2;190;34;138m█\033[38;2;186;35;139m█\033[38;2;183;37;140m║\033[38;2;180;38;140m \033[38;2;177;39;141m \033[38;2;174;41;142m \033[38;2;170;42;142m \033[38;2;167;43;143m \033[38;2;164;45;144m█\033[38;2;161;46;144m█\033[38;2;158;47;145m╔\033[38;2;155;49;146m═\033[38;2;151;50;146m═\033[38;2;148;52;147m█\033[38;2;145;53;148m█\033[38;2;142;54;148m║ \033[38;2;139;56;149m \033[38;2;135;57;149m█\033[38;2;132;58;150m█\033[38;2;129;60;151m█\033[38;2;126;61;151m╔\033[38;2;123;62;152m╝\033[38;2;120;64;153m \033[38;2;116;65;153m \033[38;2;113;67;154m█\033[38;2;110;68;155m█\033[38;2;107;69;155m║\033[38;2;104;71;156m╚\033[38;2;101;72;157m█\033[38;2;97;73;157m█\033[38;2;94;75;158m╔\033[38;2;91;76;159m╝\033[38;2;88;77;159m█\033[38;2;85;79;160m█\033[38;2;81;80;161m║ \033[38;2;78;81;161m█\033[38;2;75;83;162m█\033[38;2;72;84;163m╔\033[38;2;69;86;163m═\033[38;2;66;87;164m═\033[38;2;62;88;165m█\033[38;2;59;90;165m█\033[38;2;56;91;166m║
|
||||||
|
+ \033[38;2;215;23;133m█\033[38;2;212;24;134m█\033[38;2;209;26;134m║\033[38;2;205;27;135m \033[38;2;202;28;136m \033[38;2;199;30;136m \033[38;2;196;31;137m \033[38;2;193;33;138m \033[38;2;190;34;138m█\033[38;2;186;35;139m█\033[38;2;183;37;140m█\033[38;2;180;38;140m█\033[38;2;177;39;141m█\033[38;2;174;41;142m█\033[38;2;170;42;142m█\033[38;2;167;43;143m╗ \033[38;2;164;45;144m█\033[38;2;161;46;144m█\033[38;2;158;47;145m║\033[38;2;155;49;146m \033[38;2;151;50;146m \033[38;2;148;52;147m█\033[38;2;145;53;148m█\033[38;2;142;54;148m║ \033[38;2;139;56;149m█\033[38;2;135;57;149m█\033[38;2;132;58;150m█\033[38;2;129;60;151m█\033[38;2;126;61;151m█\033[38;2;123;62;152m█\033[38;2;120;64;153m█\033[38;2;116;65;153m╗ \033[38;2;113;67;154m█\033[38;2;110;68;155m█\033[38;2;107;69;155m║\033[38;2;104;71;156m \033[38;2;101;72;157m╚\033[38;2;97;73;157m═\033[38;2;94;75;158m╝\033[38;2;91;76;159m \033[38;2;88;77;159m█\033[38;2;85;79;160m█\033[38;2;81;80;161m║ \033[38;2;78;81;161m█\033[38;2;75;83;162m█\033[38;2;72;84;163m║\033[38;2;69;86;163m \033[38;2;66;87;164m \033[38;2;62;88;165m█\033[38;2;59;90;165m█\033[38;2;56;91;166m║
|
||||||
|
+ \033[38;2;215;23;133m╚\033[38;2;212;24;134m═\033[38;2;209;26;134m╝\033[38;2;205;27;135m \033[38;2;202;28;136m \033[38;2;199;30;136m \033[38;2;196;31;137m \033[38;2;193;33;138m \033[38;2;190;34;138m╚\033[38;2;186;35;139m═\033[38;2;183;37;140m═\033[38;2;180;38;140m═\033[38;2;177;39;141m═\033[38;2;174;41;142m═\033[38;2;170;42;142m═\033[38;2;167;43;143m╝ \033[38;2;164;45;144m╚\033[38;2;161;46;144m═\033[38;2;158;47;145m╝\033[38;2;155;49;146m \033[38;2;151;50;146m \033[38;2;148;52;147m╚\033[38;2;145;53;148m═\033[38;2;142;54;148m╝ \033[38;2;139;56;149m╚\033[38;2;135;57;149m═\033[38;2;132;58;150m═\033[38;2;129;60;151m═\033[38;2;126;61;151m═\033[38;2;123;62;152m═\033[38;2;120;64;153m═\033[38;2;116;65;153m╝ \033[38;2;113;67;154m╚\033[38;2;110;68;155m═\033[38;2;107;69;155m╝\033[38;2;104;71;156m \033[38;2;101;72;157m \033[38;2;97;73;157m \033[38;2;94;75;158m \033[38;2;91;76;159m \033[38;2;88;77;159m╚\033[38;2;85;79;160m═\033[38;2;81;80;161m╝ \033[38;2;78;81;161m╚\033[38;2;75;83;162m═\033[38;2;72;84;163m╝\033[38;2;69;86;163m \033[38;2;66;87;164m \033[38;2;62;88;165m╚\033[38;2;59;90;165m═\033[38;2;56;91;166m╝\033[0m
|
||||||
|
+ """;
|
||||||
|
+
|
||||||
|
+ // Support URLs
|
||||||
|
+ public static final String DOWNLOAD_PAGE = "https://plazmamc.org/downloads";
|
||||||
|
+ public static final String CONFIG_REFERENCE = "https://docs.plazmamc.org/plazma/administration/reference/configurations";
|
||||||
|
+ public static final String START_GUIDE = "https://docs.plazmamc.org/plazma/administration/getting-started";
|
||||||
|
+ public static final String USAGE_GUIDE = "https://docs.plazmamc.org/plazma/administration/getting-started/next-step";
|
||||||
|
+ public static final String SUPPORT_PAGE = "https://github.com/PlazmaMC/Plazma/issues";
|
||||||
|
+
|
||||||
|
+ // DO NOT MODIFY BELOW
|
||||||
|
+ public static final String BRAND_LCASE = BRAND_NAME.toLowerCase();
|
||||||
|
+ public static final String BRAND_UCASE = BRAND_NAME.toUpperCase();
|
||||||
|
+
|
||||||
|
+}
|
||||||
|
diff --git a/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java b/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java
|
||||||
|
index a6e5950b5875cafd734300cdfbf58f5d3736f3c8..a337e2c9576fb70a8ee9082e9b69719c804b286e 100644
|
||||||
|
--- a/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java
|
||||||
|
+++ b/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java
|
||||||
|
@@ -30,9 +30,6 @@ public record ServerBuildInfoImpl(
|
||||||
|
private static final String ATTRIBUTE_GIT_BRANCH = "Git-Branch";
|
||||||
|
private static final String ATTRIBUTE_GIT_COMMIT = "Git-Commit";
|
||||||
|
|
||||||
|
- private static final String BRAND_PAPER_NAME = "Paper";
|
||||||
|
- private static final String BRAND_PURPUR_NAME = "Purpur"; // Purpur
|
||||||
|
-
|
||||||
|
private static final String BUILD_DEV = "DEV";
|
||||||
|
|
||||||
|
public ServerBuildInfoImpl() {
|
||||||
|
@@ -43,9 +40,9 @@ public record ServerBuildInfoImpl(
|
||||||
|
this(
|
||||||
|
getManifestAttribute(manifest, ATTRIBUTE_BRAND_ID)
|
||||||
|
.map(Key::key)
|
||||||
|
- .orElse(BRAND_PURPUR_ID), // Purpur
|
||||||
|
+ .orElse(BRAND_ID), // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
getManifestAttribute(manifest, ATTRIBUTE_BRAND_NAME)
|
||||||
|
- .orElse(BRAND_PURPUR_NAME), // Purpur
|
||||||
|
+ .orElse(ServerBrandConstants.BRAND_NAME), // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
SharedConstants.getCurrentVersion().getId(),
|
||||||
|
SharedConstants.getCurrentVersion().getName(),
|
||||||
|
getManifestAttribute(manifest, ATTRIBUTE_BUILD_NUMBER)
|
||||||
|
@@ -62,7 +59,7 @@ public record ServerBuildInfoImpl(
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isBrandCompatible(final @NotNull Key brandId) {
|
||||||
|
- return brandId.equals(this.brandId) || brandId.equals(BRAND_PAPER_ID); // Purpur
|
||||||
|
+ return brandId.equals(this.brandId) || SUPPORTED_BRANDS.contains(brandId); // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
diff --git a/src/main/java/io/papermc/paper/configuration/Configurations.java b/src/main/java/io/papermc/paper/configuration/Configurations.java
|
||||||
|
index 96142deb42700f888ea08689ab62c27ef2b881fd..62b602450a53cfebf08f839b505d0e965aff6e20 100644
|
||||||
|
--- a/src/main/java/io/papermc/paper/configuration/Configurations.java
|
||||||
|
+++ b/src/main/java/io/papermc/paper/configuration/Configurations.java
|
||||||
|
@@ -114,7 +114,12 @@ public abstract class Configurations<G, W> {
|
||||||
|
loader.save(node);
|
||||||
|
} catch (ConfigurateException ex) {
|
||||||
|
if (ex.getCause() instanceof AccessDeniedException) {
|
||||||
|
- LOGGER.warn("Could not save {}: Paper could not persist the full set of configuration settings in the configuration file. Any setting missing from the configuration file will be set with its default value in memory. Admins should make sure to review the configuration documentation at https://docs.papermc.io/paper/configuration for more details.", filename, ex);
|
||||||
|
+ // Plazma start - Fork-friendly Rebranding
|
||||||
|
+ LOGGER.warn("Could not save {}: {} could not persist the full set of configuration settings in the configuration file."
|
||||||
|
+ + "Any setting missing from the configuration file will be set with its default value in memory."
|
||||||
|
+ + "Admins should make sure to review the configuration documentation at {} for more details.",
|
||||||
|
+ filename, io.papermc.paper.ServerBuildInfo.buildInfo().brandName(), io.papermc.paper.ServerBrandConstants.CONFIG_REFERENCE, ex);
|
||||||
|
+ // Plazma end - Fork-friendly Rebranding
|
||||||
|
} else throw ex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
diff --git a/src/main/java/net/minecraft/CrashReport.java b/src/main/java/net/minecraft/CrashReport.java
|
||||||
|
index c366d84518979e842a6f10f969a5951539ecac93..4d4a565435c1c73d0693be89b4a6624d1a8515eb 100644
|
||||||
|
--- a/src/main/java/net/minecraft/CrashReport.java
|
||||||
|
+++ b/src/main/java/net/minecraft/CrashReport.java
|
||||||
|
@@ -37,7 +37,7 @@ public class CrashReport {
|
||||||
|
io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(cause); // Paper
|
||||||
|
this.title = message;
|
||||||
|
this.exception = cause;
|
||||||
|
- this.systemReport.setDetail("CraftBukkit Information", new org.bukkit.craftbukkit.CraftCrashReport()); // CraftBukkit
|
||||||
|
+ this.systemReport.setDetail(io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " Information", new org.bukkit.craftbukkit.CraftCrashReport()); // CraftBukkit // Plazma - Fork-friendly Rebranding
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTitle() {
|
||||||
|
@@ -127,7 +127,7 @@ public class CrashReport {
|
||||||
|
stringbuilder.append("---- Minecraft Crash Report ----\n");
|
||||||
|
// Purpur start
|
||||||
|
stringbuilder.append("// ");
|
||||||
|
- stringbuilder.append("// DO NOT REPORT THIS TO PAPER! REPORT TO PURPUR INSTEAD!");
|
||||||
|
+ stringbuilder.append("// DO NOT REPORT THIS TO PAPER OR PURPUR! REPORT TO %s INSTEAD!".formatted(io.papermc.paper.ServerBuildInfoImpl.BRAND_UCASE)); // Plazma - Fork-friendly Rebranding
|
||||||
|
// Purpur end
|
||||||
|
stringbuilder.append("// ");
|
||||||
|
stringbuilder.append(CrashReport.getErrorComment());
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
|
||||||
|
index 0f7d6da8685716604f0749d4f5b60730a44cde73..4911a6d25d12eb9d2b263aeb9b7f521ff828397a 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/Main.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/Main.java
|
||||||
|
@@ -107,6 +107,11 @@ public class Main {
|
||||||
|
*/ // CraftBukkit end
|
||||||
|
|
||||||
|
try {
|
||||||
|
+ // Plazma start - Fork-friendly Rebranding
|
||||||
|
+ //noinspection ConstantValue
|
||||||
|
+ if (io.papermc.paper.ServerBrandConstants.ASCII_LOGO != null)
|
||||||
|
+ System.out.println(io.papermc.paper.ServerBrandConstants.ASCII_LOGO);
|
||||||
|
+ // Plazma end - Fork-friendly Rebranding
|
||||||
|
|
||||||
|
Path path = (Path) optionset.valueOf("pidFile"); // CraftBukkit
|
||||||
|
|
||||||
|
@@ -178,7 +183,7 @@ public class Main {
|
||||||
|
if (awtException != null) {
|
||||||
|
Main.LOGGER.error("You are using a headless JRE distribution.");
|
||||||
|
Main.LOGGER.error("This distribution is missing certain graphic libraries that the Minecraft server needs to function.");
|
||||||
|
- Main.LOGGER.error("For instructions on how to install the non-headless JRE, see https://docs.papermc.io/misc/java-install");
|
||||||
|
+ Main.LOGGER.error("For instructions on how to install the non-headless JRE, see {}", io.papermc.paper.ServerBrandConstants.START_GUIDE); // Plazma - Fork-friendly Rebranding
|
||||||
|
Main.LOGGER.error("");
|
||||||
|
Main.LOGGER.error(awtException);
|
||||||
|
return;
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
|
index 4c192b138810650ca0ab5e5d4f2407c0dc3d9fd0..468cb5034f7648e6ef39b1961298f592535aad88 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
|
@@ -960,7 +960,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
|
shutdownThread = Thread.currentThread();
|
||||||
|
org.spigotmc.WatchdogThread.doStop(); // Paper
|
||||||
|
if (!isSameThread()) {
|
||||||
|
- MinecraftServer.LOGGER.info("Stopping main thread (Ignore any thread death message you see! - DO NOT REPORT THREAD DEATH TO PURPUR)"); // Purpur
|
||||||
|
+ MinecraftServer.LOGGER.info("Stopping main thread (Ignore any thread death message you see! - DO NOT REPORT THREAD DEATH TO {})", io.papermc.paper.ServerBrandConstants.BRAND_UCASE); // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
while (this.getRunningThread().isAlive()) {
|
||||||
|
this.getRunningThread().stop();
|
||||||
|
try {
|
||||||
|
@@ -1181,7 +1181,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
|
LOGGER.info("*************************************************************************************");
|
||||||
|
LOGGER.info("This is the first time you're starting this server.");
|
||||||
|
LOGGER.info("It's recommended you read our 'Getting Started' documentation for guidance.");
|
||||||
|
- LOGGER.info("View this and more helpful information here: https://docs.papermc.io/paper/next-steps");
|
||||||
|
+ LOGGER.info("View this and more helpful information here: {}", io.papermc.paper.ServerBrandConstants.START_GUIDE); // Plazma - Fork-friendly Rebranding
|
||||||
|
LOGGER.info("*************************************************************************************");
|
||||||
|
}
|
||||||
|
// Paper end - Add onboarding message for initial server start
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
|
index fd88dfafcec517a29e3320ce147516ce2ccb2dc9..6d3f61a05c4d4ad20e62175eb0331bc31b5d6807 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
|
@@ -796,7 +796,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||||
|
org.bukkit.plugin.Plugin[] plugins = this.server.getPluginManager().getPlugins();
|
||||||
|
|
||||||
|
result.append(this.server.getName());
|
||||||
|
- result.append(" on Bukkit ");
|
||||||
|
+ result.append(" on ").append(io.papermc.paper.ServerBuildInfo.buildInfo().brandName()).append(" "); // Plazma - Fork-friendly Rebranding
|
||||||
|
result.append(this.server.getBukkitVersion());
|
||||||
|
|
||||||
|
if (plugins.length > 0 && this.server.getQueryPlugins()) {
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
||||||
|
index 842f382de43df5d5c321422372ec30ccdd7859d7..09aa0c9ec7d66ff82167c035481e5fcccf8618de 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
||||||
|
@@ -56,12 +56,12 @@ public class DedicatedServerProperties extends Settings<DedicatedServerPropertie
|
||||||
|
public final boolean onlineMode = this.get("online-mode", true);
|
||||||
|
public final boolean preventProxyConnections = this.get("prevent-proxy-connections", false);
|
||||||
|
public final String serverIp = this.get("server-ip", "");
|
||||||
|
- public final String serverName = this.get("server-name", "Unknown Server"); // Purpur
|
||||||
|
+ public final String serverName = this.get("server-name", "A " + io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " Server"); // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
public final boolean spawnAnimals = this.get("spawn-animals", true);
|
||||||
|
public final boolean spawnNpcs = this.get("spawn-npcs", true);
|
||||||
|
public final boolean pvp = this.get("pvp", true);
|
||||||
|
public final boolean allowFlight = this.get("allow-flight", false);
|
||||||
|
- public final String motd = this.get("motd", "A Minecraft Server");
|
||||||
|
+ public final String motd = this.get("motd", "A " + io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " Server"); // Plazma - Fork-friendly Rebranding
|
||||||
|
public final boolean forceGameMode = this.get("force-gamemode", false);
|
||||||
|
public final boolean enforceWhitelist = this.get("enforce-whitelist", false);
|
||||||
|
public final Difficulty difficulty;
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java b/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java
|
||||||
|
index 8f74c2ec5252b6265549589310d742337c91cb2c..f8e8966fe8909f209969637e7ed708e689c41f1d 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java
|
||||||
|
@@ -56,7 +56,7 @@ public class MinecraftServerGui extends JComponent {
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
|
- final JFrame jframe = new JFrame("Purpur Minecraft server"); // Purpur
|
||||||
|
+ final JFrame jframe = new JFrame(io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " Minecraft server"); // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
final MinecraftServerGui servergui = new MinecraftServerGui(server);
|
||||||
|
|
||||||
|
jframe.setDefaultCloseOperation(2);
|
||||||
|
@@ -64,7 +64,7 @@ public class MinecraftServerGui extends JComponent {
|
||||||
|
jframe.pack();
|
||||||
|
jframe.setLocationRelativeTo((Component) null);
|
||||||
|
jframe.setVisible(true);
|
||||||
|
- jframe.setName("Purpur Minecraft server"); // Paper - Improve ServerGUI // Purpur
|
||||||
|
+ jframe.setName(io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " Minecraft server"); // Paper - Improve ServerGUI // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
|
||||||
|
// Paper start - Improve ServerGUI
|
||||||
|
try {
|
||||||
|
@@ -76,7 +76,7 @@ public class MinecraftServerGui extends JComponent {
|
||||||
|
jframe.addWindowListener(new WindowAdapter() {
|
||||||
|
public void windowClosing(WindowEvent windowevent) {
|
||||||
|
if (!servergui.isClosing.getAndSet(true)) {
|
||||||
|
- jframe.setTitle("Purpur Minecraft server - shutting down!"); // Purpur
|
||||||
|
+ jframe.setTitle(io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " Minecraft server - shutting down!"); // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
server.halt(true);
|
||||||
|
servergui.runFinalizers();
|
||||||
|
}
|
||||||
|
@@ -123,7 +123,7 @@ public class MinecraftServerGui extends JComponent {
|
||||||
|
|
||||||
|
// Paper start - Add onboarding message for initial server start
|
||||||
|
private JComponent buildOnboardingPanel() {
|
||||||
|
- String onboardingLink = "https://docs.papermc.io/paper/next-steps";
|
||||||
|
+ String onboardingLink = io.papermc.paper.ServerBrandConstants.USAGE_GUIDE; // Plazma - Fork-friendly Rebranding
|
||||||
|
JPanel jPanel = new JPanel();
|
||||||
|
|
||||||
|
javax.swing.JLabel jLabel = new javax.swing.JLabel("If you need help setting up your server you can visit:");
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
|
||||||
|
index 1ce1235cbbf23fe975c85a0f713280b433459951..24934c84a6ca3a74784b63ebeadb9457aebd39c0 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
|
||||||
|
@@ -89,7 +89,7 @@ public class DamageSource {
|
||||||
|
|
||||||
|
public DamageSource customEventDamager(Entity entity) {
|
||||||
|
if (this.directEntity != null) {
|
||||||
|
- throw new IllegalStateException("Cannot set custom event damager when direct entity is already set (report a bug to Paper)");
|
||||||
|
+ throw new IllegalStateException("Cannot set custom event damager when direct entity is already set (report a bug to " + io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + ")"); // Plazma - Fork-friendly Rebranding
|
||||||
|
}
|
||||||
|
DamageSource damageSource = this.cloneInstance();
|
||||||
|
damageSource.customEventDamager = entity;
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java
|
||||||
|
index 1090b7e36e3c1c105bc36135b82751c651f237d4..a5b3f9309393fd54c0aec2918410b331b306684d 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java
|
||||||
|
@@ -157,7 +157,7 @@ public class RegionFileStorage implements AutoCloseable {
|
||||||
|
|
||||||
|
// Paper start
|
||||||
|
private static void printOversizedLog(String msg, Path file, int x, int z) {
|
||||||
|
- org.apache.logging.log4j.LogManager.getLogger().fatal(msg + " (" + file.toString().replaceAll(".+[\\\\/]", "") + " - " + x + "," + z + ") Go clean it up to remove this message. /minecraft:tp " + (x<<4)+" 128 "+(z<<4) + " - DO NOT REPORT THIS TO PAPER - You may ask for help on Discord, but do not file an issue. These error messages can not be removed.");
|
||||||
|
+ org.apache.logging.log4j.LogManager.getLogger().fatal(msg + " (" + file.toString().replaceAll(".+[\\\\/]", "") + " - " + x + "," + z + ") Go clean it up to remove this message. /minecraft:tp " + (x<<4)+" 128 "+(z<<4) + " - DO NOT REPORT THIS TO {} - You may ask for help on Discord, but do not file an issue. These error messages can not be removed.", io.papermc.paper.ServerBuildInfo.buildInfo().brandName()); // Plazma - Fork-friendly Rebranding
|
||||||
|
}
|
||||||
|
|
||||||
|
private static CompoundTag readOversizedChunk(RegionFile regionfile, ChunkPos chunkCoordinate) throws IOException {
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
|
index 549d01337e9a89b356287567db101de383d45c9c..234f1bf8be8838e1b10672c3209b9dde68114f2b 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
|
@@ -143,7 +143,7 @@ public class Main {
|
||||||
|
|
||||||
|
this.acceptsAll(Main.asList("noconsole"), "Disables the console");
|
||||||
|
|
||||||
|
- this.acceptsAll(Main.asList("v", "version"), "Show the CraftBukkit Version");
|
||||||
|
+ this.acceptsAll(Main.asList("v", "version"), "Show the " + io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " Version"); // Plazma - Fork-friendly Rebranding
|
||||||
|
|
||||||
|
this.acceptsAll(Main.asList("demo"), "Demo mode");
|
||||||
|
|
||||||
|
@@ -194,7 +194,7 @@ public class Main {
|
||||||
|
acceptsAll(asList("server-name"), "Name of the server")
|
||||||
|
.withRequiredArg()
|
||||||
|
.ofType(String.class)
|
||||||
|
- .defaultsTo("Unknown Server")
|
||||||
|
+ .defaultsTo("A " + io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " Server") // Plazma - Fork-friendly Rebranding
|
||||||
|
.describedAs("Name");
|
||||||
|
// Paper end
|
||||||
|
}
|
||||||
|
@@ -259,7 +259,7 @@ public class Main {
|
||||||
|
float javaVersion = Float.parseFloat(System.getProperty("java.class.version"));
|
||||||
|
boolean isOldVersion = javaVersion < 61.0;
|
||||||
|
if (!skip && isOldVersion) {
|
||||||
|
- System.err.println("Unsupported Java detected (" + javaVersion + "). This version of Minecraft requires at least Java 21. Check your Java version with the command 'java -version'. For more info see https://docs.papermc.io/misc/java-install");
|
||||||
|
+ System.err.println("Unsupported Java detected (" + javaVersion + "). This version of Minecraft requires at least Java 21. Check your Java version with the command 'java -version'. For more info see " + io.papermc.paper.ServerBrandConstants.START_GUIDE); // Plazma - Fork-friendly Rebranding
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String javaVersionName = System.getProperty("java.version");
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
|
||||||
|
index ca8ae8e1c51b937dac916e0b0dc94b5e2e61efeb..e3af3ba8f34626e54cdd931601fd3ec40618a061 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
|
||||||
|
@@ -503,7 +503,7 @@ public class CraftScheduler implements BukkitScheduler {
|
||||||
|
this.parsePending();
|
||||||
|
} else {
|
||||||
|
// this.debugTail = this.debugTail.setNext(new CraftAsyncDebugger(currentTick + CraftScheduler.RECENT_TICKS, task.getOwner(), task.getTaskClass())); // Paper
|
||||||
|
- task.getOwner().getLogger().log(Level.SEVERE, "Unexpected Async Task in the Sync Scheduler. Report this to Purpur"); // Paper // Purpur
|
||||||
|
+ task.getOwner().getLogger().log(Level.SEVERE, "Unexpected Async Task in the Sync Scheduler. Report this to {}" + io.papermc.paper.ServerBuildInfo.buildInfo().brandName()); // Paper // Purpur
|
||||||
|
// We don't need to parse pending
|
||||||
|
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
|
||||||
|
}
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||||
|
index 99597258e8e88cd9e2c901c4ac3ff7faeeabee2b..e8f7250f366bf9407ffd6d2ce53fd68a3753f97c 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/org.purpurmc.purpur/purpur-api/pom.properties"); // Pufferfish // Purpur
|
||||||
|
+ InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream(io.papermc.paper.ServerBrandConstants.RESOURCE_PATH); // Pufferfish // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
Properties properties = new Properties();
|
||||||
|
|
||||||
|
if (stream != null) {
|
||||||
|
@@ -20,7 +20,7 @@ public final class Versioning {
|
||||||
|
|
||||||
|
result = properties.getProperty("version");
|
||||||
|
} catch (IOException ex) {
|
||||||
|
- Logger.getLogger(Versioning.class.getName()).log(Level.SEVERE, "Could not get Bukkit version!", ex);
|
||||||
|
+ Logger.getLogger(Versioning.class.getName()).log(Level.SEVERE, "Could not get " + io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " version!", ex); // Plazma - Fork-friendly Rebranding
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
|
||||||
|
index a353eb9f45af7b7f9bfd92a4a89403335b841840..e221edfd8837f82642de584ecadf47bafc598b38 100644
|
||||||
|
--- a/src/main/java/org/spigotmc/WatchdogThread.java
|
||||||
|
+++ b/src/main/java/org/spigotmc/WatchdogThread.java
|
||||||
|
@@ -155,14 +155,14 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
|
||||||
|
if (isLongTimeout) {
|
||||||
|
// Paper end
|
||||||
|
log.log( Level.SEVERE, "------------------------------" );
|
||||||
|
- log.log( Level.SEVERE, "The server has stopped responding! This is (probably) not a Purpur bug." ); // Paper // Purpur
|
||||||
|
+ log.log( Level.SEVERE, "The server has stopped responding! This is (probably) not a " + io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " bug." ); // Paper // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
log.log( Level.SEVERE, "If you see a plugin in the Server thread dump below, then please report it to that author" );
|
||||||
|
log.log( Level.SEVERE, "\t *Especially* if it looks like HTTP or MySQL operations are occurring" );
|
||||||
|
log.log( Level.SEVERE, "If you see a world save or edit, then it means you did far more than your server can handle at once" );
|
||||||
|
log.log( Level.SEVERE, "\t If this is the case, consider increasing timeout-time in spigot.yml but note that this will replace the crash with LARGE lag spikes" );
|
||||||
|
- log.log( Level.SEVERE, "If you are unsure or still think this is a Purpur bug, please report this to https://github.com/PurpurMC/Purpur/issues" ); // Purpur
|
||||||
|
+ log.log( Level.SEVERE, "If you are unsure or still think this is a " + io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " bug, please report this to " + io.papermc.paper.ServerBrandConstants.SUPPORT_PAGE ); // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
log.log( Level.SEVERE, "Be sure to include ALL relevant console errors and Minecraft crash reports" );
|
||||||
|
- log.log( Level.SEVERE, "Purpur version: " + Bukkit.getServer().getVersion() ); // Purpur
|
||||||
|
+ log.log( Level.SEVERE, io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " version: " + Bukkit.getServer().getVersion() ); // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
//
|
||||||
|
if ( net.minecraft.world.level.Level.lastPhysicsProblem != null )
|
||||||
|
{
|
||||||
|
@@ -184,12 +184,12 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
|
||||||
|
// Paper end
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
- log.log(Level.SEVERE, "--- DO NOT REPORT THIS TO PURPUR - THIS IS NOT A BUG OR A CRASH - " + Bukkit.getServer().getVersion() + " ---"); // Purpur
|
||||||
|
+ log.log(Level.SEVERE, "--- DO NOT REPORT THIS TO " + io.papermc.paper.ServerBrandConstants.BRAND_UCASE + " - THIS IS NOT A BUG OR A CRASH - " + Bukkit.getServer().getVersion() + " ---"); // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
log.log(Level.SEVERE, "The server has not responded for " + (currentTime - lastTick) / 1000 + " seconds! Creating thread dump");
|
||||||
|
}
|
||||||
|
// Paper end - Different message for short timeout
|
||||||
|
log.log( Level.SEVERE, "------------------------------" );
|
||||||
|
- log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Purpur!):" ); // Paper // Purpur
|
||||||
|
+ log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to " + io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + "!):" ); // Paper // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler.dumpAllChunkLoadInfo(isLongTimeout); // Paper - rewrite chunk system
|
||||||
|
this.dumpTickingInfo(); // Paper - log detailed tick information
|
||||||
|
WatchdogThread.dumpThread( ManagementFactory.getThreadMXBean().getThreadInfo( MinecraftServer.getServer().serverThread.getId(), Integer.MAX_VALUE ), log );
|
||||||
|
@@ -205,7 +205,7 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
|
||||||
|
WatchdogThread.dumpThread( thread, log );
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
- log.log(Level.SEVERE, "--- DO NOT REPORT THIS TO PURPUR - THIS IS NOT A BUG OR A CRASH ---"); // Purpur
|
||||||
|
+ log.log(Level.SEVERE, "--- DO NOT REPORT THIS TO " + io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " - THIS IS NOT A BUG OR A CRASH ---"); // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
}
|
||||||
|
|
||||||
|
log.log( Level.SEVERE, "------------------------------" );
|
||||||
@@ -1,562 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: AlphaKR93 <dev@alpha93.kr>
|
|
||||||
Date: Wed, 21 Dec 2022 19:31:24 +0900
|
|
||||||
Subject: [PATCH] Rebrand
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/MIT.txt b/MIT.txt
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000000000000000000000000000000000..67d405764ed68083d0164b1af0eabc0af7f6efea
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/MIT.txt
|
|
||||||
@@ -0,0 +1,21 @@
|
|
||||||
+The MIT License (MIT)
|
|
||||||
+
|
|
||||||
+Copyright (c) 2024 Paper Contributors
|
|
||||||
+
|
|
||||||
+Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
+a copy of this software and associated documentation files (the "Software"),
|
|
||||||
+to deal in the Software without restriction, including without limitation
|
|
||||||
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
||||||
+and/or sell copies of the Software, and to permit persons to whom
|
|
||||||
+the Software is furnished to do so, subject to the following conditions:
|
|
||||||
+
|
|
||||||
+The above copyright notice and this permission notice shall be included
|
|
||||||
+in all copies or substantial portions of the Software.
|
|
||||||
+
|
|
||||||
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
|
||||||
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
+AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
|
||||||
+BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
|
||||||
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
|
|
||||||
+OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
|
||||||
index 8d1a11c1a1fedb7ae73789abc6f4a9a689fb78c3..533418d3514fce41bab403c3ba2db21e96ac134e 100644
|
|
||||||
--- a/build.gradle.kts
|
|
||||||
+++ b/build.gradle.kts
|
|
||||||
@@ -12,8 +12,8 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) {
|
|
||||||
val alsoShade: Configuration by configurations.creating
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
- implementation(project(":purpur-api")) // Purpur
|
|
||||||
|
|
||||||
+ implementation(project(":${parent!!.property("projectName").toString().lowercase()}-api")) // Plazma - Rebrand
|
|
||||||
// Plazma start - Use Gradle Version Catalogs
|
|
||||||
implementation(server.bundles.implementation)
|
|
||||||
implementation(common.snakeyaml)
|
|
||||||
@@ -63,7 +63,7 @@ tasks.jar {
|
|
||||||
attributes(
|
|
||||||
"Main-Class" to "org.bukkit.craftbukkit.Main",
|
|
||||||
"Implementation-Title" to "CraftBukkit",
|
|
||||||
- "Implementation-Version" to "git-Purpur-$implementationVersion", // Pufferfish // Purpur
|
|
||||||
+ "Implementation-Version" to "git-${parent!!.property("projectName")}-$implementationVersion", // Pufferfish // Purpur // Plazma - Rebrand
|
|
||||||
"Implementation-Vendor" to date, // Paper
|
|
||||||
"Specification-Title" to "Bukkit",
|
|
||||||
"Specification-Version" to project.version,
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java
|
|
||||||
index 8cde30544e14f8fc2dac32966ae3c21f8cf3a551..5eefe30d47b055fd544caebfb77f6f5a12894fda 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("Purpur", serverUUID, logFailedRequests, Bukkit.getLogger()); // Pufferfish // Purpur
|
|
||||||
+ Metrics metrics = new Metrics(org.bukkit.craftbukkit.util.Versioning.BRANDING, serverUUID, logFailedRequests, Bukkit.getLogger()); // Pufferfish // Purpur // Plazma - Rebrand
|
|
||||||
|
|
||||||
metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> {
|
|
||||||
String minecraftVersion = Bukkit.getVersion();
|
|
||||||
@@ -603,7 +603,7 @@ public class Metrics {
|
|
||||||
|
|
||||||
metrics.addCustomChart(new Metrics.SingleLineChart("players", () -> Bukkit.getOnlinePlayers().size()));
|
|
||||||
metrics.addCustomChart(new Metrics.SimplePie("online_mode", () -> Bukkit.getOnlineMode() ? "online" : (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.isProxyOnlineMode() ? "bungee" : "offline"))); // Purpur
|
|
||||||
- metrics.addCustomChart(new Metrics.SimplePie("purpur_version", () -> (org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() != null) ? org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() : "unknown")); // Purpur
|
|
||||||
+ metrics.addCustomChart(new Metrics.SimplePie(org.bukkit.craftbukkit.util.Versioning.BRAND_L + "_version", () -> (org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() != null) ? org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() : "unknown")); // Purpur // Plazma // Plazma - Rebrand
|
|
||||||
|
|
||||||
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
|
|
||||||
Map<String, Map<String, Integer>> map = new HashMap<>();
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
|
|
||||||
index 462a6eed350fd660ddaf25d567bb6e97b77d0b2b..9404c5fa798b00f5532ed7bda050cf183555709d 100644
|
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
|
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
|
|
||||||
@@ -20,7 +20,6 @@ import java.util.stream.StreamSupport;
|
|
||||||
public class PaperVersionFetcher implements VersionFetcher {
|
|
||||||
private static final java.util.regex.Pattern VER_PATTERN = java.util.regex.Pattern.compile("^([0-9\\.]*)\\-.*R"); // R is an anchor, will always give '-R' at end
|
|
||||||
// Purpur start
|
|
||||||
- private static final String DOWNLOAD_PAGE = "https://purpurmc.org/downloads";
|
|
||||||
private static int distance = -2; public int distance() { return distance; }
|
|
||||||
// Purpur end
|
|
||||||
private static @Nullable String mcVer;
|
|
||||||
@@ -33,8 +32,8 @@ public class PaperVersionFetcher implements VersionFetcher {
|
|
||||||
@Nonnull
|
|
||||||
@Override
|
|
||||||
public Component getVersionMessage(@Nonnull String serverVersion) {
|
|
||||||
- String[] parts = serverVersion.substring("git-Purpur-".length()).split("[-\\s]"); // Purpur
|
|
||||||
- final Component updateMessage = getUpdateStatusMessage("PurpurMC/Purpur", "ver/" + getMinecraftVersion(), parts[0]); // Purpur
|
|
||||||
+ String[] parts = serverVersion.substring("git--".length() + org.bukkit.craftbukkit.util.Versioning.BRANDING.length()).split("[-\\s]"); // Purpur // Plazma - Rebrand
|
|
||||||
+ final Component updateMessage = getUpdateStatusMessage(org.bukkit.craftbukkit.util.Versioning.REPOSITORY, (org.bukkit.craftbukkit.util.Versioning.DEVELOPMENT ? "dev/" : "ver/") + getMinecraftVersion(), parts[0]); // Purpur // Plazma - Rebrand
|
|
||||||
final Component history = getHistory();
|
|
||||||
|
|
||||||
return history != null ? Component.join(net.kyori.adventure.text.JoinConfiguration.separator(Component.newline()), history, updateMessage) : updateMessage; // Purpur
|
|
||||||
@@ -47,7 +46,7 @@ public class PaperVersionFetcher implements VersionFetcher {
|
|
||||||
String result = matcher.group();
|
|
||||||
mcVer = result.substring(0, result.length() - 2); // strip 'R' anchor and trailing '-'
|
|
||||||
} else {
|
|
||||||
- org.bukkit.Bukkit.getLogger().warning("Unable to match version to pattern! Report to Purpur!"); // Purpur
|
|
||||||
+ org.bukkit.Bukkit.getLogger().warning("Unable to match version to pattern! Report to " + org.bukkit.craftbukkit.util.Versioning.BRANDING + "!"); // Purpur // Plazma // Plazma - Rebrand
|
|
||||||
org.bukkit.Bukkit.getLogger().warning("Pattern: " + VER_PATTERN.toString());
|
|
||||||
org.bukkit.Bukkit.getLogger().warning("Version: " + org.bukkit.Bukkit.getBukkitVersion());
|
|
||||||
}
|
|
||||||
@@ -57,6 +56,7 @@ public class PaperVersionFetcher implements VersionFetcher {
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Component getUpdateStatusMessage(@Nonnull String repo, @Nonnull String branch, @Nonnull String versionInfo) {
|
|
||||||
+ /* // Plazma - Disable CI Checking
|
|
||||||
//int distance; // Purpur - use field
|
|
||||||
try {
|
|
||||||
int jenkinsBuild = Integer.parseInt(versionInfo);
|
|
||||||
@@ -65,6 +65,11 @@ public class PaperVersionFetcher implements VersionFetcher {
|
|
||||||
versionInfo = versionInfo.replace("\"", "");
|
|
||||||
distance = fetchDistanceFromGitHub(repo, branch, versionInfo);
|
|
||||||
}
|
|
||||||
+ // Plazma start - Disable CI Checking
|
|
||||||
+ */
|
|
||||||
+ versionInfo = versionInfo.replace("\"", ""); // Plazma
|
|
||||||
+ distance = fetchDistanceFromGitHub(repo, branch, versionInfo); // Plazma
|
|
||||||
+ // Plazma end - Disable CI Checking
|
|
||||||
|
|
||||||
switch (distance) {
|
|
||||||
case -1:
|
|
||||||
@@ -77,12 +82,13 @@ public class PaperVersionFetcher implements VersionFetcher {
|
|
||||||
return Component.text("* You are " + distance + " version(s) behind", NamedTextColor.YELLOW) // Purpur
|
|
||||||
.append(Component.newline())
|
|
||||||
.append(Component.text("Download the new version at: ")
|
|
||||||
- .append(Component.text(DOWNLOAD_PAGE, NamedTextColor.GOLD)
|
|
||||||
+ .append(Component.text(org.bukkit.craftbukkit.util.Versioning.DOWNLOAD, NamedTextColor.GOLD) // Plazma - Rebranding
|
|
||||||
.hoverEvent(Component.text("Click to open", NamedTextColor.WHITE))
|
|
||||||
- .clickEvent(ClickEvent.openUrl(DOWNLOAD_PAGE))));
|
|
||||||
+ .clickEvent(ClickEvent.openUrl(org.bukkit.craftbukkit.util.Versioning.DOWNLOAD)))); // Plazma - Rebranding
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /* // Plazma - Disable CI Checking
|
|
||||||
private static int fetchDistanceFromSiteApi(int jenkinsBuild, @Nullable String siteApiVersion) {
|
|
||||||
if (siteApiVersion == null) { return -1; }
|
|
||||||
try {
|
|
||||||
@@ -102,6 +108,7 @@ public class PaperVersionFetcher implements VersionFetcher {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+ */ // Plazma - Disable CI Checking
|
|
||||||
|
|
||||||
// Contributed by Techcable <Techcable@outlook.com> in GH-65
|
|
||||||
private static int fetchDistanceFromGitHub(@Nonnull String repo, @Nonnull String branch, @Nonnull String hash) {
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
|
||||||
index 3cb56595822799926a8141e60a42f5d1edfc6de5..f92edc10fb0f7a00436fd66d1fd1a9a45fb88b95 100644
|
|
||||||
--- a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
|
||||||
@@ -17,7 +17,7 @@ public final class PaperConsole extends SimpleTerminalConsole {
|
|
||||||
@Override
|
|
||||||
protected LineReader buildReader(LineReaderBuilder builder) {
|
|
||||||
builder
|
|
||||||
- .appName("Purpur") // Purpur
|
|
||||||
+ .appName(org.bukkit.craftbukkit.util.Versioning.BRANDING) // Purpur // Plazma - Rebrand
|
|
||||||
.variable(LineReader.HISTORY_FILE, java.nio.file.Paths.get(".console_history"))
|
|
||||||
.completer(new ConsoleCommandCompleter(this.server))
|
|
||||||
.option(LineReader.Option.COMPLETE_IN_WORD, true);
|
|
||||||
diff --git a/src/main/java/io/papermc/paper/configuration/Configurations.java b/src/main/java/io/papermc/paper/configuration/Configurations.java
|
|
||||||
index 96142deb42700f888ea08689ab62c27ef2b881fd..f5d725feb6d32f947eed82073c5594e205f31afe 100644
|
|
||||||
--- a/src/main/java/io/papermc/paper/configuration/Configurations.java
|
|
||||||
+++ b/src/main/java/io/papermc/paper/configuration/Configurations.java
|
|
||||||
@@ -114,7 +114,11 @@ public abstract class Configurations<G, W> {
|
|
||||||
loader.save(node);
|
|
||||||
} catch (ConfigurateException ex) {
|
|
||||||
if (ex.getCause() instanceof AccessDeniedException) {
|
|
||||||
- LOGGER.warn("Could not save {}: Paper could not persist the full set of configuration settings in the configuration file. Any setting missing from the configuration file will be set with its default value in memory. Admins should make sure to review the configuration documentation at https://docs.papermc.io/paper/configuration for more details.", filename, ex);
|
|
||||||
+ // Plazma start - Rebrand
|
|
||||||
+ LOGGER.warn("Could not save {}: " + org.bukkit.craftbukkit.util.Versioning.DOWNLOAD + " could not persist the full set of configuration settings in the configuration file."
|
|
||||||
+ + "Any setting missing from the configuration file will be set with its default value in memory."
|
|
||||||
+ + "Admins should make sure to review the configuration documentation at https://docs.papermc.io/paper/configuration for more details.", filename, ex); // TODO: Change to Plazma document link
|
|
||||||
+ // Plazma end - Rebrand
|
|
||||||
} else throw ex;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
diff --git a/src/main/java/net/minecraft/CrashReport.java b/src/main/java/net/minecraft/CrashReport.java
|
|
||||||
index c366d84518979e842a6f10f969a5951539ecac93..bc273804a60542efb284409680c6849d165dedaa 100644
|
|
||||||
--- a/src/main/java/net/minecraft/CrashReport.java
|
|
||||||
+++ b/src/main/java/net/minecraft/CrashReport.java
|
|
||||||
@@ -37,7 +37,7 @@ public class CrashReport {
|
|
||||||
io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(cause); // Paper
|
|
||||||
this.title = message;
|
|
||||||
this.exception = cause;
|
|
||||||
- this.systemReport.setDetail("CraftBukkit Information", new org.bukkit.craftbukkit.CraftCrashReport()); // CraftBukkit
|
|
||||||
+ this.systemReport.setDetail(org.bukkit.craftbukkit.util.Versioning.BRANDING + " Information", new org.bukkit.craftbukkit.CraftCrashReport()); // CraftBukkit // Plazma - Rebranding
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTitle() {
|
|
||||||
@@ -127,7 +127,7 @@ public class CrashReport {
|
|
||||||
stringbuilder.append("---- Minecraft Crash Report ----\n");
|
|
||||||
// Purpur start
|
|
||||||
stringbuilder.append("// ");
|
|
||||||
- stringbuilder.append("// DO NOT REPORT THIS TO PAPER! REPORT TO PURPUR INSTEAD!");
|
|
||||||
+ stringbuilder.append("// DO NOT REPORT THIS TO PAPER OR PURPUR! REPORT TO " + org.bukkit.craftbukkit.util.Versioning.BRAND_U + " INSTEAD!"); // Plazma - Rebranding
|
|
||||||
// Purpur end
|
|
||||||
stringbuilder.append("// ");
|
|
||||||
stringbuilder.append(CrashReport.getErrorComment());
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
|
|
||||||
index 411f1f8c6be072cfc5ba88cbec38dbc4300a41d1..0fb3eeab083a0b1e9b495bd2c5c556fca2236c22 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/Main.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/Main.java
|
|
||||||
@@ -107,6 +107,26 @@ public class Main {
|
|
||||||
*/ // CraftBukkit end
|
|
||||||
|
|
||||||
try {
|
|
||||||
+ // Plazma start - Branding
|
|
||||||
+ // System.out.println("""
|
|
||||||
+ //
|
|
||||||
+ // \033[38;2;236;61;151m┏\033[38;2;236;61;157m━\033[38;2;237;62;163m━\033[38;2;237;62;169m━\033[38;2;238;62;175m━\033[38;2;238;63;181m━\033[38;2;239;63;187m┓\033[38;2;239;63;193m \033[38;2;239;64;200m┏\033[38;2;240;64;206m━\033[38;2;240;64;212m┓\033[38;2;241;65;218m \033[38;2;241;65;224m \033[38;2;242;65;230m \033[38;2;242;66;236m \033[38;2;242;66;242m \033[38;2;237;66;243m \033[38;2;232;67;243m┏\033[38;2;227;67;244m━\033[38;2;221;67;244m━\033[38;2;216;68;244m━\033[38;2;211;68;245m━\033[38;2;205;69;245m┓\033[38;2;200;69;246m \033[38;2;195;69;246m┏\033[38;2;189;70;246m━\033[38;2;184;70;247m━\033[38;2;179;70;247m━\033[38;2;173;71;247m━\033[38;2;168;71;248m━\033[38;2;163;72;248m━\033[38;2;157;72;249m┓\033[38;2;152;72;249m┏\033[38;2;147;73;249m━\033[38;2;141;73;250m━\033[38;2;136;74;250m┓\033[38;2;131;74;250m \033[38;2;125;74;251m \033[38;2;120;75;251m \033[38;2;115;75;251m┏\033[38;2;109;76;252m━\033[38;2;104;76;252m━\033[38;2;99;77;252m┓\033[38;2;94;77;253m \033[38;2;88;77;253m┏\033[38;2;83;78;253m━\033[38;2;78;79;254m━\033[38;2;79;85;254m━\033[38;2;79;91;254m━\033[38;2;80;97;255m┓\033[38;2;80;103;255m\s
|
|
||||||
+ // \033[38;2;236;61;151m┃\033[38;2;236;61;157m┏\033[38;2;237;62;163m━\033[38;2;237;62;169m━\033[38;2;238;62;175m━\033[38;2;238;63;181m┓\033[38;2;239;63;187m┗\033[38;2;239;63;193m┓\033[38;2;239;64;200m┃\033[38;2;240;64;206m \033[38;2;240;64;212m┃\033[38;2;241;65;218m \033[38;2;241;65;224m \033[38;2;242;65;230m \033[38;2;242;66;236m \033[38;2;242;66;242m \033[38;2;237;66;243m┏\033[38;2;232;67;243m┛\033[38;2;227;67;244m┏\033[38;2;221;67;244m━\033[38;2;216;68;244m━\033[38;2;211;68;245m┓\033[38;2;205;69;245m┗\033[38;2;200;69;246m┓\033[38;2;195;69;246m┗\033[38;2;189;70;246m━\033[38;2;184;70;247m━\033[38;2;179;70;247m┓\033[38;2;173;71;247m \033[38;2;168;71;248m \033[38;2;163;72;248m┏\033[38;2;157;72;249m┛\033[38;2;152;72;249m┃\033[38;2;147;73;249m \033[38;2;141;73;250m \033[38;2;136;74;250m┗\033[38;2;131;74;250m┓\033[38;2;125;74;251m \033[38;2;120;75;251m┏\033[38;2;115;75;251m┛\033[38;2;109;76;252m \033[38;2;104;76;252m \033[38;2;99;77;252m┃\033[38;2;94;77;253m┏\033[38;2;88;77;253m┛\033[38;2;83;78;253m┏\033[38;2;78;79;254m━\033[38;2;79;85;254m━\033[38;2;79;91;254m┓\033[38;2;80;97;255m┗\033[38;2;80;103;255m┓
|
|
||||||
+ // \033[38;2;236;61;151m┃\033[38;2;236;61;157m┗\033[38;2;237;62;163m━\033[38;2;237;62;169m━\033[38;2;238;62;175m━\033[38;2;238;63;181m┛\033[38;2;239;63;187m┏\033[38;2;239;63;193m┛\033[38;2;239;64;200m┃\033[38;2;240;64;206m \033[38;2;240;64;212m┃\033[38;2;241;65;218m \033[38;2;241;65;224m \033[38;2;242;65;230m \033[38;2;242;66;236m \033[38;2;242;66;242m \033[38;2;237;66;243m┃\033[38;2;232;67;243m \033[38;2;227;67;244m┗\033[38;2;221;67;244m━\033[38;2;216;68;244m━\033[38;2;211;68;245m┛\033[38;2;205;69;245m \033[38;2;200;69;246m┃\033[38;2;195;69;246m \033[38;2;189;70;246m \033[38;2;184;70;247m┏\033[38;2;179;70;247m┛\033[38;2;173;71;247m \033[38;2;168;71;248m┏\033[38;2;163;72;248m┛\033[38;2;157;72;249m \033[38;2;152;72;249m┃\033[38;2;147;73;249m \033[38;2;141;73;250m┏\033[38;2;136;74;250m┓\033[38;2;131;74;250m┗\033[38;2;125;74;251m━\033[38;2;120;75;251m┛\033[38;2;115;75;251m┏\033[38;2;109;76;252m┓\033[38;2;104;76;252m \033[38;2;99;77;252m┃\033[38;2;94;77;253m┃\033[38;2;88;77;253m \033[38;2;83;78;253m┗\033[38;2;78;79;254m━\033[38;2;79;85;254m━\033[38;2;79;91;254m┛\033[38;2;80;97;255m \033[38;2;80;103;255m┃
|
|
||||||
+ // \033[38;2;236;61;151m┃\033[38;2;236;61;157m \033[38;2;237;62;163m┏\033[38;2;237;62;169m━\033[38;2;238;62;175m━\033[38;2;238;63;181m━\033[38;2;239;63;187m┛\033[38;2;239;63;193m \033[38;2;239;64;200m┃\033[38;2;240;64;206m \033[38;2;240;64;212m┃\033[38;2;241;65;218m \033[38;2;241;65;224m \033[38;2;242;65;230m \033[38;2;242;66;236m \033[38;2;242;66;242m \033[38;2;237;66;243m┃\033[38;2;232;67;243m \033[38;2;227;67;244m┏\033[38;2;221;67;244m━\033[38;2;216;68;244m━\033[38;2;211;68;245m┓\033[38;2;205;69;245m \033[38;2;200;69;246m┃\033[38;2;195;69;246m \033[38;2;189;70;246m┏\033[38;2;184;70;247m┛\033[38;2;179;70;247m \033[38;2;173;71;247m┏\033[38;2;168;71;248m┛\033[38;2;163;72;248m \033[38;2;157;72;249m \033[38;2;152;72;249m┃\033[38;2;147;73;249m \033[38;2;141;73;250m┃\033[38;2;136;74;250m┗\033[38;2;131;74;250m┓\033[38;2;125;74;251m \033[38;2;120;75;251m┏\033[38;2;115;75;251m┛\033[38;2;109;76;252m┃\033[38;2;104;76;252m \033[38;2;99;77;252m┃\033[38;2;94;77;253m┃\033[38;2;88;77;253m \033[38;2;83;78;253m┏\033[38;2;78;79;254m━\033[38;2;79;85;254m━\033[38;2;79;91;254m┓\033[38;2;80;97;255m \033[38;2;80;103;255m┃
|
|
||||||
+ // \033[38;2;236;61;151m┃\033[38;2;236;61;157m \033[38;2;237;62;163m┃\033[38;2;237;62;169m \033[38;2;238;62;175m \033[38;2;238;63;181m \033[38;2;239;63;187m \033[38;2;239;63;193m \033[38;2;239;64;200m┃\033[38;2;240;64;206m \033[38;2;240;64;212m┗\033[38;2;241;65;218m━\033[38;2;241;65;224m━\033[38;2;242;65;230m━\033[38;2;242;66;236m━\033[38;2;242;66;242m┓\033[38;2;237;66;243m┃\033[38;2;232;67;243m \033[38;2;227;67;244m┃\033[38;2;221;67;244m \033[38;2;216;68;244m \033[38;2;211;68;245m┃\033[38;2;205;69;245m \033[38;2;200;69;246m┃\033[38;2;195;69;246m┏\033[38;2;189;70;246m┛\033[38;2;184;70;247m \033[38;2;179;70;247m \033[38;2;173;71;247m┗\033[38;2;168;71;248m━\033[38;2;163;72;248m━\033[38;2;157;72;249m┓\033[38;2;152;72;249m┃\033[38;2;147;73;249m \033[38;2;141;73;250m┃\033[38;2;136;74;250m \033[38;2;131;74;250m┗\033[38;2;125;74;251m━\033[38;2;120;75;251m┛\033[38;2;115;75;251m \033[38;2;109;76;252m┃\033[38;2;104;76;252m \033[38;2;99;77;252m┃\033[38;2;94;77;253m┃\033[38;2;88;77;253m \033[38;2;83;78;253m┃\033[38;2;78;79;254m \033[38;2;79;85;254m \033[38;2;79;91;254m┃\033[38;2;80;97;255m \033[38;2;80;103;255m┃
|
|
||||||
+ // \033[38;2;236;61;151m┗\033[38;2;236;61;157m━\033[38;2;237;62;163m┛\033[38;2;237;62;169m \033[38;2;238;62;175m \033[38;2;238;63;181m \033[38;2;239;63;187m \033[38;2;239;63;193m \033[38;2;239;64;200m┗\033[38;2;240;64;206m━\033[38;2;240;64;212m━\033[38;2;241;65;218m━\033[38;2;241;65;224m━\033[38;2;242;65;230m━\033[38;2;242;66;236m━\033[38;2;242;66;242m┛\033[38;2;237;66;243m┗\033[38;2;232;67;243m━\033[38;2;227;67;244m┛\033[38;2;221;67;244m \033[38;2;216;68;244m \033[38;2;211;68;245m┗\033[38;2;205;69;245m━\033[38;2;200;69;246m┛\033[38;2;195;69;246m┗\033[38;2;189;70;246m━\033[38;2;184;70;247m━\033[38;2;179;70;247m━\033[38;2;173;71;247m━\033[38;2;168;71;248m━\033[38;2;163;72;248m━\033[38;2;157;72;249m┛\033[38;2;152;72;249m┗\033[38;2;147;73;249m━\033[38;2;141;73;250m┛\033[38;2;136;74;250m \033[38;2;131;74;250m \033[38;2;125;74;251m \033[38;2;120;75;251m \033[38;2;115;75;251m \033[38;2;109;76;252m┗\033[38;2;104;76;252m━\033[38;2;99;77;252m┛\033[38;2;94;77;253m┗\033[38;2;88;77;253m━\033[38;2;83;78;253m┛\033[38;2;78;79;254m \033[38;2;79;85;254m \033[38;2;79;91;254m┗\033[38;2;80;97;255m━\033[38;2;80;103;255m┛\033[0m
|
|
||||||
+ // """);
|
|
||||||
+ System.out.println("""
|
|
||||||
+
|
|
||||||
+ \033[38;2;215;23;133m█\033[38;2;212;24;134m█\033[38;2;209;26;134m█\033[38;2;205;27;135m█\033[38;2;202;28;136m█\033[38;2;199;30;136m█\033[38;2;196;31;137m╗\033[38;2;193;33;138m \033[38;2;190;34;138m█\033[38;2;186;35;139m█\033[38;2;183;37;140m╗\033[38;2;180;38;140m \033[38;2;177;39;141m \033[38;2;174;41;142m \033[38;2;170;42;142m \033[38;2;167;43;143m \033[38;2;164;45;144m \033[38;2;161;46;144m█\033[38;2;158;47;145m█\033[38;2;155;49;146m█\033[38;2;151;50;146m█\033[38;2;148;52;147m█\033[38;2;145;53;148m╗\033[38;2;142;54;148m \033[38;2;139;56;149m█\033[38;2;135;57;149m█\033[38;2;132;58;150m█\033[38;2;129;60;151m█\033[38;2;126;61;151m█\033[38;2;123;62;152m█\033[38;2;120;64;153m█\033[38;2;116;65;153m╗ \033[38;2;113;67;154m█\033[38;2;110;68;155m█\033[38;2;107;69;155m█\033[38;2;104;71;156m╗\033[38;2;101;72;157m \033[38;2;97;73;157m \033[38;2;94;75;158m \033[38;2;91;76;159m█\033[38;2;88;77;159m█\033[38;2;85;79;160m█\033[38;2;81;80;161m╗ \033[38;2;78;81;161m \033[38;2;75;83;162m█\033[38;2;72;84;163m█\033[38;2;69;86;163m█\033[38;2;66;87;164m█\033[38;2;62;88;165m█\033[38;2;59;90;165m╗\033[38;2;56;91;166m\s
|
|
||||||
+ \033[38;2;215;23;133m█\033[38;2;212;24;134m█\033[38;2;209;26;134m╔\033[38;2;205;27;135m═\033[38;2;202;28;136m═\033[38;2;199;30;136m█\033[38;2;196;31;137m█\033[38;2;193;33;138m╗ \033[38;2;190;34;138m█\033[38;2;186;35;139m█\033[38;2;183;37;140m║\033[38;2;180;38;140m \033[38;2;177;39;141m \033[38;2;174;41;142m \033[38;2;170;42;142m \033[38;2;167;43;143m \033[38;2;164;45;144m█\033[38;2;161;46;144m█\033[38;2;158;47;145m╔\033[38;2;155;49;146m═\033[38;2;151;50;146m═\033[38;2;148;52;147m█\033[38;2;145;53;148m█\033[38;2;142;54;148m╗ \033[38;2;139;56;149m╚\033[38;2;135;57;149m═\033[38;2;132;58;150m═\033[38;2;129;60;151m█\033[38;2;126;61;151m█\033[38;2;123;62;152m█\033[38;2;120;64;153m╔\033[38;2;116;65;153m╝ \033[38;2;113;67;154m█\033[38;2;110;68;155m█\033[38;2;107;69;155m█\033[38;2;104;71;156m█\033[38;2;101;72;157m╗\033[38;2;97;73;157m \033[38;2;94;75;158m█\033[38;2;91;76;159m█\033[38;2;88;77;159m█\033[38;2;85;79;160m█\033[38;2;81;80;161m║ \033[38;2;78;81;161m█\033[38;2;75;83;162m█\033[38;2;72;84;163m╔\033[38;2;69;86;163m═\033[38;2;66;87;164m═\033[38;2;62;88;165m█\033[38;2;59;90;165m█\033[38;2;56;91;166m╗
|
|
||||||
+ \033[38;2;215;23;133m█\033[38;2;212;24;134m█\033[38;2;209;26;134m█\033[38;2;205;27;135m█\033[38;2;202;28;136m█\033[38;2;199;30;136m█\033[38;2;196;31;137m╔\033[38;2;193;33;138m╝ \033[38;2;190;34;138m█\033[38;2;186;35;139m█\033[38;2;183;37;140m║\033[38;2;180;38;140m \033[38;2;177;39;141m \033[38;2;174;41;142m \033[38;2;170;42;142m \033[38;2;167;43;143m \033[38;2;164;45;144m█\033[38;2;161;46;144m█\033[38;2;158;47;145m█\033[38;2;155;49;146m█\033[38;2;151;50;146m█\033[38;2;148;52;147m█\033[38;2;145;53;148m█\033[38;2;142;54;148m║ \033[38;2;139;56;149m \033[38;2;135;57;149m \033[38;2;132;58;150m█\033[38;2;129;60;151m█\033[38;2;126;61;151m█\033[38;2;123;62;152m╔\033[38;2;120;64;153m╝\033[38;2;116;65;153m \033[38;2;113;67;154m█\033[38;2;110;68;155m█\033[38;2;107;69;155m╔\033[38;2;104;71;156m█\033[38;2;101;72;157m█\033[38;2;97;73;157m█\033[38;2;94;75;158m█\033[38;2;91;76;159m╔\033[38;2;88;77;159m█\033[38;2;85;79;160m█\033[38;2;81;80;161m║ \033[38;2;78;81;161m█\033[38;2;75;83;162m█\033[38;2;72;84;163m█\033[38;2;69;86;163m█\033[38;2;66;87;164m█\033[38;2;62;88;165m█\033[38;2;59;90;165m█\033[38;2;56;91;166m║
|
|
||||||
+ \033[38;2;215;23;133m█\033[38;2;212;24;134m█\033[38;2;209;26;134m╔\033[38;2;205;27;135m═\033[38;2;202;28;136m═\033[38;2;199;30;136m═\033[38;2;196;31;137m╝\033[38;2;193;33;138m \033[38;2;190;34;138m█\033[38;2;186;35;139m█\033[38;2;183;37;140m║\033[38;2;180;38;140m \033[38;2;177;39;141m \033[38;2;174;41;142m \033[38;2;170;42;142m \033[38;2;167;43;143m \033[38;2;164;45;144m█\033[38;2;161;46;144m█\033[38;2;158;47;145m╔\033[38;2;155;49;146m═\033[38;2;151;50;146m═\033[38;2;148;52;147m█\033[38;2;145;53;148m█\033[38;2;142;54;148m║ \033[38;2;139;56;149m \033[38;2;135;57;149m█\033[38;2;132;58;150m█\033[38;2;129;60;151m█\033[38;2;126;61;151m╔\033[38;2;123;62;152m╝\033[38;2;120;64;153m \033[38;2;116;65;153m \033[38;2;113;67;154m█\033[38;2;110;68;155m█\033[38;2;107;69;155m║\033[38;2;104;71;156m╚\033[38;2;101;72;157m█\033[38;2;97;73;157m█\033[38;2;94;75;158m╔\033[38;2;91;76;159m╝\033[38;2;88;77;159m█\033[38;2;85;79;160m█\033[38;2;81;80;161m║ \033[38;2;78;81;161m█\033[38;2;75;83;162m█\033[38;2;72;84;163m╔\033[38;2;69;86;163m═\033[38;2;66;87;164m═\033[38;2;62;88;165m█\033[38;2;59;90;165m█\033[38;2;56;91;166m║
|
|
||||||
+ \033[38;2;215;23;133m█\033[38;2;212;24;134m█\033[38;2;209;26;134m║\033[38;2;205;27;135m \033[38;2;202;28;136m \033[38;2;199;30;136m \033[38;2;196;31;137m \033[38;2;193;33;138m \033[38;2;190;34;138m█\033[38;2;186;35;139m█\033[38;2;183;37;140m█\033[38;2;180;38;140m█\033[38;2;177;39;141m█\033[38;2;174;41;142m█\033[38;2;170;42;142m█\033[38;2;167;43;143m╗ \033[38;2;164;45;144m█\033[38;2;161;46;144m█\033[38;2;158;47;145m║\033[38;2;155;49;146m \033[38;2;151;50;146m \033[38;2;148;52;147m█\033[38;2;145;53;148m█\033[38;2;142;54;148m║ \033[38;2;139;56;149m█\033[38;2;135;57;149m█\033[38;2;132;58;150m█\033[38;2;129;60;151m█\033[38;2;126;61;151m█\033[38;2;123;62;152m█\033[38;2;120;64;153m█\033[38;2;116;65;153m╗ \033[38;2;113;67;154m█\033[38;2;110;68;155m█\033[38;2;107;69;155m║\033[38;2;104;71;156m \033[38;2;101;72;157m╚\033[38;2;97;73;157m═\033[38;2;94;75;158m╝\033[38;2;91;76;159m \033[38;2;88;77;159m█\033[38;2;85;79;160m█\033[38;2;81;80;161m║ \033[38;2;78;81;161m█\033[38;2;75;83;162m█\033[38;2;72;84;163m║\033[38;2;69;86;163m \033[38;2;66;87;164m \033[38;2;62;88;165m█\033[38;2;59;90;165m█\033[38;2;56;91;166m║
|
|
||||||
+ \033[38;2;215;23;133m╚\033[38;2;212;24;134m═\033[38;2;209;26;134m╝\033[38;2;205;27;135m \033[38;2;202;28;136m \033[38;2;199;30;136m \033[38;2;196;31;137m \033[38;2;193;33;138m \033[38;2;190;34;138m╚\033[38;2;186;35;139m═\033[38;2;183;37;140m═\033[38;2;180;38;140m═\033[38;2;177;39;141m═\033[38;2;174;41;142m═\033[38;2;170;42;142m═\033[38;2;167;43;143m╝ \033[38;2;164;45;144m╚\033[38;2;161;46;144m═\033[38;2;158;47;145m╝\033[38;2;155;49;146m \033[38;2;151;50;146m \033[38;2;148;52;147m╚\033[38;2;145;53;148m═\033[38;2;142;54;148m╝ \033[38;2;139;56;149m╚\033[38;2;135;57;149m═\033[38;2;132;58;150m═\033[38;2;129;60;151m═\033[38;2;126;61;151m═\033[38;2;123;62;152m═\033[38;2;120;64;153m═\033[38;2;116;65;153m╝ \033[38;2;113;67;154m╚\033[38;2;110;68;155m═\033[38;2;107;69;155m╝\033[38;2;104;71;156m \033[38;2;101;72;157m \033[38;2;97;73;157m \033[38;2;94;75;158m \033[38;2;91;76;159m \033[38;2;88;77;159m╚\033[38;2;85;79;160m═\033[38;2;81;80;161m╝ \033[38;2;78;81;161m╚\033[38;2;75;83;162m═\033[38;2;72;84;163m╝\033[38;2;69;86;163m \033[38;2;66;87;164m \033[38;2;62;88;165m╚\033[38;2;59;90;165m═\033[38;2;56;91;166m╝\033[0m
|
|
||||||
+ """);
|
|
||||||
+ // Plazma end
|
|
||||||
|
|
||||||
Path path = (Path) optionset.valueOf("pidFile"); // CraftBukkit
|
|
||||||
|
|
||||||
@@ -178,7 +198,7 @@ public class Main {
|
|
||||||
if (awtException != null) {
|
|
||||||
Main.LOGGER.error("You are using a headless JRE distribution.");
|
|
||||||
Main.LOGGER.error("This distribution is missing certain graphic libraries that the Minecraft server needs to function.");
|
|
||||||
- Main.LOGGER.error("For instructions on how to install the non-headless JRE, see https://docs.papermc.io/misc/java-install");
|
|
||||||
+ Main.LOGGER.error("For instructions on how to install the non-headless JRE, see https://docs.papermc.io/misc/java-install"); // Plazma - Rebrand // TODO: Change to Plazma document url
|
|
||||||
Main.LOGGER.error("");
|
|
||||||
Main.LOGGER.error(awtException);
|
|
||||||
return;
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
||||||
index 4e989dd5919e29d04dcd9f6af0f3922f94d41742..2b015360df398ad8118f7b108cb9474edf373121 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
||||||
@@ -496,8 +496,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
|
||||||
|
|
||||||
if (!newWorld.isDirectory() && oldWorld.isDirectory() && oldLevelDat.isFile()) {
|
|
||||||
MinecraftServer.LOGGER.info("---- Migration of old " + worldType + " folder required ----");
|
|
||||||
- MinecraftServer.LOGGER.info("Unfortunately due to the way that Minecraft implemented multiworld support in 1.6, Bukkit requires that you move your " + worldType + " folder to a new location in order to operate correctly.");
|
|
||||||
- MinecraftServer.LOGGER.info("We will move this folder for you, but it will mean that you need to move it back should you wish to stop using Bukkit in the future.");
|
|
||||||
+ MinecraftServer.LOGGER.info("Unfortunately due to the way that Minecraft implemented multiworld support in 1.6, " + org.bukkit.craftbukkit.util.Versioning.BRANDING + " requires that you move your " + worldType + " folder to a new location in order to operate correctly."); // Plazma - Rebrand
|
|
||||||
+ MinecraftServer.LOGGER.info("We will move this folder for you, but it will mean that you need to move it back should you wish to stop using " + org.bukkit.craftbukkit.util.Versioning.BRANDING + " in the future."); // Plazma - Rebrand
|
|
||||||
MinecraftServer.LOGGER.info("Attempting to move " + oldWorld + " to " + newWorld + "...");
|
|
||||||
|
|
||||||
if (newWorld.exists()) {
|
|
||||||
@@ -966,7 +966,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
|
||||||
shutdownThread = Thread.currentThread();
|
|
||||||
org.spigotmc.WatchdogThread.doStop(); // Paper
|
|
||||||
if (!isSameThread()) {
|
|
||||||
- MinecraftServer.LOGGER.info("Stopping main thread (Ignore any thread death message you see! - DO NOT REPORT THREAD DEATH TO PURPUR)"); // Purpur
|
|
||||||
+ MinecraftServer.LOGGER.info("Stopping main thread (Ignore any thread death message you see! - DO NOT REPORT THREAD DEATH TO " + org.bukkit.craftbukkit.util.Versioning.BRAND_U + ")"); // Purpur // Plazma - Rebrand
|
|
||||||
while (this.getRunningThread().isAlive()) {
|
|
||||||
this.getRunningThread().stop();
|
|
||||||
try {
|
|
||||||
@@ -1187,7 +1187,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
|
||||||
LOGGER.info("*************************************************************************************");
|
|
||||||
LOGGER.info("This is the first time you're starting this server.");
|
|
||||||
LOGGER.info("It's recommended you read our 'Getting Started' documentation for guidance.");
|
|
||||||
- LOGGER.info("View this and more helpful information here: https://docs.papermc.io/paper/next-steps");
|
|
||||||
+ LOGGER.info("View this and more helpful information here: " + org.bukkit.craftbukkit.util.Versioning.DOCUMENT); // Plazma - Rebrand
|
|
||||||
LOGGER.info("*************************************************************************************");
|
|
||||||
}
|
|
||||||
// Paper end - Add onboarding message for initial server start
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
|
||||||
index fd88dfafcec517a29e3320ce147516ce2ccb2dc9..78775413d27a5927b8409c4ce92111a482dad1f1 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
|
||||||
@@ -796,7 +796,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
|
||||||
org.bukkit.plugin.Plugin[] plugins = this.server.getPluginManager().getPlugins();
|
|
||||||
|
|
||||||
result.append(this.server.getName());
|
|
||||||
- result.append(" on Bukkit ");
|
|
||||||
+ result.append(" on " + org.bukkit.craftbukkit.util.Versioning.BRANDING + " "); // Plazma - Rebrand
|
|
||||||
result.append(this.server.getBukkitVersion());
|
|
||||||
|
|
||||||
if (plugins.length > 0 && this.server.getQueryPlugins()) {
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
|
||||||
index 842f382de43df5d5c321422372ec30ccdd7859d7..55e16ed1151c5d53f492581f66a3406ac418b653 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
|
||||||
@@ -56,12 +56,12 @@ public class DedicatedServerProperties extends Settings<DedicatedServerPropertie
|
|
||||||
public final boolean onlineMode = this.get("online-mode", true);
|
|
||||||
public final boolean preventProxyConnections = this.get("prevent-proxy-connections", false);
|
|
||||||
public final String serverIp = this.get("server-ip", "");
|
|
||||||
- public final String serverName = this.get("server-name", "Unknown Server"); // Purpur
|
|
||||||
+ public final String serverName = this.get("server-name", "A " + org.bukkit.craftbukkit.util.Versioning.BRANDING + " Server"); // Purpur // Plazma - Rebrand
|
|
||||||
public final boolean spawnAnimals = this.get("spawn-animals", true);
|
|
||||||
public final boolean spawnNpcs = this.get("spawn-npcs", true);
|
|
||||||
public final boolean pvp = this.get("pvp", true);
|
|
||||||
public final boolean allowFlight = this.get("allow-flight", false);
|
|
||||||
- public final String motd = this.get("motd", "A Minecraft Server");
|
|
||||||
+ public final String motd = this.get("motd", "A " + org.bukkit.craftbukkit.util.Versioning.BRANDING + " Server"); // Plazma - Rebrand
|
|
||||||
public final boolean forceGameMode = this.get("force-gamemode", false);
|
|
||||||
public final boolean enforceWhitelist = this.get("enforce-whitelist", false);
|
|
||||||
public final Difficulty difficulty;
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java b/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java
|
|
||||||
index 8f74c2ec5252b6265549589310d742337c91cb2c..23a57f88b8a9130dbfcbb1c34feef337e7d6c790 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java
|
|
||||||
@@ -37,8 +37,10 @@ public class MinecraftServerGui extends JComponent {
|
|
||||||
|
|
||||||
private static final Font MONOSPACED = new Font("Monospaced", 0, 12);
|
|
||||||
private static final Logger LOGGER = LogUtils.getLogger();
|
|
||||||
- private static final String TITLE = "Minecraft server";
|
|
||||||
- private static final String SHUTDOWN_TITLE = "Minecraft server - shutting down!";
|
|
||||||
+ // Plazma start - Rebranding
|
|
||||||
+ private static final String TITLE = org.bukkit.craftbukkit.util.Versioning.BRANDING + "Minecraft server";
|
|
||||||
+ private static final String SHUTDOWN_TITLE = TITLE + " - shutting down!";
|
|
||||||
+ // Plazma end - Rebranding
|
|
||||||
private final DedicatedServer server;
|
|
||||||
private Thread logAppenderThread;
|
|
||||||
private final Collection<Runnable> finalizers = Lists.newArrayList();
|
|
||||||
@@ -56,7 +58,7 @@ public class MinecraftServerGui extends JComponent {
|
|
||||||
;
|
|
||||||
}
|
|
||||||
|
|
||||||
- final JFrame jframe = new JFrame("Purpur Minecraft server"); // Purpur
|
|
||||||
+ final JFrame jframe = new JFrame(TITLE); // Purpur // Plazma - Rebrand
|
|
||||||
final MinecraftServerGui servergui = new MinecraftServerGui(server);
|
|
||||||
|
|
||||||
jframe.setDefaultCloseOperation(2);
|
|
||||||
@@ -64,7 +66,7 @@ public class MinecraftServerGui extends JComponent {
|
|
||||||
jframe.pack();
|
|
||||||
jframe.setLocationRelativeTo((Component) null);
|
|
||||||
jframe.setVisible(true);
|
|
||||||
- jframe.setName("Purpur Minecraft server"); // Paper - Improve ServerGUI // Purpur
|
|
||||||
+ jframe.setName(TITLE); // Paper - Improve ServerGUI // Purpur // Plazma - Rebrand
|
|
||||||
|
|
||||||
// Paper start - Improve ServerGUI
|
|
||||||
try {
|
|
||||||
@@ -76,7 +78,7 @@ public class MinecraftServerGui extends JComponent {
|
|
||||||
jframe.addWindowListener(new WindowAdapter() {
|
|
||||||
public void windowClosing(WindowEvent windowevent) {
|
|
||||||
if (!servergui.isClosing.getAndSet(true)) {
|
|
||||||
- jframe.setTitle("Purpur Minecraft server - shutting down!"); // Purpur
|
|
||||||
+ jframe.setTitle(SHUTDOWN_TITLE); // Purpur // Plazma - Rebrand
|
|
||||||
server.halt(true);
|
|
||||||
servergui.runFinalizers();
|
|
||||||
}
|
|
||||||
@@ -123,7 +125,7 @@ public class MinecraftServerGui extends JComponent {
|
|
||||||
|
|
||||||
// Paper start - Add onboarding message for initial server start
|
|
||||||
private JComponent buildOnboardingPanel() {
|
|
||||||
- String onboardingLink = "https://docs.papermc.io/paper/next-steps";
|
|
||||||
+ String onboardingLink = org.bukkit.craftbukkit.util.Versioning.STEP_UP; // Plazma - Rebranding
|
|
||||||
JPanel jPanel = new JPanel();
|
|
||||||
|
|
||||||
javax.swing.JLabel jLabel = new javax.swing.JLabel("If you need help setting up your server you can visit:");
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java
|
|
||||||
index f6e3b745fc417354380d4a969f83aee430bad785..d2795cacee1b3dd2d73ec91553bb8aa3206db74a 100644
|
|
||||||
--- a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java
|
|
||||||
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java
|
|
||||||
@@ -155,7 +155,7 @@ public class RegionFileStorage implements AutoCloseable {
|
|
||||||
|
|
||||||
// Paper start
|
|
||||||
private static void printOversizedLog(String msg, Path file, int x, int z) {
|
|
||||||
- org.apache.logging.log4j.LogManager.getLogger().fatal(msg + " (" + file.toString().replaceAll(".+[\\\\/]", "") + " - " + x + "," + z + ") Go clean it up to remove this message. /minecraft:tp " + (x<<4)+" 128 "+(z<<4) + " - DO NOT REPORT THIS TO PAPER - You may ask for help on Discord, but do not file an issue. These error messages can not be removed.");
|
|
||||||
+ org.apache.logging.log4j.LogManager.getLogger().fatal(msg + " (" + file.toString().replaceAll(".+[\\\\/]", "") + " - " + x + "," + z + ") Go clean it up to remove this message. /minecraft:tp " + (x<<4)+" 128 "+(z<<4) + " - DO NOT REPORT THIS TO " + org.bukkit.craftbukkit.util.Versioning.BRANDING + " - You may ask for help on Discord, but do not file an issue. These error messages can not be removed."); // Plazma - Rebrand
|
|
||||||
}
|
|
||||||
|
|
||||||
private static CompoundTag readOversizedChunk(RegionFile regionfile, ChunkPos chunkCoordinate) throws IOException {
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
||||||
index ba939f147edcedf0e8311e73a1ab85048354ac96..fe78cb60fe6000004c9e567e9046c45dd0e22d59 100644
|
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
||||||
@@ -269,7 +269,7 @@ import javax.annotation.Nullable; // Paper
|
|
||||||
import javax.annotation.Nonnull; // Paper
|
|
||||||
|
|
||||||
public final class CraftServer implements Server {
|
|
||||||
- private final String serverName = "Purpur"; // Paper // Pufferfish // Purpur
|
|
||||||
+ private final String serverName = Versioning.BRANDING; // Paper // Pufferfish // Purpur
|
|
||||||
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 43df9d815e86e8fb009b47cf16a419ddc6dbe6a7..7d7134820ce73de1eef242d14d57a520d3db2a25 100644
|
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
||||||
@@ -142,7 +142,7 @@ public class Main {
|
|
||||||
|
|
||||||
this.acceptsAll(Main.asList("noconsole"), "Disables the console");
|
|
||||||
|
|
||||||
- this.acceptsAll(Main.asList("v", "version"), "Show the CraftBukkit Version");
|
|
||||||
+ this.acceptsAll(Main.asList("v", "version"), "Show the " + org.bukkit.craftbukkit.util.Versioning.BRANDING + " Version"); // Plazma - Rebrand
|
|
||||||
|
|
||||||
this.acceptsAll(Main.asList("demo"), "Demo mode");
|
|
||||||
|
|
||||||
@@ -193,7 +193,7 @@ public class Main {
|
|
||||||
acceptsAll(asList("server-name"), "Name of the server")
|
|
||||||
.withRequiredArg()
|
|
||||||
.ofType(String.class)
|
|
||||||
- .defaultsTo("Unknown Server")
|
|
||||||
+ .defaultsTo("A " + org.bukkit.craftbukkit.util.Versioning.BRANDING + " Server") // Plazma - Rebrand
|
|
||||||
.describedAs("Name");
|
|
||||||
// Paper end
|
|
||||||
}
|
|
||||||
@@ -258,14 +258,14 @@ public class Main {
|
|
||||||
float javaVersion = Float.parseFloat(System.getProperty("java.class.version"));
|
|
||||||
boolean isOldVersion = javaVersion < 61.0;
|
|
||||||
if (!skip && isOldVersion) {
|
|
||||||
- System.err.println("Unsupported Java detected (" + javaVersion + "). This version of Minecraft requires at least Java 21. Check your Java version with the command 'java -version'. For more info see https://docs.papermc.io/misc/java-install");
|
|
||||||
+ System.err.println("Unsupported Java detected (" + javaVersion + "). This version of Minecraft requires at least Java 21. Check your Java version with the command 'java -version'. For more info see https://docs.papermc.io/misc/java-install"); // Plazma - Rebrand // TODO: Change to Plazma document link
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
String javaVersionName = System.getProperty("java.version");
|
|
||||||
// J2SE SDK/JRE Version String Naming Convention
|
|
||||||
boolean isPreRelease = javaVersionName.contains("-");
|
|
||||||
if (!skip && isPreRelease) {
|
|
||||||
- System.err.println("Unsupported Java detected (" + javaVersionName + "). You are running an unsupported, non official, version. Only general availability versions of Java are supported. Please update your Java version. See https://docs.papermc.io/paper/faq#unsupported-java-detected-what-do-i-do for more information.");
|
|
||||||
+ System.err.println("Unsupported Java detected (" + javaVersionName + "). You are running an unsupported, non official, version. Only general availability versions of Java are supported. Please update your Java version. See https://docs.papermc.io/paper/faq#unsupported-java-detected-what-do-i-do for more information."); // Plazma - Rebrand // TODO: Change to Plazma document link
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
|
|
||||||
index ca8ae8e1c51b937dac916e0b0dc94b5e2e61efeb..324495c8be1a54434e7c73158d7d20dba625b7f7 100644
|
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
|
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
|
|
||||||
@@ -503,7 +503,7 @@ public class CraftScheduler implements BukkitScheduler {
|
|
||||||
this.parsePending();
|
|
||||||
} else {
|
|
||||||
// this.debugTail = this.debugTail.setNext(new CraftAsyncDebugger(currentTick + CraftScheduler.RECENT_TICKS, task.getOwner(), task.getTaskClass())); // Paper
|
|
||||||
- task.getOwner().getLogger().log(Level.SEVERE, "Unexpected Async Task in the Sync Scheduler. Report this to Purpur"); // Paper // Purpur
|
|
||||||
+ task.getOwner().getLogger().log(Level.SEVERE, "Unexpected Async Task in the Sync Scheduler. Report this to " + org.bukkit.craftbukkit.util.Versioning.BRANDING + "."); // Paper // Purpur // Plazma - Rebrand
|
|
||||||
// We don't need to parse pending
|
|
||||||
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
|
|
||||||
}
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
|
||||||
index 99597258e8e88cd9e2c901c4ac3ff7faeeabee2b..317ac7c5f1c2d542be260f7e86f9a7281506ebe0 100644
|
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
|
||||||
@@ -2,28 +2,40 @@ package org.bukkit.craftbukkit.util;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStream;
|
|
||||||
+import java.util.Locale;
|
|
||||||
import java.util.Properties;
|
|
||||||
import java.util.logging.Level;
|
|
||||||
import java.util.logging.Logger;
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
|
|
||||||
public final class Versioning {
|
|
||||||
- public static String getBukkitVersion() {
|
|
||||||
- String result = "Unknown-Version";
|
|
||||||
-
|
|
||||||
- InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/org.purpurmc.purpur/purpur-api/pom.properties"); // Pufferfish // Purpur
|
|
||||||
+ // Plazma start - Rebrand; Branding utils
|
|
||||||
+ private static String version = "Unknown-Version";
|
|
||||||
+ public static final String BRANDING = "Plazma";
|
|
||||||
+ public static final String BRAND_L = BRANDING.toLowerCase(Locale.ROOT);
|
|
||||||
+ public static final String BRAND_U = BRANDING.toUpperCase(Locale.ROOT);
|
|
||||||
+ public static final String REPOSITORY = "PlazmaMC/PlazmaBukkit";
|
|
||||||
+ public static final String DOWNLOAD = "https://plazmamc.org/downloads";
|
|
||||||
+ public static final String DOCUMENT = "https://docs.plazmamc.org/plazma/administration/getting-started";
|
|
||||||
+ public static final String STEP_UP = "https://docs.plazmamc.org/plazma/administration/getting-started/next-step";
|
|
||||||
+ public static final boolean DEVELOPMENT = false;
|
|
||||||
+ static {
|
|
||||||
+ InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/org.plazmamc.plazma/plazma-api/pom.properties");
|
|
||||||
Properties properties = new Properties();
|
|
||||||
|
|
||||||
if (stream != null) {
|
|
||||||
try {
|
|
||||||
properties.load(stream);
|
|
||||||
|
|
||||||
- result = properties.getProperty("version");
|
|
||||||
+ version = properties.getProperty("version");
|
|
||||||
} catch (IOException ex) {
|
|
||||||
- Logger.getLogger(Versioning.class.getName()).log(Level.SEVERE, "Could not get Bukkit version!", ex);
|
|
||||||
+ Logger.getLogger(Versioning.class.getName()).log(Level.SEVERE, "Could not get " + BRANDING + " version!", ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+ }
|
|
||||||
|
|
||||||
- return result;
|
|
||||||
+ public static String getBukkitVersion() {
|
|
||||||
+ return version;
|
|
||||||
}
|
|
||||||
+ // Plazma end - Rebranding; Branding utils
|
|
||||||
}
|
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
||||||
index 1b1981e80bb0ca5f5edceef96b88168bd9cc839b..2494f0e1c4a1838f6d217d8727d25384180218f5 100644
|
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
||||||
@@ -231,7 +231,7 @@ public class PurpurConfig {
|
|
||||||
deathMessageOnlyBroadcastToAffectedPlayer = getBoolean("settings.broadcasts.death.only-broadcast-to-affected-player", deathMessageOnlyBroadcastToAffectedPlayer);
|
|
||||||
}
|
|
||||||
|
|
||||||
- public static String serverModName = "Purpur";
|
|
||||||
+ public static String serverModName = org.bukkit.craftbukkit.util.Versioning.BRANDING; // Plazma - Rebrand
|
|
||||||
private static void serverModName() {
|
|
||||||
serverModName = getString("settings.server-mod-name", serverModName);
|
|
||||||
}
|
|
||||||
diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
|
|
||||||
index a353eb9f45af7b7f9bfd92a4a89403335b841840..0bd939fc0f1a13759eaf7c36a7a4874eaec91466 100644
|
|
||||||
--- a/src/main/java/org/spigotmc/WatchdogThread.java
|
|
||||||
+++ b/src/main/java/org/spigotmc/WatchdogThread.java
|
|
||||||
@@ -96,7 +96,7 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
|
|
||||||
|
|
||||||
private WatchdogThread(long timeoutTime, boolean restart)
|
|
||||||
{
|
|
||||||
- super( "Watchdog Thread" ); // Purpur - use a generic name
|
|
||||||
+ super( org.bukkit.craftbukkit.util.Versioning.BRANDING + " Watchdog Thread" ); // Purpur - use a generic name // Plazma - Rebranding; nah we dont
|
|
||||||
this.timeoutTime = timeoutTime;
|
|
||||||
this.restart = restart;
|
|
||||||
earlyWarningEvery = Math.min(io.papermc.paper.configuration.GlobalConfiguration.get().watchdog.earlyWarningEvery, timeoutTime); // Paper
|
|
||||||
@@ -155,14 +155,14 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
|
|
||||||
if (isLongTimeout) {
|
|
||||||
// Paper end
|
|
||||||
log.log( Level.SEVERE, "------------------------------" );
|
|
||||||
- log.log( Level.SEVERE, "The server has stopped responding! This is (probably) not a Purpur bug." ); // Paper // Purpur
|
|
||||||
+ log.log( Level.SEVERE, "The server has stopped responding! This is (probably) not a " + org.bukkit.craftbukkit.util.Versioning.BRANDING + " bug." ); // Paper // Purpur // Plazma - Rebrand
|
|
||||||
log.log( Level.SEVERE, "If you see a plugin in the Server thread dump below, then please report it to that author" );
|
|
||||||
log.log( Level.SEVERE, "\t *Especially* if it looks like HTTP or MySQL operations are occurring" );
|
|
||||||
log.log( Level.SEVERE, "If you see a world save or edit, then it means you did far more than your server can handle at once" );
|
|
||||||
log.log( Level.SEVERE, "\t If this is the case, consider increasing timeout-time in spigot.yml but note that this will replace the crash with LARGE lag spikes" );
|
|
||||||
- log.log( Level.SEVERE, "If you are unsure or still think this is a Purpur bug, please report this to https://github.com/PurpurMC/Purpur/issues" ); // Purpur
|
|
||||||
+ log.log( Level.SEVERE, "If you are unsure or still think this is a " + org.bukkit.craftbukkit.util.Versioning.BRANDING + " bug, please report this to " + org.bukkit.craftbukkit.util.Versioning.REPOSITORY ); // Purpur // Plazma - Rebrand
|
|
||||||
log.log( Level.SEVERE, "Be sure to include ALL relevant console errors and Minecraft crash reports" );
|
|
||||||
- log.log( Level.SEVERE, "Purpur version: " + Bukkit.getServer().getVersion() ); // Purpur
|
|
||||||
+ log.log( Level.SEVERE, org.bukkit.craftbukkit.util.Versioning.BRANDING + " version: " + Bukkit.getServer().getVersion() ); // Purpur // Plazma - Rebrand
|
|
||||||
//
|
|
||||||
if ( net.minecraft.world.level.Level.lastPhysicsProblem != null )
|
|
||||||
{
|
|
||||||
@@ -184,12 +184,12 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
|
|
||||||
// Paper end
|
|
||||||
} else
|
|
||||||
{
|
|
||||||
- log.log(Level.SEVERE, "--- DO NOT REPORT THIS TO PURPUR - THIS IS NOT A BUG OR A CRASH - " + Bukkit.getServer().getVersion() + " ---"); // Purpur
|
|
||||||
+ log.log(Level.SEVERE, "--- DO NOT REPORT THIS TO " + org.bukkit.craftbukkit.util.Versioning.BRAND_U + " - THIS IS NOT A BUG OR A CRASH - " + Bukkit.getServer().getVersion() + " ---"); // Purpur // Plazma - Rebrand
|
|
||||||
log.log(Level.SEVERE, "The server has not responded for " + (currentTime - lastTick) / 1000 + " seconds! Creating thread dump");
|
|
||||||
}
|
|
||||||
// Paper end - Different message for short timeout
|
|
||||||
log.log( Level.SEVERE, "------------------------------" );
|
|
||||||
- log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Purpur!):" ); // Paper // Purpur
|
|
||||||
+ log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to " + org.bukkit.craftbukkit.util.Versioning.BRANDING + "!):" ); // Paper // Purpur // Plazma - Rebrand
|
|
||||||
io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler.dumpAllChunkLoadInfo(isLongTimeout); // Paper - rewrite chunk system
|
|
||||||
this.dumpTickingInfo(); // Paper - log detailed tick information
|
|
||||||
WatchdogThread.dumpThread( ManagementFactory.getThreadMXBean().getThreadInfo( MinecraftServer.getServer().serverThread.getId(), Integer.MAX_VALUE ), log );
|
|
||||||
@@ -205,7 +205,7 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
|
|
||||||
WatchdogThread.dumpThread( thread, log );
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
- log.log(Level.SEVERE, "--- DO NOT REPORT THIS TO PURPUR - THIS IS NOT A BUG OR A CRASH ---"); // Purpur
|
|
||||||
+ log.log(Level.SEVERE, "--- DO NOT REPORT THIS TO " + org.bukkit.craftbukkit.util.Versioning.BRAND_U + " - THIS IS NOT A BUG OR A CRASH ---"); // Purpur // Plazma - Rebrand
|
|
||||||
}
|
|
||||||
|
|
||||||
log.log( Level.SEVERE, "------------------------------" );
|
|
||||||
255
patches/server/0005-Cleanup-buildscripts.patch
Normal file
255
patches/server/0005-Cleanup-buildscripts.patch
Normal file
@@ -0,0 +1,255 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: AlphaKR93 <dev@alpha93.kr>
|
||||||
|
Date: Sun, 26 May 2024 23:18:01 +0900
|
||||||
|
Subject: [PATCH] Cleanup buildscripts
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||||
|
index acca28dd3e99821e4f55794946ed27b7e8c780a5..b95eda82341edf50f74da6760b42c47a7365e320 100644
|
||||||
|
--- a/build.gradle.kts
|
||||||
|
+++ b/build.gradle.kts
|
||||||
|
@@ -43,85 +43,126 @@ paperweight {
|
||||||
|
craftBukkitPackageVersion.set("v1_20_R4") // also needs to be updated in MappingEnvironment
|
||||||
|
}
|
||||||
|
|
||||||
|
-// Pufferfish Start
|
||||||
|
-tasks.withType<JavaCompile> {
|
||||||
|
- val compilerArgs = options.compilerArgs
|
||||||
|
- compilerArgs.add("--add-modules=jdk.incubator.vector")
|
||||||
|
-}
|
||||||
|
-// Pufferfish End
|
||||||
|
-
|
||||||
|
-tasks.jar {
|
||||||
|
- archiveClassifier.set("dev")
|
||||||
|
-
|
||||||
|
- manifest {
|
||||||
|
- val git = Git(rootProject.layout.projectDirectory.path)
|
||||||
|
- val mcVersion = rootProject.providers.gradleProperty("mcVersion").get()
|
||||||
|
- val build = System.getenv("BUILD_NUMBER") ?: null
|
||||||
|
- val gitHash = git("rev-parse", "--short=7", "HEAD").getText().trim()
|
||||||
|
- val implementationVersion = "git-Pufferfish-$gitHash" // Pufferfish
|
||||||
|
- 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 rootProject.providers.gradleProperty("brandName").get(), // Purpur // Plazma - Rebrand // Plazma - Fork-friendly Rebranding
|
||||||
|
- "Implementation-Version" to implementationVersion,
|
||||||
|
- "Implementation-Vendor" to date, // Paper
|
||||||
|
- "Specification-Title" to rootProject.providers.gradleProperty("brandName").get(), // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
- "Specification-Version" to project.version,
|
||||||
|
- "Specification-Vendor" to rootProject.providers.gradleProperty("providerName").get(), // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
- "Brand-Id" to rootProject.providers.gradleProperty("brandKey").get(), // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
- "Brand-Name" to rootProject.providers.gradleProperty("brandName").get(), // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
- "Build-Number" to (build ?: ""),
|
||||||
|
- "Build-Time" to Instant.now().toString(),
|
||||||
|
- "Git-Branch" to gitBranch, // Paper
|
||||||
|
- "Git-Commit" to gitHash, // Paper
|
||||||
|
- "CraftBukkit-Package-Version" to paperweight.craftBukkitPackageVersion.get(), // Paper
|
||||||
|
- )
|
||||||
|
- for (tld in setOf("net", "com", "org")) {
|
||||||
|
- attributes("$tld/bukkit", "Sealed" to true)
|
||||||
|
+// Plazma start - Cleanup buildscripts
|
||||||
|
+tasks {
|
||||||
|
+ // Pufferfish Start
|
||||||
|
+ withType<JavaCompile> {
|
||||||
|
+ val compilerArgs = options.compilerArgs
|
||||||
|
+ compilerArgs.add("--add-modules=jdk.incubator.vector")
|
||||||
|
+ }
|
||||||
|
+ // Pufferfish End
|
||||||
|
+
|
||||||
|
+ jar {
|
||||||
|
+ archiveClassifier.set("dev")
|
||||||
|
+
|
||||||
|
+ manifest {
|
||||||
|
+ val git = Git(rootProject.layout.projectDirectory.path)
|
||||||
|
+ val mcVersion = rootProject.providers.gradleProperty("mcVersion").get()
|
||||||
|
+ val build = System.getenv("BUILD_NUMBER") ?: null
|
||||||
|
+ val gitHash = git("rev-parse", "--short=7", "HEAD").getText().trim()
|
||||||
|
+ val implementationVersion = "git-Pufferfish-$gitHash" // Pufferfish
|
||||||
|
+ 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 rootProject.providers.gradleProperty("brandName").get(), // Purpur // Plazma - Rebrand // Plazma - Fork-friendly Rebranding
|
||||||
|
+ "Implementation-Version" to implementationVersion,
|
||||||
|
+ "Implementation-Vendor" to date, // Paper
|
||||||
|
+ "Specification-Title" to rootProject.providers.gradleProperty("brandName").get(), // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
+ "Specification-Version" to project.version,
|
||||||
|
+ "Specification-Vendor" to rootProject.providers.gradleProperty("providerName").get(), // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
+ "Brand-Id" to rootProject.providers.gradleProperty("brandKey").get(), // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
+ "Brand-Name" to rootProject.providers.gradleProperty("brandName").get(), // Purpur // Plazma - Fork-friendly Rebranding
|
||||||
|
+ "Build-Number" to (build ?: ""),
|
||||||
|
+ "Build-Time" to Instant.now().toString(),
|
||||||
|
+ "Git-Branch" to gitBranch, // Paper
|
||||||
|
+ "Git-Commit" to gitHash, // Paper
|
||||||
|
+ "CraftBukkit-Package-Version" to paperweight.craftBukkitPackageVersion.get(), // Paper
|
||||||
|
+ )
|
||||||
|
+ for (tld in setOf("net", "com", "org")) {
|
||||||
|
+ attributes("$tld/bukkit", "Sealed" to true)
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-// Paper start - compile tests with -parameters for better junit parameterized test names
|
||||||
|
-tasks.compileTestJava {
|
||||||
|
- options.compilerArgs.add("-parameters")
|
||||||
|
-}
|
||||||
|
-// Paper end
|
||||||
|
|
||||||
|
-publishing {
|
||||||
|
- publications.create<MavenPublication>("maven") {
|
||||||
|
+ // Paper start - compile tests with -parameters for better junit parameterized test names
|
||||||
|
+ compileTestJava {
|
||||||
|
+ options.compilerArgs.add("-parameters")
|
||||||
|
}
|
||||||
|
-}
|
||||||
|
+ // Paper end
|
||||||
|
|
||||||
|
-// Paper start
|
||||||
|
-val scanJar = tasks.register("scanJarForBadCalls", io.papermc.paperweight.tasks.ScanJarForBadCalls::class) {
|
||||||
|
- badAnnotations.add("Lio/papermc/paper/annotation/DoNotUse;")
|
||||||
|
- jarToScan.set(tasks.serverJar.flatMap { it.archiveFile })
|
||||||
|
- classpath.from(configurations.compileClasspath)
|
||||||
|
-}
|
||||||
|
-tasks.check {
|
||||||
|
- dependsOn(scanJar)
|
||||||
|
-}
|
||||||
|
-// Paper end
|
||||||
|
-// Paper start - use TCA for console improvements
|
||||||
|
-tasks.serverJar {
|
||||||
|
- from(alsoShade.elements.map {
|
||||||
|
- it.map { f ->
|
||||||
|
- if (f.asFile.isFile) {
|
||||||
|
- zipTree(f.asFile)
|
||||||
|
- } else {
|
||||||
|
- f.asFile
|
||||||
|
+ // Paper start
|
||||||
|
+ val scanJar = register("scanJarForBadCalls", io.papermc.paperweight.tasks.ScanJarForBadCalls::class) {
|
||||||
|
+ badAnnotations.add("Lio/papermc/paper/annotation/DoNotUse;")
|
||||||
|
+ jarToScan.set(serverJar.flatMap { it.archiveFile })
|
||||||
|
+ classpath.from(configurations.compileClasspath)
|
||||||
|
+ }
|
||||||
|
+ check {
|
||||||
|
+ dependsOn(scanJar)
|
||||||
|
+ }
|
||||||
|
+ // Paper end
|
||||||
|
+
|
||||||
|
+ // Paper start - use TCA for console improvements
|
||||||
|
+ serverJar {
|
||||||
|
+ from(alsoShade.elements.map {
|
||||||
|
+ it.map { f ->
|
||||||
|
+ if (f.asFile.isFile) {
|
||||||
|
+ zipTree(f.asFile)
|
||||||
|
+ } else {
|
||||||
|
+ f.asFile
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
+ })
|
||||||
|
+ }
|
||||||
|
+ // Paper end - use TCA for console improvements
|
||||||
|
+
|
||||||
|
+ test {
|
||||||
|
+ exclude("org/bukkit/craftbukkit/inventory/ItemStack*Test.class")
|
||||||
|
+ useJUnitPlatform()
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ val runtimeClasspathWithoutVanillaServer = configurations.runtimeClasspath.flatMap { it.elements }
|
||||||
|
+ .zip(configurations.vanillaServer.map { it.singleFile.absolutePath }) { runtime, vanilla ->
|
||||||
|
+ runtime.filterNot { it.asFile.absolutePath == vanilla }
|
||||||
|
}
|
||||||
|
- })
|
||||||
|
-}
|
||||||
|
-// Paper end - use TCA for console improvements
|
||||||
|
|
||||||
|
-tasks.test {
|
||||||
|
- exclude("org/bukkit/craftbukkit/inventory/ItemStack*Test.class")
|
||||||
|
- useJUnitPlatform()
|
||||||
|
+ registerRunTask("runServer") {
|
||||||
|
+ description = "Spin up a test server from the Mojang mapped server jar"
|
||||||
|
+ classpath(includeMappings.flatMap { it.outputJar })
|
||||||
|
+ classpath(runtimeClasspathWithoutVanillaServer)
|
||||||
|
+ }
|
||||||
|
+ registerRunTask("runReobfServer") {
|
||||||
|
+ description = "Spin up a test server from the reobfJar output jar"
|
||||||
|
+ classpath(reobfJar.flatMap { it.outputJar })
|
||||||
|
+ classpath(runtimeClasspathWithoutVanillaServer)
|
||||||
|
+ }
|
||||||
|
+ registerRunTask("runDevServer") {
|
||||||
|
+ description = "Spin up a test server without assembling a jar"
|
||||||
|
+ classpath(sourceSets.main.map { it.runtimeClasspath })
|
||||||
|
+ jvmArgs("-DPaper.pushPaperAssetsRoot=true")
|
||||||
|
+ }
|
||||||
|
+ registerRunTask("runBundler") {
|
||||||
|
+ description = "Spin up a test server from the Mojang mapped bundler jar"
|
||||||
|
+ classpath(rootProject.tasks.named<io.papermc.paperweight.tasks.CreateBundlerJar>("createMojmapBundlerJar").flatMap { it.outputZip })
|
||||||
|
+ mainClass.set(null as String?)
|
||||||
|
+ }
|
||||||
|
+ registerRunTask("runReobfBundler") {
|
||||||
|
+ description = "Spin up a test server from the reobf bundler jar"
|
||||||
|
+ classpath(rootProject.tasks.named<io.papermc.paperweight.tasks.CreateBundlerJar>("createReobfBundlerJar").flatMap { it.outputZip })
|
||||||
|
+ mainClass.set(null as String?)
|
||||||
|
+ }
|
||||||
|
+ registerRunTask("runPaperclip") {
|
||||||
|
+ description = "Spin up a test server from the Mojang mapped Paperclip jar"
|
||||||
|
+ classpath(rootProject.tasks.named<io.papermc.paperweight.tasks.CreatePaperclipJar>("createMojmapPaperclipJar").flatMap { it.outputZip })
|
||||||
|
+ mainClass.set(null as String?)
|
||||||
|
+ }
|
||||||
|
+ registerRunTask("runReobfPaperclip") {
|
||||||
|
+ description = "Spin up a test server from the reobf Paperclip jar"
|
||||||
|
+ classpath(rootProject.tasks.named<io.papermc.paperweight.tasks.CreatePaperclipJar>("createReobfPaperclipJar").flatMap { it.outputZip })
|
||||||
|
+ mainClass.set(null as String?)
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
+// Plazma end - Cleanup buildscripts
|
||||||
|
|
||||||
|
fun TaskContainer.registerRunTask(
|
||||||
|
name: String,
|
||||||
|
@@ -162,47 +203,3 @@ fun TaskContainer.registerRunTask(
|
||||||
|
|
||||||
|
block(this)
|
||||||
|
}
|
||||||
|
-
|
||||||
|
-val runtimeClasspathWithoutVanillaServer = configurations.runtimeClasspath.flatMap { it.elements }
|
||||||
|
- .zip(configurations.vanillaServer.map { it.singleFile.absolutePath }) { runtime, vanilla ->
|
||||||
|
- runtime.filterNot { it.asFile.absolutePath == vanilla }
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
-tasks.registerRunTask("runServer") {
|
||||||
|
- description = "Spin up a test server from the Mojang mapped server jar"
|
||||||
|
- classpath(tasks.includeMappings.flatMap { it.outputJar })
|
||||||
|
- classpath(runtimeClasspathWithoutVanillaServer)
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-tasks.registerRunTask("runReobfServer") {
|
||||||
|
- description = "Spin up a test server from the reobfJar output jar"
|
||||||
|
- classpath(tasks.reobfJar.flatMap { it.outputJar })
|
||||||
|
- classpath(runtimeClasspathWithoutVanillaServer)
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-tasks.registerRunTask("runDevServer") {
|
||||||
|
- description = "Spin up a test server without assembling a jar"
|
||||||
|
- classpath(sourceSets.main.map { it.runtimeClasspath })
|
||||||
|
- jvmArgs("-DPaper.pushPaperAssetsRoot=true")
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-tasks.registerRunTask("runBundler") {
|
||||||
|
- description = "Spin up a test server from the Mojang mapped bundler jar"
|
||||||
|
- classpath(rootProject.tasks.named<io.papermc.paperweight.tasks.CreateBundlerJar>("createMojmapBundlerJar").flatMap { it.outputZip })
|
||||||
|
- mainClass.set(null as String?)
|
||||||
|
-}
|
||||||
|
-tasks.registerRunTask("runReobfBundler") {
|
||||||
|
- description = "Spin up a test server from the reobf bundler jar"
|
||||||
|
- classpath(rootProject.tasks.named<io.papermc.paperweight.tasks.CreateBundlerJar>("createReobfBundlerJar").flatMap { it.outputZip })
|
||||||
|
- mainClass.set(null as String?)
|
||||||
|
-}
|
||||||
|
-tasks.registerRunTask("runPaperclip") {
|
||||||
|
- description = "Spin up a test server from the Mojang mapped Paperclip jar"
|
||||||
|
- classpath(rootProject.tasks.named<io.papermc.paperweight.tasks.CreatePaperclipJar>("createMojmapPaperclipJar").flatMap { it.outputZip })
|
||||||
|
- mainClass.set(null as String?)
|
||||||
|
-}
|
||||||
|
-tasks.registerRunTask("runReobfPaperclip") {
|
||||||
|
- description = "Spin up a test server from the reobf Paperclip jar"
|
||||||
|
- classpath(rootProject.tasks.named<io.papermc.paperweight.tasks.CreatePaperclipJar>("createReobfPaperclipJar").flatMap { it.outputZip })
|
||||||
|
- mainClass.set(null as String?)
|
||||||
|
-}
|
||||||
@@ -1,319 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: AlphaKR93 <dev@alpha93.kr>
|
|
||||||
Date: Fri, 10 Mar 2023 22:08:56 +0900
|
|
||||||
Subject: [PATCH] Rebrand Logo
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/resources/logo.png b/src/main/resources/logo.png
|
|
||||||
index 518591dd83289e041a16e2c2e7d7e7640d4b2e1b..efa53bcb692650396b2e71b62243a15dd95aa096 100644
|
|
||||||
GIT binary patch
|
|
||||||
literal 7439
|
|
||||||
zcmbVR2{@GP-XHrOqAXd4vQ@*(FwBg7H)RWzq?$1cV;jsEgUC>Xv{*uxlATr*5!qAr
|
|
||||||
zB|8nGvP&US-{|e_yytx9J>R*$xvpoPd+z6V|Nh(Wf8W=0O|-4Gxd5*uF8}}#Kv|gB
|
|
||||||
zG4BRD7dI#KyNKvJ&b;yXSezmQ0IK_UE*4s@J{17q0uvn^DUMc_NG!=q6@w$W;8kf}
|
|
||||||
zK1?(KprcRo!C*b`6rc;<mFTT2zf|=?9!SLL%AbT;fvtRu@oq$mAV0i)khKFg$ODVO
|
|
||||||
z$?NL@b!bQ?fft^F0n)rYy~#+LuKZ74By+qottJor388rC${X$&1Ug#T0*y(2c%YUl
|
|
||||||
z1cU{H!9Xp9suo5I169{N41|KA5H&Dd4FUy$!AK|!2?YaxedL+u{BQ)Mor&2mW6WQ=
|
|
||||||
z@@^E04^mAnARs_BKwXvO=c)!lAP{O`s2UUsVj@7~KyM0$2J$BF|C7N4PsaKYeJDhd
|
|
||||||
zH*kj$<3jSM=*lx){UZi1pWn3J<X?GWW=xHS@lk`Qf_Gy23B+N4<9z)6JbxO;Vb$=S
|
|
||||||
zcrUy+h0Mf4eq(*yNE8y;jr2FvzaRgT0cLKktbW`0x4w9J{Wd|Sm{OTx{7T5bMUx!@
|
|
||||||
zeeh~_crwY~4~sXYGTq$26O9kj*bk4Pko+7-B+ox9W&5YgKx1QOVIT;g@=2mMjub#v
|
|
||||||
z`O6x-35J5#m1h=C9RyYfLBI}B2oeTG!XSsh2qYN%2h@s$BN76CLp64w>X4sM7!v%?
|
|
||||||
zP^N5f7z*b91mmzs0?E${!;G2eg>l8J`FOj^1Ak`{X-x7Y`7sSMy;J||Jj&SE){jIW
|
|
||||||
zdNLo7?aYmUC{tri2trd61XYFnbl1uXiSi~>Fy2@^%0yS5nIBam5r-te@EULzm^uiD
|
|
||||||
z)o=m15Ht`Vj0P3~f@&hba6AN}1xL92x!#0?_1{s!&iX$(0!P9!IsV}uoZzBKAmCsi
|
|
||||||
zu#2V!$OWf?1;I7JFc1Q(fxzMjFinU$^iMV$KO(a!F`j>A-SG;?WYogAz;Sq{FX}D?
|
|
||||||
z9LPnBIYJN!%wpi-aGW|A4@GETc9j29Oh^kNnOWw*U%h0H_x&~UBm#fx2Z_P%^o6cG
|
|
||||||
zc1I9+ocyn8;=jqqe`WdC`T#dPlk`8R<PYm)5`hwc@xvRsGIRIe2vO~C{U>=-@qT}a
|
|
||||||
zzz5@pVQxuyKeDbo!H?tx#Q6Al60w+_aMh^ZxL=L_yFfq+3HT3P{jD7`hWekg1i>I&
|
|
||||||
z)FChk2#--$2N7H}Fdz&ZiUGkPV5}xo6OPfuFje<Q`2RagP-b@^HPrv?rT=G^e$ivy
|
|
||||||
zFy5|s=AN!5|NoEYzw3g3iRbSc{=bR`3RQ*ub?^CO(Z2+vwzHG}p=Y&!mHN+Tf7$h!
|
|
||||||
zn)x}!JW6(kzYj6ykKe~2-kX^xKjtC#9(rUF0N8U0Wn$<+OP@{)tT=N#b>_lbr!D?~
|
|
||||||
z7HL0qL&9#b0Z$e;dynQ_JpDd2(e|>_U4@+VM+OUdl^`LLJD}Kn&mxZEq{Vvo!={FD
|
|
||||||
z;Xsf&Z%lzL5069`d&_w;nN%@_2(I3KIlPrlj=CPk^P?{)b9=tJ^HJyK_?P=j!7l>t
|
|
||||||
zW8*j0N8=x>jfM^naElj8)EUl}cmQG9?q=Zqu#&m?^cS~7%H3^Y+>J{P?G|+2r)BQn
|
|
||||||
zTt$){Fsq77g|!Y`=eWE9GKdsTed^qn`B+uNS1i_PpHFqx%WC+5;WeeJ1}xM-I2SF2
|
|
||||||
zyZ)V4kv&Ni&??Zcz2VFX@0+TVx=v^CK7!4)onxD$+tdh4YqtOfiM1lTY9?|ERksWU
|
|
||||||
zJNECscx|1w%u$QwM$-4u-?A(rQ*?D40aBdbic$LHM~x^rP+v>jDxT$r0kzQs1Bj(p
|
|
||||||
zg)Om}OI^7tV+&x%Gh!n%zf5jtR(4wtxxHT>>UN{;IwDu46b|rFeZ*O@%T4!sh~9O8
|
|
||||||
zGx||SmKyB_{GwR4S!f?Z`+0%%*AMT3G!x@^O~wo1sfJ5jMZH|CVF^|`=w*-+0a5GT
|
|
||||||
zY{PFfCF=G$QtIO7XJFc{>|qLn;8LkGEx7PambLb9tn}C12>UbHb;H`+oQ@G(@W}~s
|
|
||||||
z!#b-`1Epo;bXZgviDmWNL*a*FVV&jy@9Rff+|UGgFjt+qpj!aLJzKRcx)5tv@G@$H
|
|
||||||
zKaPuq!HNd?D2Uvl)B;*YmpvoiL_YApJ8v|${1|wJHD{MmQ-iwoCOyH-64HgR&>fv=
|
|
||||||
zJb2BlImpQD=GqJoj&vr8#do|8z@RbCM#v(G-EI*|oLN+XkVtRpq?9q4o*jLU)X0M8
|
|
||||||
zV9jCa5c?(!9>~%^%DBC|yO-N2UU&6)QSzl)uiEX}9yS&Ou}N8h?dH1Mnw-#9bEijQ
|
|
||||||
zHndk+N3GhpZeqUy23dXid++6a;8)4uO%y#dj`rZyKQbZ0xhk?!$nMpaZzPu{x#dP;
|
|
||||||
zli~UvEv|7+3?Rlfm+_e>=5oXj$8wmh&W6DQ;hsIT*L;c-Eq0xS;MlOtVL;G8mB}GR
|
|
||||||
zKXB7EqvK7&#$%=wmG%Zv7CxjrI=6srEc=>T9fFnz=d<cViK%>%Qb6Hwj5X~Fkls{^
|
|
||||||
zfs3>Nbj8{_Uee_AArP6yBVdnGI!CQe!~-Gv;2v}~I)pXtxrqeiVzz!Q@PvTRGxN7x
|
|
||||||
zTf2M?7$~s$%HH3z!Np*!9ja}8$Qu^jnn9F!mR09c(eYp!+6xuB&MkZ~>SDD$n7tco
|
|
||||||
zcS@#|@N(A&&jxD^A8R8*#XREmBAbpd!<?nY{(9z8qH@~f5vl#l4&meJ=m540w<4~)
|
|
||||||
zJPxOQdCFeFUy-xY<eT{}N1~rGtcZ~to^T(SN*SxJEew}yb<AK9@8$m<6)g~1Gv9=g
|
|
||||||
zL8zJaPIBIwpJ3-2Ksw4Ynh#1jnOO?Z3DLq9hWQH1Q{6+D7sD0MU@3s&=6;lf`U~T|
|
|
||||||
z@7xDqVWICQJ|Ez_h{^-=bZ9;9uT$8y$9=`<l+G&y@m8UIDR+-{DG8iDS*Pb&D;ka3
|
|
||||||
zowUK{s<7;cr4C-xgs)xlWgtxJg$p{D3@C3t%=V3rTQ=;{hN0N@h~*obop?Z<<oz^w
|
|
||||||
zJ>T2(;*I-FWs*a!jqjzyhi+KJej;8n&9}ByFF9>DrOY7ZDfe@26GXd4L_D>@JfA);
|
|
||||||
z4-a;kKmdMIh3!j7?h?4PrO<pQFK@_kSAIoRo30<dC^2(m1I2WHOSP1tcDZTuhLEJ=
|
|
||||||
z#3o2e9)G0hSNWPDH}_R@MIP7iGq@h3HYk?8q}48)ucF{kte7#_!N4_4*KtnYHbek8
|
|
||||||
z|Ay^Os0@dZ5PbjT+X_8nfQSyvW6p}hDXJY%R+x~^KyJfC(Rb-LF=>fi&kB;>br}ql
|
|
||||||
zQIRnUo0Y+|uU`-D>)&-h6t8?Q6ZvF0Dd$6tLDzACOh5^r{ZuadgIRvMbcfuEt;;6M
|
|
||||||
zVDP?32pi^Y_!2w7pvCUwV62j(P{%y08ss`0oGnf{ANGQcO=Pd3IF;kV+Tz0YdQPEh
|
|
||||||
ze^q|ZnruwlDV?~wyalOojf}6BZ2k4NhdQ@w>bC>DrsyxX5=G}@6SQNl36-&y_H)`)
|
|
||||||
zKw+V0ugiGx(a(}oHVU+=PiD_Z#uWzqV7YAa(j92|jtBj=T<B>&!674Ch_zPw$=6t6
|
|
||||||
z%LCE+#P_k)FG!jF&6AzduX4(f)RUD%t9DPYy$MbDk+J28eIo(tg^o@a=F{ILM`iSl
|
|
||||||
zk_YcXV=t7%{s<Xq^&Hal`H>Y>mTm#N*Vs1Qe7tEvrOoZ8c+4#Mp;$S3v&HfK!^Qok
|
|
||||||
zi!e@&a4=ozeA9lj=dCePA@G!TuXmg`H^}SHyH>Y4QoYi*+SiYz_P5*54OqY3;9JkF
|
|
||||||
z1HD;wI;uXbwfJEwV0#4hT46Cmr!Qc%{>IXa1@0=BS0ks(+w@nwoI~10JVS{Cv&ODZ
|
|
||||||
zGYny)m)=}S%XGQ@$p;&2A{!YsXLa60^9YLdb5SOkMX;r)B7Nz-%Hz<`R~*}B24H3O
|
|
||||||
ziAMkIJ{i}56O~+xZtkjn{Q^t)=CTw0y44Gxr4R9XxURK3h0aa}E|9z*_8_{9w_0Rk
|
|
||||||
z*mONd21lrKHe0ICXP(wQIh`qWK42hi#;3_Yzq`-j4r#s1rh27%m;{hHBXAc*H=5r(
|
|
||||||
zC^#1nIgZO|Zyv9oq{#@03c^HnQ&)z*Mxk2rF7b<%_2n3^c1kdMmZRO*flBA7yyW**
|
|
||||||
z6CdN|uFX{ke8|MQ%JxtvPv_eOQbmeo&folAV;HZ|bh4=I)FqW^xy;eQk)Q?LhJZD_
|
|
||||||
z)t-2jQl-_E>DZ5BurQ7@qb(xN2Vf+duy~`HC!3ghlUz!NNOJ^uoDDsH`5MOrDqoxc
|
|
||||||
zJ^udrvD;C>2emoR-3qPO$g6hc?Oc0UJ|;-2np=LLNst+P)f{}HWM<-t!(l!3`#BEg
|
|
||||||
zMOUsk_$DPjuwxWvY=2u_@83=wtNPXxAp6SqD50b{7#)?cC~lg`kP=Kx+H-oc+*|GL
|
|
||||||
z5jp#ewFMSC4NVi0xM28+>CTnz4^45sja*}rXA2)O&a9?droJxKm0cJtG$y3$#AYU`
|
|
||||||
zm458@zi1R*%y}M`d!3V)SbI>Vh|?(|Wq2~s$E&mN&5O~J^qiIw5duUfev+Y$bzAkt
|
|
||||||
zHJb`2U1&`u>@r%o6|J&L6SN>w){jAIO=g?;0v+O<&yw7)NJu_-;GXG3sOym^13KN7
|
|
||||||
z{f;iYkTM}wHS~Rhvj<>mS`KnOeomrkPRPxOa=;e0@~%i)*0NmCXCvJ@kCMofM0q1V
|
|
||||||
z{JiDB?Y<`$<77CS!@EB4U`Lo$Epc924dzx%*D@GmAMui?f_1B;EJDX4jurBI*w6Lt
|
|
||||||
zmVQMYEG;dF3;s^S*~_N&d)~bO&wcjH!jwfRibIZLSv6k}*o`v_uInCCr#UZeW>`Il
|
|
||||||
z-$i|z^kHFNs2s{!p8z`5{86+GOdEPBne+CFG@9&Drris~K@t{30Ii}j;CH4#vu>eR
|
|
||||||
zoxr?<L&|{r;RhV|5+l}Zt+rzDHa$85m0XqePeBXBw}3Zv3@^yEfb*~b<V>ZIc8VRF
|
|
||||||
z9L$ZEzNTnHo^+DAfNn_CxF}|2yX@W4;GJ{RNkyRjbxr1wPU1f6h>6`faqey7EG-vb
|
|
||||||
zw~3@*yBonLl+N4ICiOZKhLiB+Ux~W)yxdQm_u&<t0h`?iL;Ce~S`IZ><=$=JmFWqy
|
|
||||||
zqvtZD{EktMap#ODq(GX`?j9mu_nT&)Hz2oIC(AtoT!^!0CU2Fp#%T2OCIOzz?zUh*
|
|
||||||
zRT~S;*?TFSXZ|*j6Ia)nn9=*~tmB<ljwjE`^5&LGXlNEG_k*IIGd^#@5!$u>mP=|W
|
|
||||||
z!Od&@$0%mP%7NyP%SH;hmz9%u--^kc3D0lZw{Us?j5T5Lu7u^mE!VvnIu8SepR1a2
|
|
||||||
znklEWe=1Pd>OZ<|J$&n-+JS-(-HGX~8qIVa?Rk+fUkM;?J<M1EeN$wkz%<wTUO?7O
|
|
||||||
zVGG{S?%IAm>e9+1AH8-y!oB6Hvsrz1IR}`wS(GIc(|9$KcHe5{x!-O&oEB^8p;CfI
|
|
||||||
zrPnVgl-K)fmVSKZy;-@XqTqcjJClLVh{~#v<d7i*xpjV_n+f@aVBZ4RF}x7AcNdkp
|
|
||||||
zlV|Glu6~kZ7`L1ZJaP3%f=^xo?R&QXpe#LbK5n`n`ZPo^H$LA%Ad&Z~pGS0F9;+4J
|
|
||||||
z=BPb=CO-QV{p-t4xr?>6m7wPzL44nDG_LkN)QY#DO`U-$ARnmTvot#UJR&N4uDJ8-
|
|
||||||
zL5JtoP@y$l4!?s^k_O!VLe30FkpqRFL<3#3?QlID_j{FKUYkSeo}q5K(+!nW|1+PS
|
|
||||||
zzIX)F_Nn4jRy2F|f#?nD9(B0$EXCGHv{)rdMm=FIHN!I$Ef6KEwWX#c8`9DNyH;I$
|
|
||||||
z>l`VkxLCor=hLx6Ry|`fa;<L^LEeKAw%CY8m=%4LVJ76jRmbWo-;m#pMqff1BmAlI
|
|
||||||
zDBkb4au{FVya}+E5YL+XHud5R^1`dP!=>65)cLH!(&#*t>1zd>R}!EFJmGMr@zG$B
|
|
||||||
z(?8xG$?IHr{;6PHI-qqqQ~1Q_GSF20NOV=bp}lIc#1WB=Okwroa()r(S00GXW?r|6
|
|
||||||
z3JEqSkcgL%HG6C*_L*S(^1vH|_{aiU^h3?P#yOjwt#S+I^MN&KQ9m}RMZuB8(>3#z
|
|
||||||
zd7a;1N#r6DZmSCL+mGrR_!bzQq7&E#Mr?lEYCoh+u+iHpP`_3!Sr_nQ?dAM%UwdNV
|
|
||||||
zeKPk1-_Y~UCrxR*yl)a66BQ=8l|a(QNgkODMd;1y+&ZDuI7I7ZTYy+JUxzKjDB+Bq
|
|
||||||
zBu~z`kIyCCZ9cnh99+o=7IG(~u8-ri%ov!`x%DG8Tg}OAU?_HJUf+8yBjUx-#@f52
|
|
||||||
zEc++HXgLm2|B17=gMKi|vI*k@kg5c);_^?ehn6OrlG0KU0VRAyT31sC%<anNKD7dP
|
|
||||||
z@`75Ic@Jl5^@&@qRwfA2TR;w46&oSJ4Ul6`CtFma1_y+W$zS`Z`Q*;EN_6?;q#y#W
|
|
||||||
zq5Q4LpZZ=q==Re1%DXT6uH&=!EfE;iX@%8AHEP-Di>>v2zT#(IcHnSZGHae6rwjMk
|
|
||||||
zl+MzhJnzvm8A$KAs`24$-TCBK9unNLtKbx|XQ%cAl_uY^D?O^jTBrWlL{o0hi3i`<
|
|
||||||
zjk#SpuU3VBHhq=ZvcUmWc4)G2fp0uTxgv&c4>;u9!G=FB@h7}A-M?+De`<R{Ddlqu
|
|
||||||
z=kQ+3EdLWqA8k3>2A^TLLe#!I!cM7HYOTjx9_;mX+tMyBtRXhvb54D&(Of098EMRq
|
|
||||||
zw1MpR-ZO<@FkhOI(bU|84#{G$O%Asu0Kl6Hp1rH26WcqDE`RToFDMUZQ;#pYe#Z`+
|
|
||||||
z4(|+?3Fx@V355+3oeJ{wRW*_qm)n~j3a$%`t$$L}G@%YT7%4_Z6|uV>NH}77Yn<wC
|
|
||||||
zAS-CNRQzVyKW;^(ZG1{$GsCqD;r#UKhp-zJ5~~4?_;01@6am78#0VipN5@Pz-ZE{j
|
|
||||||
zJG%7`)O(ZdV@*a*Ub4K{$U*_g-taY+i_>#N@hjat)ip+-N~%&vB`)3}x54wf92}?9
|
|
||||||
z_^$Ev=eiX0D}bgY>K=pP+A7LY>OqaAm5ra#wc|vC7Xkcz9`vJZ--@Fa@X;|6`whbO
|
|
||||||
za2`tke5y^=e75l(_5z>)xComHM|&nn)EsOB!V455(TGVT->vX+5wM=)Ju{y}(Hu(F
|
|
||||||
z0X--8%-dPEOh4d;UTuaWE4VGagcXa9rkEP~_etHX$-EU3&&@}7<|rZMHJhqXlNhVv
|
|
||||||
zY4L}>PC6$x(=UKO?j@~(5+a)ezrg`rFT;AL2WN_G#d!~;`a-oiXpI~p4JiBbfaF=W
|
|
||||||
z+9y!u6DE&~bo9<QcU|zCMDcxbPQNePw=Rl%`2Mupy)}smhKf=K%Xzyeon{L_;bd*f
|
|
||||||
zF~y)VZQuRNG~NrWH^fAbkJvuugEuG+h9LD|k|BUsmzDXW#3|BIJm1xNj8&KS^2Kl}
|
|
||||||
z_X^sF$W-XTEsE|s2n04)a+NhQoMp@EQ4Om0>F%OcW~Y+g$QIE)T8k{1I~}e_kfc4~
|
|
||||||
zU2=-5aTvL3?;3SfcN4LErcU^)6Mk_f{QKjXt70g2y*O!05s##mQ>-W9_AaSg6L<9h
|
|
||||||
zjCA4bSiR(+G^HtHYyQ2(^dc=g*OrQgMro53msAlFYrBXhg5Aejw_Z~|Q=l2^?${7;
|
|
||||||
z>bA@F!tSnesWrM&B=gM%f8{Wiu*6rgYB%Ln_cpk&^FWcNp5T>hEJIh>B+OGj?@J!e
|
|
||||||
zN$H>L4@k~VqzmyJIp3L04lh;kJ1@C`if=w<EuAwCc*+}kT{kPT;+1&u`?Okf&s8g-
|
|
||||||
ze719B7mN(h_^H|DyY8lJ+<Rq%5Y2d&?}K$kch@3#waUB{RjGxc3q`4+H^OsMw_K<F
|
|
||||||
zW}be*uR4%H(=TgzC0c=b?FR%77;el5pZ)UH8y0hP`<aAExJa0Gdd15_hdq@qe)>W`
|
|
||||||
zwv}K8YB>7Bf0+keYDTZQ0Ql_kjqgz(N66^$A>#3Aj&7Pzeaf>8zdY0nfK2?#G4xeo
|
|
||||||
zf3^hZ_MK1@&69JJhZzl*xA?b*v)23LB##TsMD}0l7@za~&`XdK{3d(Hm1MTKG!yfK
|
|
||||||
z<NQFbvqFW#P*)@Op>%c8Ne$m!qO%88&gQeviy9c}$W8H}BhXx5?)0%*$}LJex%BYt
|
|
||||||
zT1_PlY*1A%sVrJuHaV2GO8_!qmimBwZd|tEY{TO2AbKaTW};}b<avffiKI55?iB8_
|
|
||||||
zNsW*~$-O}Cl&^P0B1%O(`0h(sJd5L`wZ`7mQPjwsOI8GP<$133&M%5?pL~?RUXo3z
|
|
||||||
zfBIsd!oCsrh|<F!Jd<bNx<Ae`)GcZy4&Bg992AHJ`OD$kJo=JnnrqIgMSHA<#zpIw
|
|
||||||
zZ@i4jKUWNS$Q3qtWsl<3$B92&468zJy`%@7FW^xr^!b<~eq;KJ6ToxB+Ib@dP>^oY
|
|
||||||
z1lWj4(7OiTJ+(IA(LBd>XZ(TI<1SXMXNMO8r(efQntea6leIz?@a%35x9x;$rIiV7
|
|
||||||
zEIlL|cNww(sdx5mB%+j_C2k$oF!|U#4}LA8F)q?fi|T|LdyO5_na}yb{ZwjjjcYxF
|
|
||||||
zZHgss;bg70GvoZxC;d^JHU;-#U5~!Qheh0f>@T3(9u4l)UXf$mug&HvY2cC!dp;KF
|
|
||||||
zh%-F7QEQQ*&V4SHC!5mTU5VXg1oZDowv>{q_=2W<MzdVEf97$0Z;<btTS=ls%Iq71
|
|
||||||
ziuSIFS}~KeLoyrGWk5^Xiu|&i()et+OthI6dsCSlpxN?MMZ!2sx}eU5M^ypKECuCJ
|
|
||||||
zbbHIqqhe)<bELLeF3Vx><&&IB*wJ+}|JgWpAgLU<7y0p!-lJBIAZJFg;$GIb>5i2;
|
|
||||||
hwD#}SKSI9$V4I$CYeB{gZteVKi88e|d0>PN{~v>}<#hl6
|
|
||||||
|
|
||||||
literal 9260
|
|
||||||
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
|
|
||||||
HqBZh=dic2S
|
|
||||||
|
|
||||||
464
patches/server/0006-Rebrand-Logo.patch
Normal file
464
patches/server/0006-Rebrand-Logo.patch
Normal file
@@ -0,0 +1,464 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: AlphaKR93 <dev@alpha93.kr>
|
||||||
|
Date: Fri, 10 Mar 2023 22:08:56 +0900
|
||||||
|
Subject: [PATCH] Rebrand Logo
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/resources/logo.png b/src/main/resources/logo.png
|
||||||
|
index 8b924977b7886df9ab8790b1e4ff9b1c04a2af45..efa53bcb692650396b2e71b62243a15dd95aa096 100644
|
||||||
|
GIT binary patch
|
||||||
|
literal 7439
|
||||||
|
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
|
||||||
|
|
||||||
|
literal 16900
|
||||||
|
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
|
||||||
|
LFIp>X81%mY^Bg|U
|
||||||
|
|
||||||
@@ -4,20 +4,8 @@ Date: Fri, 3 Nov 2023 00:11:50 +0900
|
|||||||
Subject: [PATCH] Plazma Configurations
|
Subject: [PATCH] Plazma Configurations
|
||||||
|
|
||||||
|
|
||||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
|
||||||
index 533418d3514fce41bab403c3ba2db21e96ac134e..3995afe1bf7f9b710e40cebce0d5d7b85ce9e258 100644
|
|
||||||
--- a/build.gradle.kts
|
|
||||||
+++ b/build.gradle.kts
|
|
||||||
@@ -20,6 +20,7 @@ dependencies {
|
|
||||||
implementation(common.asm.commons)
|
|
||||||
implementation(common.log4j.iostreams)
|
|
||||||
implementation(common.commons.lang2)
|
|
||||||
+ implementation(common.adventure.serializer.ansi)
|
|
||||||
implementation(server.velocity) { isTransitive = false }
|
|
||||||
implementation(server.simpleyaml) {
|
|
||||||
exclude(group="org.yaml", module="snakeyaml")
|
|
||||||
diff --git a/src/main/java/io/papermc/paper/configuration/Configurations.java b/src/main/java/io/papermc/paper/configuration/Configurations.java
|
diff --git a/src/main/java/io/papermc/paper/configuration/Configurations.java b/src/main/java/io/papermc/paper/configuration/Configurations.java
|
||||||
index f5d725feb6d32f947eed82073c5594e205f31afe..71be8c8e5bb887a68e9ae5ab822313d7766ad6ca 100644
|
index 62b602450a53cfebf08f839b505d0e965aff6e20..cda3636a1ff914c7177e95a8f813e9f4dd27a2c5 100644
|
||||||
--- a/src/main/java/io/papermc/paper/configuration/Configurations.java
|
--- a/src/main/java/io/papermc/paper/configuration/Configurations.java
|
||||||
+++ b/src/main/java/io/papermc/paper/configuration/Configurations.java
|
+++ b/src/main/java/io/papermc/paper/configuration/Configurations.java
|
||||||
@@ -39,28 +39,95 @@ public abstract class Configurations<G, W> {
|
@@ -39,28 +39,95 @@ public abstract class Configurations<G, W> {
|
||||||
@@ -178,7 +166,7 @@ index f5d725feb6d32f947eed82073c5594e205f31afe..71be8c8e5bb887a68e9ae5ab822313d7
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void trySaveFileNode(YamlConfigurationLoader loader, ConfigurationNode node, String filename) throws ConfigurateException {
|
private void trySaveFileNode(YamlConfigurationLoader loader, ConfigurationNode node, String filename) throws ConfigurateException {
|
||||||
@@ -124,7 +195,7 @@ public abstract class Configurations<G, W> {
|
@@ -125,7 +196,7 @@ public abstract class Configurations<G, W> {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected G initializeGlobalConfiguration(final CheckedFunction<ConfigurationNode, G, SerializationException> creator) throws ConfigurateException {
|
protected G initializeGlobalConfiguration(final CheckedFunction<ConfigurationNode, G, SerializationException> creator) throws ConfigurateException {
|
||||||
@@ -187,7 +175,7 @@ index f5d725feb6d32f947eed82073c5594e205f31afe..71be8c8e5bb887a68e9ae5ab822313d7
|
|||||||
final YamlConfigurationLoader loader = this.createGlobalLoaderBuilder()
|
final YamlConfigurationLoader loader = this.createGlobalLoaderBuilder()
|
||||||
.defaultOptions(this.applyObjectMapperFactory(this.createGlobalObjectMapperFactoryBuilder().build()))
|
.defaultOptions(this.applyObjectMapperFactory(this.createGlobalObjectMapperFactoryBuilder().build()))
|
||||||
.path(configFile)
|
.path(configFile)
|
||||||
@@ -155,6 +226,13 @@ public abstract class Configurations<G, W> {
|
@@ -156,6 +227,13 @@ public abstract class Configurations<G, W> {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void applyGlobalConfigTransformations(final ConfigurationNode node) throws ConfigurateException {
|
protected void applyGlobalConfigTransformations(final ConfigurationNode node) throws ConfigurateException {
|
||||||
@@ -201,7 +189,7 @@ index f5d725feb6d32f947eed82073c5594e205f31afe..71be8c8e5bb887a68e9ae5ab822313d7
|
|||||||
}
|
}
|
||||||
|
|
||||||
@MustBeInvokedByOverriders
|
@MustBeInvokedByOverriders
|
||||||
@@ -162,6 +240,7 @@ public abstract class Configurations<G, W> {
|
@@ -163,6 +241,7 @@ public abstract class Configurations<G, W> {
|
||||||
return ContextMap.builder()
|
return ContextMap.builder()
|
||||||
.put(WORLD_NAME, WORLD_DEFAULTS)
|
.put(WORLD_NAME, WORLD_DEFAULTS)
|
||||||
.put(WORLD_KEY, WORLD_DEFAULTS_KEY)
|
.put(WORLD_KEY, WORLD_DEFAULTS_KEY)
|
||||||
@@ -209,7 +197,7 @@ index f5d725feb6d32f947eed82073c5594e205f31afe..71be8c8e5bb887a68e9ae5ab822313d7
|
|||||||
.put(REGISTRY_ACCESS, registryAccess);
|
.put(REGISTRY_ACCESS, registryAccess);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -169,7 +248,7 @@ public abstract class Configurations<G, W> {
|
@@ -170,7 +249,7 @@ public abstract class Configurations<G, W> {
|
||||||
final ContextMap contextMap = this.createDefaultContextMap(registryAccess)
|
final ContextMap contextMap = this.createDefaultContextMap(registryAccess)
|
||||||
.put(FIRST_DEFAULT)
|
.put(FIRST_DEFAULT)
|
||||||
.build();
|
.build();
|
||||||
@@ -218,7 +206,7 @@ index f5d725feb6d32f947eed82073c5594e205f31afe..71be8c8e5bb887a68e9ae5ab822313d7
|
|||||||
final DefaultWorldLoader result = this.createDefaultWorldLoader(false, contextMap, configFile);
|
final DefaultWorldLoader result = this.createDefaultWorldLoader(false, contextMap, configFile);
|
||||||
final YamlConfigurationLoader loader = result.loader();
|
final YamlConfigurationLoader loader = result.loader();
|
||||||
final ConfigurationNode node = loader.load();
|
final ConfigurationNode node = loader.load();
|
||||||
@@ -179,8 +258,8 @@ public abstract class Configurations<G, W> {
|
@@ -180,8 +259,8 @@ public abstract class Configurations<G, W> {
|
||||||
this.verifyWorldConfigVersion(contextMap, node);
|
this.verifyWorldConfigVersion(contextMap, node);
|
||||||
}
|
}
|
||||||
this.applyWorldConfigTransformations(contextMap, node, null);
|
this.applyWorldConfigTransformations(contextMap, node, null);
|
||||||
@@ -229,7 +217,7 @@ index f5d725feb6d32f947eed82073c5594e205f31afe..71be8c8e5bb887a68e9ae5ab822313d7
|
|||||||
this.trySaveFileNode(loader, node, configFile.toString());
|
this.trySaveFileNode(loader, node, configFile.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -201,31 +280,42 @@ public abstract class Configurations<G, W> {
|
@@ -202,31 +281,42 @@ public abstract class Configurations<G, W> {
|
||||||
private record DefaultWorldLoader(YamlConfigurationLoader loader, boolean isNewFile) {
|
private record DefaultWorldLoader(YamlConfigurationLoader loader, boolean isNewFile) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -279,7 +267,7 @@ index f5d725feb6d32f947eed82073c5594e205f31afe..71be8c8e5bb887a68e9ae5ab822313d7
|
|||||||
Files.createFile(worldConfigFile); // create empty file as template
|
Files.createFile(worldConfigFile); // create empty file as template
|
||||||
newFile = true;
|
newFile = true;
|
||||||
}
|
}
|
||||||
@@ -269,6 +359,13 @@ public abstract class Configurations<G, W> {
|
@@ -270,6 +360,13 @@ public abstract class Configurations<G, W> {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void applyWorldConfigTransformations(final ContextMap contextMap, final ConfigurationNode node, final @Nullable ConfigurationNode defaultsNode) throws ConfigurateException {
|
protected void applyWorldConfigTransformations(final ContextMap contextMap, final ConfigurationNode node, final @Nullable ConfigurationNode defaultsNode) throws ConfigurateException {
|
||||||
@@ -293,7 +281,7 @@ index f5d725feb6d32f947eed82073c5594e205f31afe..71be8c8e5bb887a68e9ae5ab822313d7
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void applyDefaultsAwareWorldConfigTransformations(final ContextMap contextMap, final ConfigurationNode worldNode, final ConfigurationNode defaultsNode) throws ConfigurateException {
|
protected void applyDefaultsAwareWorldConfigTransformations(final ContextMap contextMap, final ConfigurationNode worldNode, final ConfigurationNode defaultsNode) throws ConfigurateException {
|
||||||
@@ -281,7 +378,7 @@ public abstract class Configurations<G, W> {
|
@@ -282,7 +379,7 @@ public abstract class Configurations<G, W> {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Path getWorldConfigFile(ServerLevel level) {
|
public Path getWorldConfigFile(ServerLevel level) {
|
||||||
@@ -517,10 +505,10 @@ index 83a726bcf8b7dce73a361b0d79dbd63a0afc7a12..3c893e5da90f7fcf519f190e34e2b15e
|
|||||||
+
|
+
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 2b015360df398ad8118f7b108cb9474edf373121..690423f4159ddff2d90d7ccf931db72903cb822c 100644
|
index 468cb5034f7648e6ef39b1961298f592535aad88..79ee153cd3c7bd3b2f34e7d30f70be5080cfa3c6 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -314,6 +314,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -311,6 +311,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
public final double[] recentTps = new double[ 4 ]; // Purpur
|
public final double[] recentTps = new double[ 4 ]; // Purpur
|
||||||
// Spigot end
|
// Spigot end
|
||||||
public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations; // Paper - add paper configuration files
|
public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations; // Paper - add paper configuration files
|
||||||
@@ -528,7 +516,7 @@ index 2b015360df398ad8118f7b108cb9474edf373121..690423f4159ddff2d90d7ccf931db729
|
|||||||
public static long currentTickLong = 0L; // Paper - track current tick as a long
|
public static long currentTickLong = 0L; // Paper - track current tick as a long
|
||||||
public boolean isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
|
public boolean isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
|
||||||
public boolean lagging = false; // Purpur
|
public boolean lagging = false; // Purpur
|
||||||
@@ -425,6 +426,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -422,6 +423,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
Runtime.getRuntime().addShutdownHook(new org.bukkit.craftbukkit.util.ServerShutdownThread(this));
|
Runtime.getRuntime().addShutdownHook(new org.bukkit.craftbukkit.util.ServerShutdownThread(this));
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
this.paperConfigurations = services.paperConfigurations(); // Paper - add paper configuration files
|
this.paperConfigurations = services.paperConfigurations(); // Paper - add paper configuration files
|
||||||
@@ -596,7 +584,7 @@ index 33e3815a0c979609d4c7ab83ad91e87ac07a556d..4f1071c48fec78036d6759cdff179df3
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
index 78775413d27a5927b8409c4ce92111a482dad1f1..0fc87744c880da4bc98428137959fb274aeb2c4b 100644
|
index 6d3f61a05c4d4ad20e62175eb0331bc31b5d6807..6cbbe9c692068edee7e66f85081ec95b8dd12101 100644
|
||||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
@@ -222,6 +222,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
@@ -222,6 +222,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||||
@@ -658,7 +646,7 @@ index b3d47d16fb9733ca5cc4f90051ee8694ff3545c5..5456d2ded6f6e75c48868147e5a2dde5
|
|||||||
this.navigatingMobs = new ObjectOpenHashSet();
|
this.navigatingMobs = new ObjectOpenHashSet();
|
||||||
this.blockEvents = new ObjectLinkedOpenHashSet();
|
this.blockEvents = new ObjectLinkedOpenHashSet();
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index 16eb159ab4533f5101461bc4f417b9420a321d82..59d6d25ce3d37a7d408b168aec3c2a90a6d1dfab 100644
|
index 4f056ad78325187efddc0b7ca3b02eef372d20b6..6814e816f1d7e2e7eb7dcb469e94999194ae65be 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -168,6 +168,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -168,6 +168,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
@@ -674,7 +662,7 @@ index 16eb159ab4533f5101461bc4f417b9420a321d82..59d6d25ce3d37a7d408b168aec3c2a90
|
|||||||
|
|
||||||
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
|
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
|
||||||
public final org.purpurmc.purpur.PurpurWorldConfig purpurConfig; // Purpur
|
public final org.purpurmc.purpur.PurpurWorldConfig purpurConfig; // Purpur
|
||||||
@@ -259,9 +265,28 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -250,9 +256,28 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
|
|
||||||
//protected final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(java.util.concurrent.ThreadLocalRandom.current().nextLong()); public net.minecraft.util.RandomSource getThreadUnsafeRandom() { return this.randomTickRandom; } // Pufferfish - move thread unsafe random initialization // Pufferfish - getter // Purpur - dont break ABI
|
//protected final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(java.util.concurrent.ThreadLocalRandom.current().nextLong()); public net.minecraft.util.RandomSource getThreadUnsafeRandom() { return this.randomTickRandom; } // Pufferfish - move thread unsafe random initialization // Pufferfish - getter // Purpur - dont break ABI
|
||||||
|
|
||||||
@@ -704,36 +692,11 @@ index 16eb159ab4533f5101461bc4f417b9420a321d82..59d6d25ce3d37a7d408b168aec3c2a90
|
|||||||
this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
|
this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
|
||||||
this.playerBreedingCooldowns = this.getNewBreedingCooldownCache(); // Purpur
|
this.playerBreedingCooldowns = this.getNewBreedingCooldownCache(); // Purpur
|
||||||
this.generator = gen;
|
this.generator = gen;
|
||||||
@@ -1356,13 +1381,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
|
||||||
try {
|
|
||||||
tickConsumer.accept(entity);
|
|
||||||
MinecraftServer.getServer().executeMidTickTasks(); // Paper - execute chunk tasks mid tick
|
|
||||||
- } catch (Throwable throwable) { // Pufferfish - diff on change ServerLevel.tick
|
|
||||||
+ } catch (Throwable throwable) {
|
|
||||||
if (throwable instanceof ThreadDeath) throw throwable; // Paper
|
|
||||||
// Paper start - Prevent block entity and entity crashes
|
|
||||||
final String msg = String.format("Entity threw exception at %s:%s,%s,%s", entity.level().getWorld().getName(), entity.getX(), entity.getY(), entity.getZ());
|
|
||||||
MinecraftServer.LOGGER.error(msg, throwable);
|
|
||||||
getCraftServer().getPluginManager().callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerInternalException(msg, throwable))); // Paper - ServerExceptionEvent
|
|
||||||
- entity.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD); // Pufferfish - diff on change ServerLevel.tick
|
|
||||||
+ entity.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD);
|
|
||||||
// Paper end - Prevent block entity and entity crashes
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1837,7 +1862,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
|
||||||
}
|
|
||||||
|
|
||||||
public ProfilerFiller getProfiler() {
|
|
||||||
- if (true || gg.pufferfish.pufferfish.PufferfishConfig.disableMethodProfiler) return net.minecraft.util.profiling.InactiveProfiler.INSTANCE; // Pufferfish // Purpur
|
|
||||||
+ //if (true || gg.pufferfish.pufferfish.PufferfishConfig.disableMethodProfiler) return net.minecraft.util.profiling.InactiveProfiler.INSTANCE; // Pufferfish // Purpur // Purpur - TODO: Pufferfish
|
|
||||||
return (ProfilerFiller) this.profiler.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index fe78cb60fe6000004c9e567e9046c45dd0e22d59..1afae84afd5a6fcc11227daf75123e8b65642b01 100644
|
index 54c42f43981aee3da869343b078775fd39994b9e..58878900a1985d4dd23104ac594d52368db580d5 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -1052,6 +1052,7 @@ public final class CraftServer implements Server {
|
@@ -1047,6 +1047,7 @@ public final class CraftServer implements Server {
|
||||||
|
|
||||||
org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot
|
org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot
|
||||||
this.console.paperConfigurations.reloadConfigs(this.console);
|
this.console.paperConfigurations.reloadConfigs(this.console);
|
||||||
@@ -741,7 +704,7 @@ index fe78cb60fe6000004c9e567e9046c45dd0e22d59..1afae84afd5a6fcc11227daf75123e8b
|
|||||||
org.purpurmc.purpur.PurpurConfig.init((File) console.options.valueOf("purpur-settings")); // Purpur
|
org.purpurmc.purpur.PurpurConfig.init((File) console.options.valueOf("purpur-settings")); // Purpur
|
||||||
for (ServerLevel world : this.console.getAllLevels()) {
|
for (ServerLevel world : this.console.getAllLevels()) {
|
||||||
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
||||||
@@ -3122,6 +3123,13 @@ public final class CraftServer implements Server {
|
@@ -3112,6 +3113,13 @@ public final class CraftServer implements Server {
|
||||||
}
|
}
|
||||||
// Purpur end
|
// Purpur end
|
||||||
|
|
||||||
@@ -756,11 +719,11 @@ index fe78cb60fe6000004c9e567e9046c45dd0e22d59..1afae84afd5a6fcc11227daf75123e8b
|
|||||||
public void restart() {
|
public void restart() {
|
||||||
org.spigotmc.RestartCommand.restart();
|
org.spigotmc.RestartCommand.restart();
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
index 7d7134820ce73de1eef242d14d57a520d3db2a25..3187d9fdfe32aa38a979406e798f6a6bcc1158a0 100644
|
index 234f1bf8be8838e1b10672c3209b9dde68114f2b..f84266bca823be3fe7d26ac59b181424e1e307ef 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
@@ -196,6 +196,14 @@ public class Main {
|
@@ -197,6 +197,14 @@ public class Main {
|
||||||
.defaultsTo("A " + org.bukkit.craftbukkit.util.Versioning.BRANDING + " Server") // Plazma - Rebrand
|
.defaultsTo("A " + io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " Server") // Plazma - Fork-friendly Rebranding
|
||||||
.describedAs("Name");
|
.describedAs("Name");
|
||||||
// Paper end
|
// Paper end
|
||||||
+
|
+
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: AlphaKR93 <dev@alpha93.kr>
|
|
||||||
Date: Fri, 3 May 2024 19:50:32 +0900
|
|
||||||
Subject: [PATCH] Warn on startup
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
|
|
||||||
index 0fb3eeab083a0b1e9b495bd2c5c556fca2236c22..ce7782dd216922ad536bb435034255508271bfa4 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/Main.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/Main.java
|
|
||||||
@@ -127,6 +127,18 @@ public class Main {
|
|
||||||
\033[38;2;215;23;133m╚\033[38;2;212;24;134m═\033[38;2;209;26;134m╝\033[38;2;205;27;135m \033[38;2;202;28;136m \033[38;2;199;30;136m \033[38;2;196;31;137m \033[38;2;193;33;138m \033[38;2;190;34;138m╚\033[38;2;186;35;139m═\033[38;2;183;37;140m═\033[38;2;180;38;140m═\033[38;2;177;39;141m═\033[38;2;174;41;142m═\033[38;2;170;42;142m═\033[38;2;167;43;143m╝ \033[38;2;164;45;144m╚\033[38;2;161;46;144m═\033[38;2;158;47;145m╝\033[38;2;155;49;146m \033[38;2;151;50;146m \033[38;2;148;52;147m╚\033[38;2;145;53;148m═\033[38;2;142;54;148m╝ \033[38;2;139;56;149m╚\033[38;2;135;57;149m═\033[38;2;132;58;150m═\033[38;2;129;60;151m═\033[38;2;126;61;151m═\033[38;2;123;62;152m═\033[38;2;120;64;153m═\033[38;2;116;65;153m╝ \033[38;2;113;67;154m╚\033[38;2;110;68;155m═\033[38;2;107;69;155m╝\033[38;2;104;71;156m \033[38;2;101;72;157m \033[38;2;97;73;157m \033[38;2;94;75;158m \033[38;2;91;76;159m \033[38;2;88;77;159m╚\033[38;2;85;79;160m═\033[38;2;81;80;161m╝ \033[38;2;78;81;161m╚\033[38;2;75;83;162m═\033[38;2;72;84;163m╝\033[38;2;69;86;163m \033[38;2;66;87;164m \033[38;2;62;88;165m╚\033[38;2;59;90;165m═\033[38;2;56;91;166m╝\033[0m
|
|
||||||
""");
|
|
||||||
// Plazma end
|
|
||||||
+ // Plazma start - Warn on startup
|
|
||||||
+ if (!org.plazmamc.plazma.Options.NO_WARN) {
|
|
||||||
+ LOGGER.warn("Warning! " + org.bukkit.craftbukkit.util.Versioning.BRANDING + " may cause unexpected problems, so be sure to test it thoroughly before using it on a public server.");
|
|
||||||
+ if (org.bukkit.craftbukkit.util.Versioning.DEVELOPMENT) {
|
|
||||||
+ LOGGER.error("*********************** CAUTION ***********************");
|
|
||||||
+ LOGGER.error("This version is a development version of " + org.bukkit.craftbukkit.util.Versioning.BRANDING + ".");
|
|
||||||
+ LOGGER.error("Nobody knows what kind of problem you're going to have, and there's always the possibility of unexpected problems.");
|
|
||||||
+ LOGGER.error("Never use this version on a public server, and after you've tested it enough before using it!");
|
|
||||||
+ LOGGER.error("*******************************************************");
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ // Plazma end
|
|
||||||
|
|
||||||
Path path = (Path) optionset.valueOf("pidFile"); // CraftBukkit
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/plazmamc/plazma/Options.java b/src/main/java/org/plazmamc/plazma/Options.java
|
|
||||||
index 5942d0997f07bd51d934dac32cd349792a10643e..b02a0dddd99df1691c125660828a61cc4a5a4d02 100644
|
|
||||||
--- a/src/main/java/org/plazmamc/plazma/Options.java
|
|
||||||
+++ b/src/main/java/org/plazmamc/plazma/Options.java
|
|
||||||
@@ -5,5 +5,6 @@ import static java.lang.Boolean.getBoolean;
|
|
||||||
public interface Options {
|
|
||||||
|
|
||||||
boolean NO_OPTIMIZE = getBoolean("Plazma.disableConfigOptimization");
|
|
||||||
+ boolean NO_WARN = getBoolean("Plazma.iKnowWhatIAmDoing");
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: AlphaKR93 <dev@alpha93.kr>
|
|
||||||
Date: Tue, 7 May 2024 22:42:25 +0900
|
|
||||||
Subject: [PATCH] Development Build
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
|
||||||
index 317ac7c5f1c2d542be260f7e86f9a7281506ebe0..2612df0680800e8c4644599b1885230778c812b7 100644
|
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
|
||||||
@@ -18,7 +18,7 @@ public final class Versioning {
|
|
||||||
public static final String DOWNLOAD = "https://plazmamc.org/downloads";
|
|
||||||
public static final String DOCUMENT = "https://docs.plazmamc.org/plazma/administration/getting-started";
|
|
||||||
public static final String STEP_UP = "https://docs.plazmamc.org/plazma/administration/getting-started/next-step";
|
|
||||||
- public static final boolean DEVELOPMENT = false;
|
|
||||||
+ public static final boolean DEVELOPMENT = true; // Plazma - Development build
|
|
||||||
static {
|
|
||||||
InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/org.plazmamc.plazma/plazma-api/pom.properties");
|
|
||||||
Properties properties = new Properties();
|
|
||||||
40
patches/server/0009-Warn-on-startup.patch
Normal file
40
patches/server/0009-Warn-on-startup.patch
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: AlphaKR93 <dev@alpha93.kr>
|
||||||
|
Date: Fri, 3 May 2024 19:50:32 +0900
|
||||||
|
Subject: [PATCH] Warn on startup
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
|
||||||
|
index 4911a6d25d12eb9d2b263aeb9b7f521ff828397a..ab19474f251e1cca9455559db15023a6254c3524 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/Main.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/Main.java
|
||||||
|
@@ -112,6 +112,18 @@ public class Main {
|
||||||
|
if (io.papermc.paper.ServerBrandConstants.ASCII_LOGO != null)
|
||||||
|
System.out.println(io.papermc.paper.ServerBrandConstants.ASCII_LOGO);
|
||||||
|
// Plazma end - Fork-friendly Rebranding
|
||||||
|
+ // Plazma start - Warn on startup
|
||||||
|
+ if (!org.plazmamc.plazma.Options.NO_WARN) {
|
||||||
|
+ LOGGER.warn("Warning! " + io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " may cause unexpected problems, so be sure to test it thoroughly before using it on a public server.");
|
||||||
|
+ if (io.papermc.paper.ServerBuildInfo.buildInfo().asString().contains("DEV")) {
|
||||||
|
+ LOGGER.error("*********************** CAUTION ***********************");
|
||||||
|
+ LOGGER.error("This version is a development version of " + io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + ".");
|
||||||
|
+ LOGGER.error("Nobody knows what kind of problem you're going to have, and there's always the possibility of unexpected problems.");
|
||||||
|
+ LOGGER.error("Never use this version on a public server, and after you've tested it enough before using it!");
|
||||||
|
+ LOGGER.error("*******************************************************");
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ // Plazma end
|
||||||
|
|
||||||
|
Path path = (Path) optionset.valueOf("pidFile"); // CraftBukkit
|
||||||
|
|
||||||
|
diff --git a/src/main/java/org/plazmamc/plazma/Options.java b/src/main/java/org/plazmamc/plazma/Options.java
|
||||||
|
index 5942d0997f07bd51d934dac32cd349792a10643e..b02a0dddd99df1691c125660828a61cc4a5a4d02 100644
|
||||||
|
--- a/src/main/java/org/plazmamc/plazma/Options.java
|
||||||
|
+++ b/src/main/java/org/plazmamc/plazma/Options.java
|
||||||
|
@@ -5,5 +5,6 @@ import static java.lang.Boolean.getBoolean;
|
||||||
|
public interface Options {
|
||||||
|
|
||||||
|
boolean NO_OPTIMIZE = getBoolean("Plazma.disableConfigOptimization");
|
||||||
|
+ boolean NO_WARN = getBoolean("Plazma.iKnowWhatIAmDoing");
|
||||||
|
|
||||||
|
}
|
||||||
@@ -137,10 +137,10 @@ index f164256d59b761264876ca0c85f812d101bfd5de..deaeb134c47da8710afa747bf980bd00
|
|||||||
final TrackedChunk chunk = this.byChunk.get(CoordinateUtils.getChunkKey(chunkX, chunkZ));
|
final TrackedChunk chunk = this.byChunk.get(CoordinateUtils.getChunkKey(chunkX, chunkZ));
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 690423f4159ddff2d90d7ccf931db72903cb822c..c9a5c3b915f09a316f0f2725c51b696da111ccd3 100644
|
index 79ee153cd3c7bd3b2f34e7d30f70be5080cfa3c6..2452dae1e55165bd8c49c4670e3f2adb523de5da 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -324,6 +324,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -321,6 +321,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
public volatile boolean abnormalExit = false; // Paper
|
public volatile boolean abnormalExit = false; // Paper
|
||||||
public static final long SERVER_INIT = System.nanoTime(); // Paper - Lag compensation
|
public static final long SERVER_INIT = System.nanoTime(); // Paper - Lag compensation
|
||||||
public gg.pufferfish.pufferfish.util.AsyncExecutor mobSpawnExecutor = new gg.pufferfish.pufferfish.util.AsyncExecutor("MobSpawning"); // Pufferfish - optimize mob spawning
|
public gg.pufferfish.pufferfish.util.AsyncExecutor mobSpawnExecutor = new gg.pufferfish.pufferfish.util.AsyncExecutor("MobSpawning"); // Pufferfish - optimize mob spawning
|
||||||
@@ -148,7 +148,7 @@ index 690423f4159ddff2d90d7ccf931db72903cb822c..c9a5c3b915f09a316f0f2725c51b696d
|
|||||||
|
|
||||||
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
|
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
|
||||||
AtomicReference<S> atomicreference = new AtomicReference();
|
AtomicReference<S> atomicreference = new AtomicReference();
|
||||||
@@ -1745,17 +1746,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1739,17 +1740,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
//MinecraftTimings.bukkitSchedulerTimer.stopTiming(); // Spigot // Paper // Purpur
|
//MinecraftTimings.bukkitSchedulerTimer.stopTiming(); // Spigot // Paper // Purpur
|
||||||
// Paper start - Folia scheduler API
|
// Paper start - Folia scheduler API
|
||||||
((io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler) Bukkit.getGlobalRegionScheduler()).tick();
|
((io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler) Bukkit.getGlobalRegionScheduler()).tick();
|
||||||
@@ -175,7 +175,7 @@ index 690423f4159ddff2d90d7ccf931db72903cb822c..c9a5c3b915f09a316f0f2725c51b696d
|
|||||||
// Paper end - Folia scheduler API
|
// Paper end - Folia scheduler API
|
||||||
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue(this.tickCount); // Paper
|
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue(this.tickCount); // Paper
|
||||||
//this.profiler.push("commandFunctions"); // Purpur
|
//this.profiler.push("commandFunctions"); // Purpur
|
||||||
@@ -1822,7 +1821,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1816,7 +1815,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
|
|
||||||
try {
|
try {
|
||||||
//worldserver.timings.doTick.startTiming(); // Spigot // Purpur
|
//worldserver.timings.doTick.startTiming(); // Spigot // Purpur
|
||||||
@@ -191,7 +191,7 @@ index 690423f4159ddff2d90d7ccf931db72903cb822c..c9a5c3b915f09a316f0f2725c51b696d
|
|||||||
// Paper start
|
// Paper start
|
||||||
for (final io.papermc.paper.chunk.SingleThreadChunkRegionManager regionManager : worldserver.getChunkSource().chunkMap.regionManagers) {
|
for (final io.papermc.paper.chunk.SingleThreadChunkRegionManager regionManager : worldserver.getChunkSource().chunkMap.regionManagers) {
|
||||||
regionManager.recalculateRegions();
|
regionManager.recalculateRegions();
|
||||||
@@ -2601,7 +2608,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -2595,7 +2602,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
}
|
}
|
||||||
|
|
||||||
public ProfilerFiller getProfiler() {
|
public ProfilerFiller getProfiler() {
|
||||||
@@ -201,7 +201,7 @@ index 690423f4159ddff2d90d7ccf931db72903cb822c..c9a5c3b915f09a316f0f2725c51b696d
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
index f093b0de1808a7c2c568aeb476180518f84e3839..53134751868d37a2659aef74e37c0466b9238197 100644
|
index 6cbbe9c692068edee7e66f85081ec95b8dd12101..3a2acbdcfb64dff5ecb686ba7ea405b488e6eca9 100644
|
||||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
@@ -224,6 +224,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
@@ -224,6 +224,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||||
@@ -383,10 +383,10 @@ index 608390ed36710a419de1542b80340dd3fcc7299c..043f068345ca3c50209c1c3cc1feb627
|
|||||||
mapItemSavedData.tickCarriedBy(player, stack);
|
mapItemSavedData.tickCarriedBy(player, stack);
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index 59d6d25ce3d37a7d408b168aec3c2a90a6d1dfab..23f10ed05e2c4aabfa3a565a9117dabe52f175f7 100644
|
index 6814e816f1d7e2e7eb7dcb469e94999194ae65be..e3a43b352b2be5dbeae1b9ba85fad711d2a3153d 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -1347,6 +1347,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -1338,6 +1338,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
boolean flag = this.tickRateManager().runsNormally();
|
boolean flag = this.tickRateManager().runsNormally();
|
||||||
|
|
||||||
int tilesThisCycle = 0;
|
int tilesThisCycle = 0;
|
||||||
@@ -395,7 +395,7 @@ index 59d6d25ce3d37a7d408b168aec3c2a90a6d1dfab..23f10ed05e2c4aabfa3a565a9117dabe
|
|||||||
var toRemove = new it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet<TickingBlockEntity>(); // Paper - Fix MC-117075; use removeAll
|
var toRemove = new it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet<TickingBlockEntity>(); // Paper - Fix MC-117075; use removeAll
|
||||||
toRemove.add(null); // Paper - Fix MC-117075
|
toRemove.add(null); // Paper - Fix MC-117075
|
||||||
for (tileTickPosition = 0; tileTickPosition < this.blockEntityTickers.size(); tileTickPosition++) { // Paper - Disable tick limiters
|
for (tileTickPosition = 0; tileTickPosition < this.blockEntityTickers.size(); tileTickPosition++) { // Paper - Disable tick limiters
|
||||||
@@ -1359,14 +1361,28 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -1350,14 +1352,28 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
tilesThisCycle--;
|
tilesThisCycle--;
|
||||||
toRemove.add(tickingblockentity); // Paper - Fix MC-117075; use removeAll
|
toRemove.add(tickingblockentity); // Paper - Fix MC-117075; use removeAll
|
||||||
// Spigot end
|
// Spigot end
|
||||||
@@ -836,7 +836,7 @@ index 0000000000000000000000000000000000000000..f8c26e26025d7a7b5489ed5b3274ba73
|
|||||||
+
|
+
|
||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
index 2c9726d0f2dec1136a2f45768e8f8169ce165a1d..4f199eea0c8a05f94e8443917c5a6f2c42f0b25e 100644
|
index 241340a6d66f17f2a31fb03ff0dfab121b856368..a6cf73d104e66971a61ac979d4a6d58a97478613 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
@@ -976,7 +976,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -976,7 +976,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Always agree EULA on development mode
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
|
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
|
||||||
index ce7782dd216922ad536bb435034255508271bfa4..c464e8440e854bd0d68042fdb9937fcfa8b77485 100644
|
index ab19474f251e1cca9455559db15023a6254c3524..77af8360e51fde5094bb45eb2a9820fb85de15f2 100644
|
||||||
--- a/src/main/java/net/minecraft/server/Main.java
|
--- a/src/main/java/net/minecraft/server/Main.java
|
||||||
+++ b/src/main/java/net/minecraft/server/Main.java
|
+++ b/src/main/java/net/minecraft/server/Main.java
|
||||||
@@ -193,6 +193,7 @@ public class Main {
|
@@ -178,6 +178,7 @@ public class Main {
|
||||||
|
|
||||||
// Spigot Start
|
// Spigot Start
|
||||||
boolean eulaAgreed = Boolean.getBoolean( "com.mojang.eula.agree" );
|
boolean eulaAgreed = Boolean.getBoolean( "com.mojang.eula.agree" );
|
||||||
|
|||||||
@@ -337,10 +337,10 @@ index 24763d3d270c29c95e0b3e85111145234f660a62..80ddc627e02e3c749e6b074afa93d357
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
|
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
|
||||||
index c464e8440e854bd0d68042fdb9937fcfa8b77485..d2215f5293c568b4ae525f4a63996bac6edf787b 100644
|
index 77af8360e51fde5094bb45eb2a9820fb85de15f2..699cbd3468c4123ff07251157d0fb6368078b6ca 100644
|
||||||
--- a/src/main/java/net/minecraft/server/Main.java
|
--- a/src/main/java/net/minecraft/server/Main.java
|
||||||
+++ b/src/main/java/net/minecraft/server/Main.java
|
+++ b/src/main/java/net/minecraft/server/Main.java
|
||||||
@@ -178,7 +178,7 @@ public class Main {
|
@@ -163,7 +163,7 @@ public class Main {
|
||||||
File configFile = (File) optionset.valueOf("bukkit-settings");
|
File configFile = (File) optionset.valueOf("bukkit-settings");
|
||||||
YamlConfiguration configuration = YamlConfiguration.loadConfiguration(configFile);
|
YamlConfiguration configuration = YamlConfiguration.loadConfiguration(configFile);
|
||||||
configuration.options().copyDefaults(true);
|
configuration.options().copyDefaults(true);
|
||||||
@@ -350,7 +350,7 @@ index c464e8440e854bd0d68042fdb9937fcfa8b77485..d2215f5293c568b4ae525f4a63996bac
|
|||||||
|
|
||||||
File commandFile = (File) optionset.valueOf("commands-settings");
|
File commandFile = (File) optionset.valueOf("commands-settings");
|
||||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
||||||
index 55e16ed1151c5d53f492581f66a3406ac418b653..9af7df196ed74a48a6b6426df36353f92fb7728d 100644
|
index 09aa0c9ec7d66ff82167c035481e5fcccf8618de..3ed078e33a99e4cc7b536ab6590ef939ac2966db 100644
|
||||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
||||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
||||||
@@ -131,14 +131,14 @@ public class DedicatedServerProperties extends Settings<DedicatedServerPropertie
|
@@ -131,14 +131,14 @@ public class DedicatedServerProperties extends Settings<DedicatedServerPropertie
|
||||||
@@ -382,10 +382,10 @@ index 55e16ed1151c5d53f492581f66a3406ac418b653..9af7df196ed74a48a6b6426df36353f9
|
|||||||
this.enableJmxMonitoring = this.get("enable-jmx-monitoring", false);
|
this.enableJmxMonitoring = this.get("enable-jmx-monitoring", false);
|
||||||
this.enableStatus = this.get("enable-status", true);
|
this.enableStatus = this.get("enable-status", true);
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index 1afae84afd5a6fcc11227daf75123e8b65642b01..6de746c3e0f30bcf3dc24b2a4d369c86db445738 100644
|
index 58878900a1985d4dd23104ac594d52368db580d5..6669851b5682d197a5ccc85ac3e68ea3baf428fc 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -433,7 +433,7 @@ public final class CraftServer implements Server {
|
@@ -428,7 +428,7 @@ public final class CraftServer implements Server {
|
||||||
|
|
||||||
this.configuration = YamlConfiguration.loadConfiguration(this.getConfigFile());
|
this.configuration = YamlConfiguration.loadConfiguration(this.getConfigFile());
|
||||||
this.configuration.options().copyDefaults(true);
|
this.configuration.options().copyDefaults(true);
|
||||||
@@ -426,7 +426,7 @@ index 09053b4ccf268fd204c81dbb8d4f10fa9edcad5f..93f67f125b3674e645cfdae27e579e12
|
|||||||
#### ENGLISH ####
|
#### ENGLISH ####
|
||||||
This is the %s configuration file for Plazma.
|
This is the %s configuration file for Plazma.
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||||
index 2494f0e1c4a1838f6d217d8727d25384180218f5..69066fd1e82cefff44c7dbd565b19373768e2a62 100644
|
index cdb4d9a76640fbf0fa202d7b70f5c2bc7005a84b..0a8d1f2b33257a371abb97a3a88af1f89ee46e24 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||||
@@ -49,6 +49,7 @@ public class PurpurConfig {
|
@@ -49,6 +49,7 @@ public class PurpurConfig {
|
||||||
|
|||||||
@@ -19,10 +19,10 @@ index 8445a0b25d647b2c1f9a44f849084cdec0842e18..86822868e47b269891a71fdc04371b1e
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index 6de746c3e0f30bcf3dc24b2a4d369c86db445738..a9141a1f71c2dc31c6530b00ba0a69c0d1016797 100644
|
index 6669851b5682d197a5ccc85ac3e68ea3baf428fc..24b8c2dfb41e97adee90849d56f13583b6cafcc0 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -433,7 +433,19 @@ public final class CraftServer implements Server {
|
@@ -428,7 +428,19 @@ public final class CraftServer implements Server {
|
||||||
|
|
||||||
this.configuration = YamlConfiguration.loadConfiguration(this.getConfigFile());
|
this.configuration = YamlConfiguration.loadConfiguration(this.getConfigFile());
|
||||||
this.configuration.options().copyDefaults(true);
|
this.configuration.options().copyDefaults(true);
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Completely remove Mojang Profiler
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
||||||
index 55b29e9a540cfc00dc32c7ae14d603c150e8863d..4f1976333662662bc6aa844bde9667b8c9a0b159 100644
|
index 36f65fd7b3b291daf2d0138278b47a9d74560a89..dd81cea56d00f576e0b611b212fd17c18d4f9659 100644
|
||||||
--- a/src/main/java/net/minecraft/commands/Commands.java
|
--- a/src/main/java/net/minecraft/commands/Commands.java
|
||||||
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
||||||
@@ -442,7 +442,7 @@ public class Commands {
|
@@ -442,7 +442,7 @@ public class Commands {
|
||||||
@@ -65,10 +65,10 @@ index f626a2f28f2aebb3237cebb6afef3c4fa1a6cb37..467e17bfce31d0919d603698c9d88a04
|
|||||||
public int forkLimit() {
|
public int forkLimit() {
|
||||||
return this.forkLimit;
|
return this.forkLimit;
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index c9a5c3b915f09a316f0f2725c51b696da111ccd3..983caa80431f5672cca341e91d9ccc40749a56e4 100644
|
index 2452dae1e55165bd8c49c4670e3f2adb523de5da..703e3720cf28c669000b663cba56b070ac4ed96a 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -104,18 +104,18 @@ import net.minecraft.util.datafix.DataFixers;
|
@@ -103,18 +103,18 @@ import net.minecraft.util.datafix.DataFixers;
|
||||||
import net.minecraft.util.debugchart.RemoteDebugSampleType;
|
import net.minecraft.util.debugchart.RemoteDebugSampleType;
|
||||||
import net.minecraft.util.debugchart.SampleLogger;
|
import net.minecraft.util.debugchart.SampleLogger;
|
||||||
import net.minecraft.util.debugchart.TpsDebugDimensions;
|
import net.minecraft.util.debugchart.TpsDebugDimensions;
|
||||||
@@ -97,7 +97,7 @@ index c9a5c3b915f09a316f0f2725c51b696da111ccd3..983caa80431f5672cca341e91d9ccc40
|
|||||||
import net.minecraft.util.thread.ReentrantBlockableEventLoop;
|
import net.minecraft.util.thread.ReentrantBlockableEventLoop;
|
||||||
import net.minecraft.world.Difficulty;
|
import net.minecraft.world.Difficulty;
|
||||||
import net.minecraft.world.RandomSequences;
|
import net.minecraft.world.RandomSequences;
|
||||||
@@ -220,14 +220,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -217,14 +217,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
public LevelStorageSource.LevelStorageAccess storageSource;
|
public LevelStorageSource.LevelStorageAccess storageSource;
|
||||||
public final PlayerDataStorage playerDataStorage;
|
public final PlayerDataStorage playerDataStorage;
|
||||||
private final List<Runnable> tickables = Lists.newArrayList();
|
private final List<Runnable> tickables = Lists.newArrayList();
|
||||||
@@ -120,7 +120,7 @@ index c9a5c3b915f09a316f0f2725c51b696da111ccd3..983caa80431f5672cca341e91d9ccc40
|
|||||||
private ServerConnectionListener connection;
|
private ServerConnectionListener connection;
|
||||||
public final ChunkProgressListenerFactory progressListenerFactory;
|
public final ChunkProgressListenerFactory progressListenerFactory;
|
||||||
@Nullable
|
@Nullable
|
||||||
@@ -2607,10 +2607,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -2601,10 +2601,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -133,7 +133,7 @@ index c9a5c3b915f09a316f0f2725c51b696da111ccd3..983caa80431f5672cca341e91d9ccc40
|
|||||||
|
|
||||||
public abstract boolean isSingleplayerOwner(GameProfile profile);
|
public abstract boolean isSingleplayerOwner(GameProfile profile);
|
||||||
|
|
||||||
@@ -2854,6 +2856,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -2848,6 +2850,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
}
|
}
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
|
|
||||||
@@ -141,22 +141,22 @@ index c9a5c3b915f09a316f0f2725c51b696da111ccd3..983caa80431f5672cca341e91d9ccc40
|
|||||||
private void startMetricsRecordingTick() {
|
private void startMetricsRecordingTick() {
|
||||||
if (false && this.willStartRecordingMetrics) { // Purpur
|
if (false && this.willStartRecordingMetrics) { // Purpur
|
||||||
this.metricsRecorder = ActiveMetricsRecorder.createStarted(new ServerMetricsSamplersProvider(Util.timeSource, this.isDedicatedServer()), Util.timeSource, Util.ioPool(), new MetricsPersister("server"), this.onMetricsRecordingStopped, (path) -> {
|
this.metricsRecorder = ActiveMetricsRecorder.createStarted(new ServerMetricsSamplersProvider(Util.timeSource, this.isDedicatedServer()), Util.timeSource, Util.ioPool(), new MetricsPersister("server"), this.onMetricsRecordingStopped, (path) -> {
|
||||||
@@ -2880,12 +2883,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -2874,12 +2877,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
}
|
}
|
||||||
|
|
||||||
public void startRecordingMetrics(Consumer<ProfileResults> resultConsumer, Consumer<Path> dumpConsumer) {
|
public void startRecordingMetrics(Consumer<ProfileResults> resultConsumer, Consumer<Path> dumpConsumer) {
|
||||||
- /*this.onMetricsRecordingStopped = (methodprofilerresults) -> { // Purpur
|
- /*this.onMetricsRecordingStopped = (methodprofilerresults) -> { // Purpur
|
||||||
+ this.onMetricsRecordingStopped = (methodprofilerresults) -> { // Purpur // Plazma - IDE problem
|
+ this.onMetricsRecordingStopped = (methodprofilerresults) -> { // Purpur // Plazma - Parsing problem
|
||||||
this.stopRecordingMetrics();
|
this.stopRecordingMetrics();
|
||||||
resultConsumer.accept(methodprofilerresults);
|
resultConsumer.accept(methodprofilerresults);
|
||||||
};
|
};
|
||||||
this.onMetricsRecordingFinished = dumpConsumer;
|
this.onMetricsRecordingFinished = dumpConsumer;
|
||||||
- this.willStartRecordingMetrics = true;*/ // Purpur
|
- this.willStartRecordingMetrics = true;*/ // Purpur
|
||||||
+ this.willStartRecordingMetrics = true; // Purpur // Plazma - IDE problem
|
+ this.willStartRecordingMetrics = true; // Purpur // Plazma - Parsing problem
|
||||||
}
|
}
|
||||||
|
|
||||||
public void stopRecordingMetrics() {
|
public void stopRecordingMetrics() {
|
||||||
@@ -2900,6 +2903,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -2894,6 +2897,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
//this.metricsRecorder.cancel(); // Purpur
|
//this.metricsRecorder.cancel(); // Purpur
|
||||||
//this.profiler = this.metricsRecorder.getProfiler(); // Purpur
|
//this.profiler = this.metricsRecorder.getProfiler(); // Purpur
|
||||||
}
|
}
|
||||||
@@ -164,7 +164,7 @@ index c9a5c3b915f09a316f0f2725c51b696da111ccd3..983caa80431f5672cca341e91d9ccc40
|
|||||||
|
|
||||||
public Path getWorldPath(LevelResource worldSavePath) {
|
public Path getWorldPath(LevelResource worldSavePath) {
|
||||||
return this.storageSource.getLevelPath(worldSavePath);
|
return this.storageSource.getLevelPath(worldSavePath);
|
||||||
@@ -2950,6 +2954,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -2944,6 +2948,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
return this.isSaving;
|
return this.isSaving;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -172,7 +172,7 @@ index c9a5c3b915f09a316f0f2725c51b696da111ccd3..983caa80431f5672cca341e91d9ccc40
|
|||||||
public boolean isTimeProfilerRunning() {
|
public boolean isTimeProfilerRunning() {
|
||||||
return false; //this.debugCommandProfilerDelayStart || this.debugCommandProfiler != null; // Purpur
|
return false; //this.debugCommandProfilerDelayStart || this.debugCommandProfiler != null; // Purpur
|
||||||
}
|
}
|
||||||
@@ -2968,6 +2973,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -2962,6 +2967,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
return methodprofilerresults;
|
return methodprofilerresults;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -180,7 +180,7 @@ index c9a5c3b915f09a316f0f2725c51b696da111ccd3..983caa80431f5672cca341e91d9ccc40
|
|||||||
|
|
||||||
public int getMaxChainedNeighborUpdates() {
|
public int getMaxChainedNeighborUpdates() {
|
||||||
return 1000000;
|
return 1000000;
|
||||||
@@ -3019,6 +3025,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -3013,6 +3019,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -188,7 +188,7 @@ index c9a5c3b915f09a316f0f2725c51b696da111ccd3..983caa80431f5672cca341e91d9ccc40
|
|||||||
private static class TimeProfiler {
|
private static class TimeProfiler {
|
||||||
|
|
||||||
final long startNanos;
|
final long startNanos;
|
||||||
@@ -3068,6 +3075,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -3062,6 +3069,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -361,7 +361,7 @@ index 8c587f829c5e8c6b6df3150024c4ae704988c47b..319f484b535143a94ee2da11114acacc
|
|||||||
}
|
}
|
||||||
+// Plazma end - Completely remove Mojang's Profiler
|
+// Plazma end - Completely remove Mojang's Profiler
|
||||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
index 6fd3cb6daac76d41ea9c2aaabf171f958b8cf922..0a30e9873e5f218589dfd90f04edc863e645989a 100644
|
index c48f42815314e2fb106b0dff5f38a9e5c3498632..95105a7ffaa71f8eaa00c617fc112872aa2e2e78 100644
|
||||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
@@ -926,11 +926,13 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
@@ -926,11 +926,13 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||||
@@ -1211,7 +1211,7 @@ index 97c129f5949ca7cb7430e1cf56e881c00f129530..5c4d902a6febe8ffadecbbc64b50ecdc
|
|||||||
+ */ // Plazma - Completely remove Mojang's Profiler
|
+ */ // Plazma - Completely remove Mojang's Profiler
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
index 0d138d36b86e4d31b28455640a82b6097e0a2b36..9e9199b83fce2c9c8f03f4116c14a331279a234a 100644
|
index a2bae50c126208621909ada50cdddd625c8b1912..123378148773b6818e67f2d0d330f1ffd3b883b8 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
@@ -37,7 +37,7 @@ import net.minecraft.sounds.SoundEvent;
|
@@ -37,7 +37,7 @@ import net.minecraft.sounds.SoundEvent;
|
||||||
@@ -1288,7 +1288,7 @@ index a31326e24cb68472c81cd781c5e3041772712862..03323be2a120c53ac5a3607f6154c99d
|
|||||||
Builder<RecipeType<?>, RecipeHolder<?>> builder = ImmutableMultimap.builder();
|
Builder<RecipeType<?>, RecipeHolder<?>> builder = ImmutableMultimap.builder();
|
||||||
com.google.common.collect.ImmutableMap.Builder<ResourceLocation, RecipeHolder<?>> com_google_common_collect_immutablemap_builder = ImmutableMap.builder();
|
com.google.common.collect.ImmutableMap.Builder<ResourceLocation, RecipeHolder<?>> com_google_common_collect_immutablemap_builder = ImmutableMap.builder();
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index 23f10ed05e2c4aabfa3a565a9117dabe52f175f7..2ad60c53890567742f0eff85987a41b0f6f50673 100644
|
index e3a43b352b2be5dbeae1b9ba85fad711d2a3153d..f9bca29920af57029325153a17db184309b31a86 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -35,7 +35,7 @@ import net.minecraft.sounds.SoundSource;
|
@@ -35,7 +35,7 @@ import net.minecraft.sounds.SoundSource;
|
||||||
@@ -1309,7 +1309,7 @@ index 23f10ed05e2c4aabfa3a565a9117dabe52f175f7..2ad60c53890567742f0eff85987a41b0
|
|||||||
public final boolean isClientSide;
|
public final boolean isClientSide;
|
||||||
private final WorldBorder worldBorder;
|
private final WorldBorder worldBorder;
|
||||||
private final BiomeManager biomeManager;
|
private final BiomeManager biomeManager;
|
||||||
@@ -271,7 +271,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -262,7 +262,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
ResourceKey<Level> resourcekey,
|
ResourceKey<Level> resourcekey,
|
||||||
RegistryAccess iregistrycustom,
|
RegistryAccess iregistrycustom,
|
||||||
Holder<DimensionType> holder,
|
Holder<DimensionType> holder,
|
||||||
@@ -1318,7 +1318,7 @@ index 23f10ed05e2c4aabfa3a565a9117dabe52f175f7..2ad60c53890567742f0eff85987a41b0
|
|||||||
boolean flag,
|
boolean flag,
|
||||||
boolean flag1,
|
boolean flag1,
|
||||||
long i,
|
long i,
|
||||||
@@ -300,7 +300,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -291,7 +291,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
}
|
}
|
||||||
|
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
@@ -1327,18 +1327,20 @@ index 23f10ed05e2c4aabfa3a565a9117dabe52f175f7..2ad60c53890567742f0eff85987a41b0
|
|||||||
this.levelData = worlddatamutable;
|
this.levelData = worlddatamutable;
|
||||||
this.dimensionTypeRegistration = holder;
|
this.dimensionTypeRegistration = holder;
|
||||||
final DimensionType dimensionmanager = (DimensionType) holder.value();
|
final DimensionType dimensionmanager = (DimensionType) holder.value();
|
||||||
@@ -1877,6 +1877,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -1868,14 +1868,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
+ /* // Plazma - Completely remove Mojang's Profi
|
+ /* // Plazma - Completely remove Mojang's Profiler
|
||||||
public ProfilerFiller getProfiler() {
|
public ProfilerFiller getProfiler() {
|
||||||
//if (true || gg.pufferfish.pufferfish.PufferfishConfig.disableMethodProfiler) return net.minecraft.util.profiling.InactiveProfiler.INSTANCE; // Pufferfish // Purpur // Purpur - TODO: Pufferfish
|
if (true || gg.pufferfish.pufferfish.PufferfishConfig.disableMethodProfiler) return net.minecraft.util.profiling.InactiveProfiler.INSTANCE; // Pufferfish // Purpur
|
||||||
return (ProfilerFiller) this.profiler.get();
|
return (ProfilerFiller) this.profiler.get();
|
||||||
@@ -1885,6 +1886,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
- }
|
||||||
|
|
||||||
public Supplier<ProfilerFiller> getProfilerSupplier() {
|
public Supplier<ProfilerFiller> getProfilerSupplier() {
|
||||||
return this.profiler;
|
return this.profiler;
|
||||||
}
|
- }
|
||||||
|
+ }}
|
||||||
+ */ // Plazma - Completely remove Mojang's Profiler
|
+ */ // Plazma - Completely remove Mojang's Profiler
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Reduce create random instance
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 983caa80431f5672cca341e91d9ccc40749a56e4..be20a08f07ea0a073d72d74d13650910f52530c9 100644
|
index 703e3720cf28c669000b663cba56b070ac4ed96a..4782f19409d300fbcaa952ae0dd6a0577ade5f7b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -235,6 +235,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -232,6 +232,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
@Nullable
|
@Nullable
|
||||||
private ServerStatus.Favicon statusIcon;
|
private ServerStatus.Favicon statusIcon;
|
||||||
private final RandomSource random;
|
private final RandomSource random;
|
||||||
@@ -30,7 +30,7 @@ index b47a8a082170bcb630c4354be7c77a4cac71d105..7fe6b99e146e7374cd29534f1e89046e
|
|||||||
double d1 = (double) (center.y - maxRange);
|
double d1 = (double) (center.y - maxRange);
|
||||||
double d2 = (double) (center.x + maxRange);
|
double d2 = (double) (center.x + maxRange);
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
index bcb6d87a51f27d80e0fdbcc1606f2f7c12849ce0..818477b820410660ead4d1d20efb9bbb023a5abf 100644
|
index a7ba658a4dc6eeb9d5bc854289c21b3bd21646b1..acd0e6fb55d7a4684ddd8bf2c940a789f0a105af 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
@@ -482,7 +482,7 @@ public class ServerPlayer extends Player {
|
@@ -482,7 +482,7 @@ public class ServerPlayer extends Player {
|
||||||
@@ -191,7 +191,7 @@ index 133d994d9ac9d4f9527135ac0c77e5749917f8c3..9771279c913a5be86e516db74792fd04
|
|||||||
this.hitPlayers = Maps.newHashMap();
|
this.hitPlayers = Maps.newHashMap();
|
||||||
this.level = world;
|
this.level = world;
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index 2ad60c53890567742f0eff85987a41b0f6f50673..00d58b6f8b94457b2a7418a74027181fdeda3db9 100644
|
index f9bca29920af57029325153a17db184309b31a86..16531bcbdfe80c7e3d553aa6fce576588e2e3b0e 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -121,16 +121,16 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -121,16 +121,16 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
|
|||||||
@@ -94,10 +94,10 @@ index 03be23690a94a14d7343526acad67ccf53b85c70..416c0a736edf47f76a37be0bc5fe8678
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index be20a08f07ea0a073d72d74d13650910f52530c9..87cb1529a6bba0f0778cf97c3c5473c3a8503b59 100644
|
index 4782f19409d300fbcaa952ae0dd6a0577ade5f7b..f926376ee95b28a9c09a1ad87223f89f1c28f50e 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -257,8 +257,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -254,8 +254,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
private final long[] tickTimesNanos;
|
private final long[] tickTimesNanos;
|
||||||
private long aggregatedTickTimesNanos;
|
private long aggregatedTickTimesNanos;
|
||||||
// Paper start - Add tick times API and /mspt command
|
// Paper start - Add tick times API and /mspt command
|
||||||
@@ -108,7 +108,7 @@ index be20a08f07ea0a073d72d74d13650910f52530c9..87cb1529a6bba0f0778cf97c3c5473c3
|
|||||||
public final TickTimes tickTimes60s = new TickTimes(1200);
|
public final TickTimes tickTimes60s = new TickTimes(1200);
|
||||||
// Paper end - Add tick times API and /mspt command
|
// Paper end - Add tick times API and /mspt command
|
||||||
@Nullable
|
@Nullable
|
||||||
@@ -1827,8 +1829,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1821,8 +1823,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
worldserver.tick(shouldKeepTicking);
|
worldserver.tick(shouldKeepTicking);
|
||||||
long after = Util.getNanos() - before;
|
long after = Util.getNanos() - before;
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Use Akair's flag when running the test server with gradle
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||||
index 3995afe1bf7f9b710e40cebce0d5d7b85ce9e258..81e4cde01d1d47be5bd09b3ee852122c1c038d76 100644
|
index b95eda82341edf50f74da6760b42c47a7365e320..b310a4764cba6688d3ca28f8b2a8919af8e1494b 100644
|
||||||
--- a/build.gradle.kts
|
--- a/build.gradle.kts
|
||||||
+++ b/build.gradle.kts
|
+++ b/build.gradle.kts
|
||||||
@@ -133,7 +133,7 @@ fun TaskContainer.registerRunTask(
|
@@ -178,7 +178,7 @@ fun TaskContainer.registerRunTask(
|
||||||
languageVersion.set(JavaLanguageVersion.of(21))
|
languageVersion.set(JavaLanguageVersion.of(21))
|
||||||
vendor.set(JvmVendorSpec.JETBRAINS)
|
vendor.set(JvmVendorSpec.JETBRAINS)
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Use Plazma logo instead if server favicon doesn't exist
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 87cb1529a6bba0f0778cf97c3c5473c3a8503b59..f388a07678ef253b19da814f6d90c4d787204517 100644
|
index f926376ee95b28a9c09a1ad87223f89f1c28f50e..cf13166d1fdd663f1f99fd6d00a5296631276511 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1561,29 +1561,36 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1555,29 +1555,36 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
}
|
}
|
||||||
|
|
||||||
private Optional<ServerStatus.Favicon> loadStatusIcon() {
|
private Optional<ServerStatus.Favicon> loadStatusIcon() {
|
||||||
|
|||||||
Reference in New Issue
Block a user