Files
Purpur/patches/server/0019-Packed-Barrels.patch
2019-07-23 07:08:07 -05:00

93 lines
4.2 KiB
Diff

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 | 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 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 {
private TileEntityBarrel(TileEntityTypes<?> tileentitytypes) {
super(tileentitytypes);
- this.items = NonNullList.a(27, ItemStack.a);
+ this.items = NonNullList.a(net.pl3x.purpur.PurpurConfig.packedBarrels ? 54 : 27, ItemStack.a); // Purpur
}
public TileEntityBarrel() {
@@ -85,7 +85,7 @@ public class TileEntityBarrel extends TileEntityLootable {
@Override
public int getSize() {
- return 27;
+ return net.pl3x.purpur.PurpurConfig.packedBarrels ? 54 : 27; // Purpur
}
@Override
@@ -151,6 +151,7 @@ public class TileEntityBarrel extends TileEntityLootable {
@Override
protected Container createContainer(int i, PlayerInventory playerinventory) {
+ if (net.pl3x.purpur.PurpurConfig.packedBarrels) return ContainerChest.b(i, playerinventory, this); // Purpur
return ContainerChest.a(i, playerinventory, this);
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 4d0d7a9dad..3fe87c2daa 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -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