Updated Upstream (Paper)

Upstream has released updates that appears to apply and compile correctly

Paper Changes:
df0d7b0d Update upstream CB
6ea3c2cf [CI-SKIP] Rebuild patches
d7bed4cb Heavily optimise random block ticking (#2914)
b66d9ff8 Update upstream CB
ba71c5d6 Stop stripping private use block Unicode from signs
28d9dcfc Entity Jump API (#1587)
9976a768 Fix PlayerNaturallySpawnCreaturesEvent boolean inversion
054e20da Clean up imports on ThrownEggHatchEvent
a8984ccb Add ThrownEggHatchEvent (#1982)
9f24d495 Allow nerfed blazes, endermen to take water damage (#2847)
This commit is contained in:
William Blake Galbreath
2020-02-12 21:21:34 -06:00
parent e52e23265f
commit 4757060211
159 changed files with 6166 additions and 4642 deletions

View File

@@ -1,72 +0,0 @@
From d901d884e7242ab02972eff077cf363bd6f9f965 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 25 Aug 2019 00:09:52 -0500
Subject: [PATCH] Dispenser curse of binding protection
---
src/main/java/net/minecraft/server/EntityInsentient.java | 8 +++++++-
src/main/java/net/minecraft/server/ItemArmor.java | 3 ++-
src/main/java/net/pl3x/purpur/PurpurWorldConfig.java | 5 +++++
3 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 89b45da1b..97081f6a4 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -914,9 +914,15 @@ public abstract class EntityInsentient extends EntityLiving {
}
+ // Purpur start
+ public static EnumItemSlot getSlotForDispenser(ItemStack itemstack) {
+ return EnchantmentManager.getEnchantmentLevel(Enchantments.BINDING_CURSE, itemstack) > 0 ? EnumItemSlot.MAINHAND : getSlotForItemStack(itemstack);
+ }
+ // Purpur end
+
+ public static EnumItemSlot getSlotForItemStack(ItemStack itemstack) { return h(itemstack); } // Purpur - OBFHELPER
public static EnumItemSlot h(ItemStack itemstack) {
Item item = itemstack.getItem();
-
return item != Blocks.CARVED_PUMPKIN.getItem() && (!(item instanceof ItemBlock) || !(((ItemBlock) item).getBlock() instanceof BlockSkullAbstract)) ? (item instanceof ItemArmor ? ((ItemArmor) item).b() : (item == Items.ELYTRA ? EnumItemSlot.CHEST : (item == Items.SHIELD ? EnumItemSlot.OFFHAND : EnumItemSlot.MAINHAND))) : EnumItemSlot.HEAD;
}
diff --git a/src/main/java/net/minecraft/server/ItemArmor.java b/src/main/java/net/minecraft/server/ItemArmor.java
index df8c42bfb..a4b3d0c29 100644
--- a/src/main/java/net/minecraft/server/ItemArmor.java
+++ b/src/main/java/net/minecraft/server/ItemArmor.java
@@ -31,7 +31,7 @@ public class ItemArmor extends Item {
return false;
} else {
EntityLiving entityliving = (EntityLiving) list.get(0);
- EnumItemSlot enumitemslot = EntityInsentient.h(itemstack);
+ EnumItemSlot enumitemslot = isourceblock.getWorld().purpurConfig.dispenserApplyCursedArmor ? EntityInsentient.getSlotForItemStack(itemstack) : EntityInsentient.getSlotForDispenser(itemstack); // Purpur
ItemStack itemstack1 = itemstack.cloneAndSubtract(1);
// CraftBukkit start
World world = isourceblock.getWorld();
@@ -79,6 +79,7 @@ public class ItemArmor extends Item {
BlockDispenser.a((IMaterial) this, ItemArmor.a);
}
+ public EnumItemSlot getEquipmentSlot() { return b(); } // Purpur - OBFHELPER
public EnumItemSlot b() {
return this.b;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 0eb8f8bfa..38d85c638 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -103,6 +103,11 @@ public class PurpurWorldConfig {
campfiresGoOutInRain = getBoolean("campfires-go-out-in-rain", campfiresGoOutInRain);
}
+ public boolean dispenserApplyCursedArmor = true;
+ private void dispenserApplyCursedArmor() {
+ dispenserApplyCursedArmor = getBoolean("dispenser-apply-cursed-armor-slots", dispenserApplyCursedArmor);
+ }
+
public boolean allowMoistSoilFromWaterBelow = true;
private void allowMoistSoilFromWaterBelow() {
allowMoistSoilFromWaterBelow = getBoolean("allow-moist-soil-from-water-below", allowMoistSoilFromWaterBelow);
--
2.24.0