mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
fix #1192
This commit is contained in:
@@ -5,7 +5,7 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
index fae43130665255e1b264adc58efeb2a6508efdaa..0c2209c74b70016dd1dab783e3176b046e5dedec 100644
|
index fae43130665255e1b264adc58efeb2a6508efdaa..cb10a4f78f462a60ce356732878b9f98cf841ef4 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
@@ -2602,4 +2602,26 @@ public class ServerPlayer extends Player {
|
@@ -2602,4 +2602,26 @@ public class ServerPlayer extends Player {
|
||||||
@@ -28,7 +28,7 @@ index fae43130665255e1b264adc58efeb2a6508efdaa..0c2209c74b70016dd1dab783e3176b04
|
|||||||
+
|
+
|
||||||
+ ServerLevel toLevel = ((CraftWorld) to.getWorld()).getHandle();
|
+ ServerLevel toLevel = ((CraftWorld) to.getWorld()).getHandle();
|
||||||
+ if (this.level == toLevel) {
|
+ if (this.level == toLevel) {
|
||||||
+ this.connection.teleport(to);
|
+ this.connection.internalTeleport(to.getX(), to.getY(), to.getZ(), to.getYaw(), to.getPitch(), java.util.EnumSet.noneOf(net.minecraft.network.protocol.game.ClientboundPlayerPositionPacket.RelativeArgument.class), true);
|
||||||
+ } else {
|
+ } else {
|
||||||
+ this.server.getPlayerList().respawn(this, toLevel, true, to, !toLevel.paperConfig().environment.disableTeleportationSuffocationCheck);
|
+ this.server.getPlayerList().respawn(this, toLevel, true, to, !toLevel.paperConfig().environment.disableTeleportationSuffocationCheck);
|
||||||
+ }
|
+ }
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add option to teleport to spawn on nether ceiling damage
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 9f3a065a24d2e8cc2ea7ae307545af013fdbbf1b..193b6621d6506a04bc1f9f23571aeb2e635d562c 100644
|
index 9f3a065a24d2e8cc2ea7ae307545af013fdbbf1b..c8a24d1026671652cc5042d6b41b85e38ddfda8b 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -419,7 +419,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -419,7 +419,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
@@ -21,7 +21,7 @@ index 9f3a065a24d2e8cc2ea7ae307545af013fdbbf1b..193b6621d6506a04bc1f9f23571aeb2e
|
|||||||
&& this.level.paperConfig().environment.netherCeilingVoidDamageHeight.test(v -> this.getY() >= v)
|
&& this.level.paperConfig().environment.netherCeilingVoidDamageHeight.test(v -> this.getY() >= v)
|
||||||
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
|
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
|
||||||
// Paper end
|
// Paper end
|
||||||
+ if (level.purpurConfig.teleportOnNetherCeilingDamage && this.level.getWorld().getEnvironment() == org.bukkit.World.Environment.NETHER) ((ServerPlayer) this).teleport(MCUtil.toLocation(level, level.getSharedSpawnPos())); else // Purpur
|
+ if (this.level.purpurConfig.teleportOnNetherCeilingDamage && this.level.getWorld().getEnvironment() == org.bukkit.World.Environment.NETHER && this instanceof ServerPlayer player) player.teleport(MCUtil.toLocation(this.level, this.level.getSharedSpawnPos())); else // Purpur
|
||||||
this.outOfWorld();
|
this.outOfWorld();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user