From 84046eaf04c494eb60893aec89a98056f502a64e Mon Sep 17 00:00:00 2001 From: Iceee Date: Tue, 24 Jun 2014 00:05:36 -0500 Subject: [PATCH] Actually fix TNT movement --- .../0161-Fix-movement-inconsistencies.patch | 127 ------------------ ...tch => 0161-Fix-redstone-lag-issues.patch} | 2 +- ...162-Ability-to-disable-asynccatcher.patch} | 2 +- ...o-not-remove-player-in-world-change.patch} | 2 +- .../0164-Actually-fix-TNT-movement.patch | 28 ++++ 5 files changed, 31 insertions(+), 130 deletions(-) delete mode 100644 CraftBukkit-Patches/0161-Fix-movement-inconsistencies.patch rename CraftBukkit-Patches/{0162-Fix-redstone-lag-issues.patch => 0161-Fix-redstone-lag-issues.patch} (94%) rename CraftBukkit-Patches/{0163-Ability-to-disable-asynccatcher.patch => 0162-Ability-to-disable-asynccatcher.patch} (95%) rename CraftBukkit-Patches/{0164-Do-not-remove-player-in-world-change.patch => 0163-Do-not-remove-player-in-world-change.patch} (96%) create mode 100644 CraftBukkit-Patches/0164-Actually-fix-TNT-movement.patch diff --git a/CraftBukkit-Patches/0161-Fix-movement-inconsistencies.patch b/CraftBukkit-Patches/0161-Fix-movement-inconsistencies.patch deleted file mode 100644 index 452549b4d..000000000 --- a/CraftBukkit-Patches/0161-Fix-movement-inconsistencies.patch +++ /dev/null @@ -1,127 +0,0 @@ -From 5afd50a682f8b729ddcd9d878c9131fee6b19d4a Mon Sep 17 00:00:00 2001 -From: Iceee -Date: Thu, 12 Jun 2014 03:18:13 -0500 -Subject: [PATCH] Fix movement inconsistencies - - -diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 258bc9d..0ef4c28 100644 ---- a/src/main/java/net/minecraft/server/Entity.java -+++ b/src/main/java/net/minecraft/server/Entity.java -@@ -525,41 +525,85 @@ public abstract class Entity { - - List list = this.world.getCubes(this, this.boundingBox.a(d0, d1, d2)); - -- for (int i = 0; i < list.size(); ++i) { -- d1 = ((AxisAlignedBB) list.get(i)).b(this.boundingBox, d1); -- } -+ // PaperSpigot start - Fix movement inconsistencies -+ boolean flag1; - -- this.boundingBox.d(0.0D, d1, 0.0D); -- if (!this.J && d7 != d1) { -- d2 = 0.0D; -- d1 = 0.0D; -- d0 = 0.0D; -- } -+ if(this.motZ > this.motX) { - -- boolean flag1 = this.onGround || d7 != d1 && d7 < 0.0D; -+ for (int i = 0; i < list.size(); ++i) { -+ d1 = ((AxisAlignedBB) list.get(i)).b(this.boundingBox, d1); -+ } - -- int j; -+ this.boundingBox.d(0.0D, d1, 0.0D); -+ if (!this.J && d7 != d1) { -+ d2 = 0.0D; -+ d1 = 0.0D; -+ d0 = 0.0D; -+ } - -- for (j = 0; j < list.size(); ++j) { -- d0 = ((AxisAlignedBB) list.get(j)).a(this.boundingBox, d0); -- } -+ flag1 = this.onGround || d7 != d1 && d7 < 0.0D; - -- this.boundingBox.d(d0, 0.0D, 0.0D); -- if (!this.J && d6 != d0) { -- d2 = 0.0D; -- d1 = 0.0D; -- d0 = 0.0D; -- } -+ int j; - -- for (j = 0; j < list.size(); ++j) { -- d2 = ((AxisAlignedBB) list.get(j)).c(this.boundingBox, d2); -- } -+ for (j = 0; j < list.size(); ++j) { -+ d0 = ((AxisAlignedBB) list.get(j)).a(this.boundingBox, d0); -+ } -+ -+ this.boundingBox.d(d0, 0.0D, 0.0D); -+ if (!this.J && d6 != d0) { -+ d2 = 0.0D; -+ d1 = 0.0D; -+ d0 = 0.0D; -+ } -+ -+ for (j = 0; j < list.size(); ++j) { -+ d2 = ((AxisAlignedBB) list.get(j)).c(this.boundingBox, d2); -+ } -+ -+ this.boundingBox.d(0.0D, 0.0D, d2); -+ if (!this.J && d8 != d2) { -+ d2 = 0.0D; -+ d1 = 0.0D; -+ d0 = 0.0D; -+ } -+ } else { -+ for (int i = 0; i < list.size(); ++i) { -+ d1 = ((AxisAlignedBB) list.get(i)).b(this.boundingBox, d1); -+ } - -- this.boundingBox.d(0.0D, 0.0D, d2); -- if (!this.J && d8 != d2) { -- d2 = 0.0D; -- d1 = 0.0D; -- d0 = 0.0D; -+ this.boundingBox.d(0.0D, d1, 0.0D); -+ if (!this.J && d7 != d1) { -+ d2 = 0.0D; -+ d1 = 0.0D; -+ d0 = 0.0D; -+ } -+ -+ flag1 = this.onGround || d7 != d1 && d7 < 0.0D; -+ -+ int j; -+ -+ for (j = 0; j < list.size(); ++j) { -+ d2 = ((AxisAlignedBB) list.get(j)).c(this.boundingBox, d2); -+ } -+ -+ this.boundingBox.d(0.0D, 0.0D, d2); -+ if (!this.J && d8 != d2) { -+ d2 = 0.0D; -+ d1 = 0.0D; -+ d0 = 0.0D; -+ } -+ -+ for (j = 0; j < list.size(); ++j) { -+ d0 = ((AxisAlignedBB) list.get(j)).a(this.boundingBox, d0); -+ } -+ -+ this.boundingBox.d(d0, 0.0D, 0.0D); -+ if (!this.J && d6 != d0) { -+ d2 = 0.0D; -+ d1 = 0.0D; -+ d0 = 0.0D; -+ } -+ // PaperSpigot end - } - - double d10; --- -1.9.1 - diff --git a/CraftBukkit-Patches/0162-Fix-redstone-lag-issues.patch b/CraftBukkit-Patches/0161-Fix-redstone-lag-issues.patch similarity index 94% rename from CraftBukkit-Patches/0162-Fix-redstone-lag-issues.patch rename to CraftBukkit-Patches/0161-Fix-redstone-lag-issues.patch index ee93cc4f0..cdd80c266 100644 --- a/CraftBukkit-Patches/0162-Fix-redstone-lag-issues.patch +++ b/CraftBukkit-Patches/0161-Fix-redstone-lag-issues.patch @@ -1,4 +1,4 @@ -From 9302e42ce20dff7b6bc60aa7307b0b8ac0e752a8 Mon Sep 17 00:00:00 2001 +From dd92931656ac17892ee656db91e484a24e6309f0 Mon Sep 17 00:00:00 2001 From: Iceee Date: Thu, 12 Jun 2014 13:37:35 -0500 Subject: [PATCH] Fix redstone lag issues diff --git a/CraftBukkit-Patches/0163-Ability-to-disable-asynccatcher.patch b/CraftBukkit-Patches/0162-Ability-to-disable-asynccatcher.patch similarity index 95% rename from CraftBukkit-Patches/0163-Ability-to-disable-asynccatcher.patch rename to CraftBukkit-Patches/0162-Ability-to-disable-asynccatcher.patch index 8b40b971f..5cadb9696 100644 --- a/CraftBukkit-Patches/0163-Ability-to-disable-asynccatcher.patch +++ b/CraftBukkit-Patches/0162-Ability-to-disable-asynccatcher.patch @@ -1,4 +1,4 @@ -From 140459691f7ede67f6353b55bc4d0ea9e1000b1c Mon Sep 17 00:00:00 2001 +From 3e58805306125c2d22a2944f4d8b08bfbeccc188 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 14 Jun 2014 22:39:58 -0500 Subject: [PATCH] Ability to disable asynccatcher diff --git a/CraftBukkit-Patches/0164-Do-not-remove-player-in-world-change.patch b/CraftBukkit-Patches/0163-Do-not-remove-player-in-world-change.patch similarity index 96% rename from CraftBukkit-Patches/0164-Do-not-remove-player-in-world-change.patch rename to CraftBukkit-Patches/0163-Do-not-remove-player-in-world-change.patch index 1a086c669..2a9a65a28 100644 --- a/CraftBukkit-Patches/0164-Do-not-remove-player-in-world-change.patch +++ b/CraftBukkit-Patches/0163-Do-not-remove-player-in-world-change.patch @@ -1,4 +1,4 @@ -From cb14602e001aa118cf826a4167f2881c840c207d Mon Sep 17 00:00:00 2001 +From 09f43d297f1e89124a97532b0c02750b0f154fe9 Mon Sep 17 00:00:00 2001 From: T00thpick1 Date: Mon, 23 Jun 2014 21:37:24 -0500 Subject: [PATCH] Do not remove player in world change diff --git a/CraftBukkit-Patches/0164-Actually-fix-TNT-movement.patch b/CraftBukkit-Patches/0164-Actually-fix-TNT-movement.patch new file mode 100644 index 000000000..4b66a3449 --- /dev/null +++ b/CraftBukkit-Patches/0164-Actually-fix-TNT-movement.patch @@ -0,0 +1,28 @@ +From e5b5b1c567121fc928252436476aad3485adf72a Mon Sep 17 00:00:00 2001 +From: Iceee +Date: Tue, 24 Jun 2014 00:03:34 -0500 +Subject: [PATCH] Actually fix TNT movement + + +diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java +index a442cb1..742e731 100644 +--- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java ++++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java +@@ -19,11 +19,11 @@ public class EntityTNTPrimed extends Entity { + public EntityTNTPrimed(World world, double d0, double d1, double d2, EntityLiving entityliving) { + this(world); + this.setPosition(d0, d1, d2); +- float f = (float) (Math.random() * 3.1415927410125732D * 2.0D); ++ // float f = (float) (Math.random() * 3.1415927410125732D * 2.0D); // PaperSpigot + +- this.motX = (double) (-((float) Math.sin((double) f)) * 0.02F); ++ this.motX = 0; // PaperSpigot - Fix TNT movement // (double) (-((float) Math.sin((double) f)) * 0.02F); + this.motY = 0.20000000298023224D; +- this.motZ = (double) (-((float) Math.cos((double) f)) * 0.02F); ++ this.motZ = 0; // PaperSpigot - Fix TNT movement // (double) (-((float) Math.cos((double) f)) * 0.02F); + this.fuseTicks = 80; + this.lastX = d0; + this.lastY = d1; +-- +1.9.1 +