mirror of
https://github.com/PaperMC/Paper.git
synced 2025-03-10 05:39:15 +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
|
||||
public void applyTo(T sign) {
|
||||
front.applyLegacyStringToSignSide();
|
||||
back.applyLegacyStringToSignSide();
|
||||
getSnapshot().setText(front.applyLegacyStringToSignSide(), true);
|
||||
getSnapshot().setText(back.applyLegacyStringToSignSide(), false);
|
||||
|
||||
super.applyTo(sign);
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ public class CraftSignSide implements SignSide {
|
||||
// Lazily initialized only if requested:
|
||||
private String[] originalLines = null;
|
||||
private String[] lines = null;
|
||||
private final SignText signText;
|
||||
private SignText signText;
|
||||
|
||||
public CraftSignSide(SignText signText) {
|
||||
this.signText = signText;
|
||||
@ -53,7 +53,7 @@ public class CraftSignSide implements SignSide {
|
||||
|
||||
@Override
|
||||
public void setGlowingText(boolean glowing) {
|
||||
signText.setHasGlowingText(glowing);
|
||||
signText = signText.setHasGlowingText(glowing);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@ -64,18 +64,20 @@ public class CraftSignSide implements SignSide {
|
||||
|
||||
@Override
|
||||
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) {
|
||||
for (int i = 0; i < lines.length; i++) {
|
||||
String line = (lines[i] == null) ? "" : lines[i];
|
||||
if (line.equals(originalLines[i])) {
|
||||
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