--- a/net/minecraft/inventory/container/BeaconContainer.java
+++ b/net/minecraft/inventory/container/BeaconContainer.java
@@ -17,7 +17,7 @@
 public class BeaconContainer extends Container {
    private final IInventory field_82866_e = new Inventory(1) {
       public boolean func_94041_b(int p_94041_1_, ItemStack p_94041_2_) {
-         return p_94041_2_.func_77973_b().func_206844_a(ItemTags.field_232908_Z_);
+         return p_94041_2_.isBeaconPayment();
       }
 
       public int func_70297_j_() {
@@ -87,10 +87,8 @@
             }
 
             slot.func_75220_a(itemstack1, itemstack);
-         } else if (!this.field_82864_f.func_75216_d() && this.field_82864_f.func_75214_a(itemstack1) && itemstack1.func_190916_E() == 1) {
-            if (!this.func_75135_a(itemstack1, 0, 1, false)) {
-               return ItemStack.field_190927_a;
-            }
+         } else if (this.func_75135_a(itemstack1, 0, 1, false)) { //Forge Fix Shift Clicking in beacons with stacks larger then 1.
+            return ItemStack.field_190927_a;
          } else if (p_82846_2_ >= 1 && p_82846_2_ < 28) {
             if (!this.func_75135_a(itemstack1, 28, 37, false)) {
                return ItemStack.field_190927_a;
@@ -156,7 +154,7 @@
       }
 
       public boolean func_75214_a(ItemStack p_75214_1_) {
-         return p_75214_1_.func_77973_b().func_206844_a(ItemTags.field_232908_Z_);
+         return p_75214_1_.isBeaconPayment();
       }
 
       public int func_75219_a() {
