3
0
Mirror von https://github.com/ViaVersion/ViaVersion.git synchronisiert 2024-12-26 00:00:28 +01:00

send signs tags

Dieser Commit ist enthalten in:
creeper123123321 2019-01-06 08:28:08 -02:00
Ursprung 3a4aed0b34
Commit 9a26ac380a
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 0AC57D54786721D1

Datei anzeigen

@ -119,7 +119,7 @@ public class Protocol1_14To1_13_2 extends Protocol {
});
}
});
registerOutgoing(State.PLAY, 0x52, 0x54);
registerOutgoing(State.PLAY, 0x53, 0x55);
@ -129,7 +129,8 @@ public class Protocol1_14To1_13_2 extends Protocol {
handler(new PacketHandler() {
@Override
public void handle(PacketWrapper wrapper) throws Exception {
int blockTagsSize = wrapper.passthrough(Type.VAR_INT); // block tags
int blockTagsSize;
wrapper.write(Type.VAR_INT, (blockTagsSize = wrapper.passthrough(Type.VAR_INT)) + 3); // block tags
for (int i = 0; i < blockTagsSize; i++) {
wrapper.passthrough(Type.STRING);
Integer[] blockIds = wrapper.passthrough(Type.VAR_INT_ARRAY);
@ -137,7 +138,21 @@ public class Protocol1_14To1_13_2 extends Protocol {
blockIds[j] = getNewBlockId(blockIds[j]);
}
}
int itemTagsSize = wrapper.passthrough(Type.VAR_INT); // item tags
// Minecraft crashes if we not send signs tags
wrapper.write(Type.STRING, "minecraft:signs");
wrapper.write(Type.VAR_INT_ARRAY, new Integer[]{
getNewBlockId(150), getNewBlockId(155)
});
wrapper.write(Type.STRING, "minecraft:wall_signs");
wrapper.write(Type.VAR_INT_ARRAY, new Integer[]{
getNewBlockId(155)
});
wrapper.write(Type.STRING, "minecraft:standing_signs");
wrapper.write(Type.VAR_INT_ARRAY, new Integer[]{
getNewBlockId(150)
});
int itemTagsSize;
wrapper.write(Type.VAR_INT, (itemTagsSize = wrapper.read(Type.VAR_INT)) + 1); // item tags
for (int i = 0; i < itemTagsSize; i++) {
wrapper.passthrough(Type.STRING);
Integer[] itemIds = wrapper.passthrough(Type.VAR_INT_ARRAY);
@ -145,12 +160,17 @@ public class Protocol1_14To1_13_2 extends Protocol {
itemIds[j] = InventoryPackets.getNewItemId(itemIds[j]);
}
}
// Should fix fuel shift clicking
wrapper.write(Type.STRING, "minecraft:signs");
wrapper.write(Type.VAR_INT_ARRAY, new Integer[]{
InventoryPackets.getNewItemId(541)
});
int fluidTagsSize = wrapper.passthrough(Type.VAR_INT); // fluid tags
for (int i = 0; i < fluidTagsSize; i++) {
wrapper.passthrough(Type.STRING);
wrapper.passthrough(Type.VAR_INT_ARRAY);
}
wrapper.write(Type.VAR_INT, 0); // new unknown tags
wrapper.write(Type.VAR_INT, 0); // new entity tags - do we need to send this?
}
});
}