aboutsummaryrefslogtreecommitdiffhomepage
path: root/patch-remap/og/net/minecraft/world/entity/vehicle/EntityMinecartContainer.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patch-remap/og/net/minecraft/world/entity/vehicle/EntityMinecartContainer.patch')
-rw-r--r--patch-remap/og/net/minecraft/world/entity/vehicle/EntityMinecartContainer.patch75
1 files changed, 75 insertions, 0 deletions
diff --git a/patch-remap/og/net/minecraft/world/entity/vehicle/EntityMinecartContainer.patch b/patch-remap/og/net/minecraft/world/entity/vehicle/EntityMinecartContainer.patch
new file mode 100644
index 0000000000..b5693bdfa2
--- /dev/null
+++ b/patch-remap/og/net/minecraft/world/entity/vehicle/EntityMinecartContainer.patch
@@ -0,0 +1,75 @@
+--- a/net/minecraft/world/entity/vehicle/EntityMinecartContainer.java
++++ b/net/minecraft/world/entity/vehicle/EntityMinecartContainer.java
+@@ -18,6 +18,14 @@
+ import net.minecraft.world.item.ItemStack;
+ import net.minecraft.world.level.World;
+
++// CraftBukkit start
++import java.util.List;
++import org.bukkit.Location;
++import org.bukkit.craftbukkit.entity.CraftHumanEntity;
++import org.bukkit.entity.HumanEntity;
++import org.bukkit.inventory.InventoryHolder;
++// CraftBukkit end
++
+ public abstract class EntityMinecartContainer extends EntityMinecartAbstract implements ContainerEntity {
+
+ private NonNullList<ItemStack> itemStacks;
+@@ -25,14 +33,55 @@
+ public MinecraftKey lootTable;
+ public long lootTableSeed;
+
++ // CraftBukkit start
++ public List<HumanEntity> transaction = new java.util.ArrayList<HumanEntity>();
++ private int maxStack = MAX_STACK;
++
++ public List<ItemStack> getContents() {
++ return this.itemStacks;
++ }
++
++ public void onOpen(CraftHumanEntity who) {
++ transaction.add(who);
++ }
++
++ public void onClose(CraftHumanEntity who) {
++ transaction.remove(who);
++ }
++
++ public List<HumanEntity> getViewers() {
++ return transaction;
++ }
++
++ public InventoryHolder getOwner() {
++ org.bukkit.entity.Entity cart = getBukkitEntity();
++ if(cart instanceof InventoryHolder) return (InventoryHolder) cart;
++ return null;
++ }
++
++ @Override
++ public int getMaxStackSize() {
++ return maxStack;
++ }
++
++ public void setMaxStackSize(int size) {
++ maxStack = size;
++ }
++
++ @Override
++ public Location getLocation() {
++ return getBukkitEntity().getLocation();
++ }
++ // CraftBukkit end
++
+ protected EntityMinecartContainer(EntityTypes<?> entitytypes, World world) {
+ super(entitytypes, world);
+- this.itemStacks = NonNullList.withSize(36, ItemStack.EMPTY);
++ this.itemStacks = NonNullList.withSize(this.getContainerSize(), ItemStack.EMPTY); // CraftBukkit - SPIGOT-3513
+ }
+
+ protected EntityMinecartContainer(EntityTypes<?> entitytypes, double d0, double d1, double d2, World world) {
+ super(entitytypes, world, d0, d1, d2);
+- this.itemStacks = NonNullList.withSize(36, ItemStack.EMPTY);
++ this.itemStacks = NonNullList.withSize(this.getContainerSize(), ItemStack.EMPTY); // CraftBukkit - SPIGOT-3513
+ }
+
+ @Override