mirror of
https://github.com/BX-Team/DivineMC.git
synced 2025-12-20 15:29:15 +00:00
Updated Upstream (Purpur)
Upstream has released updates that appear to apply and compile correctly Purpur Changes: PurpurMC/Purpur@5d1df704 Updated Upstream (Paper)
This commit is contained in:
@@ -441,7 +441,7 @@ index 61eeec6a0d789e5e44abdeb5826d7ee2307301ba..d6b8486d8ec534b8fcfa50899cae4281
|
||||
try {
|
||||
org.purpurmc.purpur.PurpurConfig.init((java.io.File) options.valueOf("purpur-settings"));
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index fdfb92daeb5dd60360a80baf5c1778d641cfd9be..04d36514e55e31d867dca6cd46fdef4fa601c97d 100644
|
||||
index 95d24f500e919f1deae1b7b1ce6e67fa24566eff..a3f363d0c86142e03edc7fc6e2ff6ed81de8ed65 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -184,7 +184,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -521,10 +521,10 @@ index fdfb92daeb5dd60360a80baf5c1778d641cfd9be..04d36514e55e31d867dca6cd46fdef4f
|
||||
// Paper start - extra debug info
|
||||
if (entity.valid) {
|
||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||
index 515b2178e71a3723eace26c89032e45678145224..7bafc62f601d0205bc673c2b6accbd2a80c75277 100644
|
||||
index a9f723528dd05cb9583319edcb14143b784a2fd7..16fb9ee92f2e7b648d81bb0d90ede61405700001 100644
|
||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -427,6 +427,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -434,6 +434,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
return this.viewDistanceHolder;
|
||||
}
|
||||
// Paper end - rewrite chunk system
|
||||
@@ -532,7 +532,7 @@ index 515b2178e71a3723eace26c89032e45678145224..7bafc62f601d0205bc673c2b6accbd2a
|
||||
|
||||
public ServerPlayer(MinecraftServer server, ServerLevel level, GameProfile gameProfile, ClientInformation clientInformation) {
|
||||
super(level, level.getSharedSpawnPos(), level.getSharedSpawnAngle(), gameProfile);
|
||||
@@ -803,6 +804,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -810,6 +811,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
@@ -540,7 +540,7 @@ index 515b2178e71a3723eace26c89032e45678145224..7bafc62f601d0205bc673c2b6accbd2a
|
||||
// CraftBukkit start
|
||||
if (this.joining) {
|
||||
this.joining = false;
|
||||
@@ -1448,6 +1450,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -1455,6 +1457,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
return this;
|
||||
} else {
|
||||
// CraftBukkit start
|
||||
@@ -548,7 +548,7 @@ index 515b2178e71a3723eace26c89032e45678145224..7bafc62f601d0205bc673c2b6accbd2a
|
||||
/*
|
||||
this.isChangingDimension = true;
|
||||
LevelData levelData = level.getLevelData();
|
||||
@@ -1815,6 +1818,12 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -1822,6 +1825,12 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
return OptionalInt.empty();
|
||||
} else {
|
||||
// CraftBukkit start
|
||||
@@ -561,7 +561,7 @@ index 515b2178e71a3723eace26c89032e45678145224..7bafc62f601d0205bc673c2b6accbd2a
|
||||
this.containerMenu = abstractContainerMenu; // Moved up
|
||||
if (!this.isImmobile())
|
||||
this.connection
|
||||
@@ -1879,6 +1888,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -1886,6 +1895,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
}
|
||||
@Override
|
||||
public void closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason reason) {
|
||||
@@ -574,7 +574,7 @@ index 515b2178e71a3723eace26c89032e45678145224..7bafc62f601d0205bc673c2b6accbd2a
|
||||
// Paper end - Inventory close reason
|
||||
this.connection.send(new ClientboundContainerClosePacket(this.containerMenu.containerId));
|
||||
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
|
||||
index 04fdd32394e473995648842027b88bf7ed0136ba..676b56c2898d714423dcc87170f325963749cec7 100644
|
||||
index 6f66c5a93383b2897425e117c32add9a34054add..3d8c1c5aa922ec0417388a1ff27d423cdb6d1351 100644
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -150,6 +150,7 @@ public abstract class PlayerList {
|
||||
@@ -630,7 +630,7 @@ index 3709efe15b30e4140ba677ffdcd4634b06e34d7d..33f24b21e2170700f3d38e072c106e1a
|
||||
List<Entity> list = new ArrayList<>(passengers.size());
|
||||
this.ejectPassengers();
|
||||
diff --git a/net/minecraft/world/inventory/AbstractContainerMenu.java b/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||
index 3dcd8df0b395a8fed8bc0cbe0ff78f4ae0056fd3..43a421306ee2ebd68981d12ec382ad63cdfeb897 100644
|
||||
index e6419715fab462b12790ecb175ce1e1a1fceed8f..40040b1e78765a4a686f9e430d16361c8c31fb14 100644
|
||||
--- a/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||
+++ b/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||
@@ -92,8 +92,14 @@ public abstract class AbstractContainerMenu {
|
||||
|
||||
@@ -287,7 +287,7 @@ index 398c1733824b689520170de0be94006731afa5cd..072e9b8810a6ccc292f1eb5ffe02355a
|
||||
if (packet == null || this.processedDisconnect) { // Spigot
|
||||
return;
|
||||
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
|
||||
index 676b56c2898d714423dcc87170f325963749cec7..13f9f9ad57c8f2575dfe5822122abccf29c367a9 100644
|
||||
index 3d8c1c5aa922ec0417388a1ff27d423cdb6d1351..6cbd57650f1f966955ee14039bca8ceb164599cd 100644
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -274,7 +274,7 @@ public abstract class PlayerList {
|
||||
@@ -299,7 +299,7 @@ index 676b56c2898d714423dcc87170f325963749cec7..13f9f9ad57c8f2575dfe5822122abccf
|
||||
)
|
||||
);
|
||||
player.getBukkitEntity().sendSupportedChannels(); // CraftBukkit
|
||||
@@ -1328,6 +1328,7 @@ public abstract class PlayerList {
|
||||
@@ -1333,6 +1333,7 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
public boolean verifyChatTrusted(PlayerChatMessage message) { // Paper - private -> public
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -2259,6 +_,7 @@
|
||||
@@ -2266,6 +_,7 @@
|
||||
this.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.CHANGE_GAME_MODE, gameMode.getId()));
|
||||
if (gameMode == GameType.SPECTATOR) {
|
||||
this.removeEntitiesOnShoulder();
|
||||
|
||||
@@ -113,6 +113,67 @@ index bc7e4e5560708fea89c584b1d8b471f4966f311a..6567ff18cb1c21230565c2d92caf3a7f
|
||||
.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/PaperBootstrap.java b/src/main/java/io/papermc/paper/PaperBootstrap.java
|
||||
deleted file mode 100644
|
||||
index d543b1b107ab8d3eeb1fc3c1cadf489928d2786e..0000000000000000000000000000000000000000
|
||||
--- a/src/main/java/io/papermc/paper/PaperBootstrap.java
|
||||
+++ /dev/null
|
||||
@@ -1,55 +0,0 @@
|
||||
-package io.papermc.paper;
|
||||
-
|
||||
-import java.util.List;
|
||||
-import joptsimple.OptionSet;
|
||||
-import net.minecraft.SharedConstants;
|
||||
-import net.minecraft.server.Main;
|
||||
-import org.slf4j.Logger;
|
||||
-import org.slf4j.LoggerFactory;
|
||||
-
|
||||
-public final class PaperBootstrap {
|
||||
- private static final Logger LOGGER = LoggerFactory.getLogger("bootstrap");
|
||||
-
|
||||
- private PaperBootstrap() {
|
||||
- }
|
||||
-
|
||||
- public static void boot(final OptionSet options) {
|
||||
- SharedConstants.tryDetectVersion();
|
||||
-
|
||||
- getStartupVersionMessages().forEach(LOGGER::info);
|
||||
-
|
||||
- Main.main(options);
|
||||
- }
|
||||
-
|
||||
- private static List<String> getStartupVersionMessages() {
|
||||
- final String javaSpecVersion = System.getProperty("java.specification.version");
|
||||
- final String javaVmName = System.getProperty("java.vm.name");
|
||||
- final String javaVmVersion = System.getProperty("java.vm.version");
|
||||
- final String javaVendor = System.getProperty("java.vendor");
|
||||
- final String javaVendorVersion = System.getProperty("java.vendor.version");
|
||||
- final String osName = System.getProperty("os.name");
|
||||
- final String osVersion = System.getProperty("os.version");
|
||||
- final String osArch = System.getProperty("os.arch");
|
||||
-
|
||||
- final ServerBuildInfo bi = ServerBuildInfo.buildInfo();
|
||||
- return List.of(
|
||||
- String.format(
|
||||
- "Running Java %s (%s %s; %s %s) on %s %s (%s)",
|
||||
- javaSpecVersion,
|
||||
- javaVmName,
|
||||
- javaVmVersion,
|
||||
- javaVendor,
|
||||
- javaVendorVersion,
|
||||
- osName,
|
||||
- osVersion,
|
||||
- osArch
|
||||
- ),
|
||||
- String.format(
|
||||
- "Loading %s %s for Minecraft %s",
|
||||
- bi.brandName(),
|
||||
- bi.asString(ServerBuildInfo.StringRepresentation.VERSION_FULL),
|
||||
- bi.minecraftVersionId()
|
||||
- )
|
||||
- );
|
||||
- }
|
||||
-}
|
||||
diff --git a/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java b/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java
|
||||
index b36e30fd4057a938e4d90cb42a2dca661f16478e..4e29f5f55b9a894099bef6f7c7f11e2a96b02fc8 100644
|
||||
--- a/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Optimize canSee checks
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 36fc0ec6e21af31e10f63b6bb3952008530b8f81..e744c4a13092f20a591d092fe537f790d23d1db1 100644
|
||||
index db2cd4603c26bca59654f0a5225b18c446a7f612..fcc124e1005f4ddda10b9d08226e6d64693f9009 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -214,7 +214,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -215,7 +215,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
private boolean hasPlayedBefore = false;
|
||||
private final ConversationTracker conversationTracker = new ConversationTracker();
|
||||
private final Set<String> channels = new HashSet<String>();
|
||||
@@ -17,7 +17,7 @@ index 36fc0ec6e21af31e10f63b6bb3952008530b8f81..e744c4a13092f20a591d092fe537f790
|
||||
private final Set<UUID> unlistedEntities = new HashSet<>(); // Paper - Add Listing API for Player
|
||||
private static final WeakHashMap<Plugin, WeakReference<Plugin>> pluginWeakReferences = new WeakHashMap<>();
|
||||
private int hash = 0;
|
||||
@@ -2270,9 +2270,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2272,9 +2272,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
@Override
|
||||
public boolean canSee(org.bukkit.entity.Entity entity) {
|
||||
|
||||
@@ -1,20 +1,23 @@
|
||||
package org.bxteam.divinemc;
|
||||
|
||||
import io.papermc.paper.PaperBootstrap;
|
||||
import io.papermc.paper.ServerBuildInfo;
|
||||
import joptsimple.OptionSet;
|
||||
import net.minecraft.SharedConstants;
|
||||
import net.minecraft.server.Eula;
|
||||
import net.minecraft.server.Main;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.lang.management.ManagementFactory;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.List;
|
||||
|
||||
public class DivineBootstrap {
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger("bootstrap");
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger("DivineBootstrap");
|
||||
|
||||
public static void boot(final OptionSet options) {
|
||||
runPreBootTasks();
|
||||
|
||||
// DivineMC start - Verify Minecraft EULA earlier
|
||||
SharedConstants.tryDetectVersion();
|
||||
Path path2 = Paths.get("eula.txt");
|
||||
Eula eula = new Eula(path2);
|
||||
boolean eulaAgreed = Boolean.getBoolean("com.mojang.eula.agree");
|
||||
@@ -28,28 +31,44 @@ public class DivineBootstrap {
|
||||
return;
|
||||
}
|
||||
System.out.println("Loading libraries, please wait..."); // Restore CraftBukkit log
|
||||
// DivineMC end - Verify Minecraft EULA earlier
|
||||
getStartupVersionMessages().forEach(LOGGER::info);
|
||||
|
||||
PaperBootstrap.boot(options);
|
||||
Main.main(options);
|
||||
}
|
||||
|
||||
private static void runPreBootTasks() {
|
||||
if (getJavaVersion() > 21) {
|
||||
System.setProperty("jdk.console", "java.base");
|
||||
}
|
||||
}
|
||||
private static List<String> getStartupVersionMessages() {
|
||||
final String javaSpecVersion = System.getProperty("java.specification.version");
|
||||
final String javaVmName = System.getProperty("java.vm.name");
|
||||
final String javaVmVersion = System.getProperty("java.vm.version");
|
||||
final String javaVendor = System.getProperty("java.vendor");
|
||||
final String javaVendorVersion = System.getProperty("java.vendor.version");
|
||||
final String osName = System.getProperty("os.name");
|
||||
final String osVersion = System.getProperty("os.version");
|
||||
final String osArch = System.getProperty("os.arch");
|
||||
|
||||
private static int getJavaVersion() {
|
||||
String version = System.getProperty("java.version");
|
||||
if (version.startsWith("1.")) {
|
||||
version = version.substring(2, 3);
|
||||
} else {
|
||||
int dot = version.indexOf(".");
|
||||
if (dot != -1) {
|
||||
version = version.substring(0, dot);
|
||||
}
|
||||
}
|
||||
version = version.split("-")[0];
|
||||
return Integer.parseInt(version);
|
||||
final ServerBuildInfo bi = ServerBuildInfo.buildInfo();
|
||||
return List.of(
|
||||
String.format(
|
||||
"Running Java %s (%s %s; %s %s) on %s %s (%s)",
|
||||
javaSpecVersion,
|
||||
javaVmName,
|
||||
javaVmVersion,
|
||||
javaVendor,
|
||||
javaVendorVersion,
|
||||
osName,
|
||||
osVersion,
|
||||
osArch
|
||||
),
|
||||
String.format(
|
||||
"Loading %s %s for Minecraft %s",
|
||||
bi.brandName(),
|
||||
bi.asString(ServerBuildInfo.StringRepresentation.VERSION_FULL),
|
||||
bi.minecraftVersionId()
|
||||
),
|
||||
String.format(
|
||||
"Running JVM args %s",
|
||||
ManagementFactory.getRuntimeMXBean().getInputArguments().toString()
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
group = org.bxteam.divinemc
|
||||
version=1.21.4-R0.1-SNAPSHOT
|
||||
|
||||
mcVersion=1.21.4
|
||||
version=1.21.4-R0.1-SNAPSHOT
|
||||
purpurRef=3a1b29a9e153da446987bbf2ab5e4878cd60f814
|
||||
purpurRef=5d1df7046101ae74283ed66dd88f800d3d25d860
|
||||
experimental=false
|
||||
|
||||
org.gradle.configuration-cache=true
|
||||
|
||||
@@ -22,11 +22,12 @@ if (!file(".git").exists()) {
|
||||
the DivineMC repository using Git, not download a code
|
||||
zip from GitHub.
|
||||
|
||||
Built Gale jars are available for download at
|
||||
https://github.com/BX-Team/DivineMC/actions
|
||||
Built DivineMC jars are available for download at
|
||||
https://github.com/BX-Team/DivineMC/releases or
|
||||
at https://mcjars.app/DIVINEMC/versions
|
||||
|
||||
See https://github.com/PaperMC/Paper/blob/main/CONTRIBUTING.md
|
||||
for further information on building and modifying Paper forks.
|
||||
See https://bxteam.org/docs/divinemc/development/contributing
|
||||
for further information on building and modifying DivineMC.
|
||||
===================================================
|
||||
""".trimIndent()
|
||||
error(errorText)
|
||||
|
||||
Reference in New Issue
Block a user