#1200: Implement open sign by side

By: Yannick Lamprecht <yannicklamprecht@live.de>
This commit is contained in:
CraftBukkit/Spigot 2023-06-08 07:42:44 +10:00
parent 540acd512b
commit e5fdca81b2
2 changed files with 5 additions and 4 deletions

View File

@ -93,14 +93,15 @@ public class CraftSign<T extends TileEntitySign> extends CraftBlockEntityState<T
super.applyTo(sign);
}
public static void openSign(Sign sign, Player player) {
public static void openSign(Sign sign, Player player, Side side) {
Preconditions.checkArgument(sign != null, "sign == null");
Preconditions.checkArgument(side != null, "side == null");
Preconditions.checkArgument(sign.isPlaced(), "Sign must be placed");
Preconditions.checkArgument(sign.getWorld() == player.getWorld(), "Sign must be in same world as Player");
TileEntitySign handle = ((CraftSign<?>) sign).getTileEntity();
((CraftPlayer) player).getHandle().openTextEdit(handle, true);
((CraftPlayer) player).getHandle().openTextEdit(handle, Side.FRONT == side);
}
public static IChatBaseComponent[] sanitizeLines(String[] lines) {

View File

@ -2098,12 +2098,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void openSign(Sign sign) {
CraftSign.openSign(sign, this);
openSign(sign, Side.FRONT);
}
@Override
public void openSign(@NotNull Sign sign, @NotNull Side side) {
openSign(sign); // todo implement per side
CraftSign.openSign(sign, this, side);
}
@Override