Mirror von
https://github.com/ViaVersion/ViaVersion.git
synchronisiert 2024-11-19 14:30:16 +01:00
Ursprung
66b21431f2
Commit
7ab0c41be6
@ -56,7 +56,7 @@ public class BungeePlugin extends Plugin implements ViaPlatform<ProxiedPlayer>,
|
|||||||
@Override
|
@Override
|
||||||
public void onLoad() {
|
public void onLoad() {
|
||||||
try {
|
try {
|
||||||
ProtocolConstants.class.getField("MINECRAFT_1_18");
|
ProtocolConstants.class.getField("MINECRAFT_1_19");
|
||||||
} catch (NoSuchFieldException e) {
|
} catch (NoSuchFieldException e) {
|
||||||
getLogger().warning(" / \\");
|
getLogger().warning(" / \\");
|
||||||
getLogger().warning(" / \\");
|
getLogger().warning(" / \\");
|
||||||
|
@ -38,7 +38,6 @@ public final class InventoryPackets extends ItemRewriter<Protocol1_19To1_18_2> {
|
|||||||
public void registerPackets() {
|
public void registerPackets() {
|
||||||
registerSetCooldown(ClientboundPackets1_18.COOLDOWN);
|
registerSetCooldown(ClientboundPackets1_18.COOLDOWN);
|
||||||
registerWindowItems1_17_1(ClientboundPackets1_18.WINDOW_ITEMS, Type.FLAT_VAR_INT_ITEM_ARRAY_VAR_INT, Type.FLAT_VAR_INT_ITEM);
|
registerWindowItems1_17_1(ClientboundPackets1_18.WINDOW_ITEMS, Type.FLAT_VAR_INT_ITEM_ARRAY_VAR_INT, Type.FLAT_VAR_INT_ITEM);
|
||||||
registerTradeList(ClientboundPackets1_18.TRADE_LIST, Type.FLAT_VAR_INT_ITEM);
|
|
||||||
registerSetSlot1_17_1(ClientboundPackets1_18.SET_SLOT, Type.FLAT_VAR_INT_ITEM);
|
registerSetSlot1_17_1(ClientboundPackets1_18.SET_SLOT, Type.FLAT_VAR_INT_ITEM);
|
||||||
registerAdvancements(ClientboundPackets1_18.ADVANCEMENTS, Type.FLAT_VAR_INT_ITEM);
|
registerAdvancements(ClientboundPackets1_18.ADVANCEMENTS, Type.FLAT_VAR_INT_ITEM);
|
||||||
registerEntityEquipmentArray(ClientboundPackets1_18.ENTITY_EQUIPMENT, Type.FLAT_VAR_INT_ITEM);
|
registerEntityEquipmentArray(ClientboundPackets1_18.ENTITY_EQUIPMENT, Type.FLAT_VAR_INT_ITEM);
|
||||||
@ -64,6 +63,35 @@ public final class InventoryPackets extends ItemRewriter<Protocol1_19To1_18_2> {
|
|||||||
|
|
||||||
registerWindowPropertyEnchantmentHandler(ClientboundPackets1_18.WINDOW_PROPERTY);
|
registerWindowPropertyEnchantmentHandler(ClientboundPackets1_18.WINDOW_PROPERTY);
|
||||||
|
|
||||||
|
protocol.registerClientbound(ClientboundPackets1_18.TRADE_LIST, new PacketRemapper() {
|
||||||
|
@Override
|
||||||
|
public void registerMap() {
|
||||||
|
map(Type.VAR_INT); // Container id
|
||||||
|
handler(wrapper -> {
|
||||||
|
final int size = wrapper.read(Type.UNSIGNED_BYTE);
|
||||||
|
wrapper.write(Type.VAR_INT, size);
|
||||||
|
for (int i = 0; i < size; i++) {
|
||||||
|
handleItemToClient(wrapper.passthrough(Type.FLAT_VAR_INT_ITEM)); // First item
|
||||||
|
handleItemToClient(wrapper.passthrough(Type.FLAT_VAR_INT_ITEM)); // Result
|
||||||
|
|
||||||
|
if (wrapper.read(Type.BOOLEAN)) {
|
||||||
|
handleItemToClient(wrapper.passthrough(Type.FLAT_VAR_INT_ITEM));
|
||||||
|
} else {
|
||||||
|
wrapper.write(Type.FLAT_VAR_INT_ITEM, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
wrapper.passthrough(Type.BOOLEAN); // Out of stock
|
||||||
|
wrapper.passthrough(Type.INT); // Uses
|
||||||
|
wrapper.passthrough(Type.INT); // Max uses
|
||||||
|
wrapper.passthrough(Type.INT); // Xp
|
||||||
|
wrapper.passthrough(Type.INT); // Special price diff
|
||||||
|
wrapper.passthrough(Type.FLOAT); // Price multiplier
|
||||||
|
wrapper.passthrough(Type.INT); //Demand
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
protocol.registerServerbound(ServerboundPackets1_19.PLAYER_DIGGING, new PacketRemapper() {
|
protocol.registerServerbound(ServerboundPackets1_19.PLAYER_DIGGING, new PacketRemapper() {
|
||||||
@Override
|
@Override
|
||||||
public void registerMap() {
|
public void registerMap() {
|
||||||
|
@ -240,6 +240,32 @@ public abstract class ItemRewriter<T extends Protocol> extends RewriterBase<T> i
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void registerTradeList1_19(ClientboundPacketType packetType, Type<Item> type) {
|
||||||
|
protocol.registerClientbound(packetType, new PacketRemapper() {
|
||||||
|
@Override
|
||||||
|
public void registerMap() {
|
||||||
|
handler(wrapper -> {
|
||||||
|
wrapper.passthrough(Type.VAR_INT); // Container id
|
||||||
|
int size = wrapper.passthrough(Type.VAR_INT);
|
||||||
|
for (int i = 0; i < size; i++) {
|
||||||
|
handleItemToClient(wrapper.passthrough(type)); // Input
|
||||||
|
handleItemToClient(wrapper.passthrough(type)); // Output
|
||||||
|
handleItemToClient(wrapper.passthrough(type)); // Second Item
|
||||||
|
|
||||||
|
wrapper.passthrough(Type.BOOLEAN); // Trade disabled
|
||||||
|
wrapper.passthrough(Type.INT); // Number of tools uses
|
||||||
|
wrapper.passthrough(Type.INT); // Maximum number of trade uses
|
||||||
|
|
||||||
|
wrapper.passthrough(Type.INT); // XP
|
||||||
|
wrapper.passthrough(Type.INT); // Special price
|
||||||
|
wrapper.passthrough(Type.FLOAT); // Price multiplier
|
||||||
|
wrapper.passthrough(Type.INT); // Demand
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public void registerAdvancements(ClientboundPacketType packetType, Type<Item> type) {
|
public void registerAdvancements(ClientboundPacketType packetType, Type<Item> type) {
|
||||||
protocol.registerClientbound(packetType, new PacketRemapper() {
|
protocol.registerClientbound(packetType, new PacketRemapper() {
|
||||||
@Override
|
@Override
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren