mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-21 02:17:42 +01:00
Allow void trading
This commit is contained in:
47
patches/server/0258-Allow-void-trading.patch
Normal file
47
patches/server/0258-Allow-void-trading.patch
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
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 172589851c2d9fae2af0a27ea750b02e58f8bc56..c72a82cbd0f12bde60404c01a9e5207fd39a9fe2 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
|
@@ -1529,6 +1529,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||||
|
// so instead we just change the active container and call the event
|
||||||
|
for (org.bukkit.entity.HumanEntity h : Lists.newArrayList(((net.minecraft.world.Container) tileentity).getViewers())) {
|
||||||
|
((org.bukkit.craftbukkit.entity.CraftHumanEntity)h).getHandle().closeUnloadedInventory(org.bukkit.event.inventory.InventoryCloseEvent.Reason.UNLOADED); // Paper
|
||||||
|
+ ((org.bukkit.craftbukkit.entity.CraftHumanEntity)h).getHandle().closeUnloadedInventory(org.bukkit.event.inventory.InventoryCloseEvent.Reason.UNLOADED); // Paper
|
||||||
|
}
|
||||||
|
// Paper end
|
||||||
|
}
|
||||||
|
@@ -2564,7 +2565,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 15c023807a3f5ae3139294d28c5c672a4f111817..8c583df41f14e8997d59ec61f06552a273e3ddf7 100644
|
||||||
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
|
@@ -413,6 +413,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);
|
||||||
|
@@ -442,6 +443,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);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int snowballDamage = -1;
|
||||||
Reference in New Issue
Block a user