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

Add CommandRewriters for all protocols (#325)

Dieser Commit ist enthalten in:
RK_01 2021-02-05 15:14:11 +01:00 committet von GitHub
Ursprung d2bd9679da
Commit 600c843747
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 4AEE18F83AFDEB23
8 geänderte Dateien mit 126 neuen und 0 gelöschten Zeilen

Datei anzeigen

@ -4,6 +4,7 @@ import nl.matsv.viabackwards.api.BackwardsProtocol;
import nl.matsv.viabackwards.api.data.BackwardsMappings;
import nl.matsv.viabackwards.api.entities.storage.EntityTracker;
import nl.matsv.viabackwards.api.rewriters.TranslatableRewriter;
import nl.matsv.viabackwards.protocol.protocol1_13_2to1_14.data.CommandRewriter1_14;
import nl.matsv.viabackwards.protocol.protocol1_13_2to1_14.packets.BlockItemPackets1_14;
import nl.matsv.viabackwards.protocol.protocol1_13_2to1_14.packets.EntityPackets1_14;
import nl.matsv.viabackwards.protocol.protocol1_13_2to1_14.packets.PlayerPackets1_14;
@ -45,6 +46,8 @@ public class Protocol1_13_2To1_14 extends BackwardsProtocol<ClientboundPackets1_
translatableRewriter.registerTitle(ClientboundPackets1_14.TITLE);
translatableRewriter.registerPing();
new CommandRewriter1_14(this).registerDeclareCommands(ClientboundPackets1_14.DECLARE_COMMANDS);
blockItemPackets = new BlockItemPackets1_14(this, translatableRewriter);
blockItemPackets.register();
entityPackets = new EntityPackets1_14(this);

Datei anzeigen

@ -0,0 +1,36 @@
package nl.matsv.viabackwards.protocol.protocol1_13_2to1_14.data;
import org.jetbrains.annotations.Nullable;
import us.myles.ViaVersion.api.protocol.Protocol;
import us.myles.ViaVersion.api.rewriters.CommandRewriter;
import us.myles.ViaVersion.api.type.Type;
public class CommandRewriter1_14 extends CommandRewriter {
public CommandRewriter1_14(Protocol protocol) {
super(protocol);
this.parserHandlers.put("minecraft:nbt_tag", wrapper -> {
wrapper.write(Type.VAR_INT, 2); // Greedy phrase
});
this.parserHandlers.put("minecraft:time", wrapper -> {
wrapper.write(Type.BYTE, (byte) (0x01)); // Flags
wrapper.write(Type.INT, 0); // Min value
});
}
@Override
@Nullable
protected String handleArgumentType(String argumentType) {
switch (argumentType) {
case "minecraft:nbt_compound_tag":
return "minecraft:nbt";
case "minecraft:nbt_tag":
return "brigadier:string";
case "minecraft:time":
return "brigadier:integer";
}
return super.handleArgumentType(argumentType);
}
}

Datei anzeigen

@ -4,6 +4,7 @@ import nl.matsv.viabackwards.api.BackwardsProtocol;
import nl.matsv.viabackwards.api.data.BackwardsMappings;
import nl.matsv.viabackwards.api.entities.storage.EntityTracker;
import nl.matsv.viabackwards.api.rewriters.TranslatableRewriter;
import nl.matsv.viabackwards.protocol.protocol1_13to1_13_1.data.CommandRewriter1_13_1;
import nl.matsv.viabackwards.protocol.protocol1_13to1_13_1.packets.EntityPackets1_13_1;
import nl.matsv.viabackwards.protocol.protocol1_13to1_13_1.packets.InventoryPackets1_13_1;
import nl.matsv.viabackwards.protocol.protocol1_13to1_13_1.packets.WorldPackets1_13_1;
@ -47,6 +48,8 @@ public class Protocol1_13To1_13_1 extends BackwardsProtocol<ClientboundPackets1_
translatableRewriter.registerTitle(ClientboundPackets1_13.TITLE);
translatableRewriter.registerPing();
new CommandRewriter1_13_1(this).registerDeclareCommands(ClientboundPackets1_13.DECLARE_COMMANDS);
registerIncoming(ServerboundPackets1_13.TAB_COMPLETE, new PacketRemapper() {
@Override
public void registerMap() {

Datei anzeigen

@ -0,0 +1,29 @@
package nl.matsv.viabackwards.protocol.protocol1_13to1_13_1.data;
import org.jetbrains.annotations.Nullable;
import us.myles.ViaVersion.api.protocol.Protocol;
import us.myles.ViaVersion.api.rewriters.CommandRewriter;
import us.myles.ViaVersion.api.type.Type;
public class CommandRewriter1_13_1 extends CommandRewriter {
public CommandRewriter1_13_1(Protocol protocol) {
super(protocol);
this.parserHandlers.put("minecraft:dimension", wrapper -> {
wrapper.write(Type.VAR_INT, 0); // Single word
});
}
@Override
@Nullable
protected String handleArgumentType(String argumentType) {
if (argumentType.equals("minecraft:column_pos")) {
return "minecraft:vec2";
} else if (argumentType.equals("minecraft:dimension")) {
return "brigadier:string";
}
return super.handleArgumentType(argumentType);
}
}

Datei anzeigen

@ -6,6 +6,7 @@ import nl.matsv.viabackwards.api.rewriters.SoundRewriter;
import nl.matsv.viabackwards.api.rewriters.TranslatableRewriter;
import nl.matsv.viabackwards.protocol.protocol1_15_2to1_16.chat.TranslatableRewriter1_16;
import nl.matsv.viabackwards.protocol.protocol1_15_2to1_16.data.BackwardsMappings;
import nl.matsv.viabackwards.protocol.protocol1_15_2to1_16.data.CommandRewriter1_16;
import nl.matsv.viabackwards.protocol.protocol1_15_2to1_16.data.WorldNameTracker;
import nl.matsv.viabackwards.protocol.protocol1_15_2to1_16.packets.BlockItemPackets1_16;
import nl.matsv.viabackwards.protocol.protocol1_15_2to1_16.packets.EntityPackets1_16;
@ -51,6 +52,8 @@ public class Protocol1_15_2To1_16 extends BackwardsProtocol<ClientboundPackets1_
translatableRewriter.registerTitle(ClientboundPackets1_16.TITLE);
translatableRewriter.registerPing();
new CommandRewriter1_16(this).registerDeclareCommands(ClientboundPackets1_16.DECLARE_COMMANDS);
(blockItemPackets = new BlockItemPackets1_16(this, translatableRewriter)).register();
EntityPackets1_16 entityPackets = new EntityPackets1_16(this);
entityPackets.register();

Datei anzeigen

@ -0,0 +1,22 @@
package nl.matsv.viabackwards.protocol.protocol1_15_2to1_16.data;
import org.jetbrains.annotations.Nullable;
import us.myles.ViaVersion.api.protocol.Protocol;
import us.myles.ViaVersion.api.rewriters.CommandRewriter;
public class CommandRewriter1_16 extends CommandRewriter {
public CommandRewriter1_16(Protocol protocol) {
super(protocol);
}
@Override
@Nullable
protected String handleArgumentType(String argumentType) {
if (argumentType.equals("minecraft:uuid")) {
return "minecraft:game_profile";
}
return super.handleArgumentType(argumentType);
}
}

Datei anzeigen

@ -5,6 +5,7 @@ import nl.matsv.viabackwards.api.data.BackwardsMappings;
import nl.matsv.viabackwards.api.entities.storage.EntityTracker;
import nl.matsv.viabackwards.api.rewriters.SoundRewriter;
import nl.matsv.viabackwards.api.rewriters.TranslatableRewriter;
import nl.matsv.viabackwards.protocol.protocol1_16_1to1_16_2.data.CommandRewriter1_16_2;
import nl.matsv.viabackwards.protocol.protocol1_16_1to1_16_2.packets.BlockItemPackets1_16_2;
import nl.matsv.viabackwards.protocol.protocol1_16_1to1_16_2.packets.EntityPackets1_16_2;
import us.myles.ViaVersion.api.PacketWrapper;
@ -45,6 +46,8 @@ public class Protocol1_16_1To1_16_2 extends BackwardsProtocol<ClientboundPackets
translatableRewriter.registerOpenWindow(ClientboundPackets1_16_2.OPEN_WINDOW);
translatableRewriter.registerPing();
new CommandRewriter1_16_2(this).registerDeclareCommands(ClientboundPackets1_16_2.DECLARE_COMMANDS);
(blockItemPackets = new BlockItemPackets1_16_2(this, translatableRewriter)).register();
EntityPackets1_16_2 entityPackets = new EntityPackets1_16_2(this);
entityPackets.register();

Datei anzeigen

@ -0,0 +1,27 @@
package nl.matsv.viabackwards.protocol.protocol1_16_1to1_16_2.data;
import org.jetbrains.annotations.Nullable;
import us.myles.ViaVersion.api.protocol.Protocol;
import us.myles.ViaVersion.api.rewriters.CommandRewriter;
import us.myles.ViaVersion.api.type.Type;
public class CommandRewriter1_16_2 extends CommandRewriter {
public CommandRewriter1_16_2(Protocol protocol) {
super(protocol);
this.parserHandlers.put("minecraft:angle", wrapper -> {
wrapper.write(Type.VAR_INT, 0); // Single word
});
}
@Override
@Nullable
protected String handleArgumentType(String argumentType) {
if (argumentType.equals("minecraft:angle")) {
return "brigadier:string";
}
return super.handleArgumentType(argumentType);
}
}