mirror of
https://github.com/PaperMC/Paper.git
synced 2024-09-12 06:58:11 +02:00
This work is 100% unfinished. I am pushing it up so that we as a team can work on this update. Do not try to use this branch. You will fail.
59 lines
2.7 KiB
Diff
59 lines
2.7 KiB
Diff
From c82e590f3e79ebef289b3af8bcfdd1fa6505c1a7 Mon Sep 17 00:00:00 2001
|
|
From: Joseph Hirschfeld <joe@ibj.io>
|
|
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 0743db5ac..1ba09df9c 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
@@ -182,4 +182,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 0cb1eeb68..402d8d7d6 100644
|
|
--- a/src/main/java/net/minecraft/server/PortalTravelAgent.java
|
|
+++ b/src/main/java/net/minecraft/server/PortalTravelAgent.java
|
|
@@ -13,7 +13,7 @@ import org.bukkit.util.Vector;
|
|
public class PortalTravelAgent {
|
|
|
|
private static final BlockPortal a = (BlockPortal) Blocks.NETHER_PORTAL;
|
|
- private final WorldServer world;
|
|
+ public final WorldServer world; // Paper - private -> public
|
|
private final Random c;
|
|
private final Long2ObjectMap<PortalTravelAgent.ChunkCoordinatesPortal> d = new Long2ObjectOpenHashMap(4096);
|
|
|
|
@@ -93,7 +93,7 @@ public class PortalTravelAgent {
|
|
|
|
public boolean b(Entity entity, float f) {
|
|
// CraftBukkit start - Modularize portal search process and entity teleportation
|
|
- BlockPosition found = this.findPortal(entity.locX, entity.locY, entity.locZ, 128);
|
|
+ BlockPosition found = this.findPortal(entity.locX, entity.locY, entity.locZ, world.paperConfig.portalSearchRadius); // Paper - Configurable search radius
|
|
if (found == null) {
|
|
return false;
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftTravelAgent.java b/src/main/java/org/bukkit/craftbukkit/CraftTravelAgent.java
|
|
index 1d5dce10e..7ca2617a8 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftTravelAgent.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftTravelAgent.java
|
|
@@ -11,7 +11,7 @@ public class CraftTravelAgent extends PortalTravelAgent implements TravelAgent {
|
|
|
|
public static TravelAgent DEFAULT = null;
|
|
|
|
- private int searchRadius = 128;
|
|
+ private int searchRadius = world.paperConfig.portalSearchRadius; // Paper - Configurable search radius
|
|
private int creationRadius = 16;
|
|
private boolean canCreatePortal = true;
|
|
|
|
--
|
|
2.18.0
|
|
|