Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-17 20:10:10 +01:00
27 Zeilen
1.4 KiB
Diff
27 Zeilen
1.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: kickash32 <kickash32@gmail.com>
|
|
Date: Fri, 15 May 2020 01:10:03 -0400
|
|
Subject: [PATCH] Ensure safe gateway teleport
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
|
index 1d8af8475d0aac71a4ed8a2fed9861dd89d8319b..bc028de0ac71e69e8d714db5f65286f306544bf1 100644
|
|
--- a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
|
+++ b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
|
@@ -104,7 +104,14 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity {
|
|
List<Entity> list = world.getEntitiesOfClass(Entity.class, new AABB(pos), TheEndGatewayBlockEntity::canEntityTeleport);
|
|
|
|
if (!list.isEmpty()) {
|
|
- TheEndGatewayBlockEntity.teleportEntity(world, pos, state, (Entity) list.get(world.random.nextInt(list.size())), blockEntity);
|
|
+ // Paper start
|
|
+ for (Entity entity : list) {
|
|
+ if (entity.canChangeDimensions()) {
|
|
+ TheEndGatewayBlockEntity.teleportEntity(world, pos, state, entity, blockEntity);
|
|
+ break;
|
|
+ }
|
|
+ }
|
|
+ // Paper end
|
|
}
|
|
|
|
if (blockEntity.age % 2400L == 0L) {
|