Files
Purpur/patches/server/0164-Fix-rotating-UP-DOWN-CW-and-CCW.patch
2021-01-08 23:27:49 -06:00

67 lines
2.9 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <blake.galbreath@gmail.com>
Date: Wed, 6 Jan 2021 02:19:29 -0600
Subject: [PATCH] Fix rotating UP/DOWN CW and CCW
diff --git a/src/main/java/net/minecraft/server/BlockFireAbstract.java b/src/main/java/net/minecraft/server/BlockFireAbstract.java
index 392d27916b929881ff05f94325184acc6f0d7b7a..172e4b3eeecc3808a335b80bb44bc6be3d8dd33d 100644
--- a/src/main/java/net/minecraft/server/BlockFireAbstract.java
+++ b/src/main/java/net/minecraft/server/BlockFireAbstract.java
@@ -93,12 +93,6 @@ public abstract class BlockFireAbstract extends Block {
}
private static boolean b(World world, BlockPosition blockposition, EnumDirection enumdirection) {
- // CraftBukkit start - SPIGOT-6311: Do not calculate portals for up/down directions
- if (enumdirection == EnumDirection.UP || enumdirection == EnumDirection.DOWN) {
- return false;
- }
- // CraftBukkit end
-
if (!a(world)) {
return false;
} else {
@@ -115,11 +109,7 @@ public abstract class BlockFireAbstract extends Block {
break;
}
}
- // Paper start - don't search for portal creation when looking down
- if(enumdirection == EnumDirection.DOWN || enumdirection == EnumDirection.UP) {
- return false;
- }
- // Paper end
+
return flag && BlockPortalShape.a((GeneratorAccess) world, blockposition, enumdirection.h().n()).isPresent();
}
}
diff --git a/src/main/java/net/minecraft/server/EnumDirection.java b/src/main/java/net/minecraft/server/EnumDirection.java
index e3ba447eb7f3023406b71aab97e3d30523540588..83366996a0f9ae4684cc5424ace7630cc72b75f7 100644
--- a/src/main/java/net/minecraft/server/EnumDirection.java
+++ b/src/main/java/net/minecraft/server/EnumDirection.java
@@ -113,6 +113,12 @@ public enum EnumDirection implements INamable {
return EnumDirection.NORTH;
case EAST:
return EnumDirection.SOUTH;
+ // Purpur start
+ case UP:
+ return EnumDirection.UP;
+ case DOWN:
+ return EnumDirection.DOWN;
+ // Purpur end
default:
throw new IllegalStateException("Unable to get Y-rotated facing of " + this);
}
@@ -129,6 +135,12 @@ public enum EnumDirection implements INamable {
return EnumDirection.SOUTH;
case EAST:
return EnumDirection.NORTH;
+ // Purpur start
+ case UP:
+ return EnumDirection.UP;
+ case DOWN:
+ return EnumDirection.DOWN;
+ // Purpur end
default:
throw new IllegalStateException("Unable to get CCW facing of " + this);
}