89d51d5f29
Because this exploit has been widely known for years and has not been fixed by Mojang, we decided that it was worth allowing people to toggle it on/off due to how easy it is to make it configurable. It should be noted that this decision does not promise all future exploits will be configurable.
33 Zeilen
2.0 KiB
Diff
33 Zeilen
2.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Wed, 12 May 2021 04:30:42 -0700
|
|
Subject: [PATCH] Add EntityPortalReadyEvent
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
|
index e5b15ef69bedfd94398f1a8d7a84d0fbf3773919..45a7b217ab6ef3a7c4ad1c07824d7185d4847086 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
|
@@ -2832,6 +2832,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
|
if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit
|
|
this.level().getProfiler().push("portal");
|
|
this.portalTime = i;
|
|
+ // Paper start - Add EntityPortalReadyEvent
|
|
+ io.papermc.paper.event.entity.EntityPortalReadyEvent event = new io.papermc.paper.event.entity.EntityPortalReadyEvent(this.getBukkitEntity(), worldserver1 == null ? null : worldserver1.getWorld(), org.bukkit.PortalType.NETHER);
|
|
+ if (!event.callEvent()) {
|
|
+ this.portalTime = 0;
|
|
+ } else {
|
|
+ worldserver1 = event.getTargetWorld() == null ? null : ((CraftWorld) event.getTargetWorld()).getHandle();
|
|
+ // Paper end - Add EntityPortalReadyEvent
|
|
this.setPortalCooldown();
|
|
// CraftBukkit start
|
|
if (this instanceof ServerPlayer) {
|
|
@@ -2839,6 +2846,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
|
} else {
|
|
this.changeDimension(worldserver1);
|
|
}
|
|
+ } // Paper - Add EntityPortalReadyEvent
|
|
// CraftBukkit end
|
|
this.level().getProfiler().pop();
|
|
}
|