a73ed9572e
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing CraftBukkit Changes: b76ceb4f5 PR-1235: Move EntityType return to base Entity class e795d7490 SPIGOT-7458: Exception when Entity CommandSender executes Vanilla command 46c7fc3b1 SPIGOT-7452: Player#openSign cannot edit d91e5aa0b SPIGOT-7447: Rewrite --forceUpgrade to minimise diff and properly handle CraftBukkit world layout 921ae06d6 Revert "SPIGOT-7447: Fix --forceUpgrade" Spigot Changes: 94e187b5 Rebuild patches 3bce7935 SPIGOT-7091: Update bungeecord-chat
51 Zeilen
2.6 KiB
Diff
51 Zeilen
2.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Fri, 23 Jun 2023 12:16:28 -0700
|
|
Subject: [PATCH] Add Sign#getInteractableSideFor
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java
|
|
index e34f7426df5d6c94fcc4101b28702e6c1d9fccff..9eea2982e92e9bc7a53962dc6b21de60f9e5a4c7 100644
|
|
--- a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java
|
|
+++ b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java
|
|
@@ -64,13 +64,18 @@ public class SignBlockEntity extends BlockEntity implements CommandSource { // C
|
|
}
|
|
|
|
public boolean isFacingFrontText(net.minecraft.world.entity.player.Player player) {
|
|
+ // Paper start
|
|
+ return this.isFacingFrontText(player.getX(), player.getZ());
|
|
+ }
|
|
+ public boolean isFacingFrontText(double x, double z) {
|
|
+ // Paper end
|
|
Block block = this.getBlockState().getBlock();
|
|
|
|
if (block instanceof SignBlock) {
|
|
SignBlock blocksign = (SignBlock) block;
|
|
Vec3 vec3d = blocksign.getSignHitboxCenterPosition(this.getBlockState());
|
|
- double d0 = player.getX() - ((double) this.getBlockPos().getX() + vec3d.x);
|
|
- double d1 = player.getZ() - ((double) this.getBlockPos().getZ() + vec3d.z);
|
|
+ double d0 = x - ((double) this.getBlockPos().getX() + vec3d.x); // Paper
|
|
+ double d1 = z - ((double) this.getBlockPos().getZ() + vec3d.z); // Paper
|
|
float f = blocksign.getYRotationDegrees(this.getBlockState());
|
|
float f1 = (float) (Mth.atan2(d1, d0) * 57.2957763671875D) - 90.0F;
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java
|
|
index 6d40e8a75126eff3f863ab6fbea8a85ab43ac9c9..c6c1ebe93a6977b4355db5551b0493b9ce53a61d 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java
|
|
@@ -158,6 +158,14 @@ public class CraftSign<T extends SignBlockEntity> extends CraftBlockEntityState<
|
|
}
|
|
// Paper end
|
|
|
|
+ // Paper start - side facing API
|
|
+ @Override
|
|
+ public Side getInteractableSideFor(final double x, final double z) {
|
|
+ this.requirePlaced();
|
|
+ return this.getSnapshot().isFacingFrontText(x, z) ? Side.FRONT : Side.BACK;
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
public static Component[] sanitizeLines(String[] lines) {
|
|
Component[] components = new Component[4];
|
|
|