diff --git a/bukkit/pom.xml b/bukkit/pom.xml
index 6081d98b1..76743ee05 100644
--- a/bukkit/pom.xml
+++ b/bukkit/pom.xml
@@ -5,7 +5,7 @@
viaversion-parent
us.myles
- 2.0.0-18w50a
+ 2.0.0-19w02a
4.0.0
diff --git a/bungee/pom.xml b/bungee/pom.xml
index 18e5b28d5..87ad3a815 100644
--- a/bungee/pom.xml
+++ b/bungee/pom.xml
@@ -5,7 +5,7 @@
viaversion-parent
us.myles
- 2.0.0-18w50a
+ 2.0.0-19w02a
4.0.0
diff --git a/common/pom.xml b/common/pom.xml
index 6386e85ad..2e80edc74 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -5,7 +5,7 @@
viaversion-parent
us.myles
- 2.0.0-18w50a
+ 2.0.0-19w02a
4.0.0
diff --git a/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolVersion.java b/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolVersion.java
index 939204401..2e28329d8 100644
--- a/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolVersion.java
+++ b/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolVersion.java
@@ -67,7 +67,7 @@ public class ProtocolVersion {
register(v1_13 = new ProtocolVersion(393, "1.13"));
register(v1_13_1 = new ProtocolVersion(401, "1.13.1"));
register(v1_13_2 = new ProtocolVersion(404, "1.13.2"));
- register(v1_14 = new ProtocolVersion(451, "1.14"));
+ register(v1_14 = new ProtocolVersion(452, "1.14"));
register(unknown = new ProtocolVersion(-1, "UNKNOWN"));
}
diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/InventoryPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/InventoryPackets.java
index d1434cd8b..d23d6e46d 100644
--- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/InventoryPackets.java
+++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/InventoryPackets.java
@@ -29,18 +29,80 @@ public class InventoryPackets {
Outgoing packets
*/
- // Set slot packet
- protocol.registerOutgoing(State.PLAY, 0x17, 0x17, new PacketRemapper() {
+ protocol.registerOutgoing(State.PLAY, 0x14, -1, new PacketRemapper() {
@Override
public void registerMap() {
- map(Type.BYTE); // 0 - Window ID
- map(Type.SHORT); // 1 - Slot ID
- map(Type.FLAT_VAR_INT_ITEM); // 2 - Slot Value
-
handler(new PacketHandler() {
@Override
public void handle(PacketWrapper wrapper) throws Exception {
- toClient(wrapper.get(Type.FLAT_VAR_INT_ITEM, 0));
+ Short windowsId = wrapper.read(Type.UNSIGNED_BYTE);
+ String type = wrapper.read(Type.STRING);
+ String title = wrapper.read(Type.STRING);
+ Short slots = wrapper.read(Type.UNSIGNED_BYTE);
+
+ if (type.equals("EntityHorse")) {
+ wrapper.setId(0x14);
+ int entityId = wrapper.read(Type.INT);
+ wrapper.write(Type.UNSIGNED_BYTE, windowsId);
+ wrapper.write(Type.VAR_INT, slots.intValue());
+ wrapper.write(Type.INT, entityId);
+ } else {
+ wrapper.setId(0x59);
+ wrapper.write(Type.VAR_INT, windowsId.intValue());
+
+ int typeId = -1;
+ switch (type) {
+ case "minecraft:container":
+ case "minecraft:chest":
+ switch (slots) {
+ case 27:
+ typeId = 0;
+ break;
+ case 54:
+ typeId = 1;
+ break;
+ }
+ break;
+ case "minecraft:crafting_table":
+ typeId = 7;
+ break;
+ case "minecraft:furnace":
+ typeId = 9;
+ break;
+ case "minecraft:dropper":
+ case "minecraft:dispenser":
+ typeId = 2;
+ break;
+ case "minecraft:enchanting_table":
+ typeId = 8;
+ break;
+ case "minecraft:brewing_stand":
+ typeId = 6;
+ break;
+ case "minecraft:villager":
+ typeId = 14;
+ break;
+ case "minecraft:beacon":
+ typeId = 4;
+ break;
+ case "minecraft:anvil":
+ typeId = 3;
+ break;
+ case "minecraft:hopper":
+ typeId = 11;
+ break;
+ case "minecraft:shulker_box":
+ typeId = 15;
+ break;
+ }
+
+ if (typeId == -1) {
+ Via.getPlatform().getLogger().warning("Can't open inventory for 1.14 player! Type: " + type + " Size: " + slots);
+ }
+
+ wrapper.write(Type.VAR_INT, typeId);
+ wrapper.write(Type.STRING, title);
+ }
}
});
}
@@ -63,6 +125,23 @@ public class InventoryPackets {
}
});
+ // Set slot packet
+ protocol.registerOutgoing(State.PLAY, 0x17, 0x17, new PacketRemapper() {
+ @Override
+ public void registerMap() {
+ map(Type.BYTE); // 0 - Window ID
+ map(Type.SHORT); // 1 - Slot ID
+ map(Type.FLAT_VAR_INT_ITEM); // 2 - Slot Value
+
+ handler(new PacketHandler() {
+ @Override
+ public void handle(PacketWrapper wrapper) throws Exception {
+ toClient(wrapper.get(Type.FLAT_VAR_INT_ITEM, 0));
+ }
+ });
+ }
+ });
+
// Plugin message
protocol.registerOutgoing(State.PLAY, 0x19, 0x19, new PacketRemapper() {
@Override
@@ -73,7 +152,12 @@ public class InventoryPackets {
public void handle(PacketWrapper wrapper) throws Exception {
String channel = wrapper.get(Type.STRING, 0);
if (channel.equals("minecraft:trader_list") || channel.equals("trader_list")) {
- wrapper.passthrough(Type.INT); // Passthrough Window ID
+ wrapper.setId(0x5A);
+ wrapper.resetReader();
+ wrapper.read(Type.STRING); // Remove channel
+
+ int windowId = wrapper.read(Type.INT);
+ wrapper.write(Type.VAR_INT, windowId);
int size = wrapper.passthrough(Type.UNSIGNED_BYTE);
for (int i = 0; i < size; i++) {
diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/WorldPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/WorldPackets.java
index fdfe00115..95c4d3031 100644
--- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/WorldPackets.java
+++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/WorldPackets.java
@@ -9,6 +9,7 @@ import us.myles.ViaVersion.api.minecraft.chunks.ChunkSection;
import us.myles.ViaVersion.api.protocol.Protocol;
import us.myles.ViaVersion.api.remapper.PacketHandler;
import us.myles.ViaVersion.api.remapper.PacketRemapper;
+import us.myles.ViaVersion.api.remapper.ValueCreator;
import us.myles.ViaVersion.api.type.Type;
import us.myles.ViaVersion.packets.State;
import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.types.Chunk1_13Type;
@@ -248,6 +249,22 @@ public class WorldPackets {
}
});
+ //Map Data
+ protocol.registerOutgoing(State.PLAY, 0x26, 0x26, new PacketRemapper() {
+ @Override
+ public void registerMap() {
+ map(Type.VAR_INT);
+ map(Type.BYTE);
+ map(Type.BOOLEAN);
+ create(new ValueCreator() {
+ @Override
+ public void write(PacketWrapper wrapper) throws Exception {
+ wrapper.write(Type.BOOLEAN, false); // new value, probably if the map is locked (added in 19w02a), old maps are not locked
+ }
+ });
+ }
+ });
+
//respawn
protocol.registerOutgoing(State.PLAY, 0x38, 0x39, new PacketRemapper() {
@Override
diff --git a/common/src/main/resources/assets/viaversion/data/mapping-1.14.json b/common/src/main/resources/assets/viaversion/data/mapping-1.14.json
index 6f7abcc19..bd2aada6d 100644
--- a/common/src/main/resources/assets/viaversion/data/mapping-1.14.json
+++ b/common/src/main/resources/assets/viaversion/data/mapping-1.14.json
@@ -10859,44 +10859,64 @@
"10856": "minecraft:grindstone[face=ceiling,facing=south]",
"10857": "minecraft:grindstone[face=ceiling,facing=west]",
"10858": "minecraft:grindstone[face=ceiling,facing=east]",
- "10859": "minecraft:lectern[facing=north]",
- "10860": "minecraft:lectern[facing=south]",
- "10861": "minecraft:lectern[facing=west]",
- "10862": "minecraft:lectern[facing=east]",
- "10863": "minecraft:smithing_table",
- "10864": "minecraft:stonecutter",
- "10865": "minecraft:bell[attachment=floor,facing=north]",
- "10866": "minecraft:bell[attachment=floor,facing=south]",
- "10867": "minecraft:bell[attachment=floor,facing=west]",
- "10868": "minecraft:bell[attachment=floor,facing=east]",
- "10869": "minecraft:bell[attachment=ceiling,facing=north]",
- "10870": "minecraft:bell[attachment=ceiling,facing=south]",
- "10871": "minecraft:bell[attachment=ceiling,facing=west]",
- "10872": "minecraft:bell[attachment=ceiling,facing=east]",
- "10873": "minecraft:bell[attachment=single_wall,facing=north]",
- "10874": "minecraft:bell[attachment=single_wall,facing=south]",
- "10875": "minecraft:bell[attachment=single_wall,facing=west]",
- "10876": "minecraft:bell[attachment=single_wall,facing=east]",
- "10877": "minecraft:bell[attachment=double_wall,facing=north]",
- "10878": "minecraft:bell[attachment=double_wall,facing=south]",
- "10879": "minecraft:bell[attachment=double_wall,facing=west]",
- "10880": "minecraft:bell[attachment=double_wall,facing=east]",
- "10881": "minecraft:lantern[hanging=true]",
- "10882": "minecraft:lantern[hanging=false]",
- "10883": "minecraft:sweet_berry_bush[age=0]",
- "10884": "minecraft:sweet_berry_bush[age=1]",
- "10885": "minecraft:sweet_berry_bush[age=2]",
- "10886": "minecraft:sweet_berry_bush[age=3]",
- "10887": "minecraft:structure_block[mode=save]",
- "10888": "minecraft:structure_block[mode=load]",
- "10889": "minecraft:structure_block[mode=corner]",
- "10890": "minecraft:structure_block[mode=data]",
- "10891": "minecraft:jigsaw[facing=north]",
- "10892": "minecraft:jigsaw[facing=east]",
- "10893": "minecraft:jigsaw[facing=south]",
- "10894": "minecraft:jigsaw[facing=west]",
- "10895": "minecraft:jigsaw[facing=up]",
- "10896": "minecraft:jigsaw[facing=down]"
+ "10859": "minecraft:lectern[facing=north,has_book=true,powered=true]",
+ "10860": "minecraft:lectern[facing=north,has_book=true,powered=false]",
+ "10861": "minecraft:lectern[facing=north,has_book=false,powered=true]",
+ "10862": "minecraft:lectern[facing=north,has_book=false,powered=false]",
+ "10863": "minecraft:lectern[facing=south,has_book=true,powered=true]",
+ "10864": "minecraft:lectern[facing=south,has_book=true,powered=false]",
+ "10865": "minecraft:lectern[facing=south,has_book=false,powered=true]",
+ "10866": "minecraft:lectern[facing=south,has_book=false,powered=false]",
+ "10867": "minecraft:lectern[facing=west,has_book=true,powered=true]",
+ "10868": "minecraft:lectern[facing=west,has_book=true,powered=false]",
+ "10869": "minecraft:lectern[facing=west,has_book=false,powered=true]",
+ "10870": "minecraft:lectern[facing=west,has_book=false,powered=false]",
+ "10871": "minecraft:lectern[facing=east,has_book=true,powered=true]",
+ "10872": "minecraft:lectern[facing=east,has_book=true,powered=false]",
+ "10873": "minecraft:lectern[facing=east,has_book=false,powered=true]",
+ "10874": "minecraft:lectern[facing=east,has_book=false,powered=false]",
+ "10875": "minecraft:smithing_table",
+ "10876": "minecraft:stonecutter",
+ "10877": "minecraft:bell[attachment=floor,facing=north]",
+ "10878": "minecraft:bell[attachment=floor,facing=south]",
+ "10879": "minecraft:bell[attachment=floor,facing=west]",
+ "10880": "minecraft:bell[attachment=floor,facing=east]",
+ "10881": "minecraft:bell[attachment=ceiling,facing=north]",
+ "10882": "minecraft:bell[attachment=ceiling,facing=south]",
+ "10883": "minecraft:bell[attachment=ceiling,facing=west]",
+ "10884": "minecraft:bell[attachment=ceiling,facing=east]",
+ "10885": "minecraft:bell[attachment=single_wall,facing=north]",
+ "10886": "minecraft:bell[attachment=single_wall,facing=south]",
+ "10887": "minecraft:bell[attachment=single_wall,facing=west]",
+ "10888": "minecraft:bell[attachment=single_wall,facing=east]",
+ "10889": "minecraft:bell[attachment=double_wall,facing=north]",
+ "10890": "minecraft:bell[attachment=double_wall,facing=south]",
+ "10891": "minecraft:bell[attachment=double_wall,facing=west]",
+ "10892": "minecraft:bell[attachment=double_wall,facing=east]",
+ "10893": "minecraft:lantern[hanging=true]",
+ "10894": "minecraft:lantern[hanging=false]",
+ "10895": "minecraft:sweet_berry_bush[age=0]",
+ "10896": "minecraft:sweet_berry_bush[age=1]",
+ "10897": "minecraft:sweet_berry_bush[age=2]",
+ "10898": "minecraft:sweet_berry_bush[age=3]",
+ "10899": "minecraft:campfire[lit=true,signal_fire=true,waterlogged=true]",
+ "10900": "minecraft:campfire[lit=true,signal_fire=true,waterlogged=false]",
+ "10901": "minecraft:campfire[lit=true,signal_fire=false,waterlogged=true]",
+ "10902": "minecraft:campfire[lit=true,signal_fire=false,waterlogged=false]",
+ "10903": "minecraft:campfire[lit=false,signal_fire=true,waterlogged=true]",
+ "10904": "minecraft:campfire[lit=false,signal_fire=true,waterlogged=false]",
+ "10905": "minecraft:campfire[lit=false,signal_fire=false,waterlogged=true]",
+ "10906": "minecraft:campfire[lit=false,signal_fire=false,waterlogged=false]",
+ "10907": "minecraft:structure_block[mode=save]",
+ "10908": "minecraft:structure_block[mode=load]",
+ "10909": "minecraft:structure_block[mode=corner]",
+ "10910": "minecraft:structure_block[mode=data]",
+ "10911": "minecraft:jigsaw[facing=north]",
+ "10912": "minecraft:jigsaw[facing=east]",
+ "10913": "minecraft:jigsaw[facing=south]",
+ "10914": "minecraft:jigsaw[facing=west]",
+ "10915": "minecraft:jigsaw[facing=up]",
+ "10916": "minecraft:jigsaw[facing=down]"
},
"items": {
"0": "minecraft:air",
@@ -11766,7 +11786,8 @@
"864": "minecraft:stonecutter",
"865": "minecraft:bell",
"866": "minecraft:lantern",
- "867": "minecraft:sweet_berries"
+ "867": "minecraft:sweet_berries",
+ "868": "minecraft:campfire"
},
"sounds": [
"ambient.cave",
@@ -11825,6 +11846,8 @@
"entity.blaze.shoot",
"entity.boat.paddle_land",
"entity.boat.paddle_water",
+ "item.book.page_turn",
+ "item.book.put",
"entity.fishing_bobber.retrieve",
"entity.fishing_bobber.splash",
"entity.fishing_bobber.throw",
@@ -11843,6 +11866,7 @@
"item.bucket.fill",
"item.bucket.fill_fish",
"item.bucket.fill_lava",
+ "block.campfire.crackle",
"entity.cat.ambient",
"entity.cat.stray_ambient",
"entity.cat.death",
@@ -12404,6 +12428,7 @@
"ui.button.click",
"ui.loom.select_pattern",
"ui.loom.take_result",
+ "ui.cartography_table.take_result",
"ui.toast.challenge_complete",
"ui.toast.in",
"ui.toast.out",
@@ -13156,7 +13181,8 @@
"667": "bell",
"668": "lantern",
"669": "sweet_berry_bush",
- "670": "structure_block",
- "671": "jigsaw"
+ "670": "campfire",
+ "671": "structure_block",
+ "672": "jigsaw"
}
}
\ No newline at end of file
diff --git a/jar/pom.xml b/jar/pom.xml
index 6951fa386..5f1bae972 100644
--- a/jar/pom.xml
+++ b/jar/pom.xml
@@ -5,7 +5,7 @@
viaversion-parent
us.myles
- 2.0.0-18w50a
+ 2.0.0-19w02a
4.0.0
viaversion-jar
diff --git a/pom.xml b/pom.xml
index 94ee2306c..bdae648a0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
us.myles
viaversion-parent
- 2.0.0-18w50a
+ 2.0.0-19w02a
pom
viaversion-parent
diff --git a/sponge-legacy/pom.xml b/sponge-legacy/pom.xml
index c334949d8..15da7721d 100644
--- a/sponge-legacy/pom.xml
+++ b/sponge-legacy/pom.xml
@@ -5,7 +5,7 @@
viaversion-parent
us.myles
- 2.0.0-18w50a
+ 2.0.0-19w02a
4.0.0
diff --git a/sponge/pom.xml b/sponge/pom.xml
index 1885652c9..5f4d7e045 100644
--- a/sponge/pom.xml
+++ b/sponge/pom.xml
@@ -5,7 +5,7 @@
viaversion-parent
us.myles
- 2.0.0-18w50a
+ 2.0.0-19w02a
4.0.0
diff --git a/velocity/pom.xml b/velocity/pom.xml
index 00580aee9..27bcd2951 100644
--- a/velocity/pom.xml
+++ b/velocity/pom.xml
@@ -5,7 +5,7 @@
viaversion-parent
us.myles
- 2.0.0-18w50a
+ 2.0.0-19w02a
4.0.0