Update from upstream SpigotMC

Abridged: Force close player inventories when they move/interact
This prevents modified clients from using the 2x2 crafting square as permanent storage

Force Close Inventory On Move SpigotMC/Spigot@db78a70788
Only close once, if needed SpigotMC/Spigot@b652de8e7f
Move to interact event closing SpigotMC/Spigot@b5378850d3
Disregard arm swings - racy SpigotMC/Spigot@f86634e280
This commit is contained in:
Zach Brown 2014-08-10 00:21:18 -05:00
parent ccb672dab1
commit 0e5c8b96fd
2 changed files with 51 additions and 0 deletions

View file

@ -0,0 +1,50 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sun, 10 Aug 2014 11:01:02 +1000
Subject: [PATCH] Force Close Inventory On Move
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketPlayInListener {
public void a(PacketPlayInBlockDig packetplayinblockdig) {
if (this.player.dead) return; // CraftBukkit
+ // Spigot start
+ if ( player.activeContainer != player.defaultContainer )
+ {
+ getPlayer().closeInventory();
+ }
+ // Spigot end
WorldServer worldserver = this.minecraftServer.getWorldServer(this.player.dimension);
this.player.v();
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketPlayInListener {
// a notch bug where the item doesn't update correctly.
boolean always = false;
// CraftBukkit end
+ // Spigot start
+ if ( player.activeContainer != player.defaultContainer )
+ {
+ getPlayer().closeInventory();
+ }
+ // Spigot end
ItemStack itemstack = this.player.inventory.getItemInHand();
boolean flag = false;
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketPlayInListener {
return;
}
// Spigot End
+ // Spigot start
+ if ( player.activeContainer != player.defaultContainer )
+ {
+ getPlayer().closeInventory();
+ }
+ // Spigot end
this.player.v();
if (entity != null) {
--

View file

@ -3,6 +3,7 @@ From: Zach Brown <1254957+zachbr@users.noreply.github.com>
Date: Mon, 21 Jul 2014 18:46:53 -0500
Subject: [PATCH] Invisible players don't have rights
diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/server/EntityArrow.java