summaryrefslogtreecommitdiffstats
path: root/nms-patches
diff options
context:
space:
mode:
authormd_5 <git@md-5.net>2016-03-07 19:13:41 +1100
committermd_5 <git@md-5.net>2016-03-07 19:13:41 +1100
commitab83272e2a09c579324a10b97c1f14d7265dfbfa (patch)
tree9c2866897aa5562bacc737f67ad12b97097299b2 /nms-patches
parent20d9f644a67443905e28d4df4c25f9a4fe0d32c1 (diff)
downloadcraftbukkit-ab83272e2a09c579324a10b97c1f14d7265dfbfa.tar
craftbukkit-ab83272e2a09c579324a10b97c1f14d7265dfbfa.tar.gz
craftbukkit-ab83272e2a09c579324a10b97c1f14d7265dfbfa.tar.lz
craftbukkit-ab83272e2a09c579324a10b97c1f14d7265dfbfa.tar.xz
craftbukkit-ab83272e2a09c579324a10b97c1f14d7265dfbfa.zip
SPIGOT-1820: Fix custom travel agent search radius.
Diffstat (limited to 'nms-patches')
-rw-r--r--nms-patches/PortalTravelAgent.patch13
1 files changed, 10 insertions, 3 deletions
diff --git a/nms-patches/PortalTravelAgent.patch b/nms-patches/PortalTravelAgent.patch
index eef8a8d6..8094e731 100644
--- a/nms-patches/PortalTravelAgent.patch
+++ b/nms-patches/PortalTravelAgent.patch
@@ -85,7 +85,7 @@
+ return true;
+ }
+
-+ public BlockPosition findPortal(double x, double y, double z, int short1) {
++ public BlockPosition findPortal(double x, double y, double z, int radius) {
+ if (this.world.getWorld().getEnvironment() == org.bukkit.World.Environment.THE_END) {
+ return this.findEndPortal(this.world.worldProvider.h());
+ }
@@ -100,15 +100,22 @@
boolean flag1 = true;
Object object = BlockPosition.ZERO;
long k = ChunkCoordIntPair.a(i, j);
-@@ -65,7 +129,7 @@
+@@ -65,12 +129,12 @@
portaltravelagent_chunkcoordinatesportal.c = this.world.getTime();
flag1 = false;
} else {
- BlockPosition blockposition = new BlockPosition(entity);
+ BlockPosition blockposition = new BlockPosition(x, y, z); // CraftBukkit
- for (int l = -128; l <= 128; ++l) {
+- for (int l = -128; l <= 128; ++l) {
++ for (int l = -radius; l <= radius; ++l) {
BlockPosition blockposition1;
+
+- for (int i1 = -128; i1 <= 128; ++i1) {
++ for (int i1 = -radius; i1 <= radius; ++i1) {
+ for (BlockPosition blockposition2 = blockposition.a(l, this.world.Z() - 1 - blockposition.getY(), i1); blockposition2.getY() >= 0; blockposition2 = blockposition1) {
+ blockposition1 = blockposition2.down();
+ if (this.world.getType(blockposition2).getBlock() == Blocks.PORTAL) {
@@ -95,6 +159,29 @@
this.c.put(k, new PortalTravelAgent.ChunkCoordinatesPortal((BlockPosition) object, this.world.getTime()));
this.d.add(Long.valueOf(k));