aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0064-Add-configurable-portal-search-radius.patch
diff options
context:
space:
mode:
authorJason Penilla <[email protected]>2024-04-27 13:27:01 -0700
committerJason Penilla <[email protected]>2024-04-27 13:27:01 -0700
commite2552eea2481871c9d8445a3c5653a2329112648 (patch)
tree727c90f395576b66200f8d9e59f38859f3850562 /patches/server/0064-Add-configurable-portal-search-radius.patch
parent0b1b1fe067444c5e879313e017da0ffd5d6b826d (diff)
downloadPaper-e2552eea2481871c9d8445a3c5653a2329112648.tar.gz
Paper-e2552eea2481871c9d8445a3c5653a2329112648.zip
Start cleaning up plugin remapping patches
Diffstat (limited to 'patches/server/0064-Add-configurable-portal-search-radius.patch')
-rw-r--r--patches/server/0064-Add-configurable-portal-search-radius.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/patches/server/0064-Add-configurable-portal-search-radius.patch b/patches/server/0064-Add-configurable-portal-search-radius.patch
new file mode 100644
index 0000000000..41391fe2ae
--- /dev/null
+++ b/patches/server/0064-Add-configurable-portal-search-radius.patch
@@ -0,0 +1,38 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Joseph Hirschfeld <[email protected]>
+Date: Thu, 3 Mar 2016 02:46:17 -0600
+Subject: [PATCH] Add configurable portal search radius
+
+
+diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
+index f4e0a10eb936ed9d43c9a2fc3ed03a785bf00901..406d69220b315b47bd3d03a0dacc39addaaf9294 100644
+--- a/src/main/java/net/minecraft/world/entity/Entity.java
++++ b/src/main/java/net/minecraft/world/entity/Entity.java
+@@ -3208,7 +3208,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+ double d0 = DimensionType.getTeleportationScale(this.level().dimensionType(), destination.dimensionType());
+ BlockPos blockposition = worldborder.clampToBounds(this.getX() * d0, this.getY(), this.getZ() * d0);
+ // CraftBukkit start
+- CraftPortalEvent event = this.callPortalEvent(this, destination, new Vec3(blockposition.getX(), blockposition.getY(), blockposition.getZ()), PlayerTeleportEvent.TeleportCause.NETHER_PORTAL, flag2 ? 16 : 128, 16);
++ // Paper start - Configurable portal search radius
++ int portalSearchRadius = destination.paperConfig().environment.portalSearchRadius;
++ if (level.paperConfig().environment.portalSearchVanillaDimensionScaling && flag2) { // == THE_NETHER
++ portalSearchRadius = (int) (portalSearchRadius / destination.dimensionType().coordinateScale());
++ }
++ // Paper end - Configurable portal search radius
++ CraftPortalEvent event = this.callPortalEvent(this, destination, new Vec3(blockposition.getX(), blockposition.getY(), blockposition.getZ()), PlayerTeleportEvent.TeleportCause.NETHER_PORTAL, portalSearchRadius, destination.paperConfig().environment.portalCreateRadius); // Paper start - configurable portal radius
+ if (event == null) {
+ return null;
+ }
+diff --git a/src/main/java/net/minecraft/world/level/portal/PortalForcer.java b/src/main/java/net/minecraft/world/level/portal/PortalForcer.java
+index f4c8eee7bc574d402a7897a202734047e37c7a67..03dd833d61d5152af3032f23dd1fc4c75da9bc4f 100644
+--- a/src/main/java/net/minecraft/world/level/portal/PortalForcer.java
++++ b/src/main/java/net/minecraft/world/level/portal/PortalForcer.java
+@@ -43,7 +43,7 @@ public class PortalForcer {
+
+ public Optional<BlockUtil.FoundRectangle> findPortalAround(BlockPos pos, boolean destIsNether, WorldBorder worldBorder) {
+ // CraftBukkit start
+- return this.findPortalAround(pos, worldBorder, destIsNether ? 16 : 128); // Search Radius
++ return this.findPortalAround(pos, worldBorder, destIsNether ? level.paperConfig().environment.portalCreateRadius : level.paperConfig().environment.portalSearchRadius); // Search Radius // Paper - Configurable portal search radius
+ }
+
+ public Optional<BlockUtil.FoundRectangle> findPortalAround(BlockPos blockposition, WorldBorder worldborder, int i) {