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,15 +1,16 @@
From 8dc2ee35820c0782581ad1fb5f17927d63a7ad79 Mon Sep 17 00:00:00 2001
From 993318eb6baed6171d9aaf0ff23de8a317d264a0 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 23 May 2019 21:50:37 -0500
Subject: [PATCH] Packed Barrels
---
src/main/java/net/minecraft/server/TileEntityBarrel.java | 5 +++--
src/main/java/net/pl3x/purpur/PurpurConfig.java | 5 +++++
2 files changed, 8 insertions(+), 2 deletions(-)
src/main/java/net/minecraft/server/TileEntityBarrel.java | 5 +++--
src/main/java/net/pl3x/purpur/PurpurConfig.java | 7 +++++++
.../org/bukkit/craftbukkit/inventory/CraftContainer.java | 4 ++++
3 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/TileEntityBarrel.java b/src/main/java/net/minecraft/server/TileEntityBarrel.java
index 76f298336..befb47d4d 100644
index 5d80ec8010..dd8c6e8876 100644
--- a/src/main/java/net/minecraft/server/TileEntityBarrel.java
+++ b/src/main/java/net/minecraft/server/TileEntityBarrel.java
@@ -56,7 +56,7 @@ public class TileEntityBarrel extends TileEntityLootable {
@@ -39,21 +40,53 @@ index 76f298336..befb47d4d 100644
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index cbb163c0d..0b4a0f4b8 100644
index 4d0d7a9dad..3fe87c2daa 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -162,6 +162,11 @@ public class PurpurConfig {
@@ -6,6 +6,7 @@ import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.YamlConfiguration;
+import org.bukkit.event.inventory.InventoryType;
import java.io.File;
import java.io.IOException;
@@ -162,6 +163,12 @@ public class PurpurConfig {
snowmanPumpkinPutBack = getBoolean("settings.mobs.snow_golem.pumpkin-can-be-added-back", snowmanPumpkinPutBack);
}
+ public static boolean packedBarrels = true;
+ private static void packedBarrels() {
+ packedBarrels = getBoolean("settings.packed-barrels", packedBarrels);
+ InventoryType.BARREL.setDefaultSize(packedBarrels ? 54 : 27);
+ }
+
public static boolean ridableBat = true;
public static boolean ridableBlaze = true;
public static boolean ridableCat = true;
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
index ae119756be..5ee6fc1629 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
@@ -155,6 +155,8 @@ public class CraftContainer extends Container {
return Containers.GRINDSTONE;
case STONECUTTER:
return Containers.STONECUTTER;
+ case BARREL:
+ return net.pl3x.purpur.PurpurConfig.packedBarrels ? Containers.GENERIC_9X6 : Containers.GENERIC_9X3;
default:
return Containers.GENERIC_9X3;
}
@@ -168,7 +170,9 @@ 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
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);
break;
case DISPENSER:
--
2.20.1