From b326377146ce4e61238d89e035cb52c8c7a5367e Mon Sep 17 00:00:00 2001 From: Joseph Hirschfeld Date: Thu, 3 Mar 2016 02:46:17 -0600 Subject: [PATCH] Add configurable portal search radius diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java index be91b11242..320fd07c62 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -186,4 +186,9 @@ public class PaperWorldConfig { private void allChunksAreSlimeChunks() { allChunksAreSlimeChunks = getBoolean("all-chunks-are-slime-chunks", false); } + + public int portalSearchRadius; + private void portalSearchRadius() { + portalSearchRadius = getInt("portal-search-radius", 128); + } } diff --git a/src/main/java/net/minecraft/server/PortalTravelAgent.java b/src/main/java/net/minecraft/server/PortalTravelAgent.java index 6552f9e25e..2f0a8e4bb6 100644 --- a/src/main/java/net/minecraft/server/PortalTravelAgent.java +++ b/src/main/java/net/minecraft/server/PortalTravelAgent.java @@ -70,10 +70,11 @@ public class PortalTravelAgent { } else { double d2 = Double.MAX_VALUE; - for (int i = -128; i <= 128; ++i) { + int portalSearchRadius = world.paperConfig.portalSearchRadius; // Paper + for (int i = -portalSearchRadius; i <= portalSearchRadius; ++i) { // Paper BlockPosition blockposition2; - for (int j = -128; j <= 128; ++j) { + for (int j = -world.paperConfig.portalSearchRadius; j <= world.paperConfig.portalSearchRadius; ++j) { // Paper for (BlockPosition blockposition3 = blockposition.b(i, this.world.getHeight() - 1 - blockposition.getY(), j); blockposition3.getY() >= 0; blockposition3 = blockposition2) { blockposition2 = blockposition3.down(); if (this.world.getType(blockposition3).getBlock() == PortalTravelAgent.b) { -- 2.21.0