Fix API side of resizing barrels and ender chests

This commit is contained in:
William Blake Galbreath
2019-07-23 07:08:07 -05:00
parent 609a9b2637
commit 3c29e21f2f
13 changed files with 154 additions and 55 deletions

View File

@@ -1,16 +1,17 @@
From edf6ac3246ffab78012b980495f40f203a84d5c7 Mon Sep 17 00:00:00 2001
From b0ef60387187bdb7ccbe1e5f04e972902fe34d54 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 | 5 +++++
3 files changed, 7 insertions(+), 1 deletion(-)
src/main/java/net/minecraft/server/BlockEnderChest.java | 1 +
.../java/net/minecraft/server/InventoryEnderChest.java | 2 +-
src/main/java/net/pl3x/purpur/PurpurConfig.java | 6 ++++++
.../org/bukkit/craftbukkit/inventory/CraftContainer.java | 8 +++++++-
4 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/BlockEnderChest.java b/src/main/java/net/minecraft/server/BlockEnderChest.java
index 4b7290238..fc5227683 100644
index 4b72902385..fc52276836 100644
--- a/src/main/java/net/minecraft/server/BlockEnderChest.java
+++ b/src/main/java/net/minecraft/server/BlockEnderChest.java
@@ -46,6 +46,7 @@ public class BlockEnderChest extends BlockTileEntity implements IBlockWaterlogge
@@ -22,7 +23,7 @@ index 4b7290238..fc5227683 100644
}, BlockEnderChest.d));
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 fd31b9a6d..49b369236 100644
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 {
@@ -35,21 +36,48 @@ index fd31b9a6d..49b369236 100644
// CraftBukkit end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 233805175..a86b3fc9c 100644
index 7dac34a6cd..abdbf21775 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -172,6 +172,11 @@ public class PurpurConfig {
@@ -173,6 +173,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 5ee6fc1629..fef1a774bc 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,11 @@ public class CraftContainer extends Container {
case PLAYER:
case CHEST:
case ENDER_CHEST:
- delegate = new ContainerChest(Containers.GENERIC_9X3, windowId, bottom, top, top.getSize() / 9); break; // Purpur
+ // Purpur start
+ if (net.pl3x.purpur.PurpurConfig.largeEnderChests) delegate = new ContainerChest(Containers.GENERIC_9X6, windowId, bottom, top, top.getSize() / 9);
+ delegate = new ContainerChest(Containers.GENERIC_9X3, windowId, bottom, top, top.getSize() / 9);
+ break;
+ // Purpur end
case BARREL:
if (net.pl3x.purpur.PurpurConfig.packedBarrels) delegate = new ContainerChest(Containers.GENERIC_9X6, windowId, bottom, top, top.getSize() / 9); // Purpur
delegate = new ContainerChest(Containers.GENERIC_9X3, windowId, bottom, top, top.getSize() / 9);
--
2.20.1