2021-06-11 14:02:28 +02:00
|
|
|
From 0000000000000000000000000000000000000000 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/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
2023-07-04 10:22:56 +02:00
|
|
|
index 0d888e4c819d627119d1a97be8318027b95d46cb..03d5ea7094223be15c96c223ca81bdb8685cc1e7 100644
|
2021-06-11 14:02:28 +02:00
|
|
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
|
|
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
2023-07-04 10:22:56 +02:00
|
|
|
@@ -3164,7 +3164,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
2023-06-07 20:31:32 +02:00
|
|
|
double d0 = DimensionType.getTeleportationScale(this.level().dimensionType(), destination.dimensionType());
|
2021-11-23 13:15:10 +01:00
|
|
|
BlockPos blockposition = worldborder.clampToBounds(this.getX() * d0, this.getY(), this.getZ() * d0);
|
2021-06-11 14:02:28 +02:00
|
|
|
// CraftBukkit start
|
2022-07-25 18:44:24 +02:00
|
|
|
- CraftPortalEvent event = this.callPortalEvent(this, destination, new PositionImpl(blockposition.getX(), blockposition.getY(), blockposition.getZ()), PlayerTeleportEvent.TeleportCause.NETHER_PORTAL, flag2 ? 16 : 128, 16);
|
2021-06-11 14:02:28 +02:00
|
|
|
+ // Paper start
|
2022-06-09 10:51:45 +02:00
|
|
|
+ int portalSearchRadius = destination.paperConfig().environment.portalSearchRadius;
|
|
|
|
+ if (level.paperConfig().environment.portalSearchVanillaDimensionScaling && flag2) { // == THE_NETHER
|
2021-06-11 14:02:28 +02:00
|
|
|
+ portalSearchRadius = (int) (portalSearchRadius / destination.dimensionType().coordinateScale());
|
|
|
|
+ }
|
|
|
|
+ // Paper end
|
2022-07-25 18:44:24 +02:00
|
|
|
+ CraftPortalEvent event = this.callPortalEvent(this, destination, new PositionImpl(blockposition.getX(), blockposition.getY(), blockposition.getZ()), PlayerTeleportEvent.TeleportCause.NETHER_PORTAL, portalSearchRadius, destination.paperConfig().environment.portalCreateRadius); // Paper start - configurable portal radius
|
2021-06-11 14:02:28 +02:00
|
|
|
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
|
2023-06-07 20:31:32 +02:00
|
|
|
index 3668f9775f377434779a8e519b10a11cf7b14dd5..389b63605d416678d35666bbd46e0fa05a02f898 100644
|
2021-06-11 14:02:28 +02:00
|
|
|
--- a/src/main/java/net/minecraft/world/level/portal/PortalForcer.java
|
|
|
|
+++ b/src/main/java/net/minecraft/world/level/portal/PortalForcer.java
|
2021-11-23 13:15:10 +01:00
|
|
|
@@ -43,7 +43,7 @@ public class PortalForcer {
|
2021-06-11 14:02:28 +02:00
|
|
|
|
2021-11-24 23:26:32 +01:00
|
|
|
public Optional<BlockUtil.FoundRectangle> findPortalAround(BlockPos pos, boolean destIsNether, WorldBorder worldBorder) {
|
2021-06-11 14:02:28 +02:00
|
|
|
// CraftBukkit start
|
2021-11-24 23:26:32 +01:00
|
|
|
- return this.findPortalAround(pos, worldBorder, destIsNether ? 16 : 128); // Search Radius
|
2022-06-09 10:51:45 +02:00
|
|
|
+ return this.findPortalAround(pos, worldBorder, destIsNether ? level.paperConfig().environment.portalCreateRadius : level.paperConfig().environment.portalSearchRadius); // Search Radius // Paper - search Radius
|
2021-06-11 14:02:28 +02:00
|
|
|
}
|
|
|
|
|
2021-11-23 13:15:10 +01:00
|
|
|
public Optional<BlockUtil.FoundRectangle> findPortalAround(BlockPos blockposition, WorldBorder worldborder, int i) {
|