aboutsummaryrefslogtreecommitdiffhomepage
path: root/Spigot-Server-Patches/0267-Make-shield-blocking-delay-configurable.patch
diff options
context:
space:
mode:
Diffstat (limited to 'Spigot-Server-Patches/0267-Make-shield-blocking-delay-configurable.patch')
-rw-r--r--Spigot-Server-Patches/0267-Make-shield-blocking-delay-configurable.patch73
1 files changed, 73 insertions, 0 deletions
diff --git a/Spigot-Server-Patches/0267-Make-shield-blocking-delay-configurable.patch b/Spigot-Server-Patches/0267-Make-shield-blocking-delay-configurable.patch
new file mode 100644
index 0000000000..35340f8e7d
--- /dev/null
+++ b/Spigot-Server-Patches/0267-Make-shield-blocking-delay-configurable.patch
@@ -0,0 +1,73 @@
+From 43309180bebc7a1df2dd169fed98dd2f02737f59 Mon Sep 17 00:00:00 2001
+From: BillyGalbreath <[email protected]>
+Date: Sat, 16 Jun 2018 01:18:16 -0500
+Subject: [PATCH] Make shield blocking delay configurable
+
+
+diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+index 4727ac6eb5..47f8dfcc41 100644
+--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
++++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+@@ -442,4 +442,9 @@ public class PaperWorldConfig {
+ log("Villages can load chunks - Warning this can cause intense TPS loss. Strongly consider disabling this.");
+ }
+ }
++
++ public int shieldBlockingDelay = 5;
++ private void shieldBlockingDelay() {
++ shieldBlockingDelay = getInt("game-mechanics.shield-blocking-delay", 5);
++ }
+ }
+diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
+index 02fcfc449c..deb50b84f7 100644
+--- a/src/main/java/net/minecraft/server/EntityLiving.java
++++ b/src/main/java/net/minecraft/server/EntityLiving.java
+@@ -2701,7 +2701,7 @@ public abstract class EntityLiving extends Entity {
+ if (this.isHandRaised() && !this.activeItem.isEmpty()) {
+ Item item = this.activeItem.getItem();
+
+- return item.d(this.activeItem) != EnumAnimation.BLOCK ? false : item.c(this.activeItem) - this.bu >= 5;
++ return item.d(this.activeItem) != EnumAnimation.BLOCK ? false : item.c(this.activeItem) - this.bu >= getShieldBlockingDelay(); // Paper - shieldBlockingDelay
+ } else {
+ return false;
+ }
+@@ -2789,4 +2789,16 @@ public abstract class EntityLiving extends Entity {
+ public boolean df() {
+ return true;
+ }
++
++ // Paper start
++ public int shieldBlockingDelay = world.paperConfig.shieldBlockingDelay;
++
++ public int getShieldBlockingDelay() {
++ return shieldBlockingDelay;
++ }
++
++ public void setShieldBlockingDelay(int shieldBlockingDelay) {
++ this.shieldBlockingDelay = shieldBlockingDelay;
++ }
++ // Paper end
+ }
+diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+index 2f96842bb9..8e65bfc78e 100644
+--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+@@ -558,5 +558,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+ public void setArrowsStuck(int arrows) {
+ getHandle().setArrowCount(arrows);
+ }
++
++ @Override
++ public int getShieldBlockingDelay() {
++ return getHandle().getShieldBlockingDelay();
++ }
++
++ @Override
++ public void setShieldBlockingDelay(int delay) {
++ getHandle().setShieldBlockingDelay(delay);
++ }
+ // Paper end
+ }
+--
+2.21.0
+