Mirror von
https://github.com/ViaVersion/ViaVersion.git
synchronisiert 2024-11-08 17:20:24 +01:00
Properly format book data
Dieser Commit ist enthalten in:
Ursprung
3f5362a857
Commit
49b20e37cb
@ -187,6 +187,41 @@ public class ItemRewriter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void rewriteBookToServer(Item item) {
|
||||||
|
short id = item.getId();
|
||||||
|
if (id != 387) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
CompoundTag tag = item.getTag();
|
||||||
|
ListTag pages = tag.get("pages");
|
||||||
|
if (pages == null) { // is this even possible?
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (int i = 0; i < pages.size(); i++) {
|
||||||
|
Tag pageTag = pages.get(i);
|
||||||
|
if (!(pageTag instanceof StringTag)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
StringTag stag = (StringTag) pageTag;
|
||||||
|
String value = stag.getValue();
|
||||||
|
if (value.replaceAll(" ", "").isEmpty()) {
|
||||||
|
value = "\"" + fixBookSpaceChars(value) + "\"";
|
||||||
|
} else {
|
||||||
|
value = fixBookSpaceChars(value);
|
||||||
|
}
|
||||||
|
stag.setValue(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String fixBookSpaceChars(String str) {
|
||||||
|
if (!str.startsWith(" ")) {
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
// hacky but it works :)
|
||||||
|
str = "\u00A7r" + str;
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
|
||||||
public static void toClient(Item item) {
|
public static void toClient(Item item) {
|
||||||
if (item != null) {
|
if (item != null) {
|
||||||
if (item.getId() == 383 && item.getData() != 0) { // Monster Egg
|
if (item.getId() == 383 && item.getData() != 0) { // Monster Egg
|
||||||
|
@ -500,8 +500,9 @@ public class PlayerPackets {
|
|||||||
String name = wrapper.get(Type.STRING, 0);
|
String name = wrapper.get(Type.STRING, 0);
|
||||||
if (name.equalsIgnoreCase("MC|BSign")) {
|
if (name.equalsIgnoreCase("MC|BSign")) {
|
||||||
Item item = wrapper.passthrough(Type.ITEM);
|
Item item = wrapper.passthrough(Type.ITEM);
|
||||||
if (item != null) {
|
if (item != null) { //TODO: HERE
|
||||||
item.setId((short) 387); // Written Book
|
item.setId((short) 387); // Written Book
|
||||||
|
ItemRewriter.rewriteBookToServer(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (name.equalsIgnoreCase("MC|AutoCmd")) {
|
if (name.equalsIgnoreCase("MC|AutoCmd")) {
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren