mirror of
https://github.com/PaperMC/Paper.git
synced 2025-03-10 13:49:11 +01:00
SPIGOT-7371: Fix editing signs with API
By: md_5 <git@md-5.net>
This commit is contained in:
parent
e5fdca81b2
commit
ef776287cb
@ -87,8 +87,8 @@ public class CraftSign<T extends TileEntitySign> extends CraftBlockEntityState<T
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void applyTo(T sign) {
|
public void applyTo(T sign) {
|
||||||
front.applyLegacyStringToSignSide();
|
getSnapshot().setText(front.applyLegacyStringToSignSide(), true);
|
||||||
back.applyLegacyStringToSignSide();
|
getSnapshot().setText(back.applyLegacyStringToSignSide(), false);
|
||||||
|
|
||||||
super.applyTo(sign);
|
super.applyTo(sign);
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ public class CraftSignSide implements SignSide {
|
|||||||
// Lazily initialized only if requested:
|
// Lazily initialized only if requested:
|
||||||
private String[] originalLines = null;
|
private String[] originalLines = null;
|
||||||
private String[] lines = null;
|
private String[] lines = null;
|
||||||
private final SignText signText;
|
private SignText signText;
|
||||||
|
|
||||||
public CraftSignSide(SignText signText) {
|
public CraftSignSide(SignText signText) {
|
||||||
this.signText = signText;
|
this.signText = signText;
|
||||||
@ -53,7 +53,7 @@ public class CraftSignSide implements SignSide {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setGlowingText(boolean glowing) {
|
public void setGlowingText(boolean glowing) {
|
||||||
signText.setHasGlowingText(glowing);
|
signText = signText.setHasGlowingText(glowing);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@ -64,18 +64,20 @@ public class CraftSignSide implements SignSide {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setColor(@NotNull DyeColor color) {
|
public void setColor(@NotNull DyeColor color) {
|
||||||
signText.setColor(EnumColor.byId(color.getWoolData()));
|
signText = signText.setColor(EnumColor.byId(color.getWoolData()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void applyLegacyStringToSignSide() {
|
public SignText applyLegacyStringToSignSide() {
|
||||||
if (lines != null) {
|
if (lines != null) {
|
||||||
for (int i = 0; i < lines.length; i++) {
|
for (int i = 0; i < lines.length; i++) {
|
||||||
String line = (lines[i] == null) ? "" : lines[i];
|
String line = (lines[i] == null) ? "" : lines[i];
|
||||||
if (line.equals(originalLines[i])) {
|
if (line.equals(originalLines[i])) {
|
||||||
continue; // The line contents are still the same, skip.
|
continue; // The line contents are still the same, skip.
|
||||||
}
|
}
|
||||||
signText.setMessage(i, CraftChatMessage.fromString(line)[0]);
|
signText = signText.setMessage(i, CraftChatMessage.fromString(line)[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return signText;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user