mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-21 10:27:44 +01:00
Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@fd4c6f19 Break MushroomCow parent PaperMC/Paper@be8889d1 getSelected to getSelectedItem PaperMC/Paper@2db2ec9e few random compile fixes PaperMC/Paper@98fac014 format remaining spigot code and make Dolphin#treasurePos nullable PaperMC/Paper@33f3a111 More compilation issues PaperMC/Paper@1e27cd9f PlayerInventory PaperMC/Paper@b5e234d0 Unsafe block entity pos reading in ItemStack PaperMC/Paper@955ba6c3 update block data PaperMC/Paper@49117c0e update block states PaperMC/Paper@6034384b make CraftCow extends CraftAbstractCow PaperMC/Paper@e28be7d2 chore: update paperweight PaperMC/Paper@dbc5c19c Remove mavenLocal ref for initial pw snapshots PaperMC/Paper@2445c79f do a full clone in the action for now PaperMC/Paper@7633dde2 move things around PaperMC/Paper@564344fe More compiler issues PaperMC/Paper@907f1931 bump built-in datapack version and api-version PaperMC/Paper@bf417ba7 tag renames PaperMC/Paper@7f6f64f4 cat and frog variants registries are now data-driven PaperMC/Paper@3124c702 add new particles PaperMC/Paper@17ea49c2 tag changes and update some mapping PaperMC/Paper@8107eb0f Partial raid changes PaperMC/Paper@a1334d3b Missed local diff PaperMC/Paper@1a4367ed Use Holderable in more places PaperMC/Paper@f990b858 preserve update flag for block placement around API PaperMC/Paper@f1424fbf Compile fixes PaperMC/Paper@c2e18c6a fixup diffs PaperMC/Paper@960ad6e0 remove redundant flags and check place result PaperMC/Paper@9c01f0cd fix wrong event call for cactus growth PaperMC/Paper@4b3d802b fix broken liquid physics during structure placement PaperMC/Paper@28fbc7b6 fix damage modifier a bit PaperMC/Paper@c6e7ebcc re-add missed distance check PaperMC/Paper@8e4021aa add dropped local var after decompilation in AgeableMob#ageUp PaperMC/Paper@4d28058a make cactus max grow height config consistent with flower chance PaperMC/Paper@d4b5936c some fixes and simplify overrides PaperMC/Paper@57876760 Use -> uses in particle javadocs PaperMC/Paper@43505dca Start updating feature patches PaperMC/Paper@3ab0d4b6 misc changes PaperMC/Paper@b80114b2 fix broken AT PaperMC/Paper@56ed2dc6 More feature patches PaperMC/Paper@460b99e7 Compile fixes PaperMC/Paper@3bf99764 more misc changes PaperMC/Paper@c2c47249 readd wrongly dropped diff PaperMC/Paper@3459b68d fix some feature patches
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
--- a/src/main/java/com/destroystokyo/paper/Metrics.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/Metrics.java
|
||||
@@ -592,7 +_,7 @@
|
||||
@@ -593,7 +_,7 @@
|
||||
boolean logFailedRequests = config.getBoolean("logFailedRequests", false);
|
||||
// Only start Metrics, if it's enabled in the config
|
||||
if (config.getBoolean("enabled", true)) {
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> {
|
||||
String minecraftVersion = Bukkit.getVersion();
|
||||
@@ -601,16 +_,8 @@
|
||||
@@ -602,16 +_,8 @@
|
||||
}));
|
||||
|
||||
metrics.addCustomChart(new Metrics.SingleLineChart("players", () -> Bukkit.getOnlinePlayers().size()));
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
|
||||
@@ -366,14 +_,26 @@
|
||||
@@ -339,6 +_,12 @@
|
||||
|
||||
@Override
|
||||
public Location getLocation() {
|
||||
@@ -13,36 +13,7 @@
|
||||
CompoundTag data = this.getData();
|
||||
if (data == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
- if (data.contains("Pos") && data.contains("Rotation")) {
|
||||
- ListTag position = (ListTag) data.get("Pos");
|
||||
- ListTag rotation = (ListTag) data.get("Rotation");
|
||||
+ // Purpur start - OfflinePlayer API
|
||||
+ //if (data.contains("Pos") && data.contains("Rotation")) {
|
||||
+ ListTag position = data.getList("Pos", net.minecraft.nbt.Tag.TAG_DOUBLE);
|
||||
+ ListTag rotation = data.getList("Rotation", net.minecraft.nbt.Tag.TAG_FLOAT);
|
||||
+
|
||||
+ if (position.isEmpty() && rotation.isEmpty()) {
|
||||
+ return null;
|
||||
+ }
|
||||
+ // Purpur end - OfflinePlayer API
|
||||
|
||||
UUID uuid = new UUID(data.getLong("WorldUUIDMost"), data.getLong("WorldUUIDLeast"));
|
||||
|
||||
@@ -384,9 +_,9 @@
|
||||
rotation.getFloat(0),
|
||||
rotation.getFloat(1)
|
||||
);
|
||||
- }
|
||||
+ //} // Purpur - OfflinePlayer API
|
||||
|
||||
- return null;
|
||||
+ //return null; // Purpur - OfflinePlayer API
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -620,4 +_,191 @@
|
||||
@@ -571,4 +_,191 @@
|
||||
manager.save();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
CraftRegistry.setMinecraftRegistry(console.registryAccess());
|
||||
|
||||
@@ -1088,6 +_,7 @@
|
||||
@@ -1069,6 +_,7 @@
|
||||
|
||||
org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot
|
||||
this.console.paperConfigurations.reloadConfigs(this.console);
|
||||
@@ -29,7 +29,7 @@
|
||||
for (ServerLevel world : this.console.getAllLevels()) {
|
||||
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
||||
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
||||
@@ -1103,6 +_,7 @@
|
||||
@@ -1084,6 +_,7 @@
|
||||
}
|
||||
}
|
||||
world.spigotConfig.init(); // Spigot
|
||||
@@ -37,7 +37,7 @@
|
||||
}
|
||||
|
||||
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
|
||||
@@ -1120,6 +_,7 @@
|
||||
@@ -1101,6 +_,7 @@
|
||||
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
|
||||
io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper
|
||||
this.spark.registerCommandBeforePlugins(this); // Paper - spark
|
||||
@@ -45,7 +45,7 @@
|
||||
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
|
||||
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
|
||||
|
||||
@@ -1647,6 +_,60 @@
|
||||
@@ -1600,6 +_,60 @@
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
@Override
|
||||
public List<Recipe> getRecipesFor(ItemStack result) {
|
||||
Preconditions.checkArgument(result != null, "ItemStack cannot be null");
|
||||
@@ -3052,6 +_,18 @@
|
||||
@@ -2955,6 +_,18 @@
|
||||
return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console);
|
||||
}
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
@Override
|
||||
public void restart() {
|
||||
CraftServer.this.restart();
|
||||
@@ -3086,6 +_,7 @@
|
||||
@@ -2988,6 +_,7 @@
|
||||
@Override
|
||||
public double[] getTPS() {
|
||||
return new double[] {
|
||||
@@ -133,10 +133,10 @@
|
||||
net.minecraft.server.MinecraftServer.getServer().tps1.getAverage(),
|
||||
net.minecraft.server.MinecraftServer.getServer().tps5.getAverage(),
|
||||
net.minecraft.server.MinecraftServer.getServer().tps15.getAverage()
|
||||
@@ -3296,4 +_,18 @@
|
||||
@@ -3195,4 +_,18 @@
|
||||
public void allowPausing(final Plugin plugin, final boolean value) {
|
||||
this.console.addPluginAllowingSleep(plugin.getName(), value);
|
||||
}
|
||||
// Paper end - API to check if the server is sleeping
|
||||
+
|
||||
+ // Purpur start - Bring back server name
|
||||
+ @Override
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -2346,6 +_,50 @@
|
||||
@@ -2347,6 +_,50 @@
|
||||
return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight());
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -176,6 +_,13 @@
|
||||
@@ -165,6 +_,14 @@
|
||||
.defaultsTo(new File[] {})
|
||||
.describedAs("Jar file");
|
||||
// Paper end
|
||||
|
||||
+ // Purpur start - Purpur config files
|
||||
+ acceptsAll(asList("purpur", "purpur-settings"), "File for purpur settings")
|
||||
@@ -11,10 +11,11 @@
|
||||
+ .defaultsTo(new File("purpur.yml"))
|
||||
+ .describedAs("Yml file");
|
||||
+ // Purpur end - Purpur config files
|
||||
// Paper start
|
||||
+
|
||||
acceptsAll(asList("server-name"), "Name of the server")
|
||||
.withRequiredArg()
|
||||
@@ -259,7 +_,7 @@
|
||||
.ofType(String.class)
|
||||
@@ -224,7 +_,7 @@
|
||||
System.setProperty(net.minecrell.terminalconsole.TerminalConsoleAppender.JLINE_OVERRIDE_PROPERTY, "false"); // Paper
|
||||
}
|
||||
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
|
||||
+ private final List<org.purpurmc.purpur.entity.StoredEntity<Bee>> storage = new ArrayList<>(); // Purpur - Stored Bee API
|
||||
+
|
||||
public CraftBeehive(World world, BeehiveBlockEntity tileEntity) {
|
||||
super(world, tileEntity);
|
||||
public CraftBeehive(World world, BeehiveBlockEntity blockEntity) {
|
||||
super(world, blockEntity);
|
||||
+ // Purpur start - load bees to be able to modify them individually - Stored Bee API
|
||||
+ for(BeehiveBlockEntity.BeeData data : tileEntity.getStored()) {
|
||||
+ for(BeehiveBlockEntity.BeeData data : blockEntity.getStored()) {
|
||||
+ storage.add(new org.purpurmc.purpur.entity.PurpurStoredBee(data, this));
|
||||
+ }
|
||||
+ // Purpur end - Stored Bee API
|
||||
@@ -34,7 +34,7 @@
|
||||
+ }
|
||||
+
|
||||
+ if(isPlaced()) {
|
||||
+ BeehiveBlockEntity beehive = ((BeehiveBlockEntity) this.getTileEntityFromWorld());
|
||||
+ BeehiveBlockEntity beehive = ((BeehiveBlockEntity) this.getBlockEntityFromWorld());
|
||||
+ BeehiveBlockEntity.BeeData data = ((org.purpurmc.purpur.entity.PurpurStoredBee) entity).getHandle();
|
||||
+
|
||||
+ List<Entity> list = beehive.releaseBee(getHandle(), data, BeeReleaseStatus.BEE_RELEASED, true);
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
@@ -73,7 +_,7 @@
|
||||
public int getRange() {
|
||||
this.ensureNoWorldGeneration();
|
||||
ConduitBlockEntity conduit = (ConduitBlockEntity) this.getTileEntityFromWorld();
|
||||
ConduitBlockEntity conduit = (ConduitBlockEntity) this.getBlockEntityFromWorld();
|
||||
- return (conduit != null) ? ConduitBlockEntity.getRange(conduit.effectBlocks) : 0;
|
||||
+ return (conduit != null) ? ConduitBlockEntity.getRange(conduit.effectBlocks, this.world.getHandle()) : 0; // Purpur - Conduit behavior configuration
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -91,7 +_,7 @@
|
||||
// Paper start
|
||||
@@ -88,7 +_,7 @@
|
||||
|
||||
@Override
|
||||
public void sendMessage(final net.kyori.adventure.identity.Identity identity, final net.kyori.adventure.text.Component message, final net.kyori.adventure.audience.MessageType type) {
|
||||
- this.sendRawMessage(net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().serialize(message));
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||
@@ -274,6 +_,7 @@
|
||||
@@ -273,6 +_,7 @@
|
||||
@Override
|
||||
public void recalculatePermissions() {
|
||||
this.perm.recalculatePermissions();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
|
||||
@@ -88,4 +_,17 @@
|
||||
@@ -89,4 +_,17 @@
|
||||
public Llama getCaravanTail() {
|
||||
return this.getHandle().caravanTail == null ? null : (Llama) this.getHandle().caravanTail.getBukkitEntity();
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -588,10 +_,15 @@
|
||||
@@ -590,10 +_,15 @@
|
||||
|
||||
@Override
|
||||
public void setPlayerListName(String name) {
|
||||
@@ -17,7 +17,7 @@
|
||||
if (this.getHandle().connection == null) return; // Paper - Updates are possible before the player has fully joined
|
||||
for (ServerPlayer player : (List<ServerPlayer>) this.server.getHandle().players) {
|
||||
if (player.getBukkitEntity().canSee(this)) {
|
||||
@@ -2749,6 +_,28 @@
|
||||
@@ -2730,6 +_,28 @@
|
||||
return this.getHandle().getAbilities().walkingSpeed * 2f;
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
private void validateSpeed(float value) {
|
||||
Preconditions.checkArgument(value <= 1f && value >= -1f, "Speed value (%s) need to be between -1f and 1f", value);
|
||||
}
|
||||
@@ -3602,4 +_,76 @@
|
||||
@@ -3576,4 +_,76 @@
|
||||
public void setDeathScreenScore(final int score) {
|
||||
getHandle().setScore(score);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
|
||||
@@ -693,4 +_,285 @@
|
||||
@@ -649,4 +_,285 @@
|
||||
}
|
||||
|
||||
// Paper end - data component API
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/view/CraftAnvilView.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/view/CraftAnvilView.java
|
||||
@@ -75,4 +_,26 @@
|
||||
@@ -73,4 +_,26 @@
|
||||
this.setMaximumRepairCost(legacy.getMaximumRepairCost());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
|
||||
@@ -265,6 +_,7 @@
|
||||
@@ -261,6 +_,7 @@
|
||||
}
|
||||
|
||||
static {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java
|
||||
@@ -49,4 +_,10 @@
|
||||
@@ -46,4 +_,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
@@ -507,7 +_,7 @@
|
||||
// Paper start
|
||||
@@ -491,7 +_,7 @@
|
||||
|
||||
@Override
|
||||
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
|
||||
- return new com.destroystokyo.paper.PaperVersionFetcher();
|
||||
|
||||
@@ -8,10 +8,10 @@
|
||||
+ super("Watchdog Thread"); // Purpur - use a generic name - Rebrand
|
||||
this.timeoutTime = timeoutTime;
|
||||
this.restart = restart;
|
||||
this.earlyWarningEvery = Math.min(GlobalConfiguration.get().watchdog.earlyWarningEvery, timeoutTime); // Paper
|
||||
@@ -77,14 +_,14 @@
|
||||
this.earlyWarningEvery = Math.min(GlobalConfiguration.get().watchdog.earlyWarningEvery, timeoutTime);
|
||||
@@ -75,14 +_,14 @@
|
||||
this.lastEarlyWarning = currentTime;
|
||||
if (isLongTimeout) {
|
||||
// Paper end
|
||||
logger.log(Level.SEVERE, "------------------------------");
|
||||
- logger.log(Level.SEVERE, "The server has stopped responding! This is (probably) not a Paper bug."); // Paper
|
||||
+ logger.log(Level.SEVERE, "The server has stopped responding! This is (probably) not a Purpur bug."); // Paper // Purpur - Rebrand
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
if (net.minecraft.world.level.Level.lastPhysicsProblem != null) {
|
||||
logger.log(Level.SEVERE, "------------------------------");
|
||||
@@ -104,12 +_,12 @@
|
||||
@@ -102,12 +_,12 @@
|
||||
}
|
||||
// Paper end
|
||||
} else {
|
||||
@@ -42,7 +42,7 @@
|
||||
FeatureHooks.dumpAllChunkLoadInfo(MinecraftServer.getServer(), isLongTimeout); // Paper - log detailed tick information
|
||||
WatchdogThread.dumpThread(ManagementFactory.getThreadMXBean().getThreadInfo(MinecraftServer.getServer().serverThread.getId(), Integer.MAX_VALUE), logger);
|
||||
logger.log(Level.SEVERE, "------------------------------");
|
||||
@@ -122,7 +_,7 @@
|
||||
@@ -120,7 +_,7 @@
|
||||
WatchdogThread.dumpThread(thread, logger);
|
||||
}
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user