Files
Purpur/patches/server/0256-Allow-void-trading.patch
BillyGalbreath def1bd407d Updated Upstream (Paper & Pufferfish)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@0c1643c Fix MC-252439 (#7994)
PaperMC/Paper@0ae78d3 Fix advancement saving before reloads (#8003)
PaperMC/Paper@f428887 Prevent empty items from being added to world (#7998)
PaperMC/Paper@dd61319 Couple fixes for command blocks (#8004)
PaperMC/Paper@d1b1c6f Add missing deprecation to AdvancementDisplayType (#7876)
PaperMC/Paper@81f2eec [ci skip] rebuild patches
PaperMC/Paper@e269a0a Fix incorrect random nextLong to nextInt (#8009)
PaperMC/Paper@b77fe3a Temp: Disable javadoc.io for now
PaperMC/Paper@7688112 [ci skip] restore jd.io
PaperMC/Paper@b0eb4e0 Fix number parsing (#8013)

Pufferfish Changes:
pufferfish-gg/Pufferfish@fdfb106 Fix version checker
pufferfish-gg/Pufferfish@b4104a6 Updated Upstream (Paper)
2022-06-18 13:19:30 -05:00

40 lines
2.9 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@Gmail.com>
Date: Sat, 15 Jan 2022 03:27:29 -0600
Subject: [PATCH] Allow void trading
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 7128bcecb9eb1677dcb54e82698a7ea65eb015b6..0192e1f5bb07095015a682ce47c27bab1cdf9a1f 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -2682,7 +2682,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Spigot Start
if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message
// Paper start
- if (entity.getBukkitEntity() instanceof org.bukkit.inventory.Merchant merchant && merchant.getTrader() != null) {
+ if (!entity.level.purpurConfig.playerVoidTrading && entity.getBukkitEntity() instanceof org.bukkit.inventory.Merchant merchant && merchant.getTrader() != null) { // Purpur
merchant.getTrader().closeInventory(org.bukkit.event.inventory.InventoryCloseEvent.Reason.UNLOADED);
}
// Paper end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ce6744240e4e57aef9f5d452047f103068e37b91..3b171cc74b925e7ae501f8d5c171afdf99936eb7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -417,6 +417,7 @@ public class PurpurWorldConfig {
public boolean playerRemoveBindingWithWeakness = false;
public int shiftRightClickRepairsMendingPoints = 0;
public int playerExpPickupDelay = 2;
+ public boolean playerVoidTrading = false;
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -446,6 +447,7 @@ public class PurpurWorldConfig {
playerRemoveBindingWithWeakness = getBoolean("gameplay-mechanics.player.curse-of-binding.remove-with-weakness", playerRemoveBindingWithWeakness);
shiftRightClickRepairsMendingPoints = getInt("gameplay-mechanics.player.shift-right-click-repairs-mending-points", shiftRightClickRepairsMendingPoints);
playerExpPickupDelay = getInt("gameplay-mechanics.player.exp-pickup-delay-ticks", playerExpPickupDelay);
+ playerVoidTrading = getBoolean("gameplay-mechanics.player.allow-void-trading", playerVoidTrading);
}
private static boolean projectileDespawnRateSettingsMigrated = false;