mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
94 lines
5.1 KiB
Diff
94 lines
5.1 KiB
Diff
From 0cd5138cb769057cb56c2b699fc4b3dfd3933bfa Mon Sep 17 00:00:00 2001
|
|
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
|
Date: Sun, 23 Jun 2019 17:01:26 -0500
|
|
Subject: [PATCH] Add large sized ender chests
|
|
|
|
---
|
|
src/main/java/net/minecraft/server/BlockEnderChest.java | 1 +
|
|
src/main/java/net/minecraft/server/InventoryEnderChest.java | 2 +-
|
|
src/main/java/net/pl3x/purpur/PurpurConfig.java | 6 ++++++
|
|
.../org/bukkit/craftbukkit/inventory/CraftContainer.java | 4 +++-
|
|
.../org/bukkit/craftbukkit/inventory/CraftInventory.java | 2 +-
|
|
5 files changed, 12 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/BlockEnderChest.java b/src/main/java/net/minecraft/server/BlockEnderChest.java
|
|
index 0a892a5f1a..c7afac3482 100644
|
|
--- a/src/main/java/net/minecraft/server/BlockEnderChest.java
|
|
+++ b/src/main/java/net/minecraft/server/BlockEnderChest.java
|
|
@@ -48,6 +48,7 @@ public class BlockEnderChest extends BlockChestAbstract<TileEntityEnderChest> im
|
|
|
|
inventoryenderchest.a(tileentityenderchest);
|
|
entityhuman.openContainer(new TileInventory((i, playerinventory, entityhuman1) -> {
|
|
+ if (net.pl3x.purpur.PurpurConfig.largeEnderChests) return ContainerChest.b(i, playerinventory, inventoryenderchest); // Purpur
|
|
return ContainerChest.a(i, playerinventory, inventoryenderchest);
|
|
}, BlockEnderChest.e));
|
|
entityhuman.a(StatisticList.OPEN_ENDERCHEST);
|
|
diff --git a/src/main/java/net/minecraft/server/InventoryEnderChest.java b/src/main/java/net/minecraft/server/InventoryEnderChest.java
|
|
index fd31b9a6dc..49b369236d 100644
|
|
--- a/src/main/java/net/minecraft/server/InventoryEnderChest.java
|
|
+++ b/src/main/java/net/minecraft/server/InventoryEnderChest.java
|
|
@@ -20,7 +20,7 @@ public class InventoryEnderChest extends InventorySubcontainer {
|
|
}
|
|
|
|
public InventoryEnderChest(EntityHuman owner) {
|
|
- super(27);
|
|
+ super(net.pl3x.purpur.PurpurConfig.largeEnderChests ? 54 : 27); // Purpur
|
|
this.owner = owner;
|
|
// CraftBukkit end
|
|
}
|
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
|
index aba4e84117..4c25d358fd 100644
|
|
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
|
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
|
@@ -165,6 +165,12 @@ public class PurpurConfig {
|
|
snowmanPumpkinPutBack = getBoolean("settings.mobs.snow_golem.pumpkin-can-be-added-back", snowmanPumpkinPutBack);
|
|
}
|
|
|
|
+ public static boolean largeEnderChests = true;
|
|
+ private static void largeEnderChests() {
|
|
+ largeEnderChests = getBoolean("settings.large-ender-chests", largeEnderChests);
|
|
+ InventoryType.ENDER_CHEST.setDefaultSize(largeEnderChests ? 54 : 27);
|
|
+ }
|
|
+
|
|
public static boolean packedBarrels = true;
|
|
private static void packedBarrels() {
|
|
packedBarrels = getBoolean("settings.packed-barrels", packedBarrels);
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
|
index 49cc721f5c..a7e3585fc0 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
|
@@ -157,6 +157,8 @@ public class CraftContainer extends Container {
|
|
return Containers.STONECUTTER;
|
|
case BARREL:
|
|
return net.pl3x.purpur.PurpurConfig.packedBarrels ? Containers.GENERIC_9X6 : Containers.GENERIC_9X3;
|
|
+ case ENDER_CHEST:
|
|
+ return net.pl3x.purpur.PurpurConfig.largeEnderChests ? Containers.GENERIC_9X6 : Containers.GENERIC_9X3;
|
|
default:
|
|
return Containers.GENERIC_9X3;
|
|
}
|
|
@@ -170,7 +172,7 @@ public class CraftContainer extends Container {
|
|
case PLAYER:
|
|
case CHEST:
|
|
case ENDER_CHEST:
|
|
- delegate = new ContainerChest(Containers.GENERIC_9X3, windowId, bottom, top, top.getSize() / 9); // Purpur
|
|
+ delegate = new ContainerChest(net.pl3x.purpur.PurpurConfig.largeEnderChests ? Containers.GENERIC_9X6 : Containers.GENERIC_9X3, windowId, bottom, top, top.getSize() / 9); // Purpur
|
|
break;
|
|
case BARREL:
|
|
delegate = new ContainerChest(net.pl3x.purpur.PurpurConfig.packedBarrels ? Containers.GENERIC_9X6 : Containers.GENERIC_9X3, windowId, bottom, top, top.getSize() / 9); // Purpur
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
|
index 026a0c3995..d2c06cff2c 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
|
@@ -81,7 +81,7 @@ public class CraftInventory implements Inventory {
|
|
|
|
@Override
|
|
public void setContents(ItemStack[] items) {
|
|
- if (getSize() < items.length) {
|
|
+ if (false && getSize() < items.length) { // Purpur
|
|
throw new IllegalArgumentException("Invalid inventory size; expected " + getSize() + " or less");
|
|
}
|
|
|
|
--
|
|
2.24.0.rc1
|
|
|