testserver/Spigot-Server-Patches/0577-Fix-block-data-excepti...

41 lines
2.2 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Thu, 10 Sep 2020 09:00:02 +0100
Subject: [PATCH] Fix block data exception when cancelling PortalCreateEvent
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 04f14691ba9b0552b2c195c4a3b47f45cd72c5a2..11fa231caa5be12a43e646eb2c0300e597d25dd2 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1028,7 +1028,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
Optional<BlockUtil.Rectangle> optional1 = worldserver.getTravelAgent().createPortal(blockposition, enumdirection_enumaxis, this, createRadius); // CraftBukkit
if (!optional1.isPresent()) {
- EntityPlayer.LOGGER.error("Unable to create a portal, likely target out of worldborder");
+ //EntityPlayer.LOGGER.error("Unable to create a portal, likely target out of worldborder"); // Paper
}
return optional1;
diff --git a/src/main/java/net/minecraft/server/PortalTravelAgent.java b/src/main/java/net/minecraft/server/PortalTravelAgent.java
index 205f3f697e9c31674a4ac8db38467bb2e61cfe6b..9273fc22df2c9618efb09a8f95fd7e7f08652f88 100644
--- a/src/main/java/net/minecraft/server/PortalTravelAgent.java
+++ b/src/main/java/net/minecraft/server/PortalTravelAgent.java
@@ -120,6 +120,7 @@ public class PortalTravelAgent {
EnumDirection enumdirection1 = enumdirection.g();
if (!worldborder.a(blockposition1)) {
+ MinecraftServer.LOGGER.error("Unable to create a portal, likely target out of worldborder"); // Paper - restore this message
return Optional.empty();
}
@@ -160,7 +161,7 @@ public class PortalTravelAgent {
this.world.getServer().getPluginManager().callEvent(event);
if (!event.isCancelled()) {
blockList.updateList();
- }
+ } else return Optional.empty(); // Paper
// CraftBukkit end
return Optional.of(new BlockUtil.Rectangle(blockposition1.immutableCopy(), 2, 3));
}