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

Reuse sound rewriter instance in 1.21->1.21.2 (#4323)

Dieser Commit ist enthalten in:
EnZaXD 2024-12-21 10:19:56 +01:00 committet von GitHub
Ursprung c17b6c5099
Commit 5aae4ab10a
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: B5690EEEBB952194
3 geänderte Dateien mit 8 neuen und 5 gelöschten Zeilen

Datei anzeigen

@ -81,7 +81,6 @@ import com.viaversion.viaversion.api.type.types.version.Types1_20_3;
import com.viaversion.viaversion.api.type.types.version.Types1_20_5; import com.viaversion.viaversion.api.type.types.version.Types1_20_5;
import com.viaversion.viaversion.protocols.v1_20_2to1_20_3.packet.ClientboundPacket1_20_3; import com.viaversion.viaversion.protocols.v1_20_2to1_20_3.packet.ClientboundPacket1_20_3;
import com.viaversion.viaversion.protocols.v1_20_2to1_20_3.packet.ClientboundPackets1_20_3; import com.viaversion.viaversion.protocols.v1_20_2to1_20_3.packet.ClientboundPackets1_20_3;
import com.viaversion.viaversion.protocols.v1_20_2to1_20_3.rewriter.RecipeRewriter1_20_3;
import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.Protocol1_20_3To1_20_5; import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.Protocol1_20_3To1_20_5;
import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.data.Attributes1_20_5; import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.data.Attributes1_20_5;
import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.data.BannerPatterns1_20_5; import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.data.BannerPatterns1_20_5;
@ -603,9 +602,10 @@ public final class BlockItemPacketRewriter1_20_5 extends ItemRewriter<Clientboun
} }
} }
// Only for VB, but kept here for simplicity; In VV we backup the original tag and later restore it, in VB
// we use the converted data and manually restore what broke during the conversion
final CompoundTag backupTag = StructuredDataConverter.removeBackupTag(tag); final CompoundTag backupTag = StructuredDataConverter.removeBackupTag(tag);
if (backupTag != null) { if (backupTag != null) {
// Restore original data components
restoreFromBackupTag(backupTag, data); restoreFromBackupTag(backupTag, data);
} }
return item; return item;

Datei anzeigen

@ -68,6 +68,7 @@ public final class Protocol1_21To1_21_2 extends AbstractProtocol<ClientboundPack
private final ParticleRewriter1_21_2 particleRewriter = new ParticleRewriter1_21_2(this); private final ParticleRewriter1_21_2 particleRewriter = new ParticleRewriter1_21_2(this);
private final TagRewriter<ClientboundPacket1_21> tagRewriter = new TagRewriter<>(this); private final TagRewriter<ClientboundPacket1_21> tagRewriter = new TagRewriter<>(this);
private final ComponentRewriter1_21_2 componentRewriter = new ComponentRewriter1_21_2(this); private final ComponentRewriter1_21_2 componentRewriter = new ComponentRewriter1_21_2(this);
private final SoundRewriter<ClientboundPacket1_21> soundRewriter = new SoundRewriter<>(this);
public Protocol1_21To1_21_2() { public Protocol1_21To1_21_2() {
super(ClientboundPacket1_21.class, ClientboundPacket1_21_2.class, ServerboundPacket1_20_5.class, ServerboundPacket1_21_2.class); super(ClientboundPacket1_21.class, ClientboundPacket1_21_2.class, ServerboundPacket1_20_5.class, ServerboundPacket1_21_2.class);
@ -94,7 +95,6 @@ public final class Protocol1_21To1_21_2 extends AbstractProtocol<ClientboundPack
particleRewriter.registerLevelParticles1_20_5(ClientboundPackets1_21.LEVEL_PARTICLES); particleRewriter.registerLevelParticles1_20_5(ClientboundPackets1_21.LEVEL_PARTICLES);
final SoundRewriter<ClientboundPacket1_21> soundRewriter = new SoundRewriter<>(this);
soundRewriter.registerSound1_19_3(ClientboundPackets1_21.SOUND); soundRewriter.registerSound1_19_3(ClientboundPackets1_21.SOUND);
soundRewriter.registerSound1_19_3(ClientboundPackets1_21.SOUND_ENTITY); soundRewriter.registerSound1_19_3(ClientboundPackets1_21.SOUND_ENTITY);
@ -280,6 +280,10 @@ public final class Protocol1_21To1_21_2 extends AbstractProtocol<ClientboundPack
return componentRewriter; return componentRewriter;
} }
public SoundRewriter<ClientboundPacket1_21> getSoundRewriter() {
return soundRewriter;
}
@Override @Override
protected PacketTypesProvider<ClientboundPacket1_21, ClientboundPacket1_21_2, ServerboundPacket1_20_5, ServerboundPacket1_21_2> createPacketTypesProvider() { protected PacketTypesProvider<ClientboundPacket1_21, ClientboundPacket1_21_2, ServerboundPacket1_20_5, ServerboundPacket1_21_2> createPacketTypesProvider() {
return new SimplePacketTypesProvider<>( return new SimplePacketTypesProvider<>(

Datei anzeigen

@ -60,7 +60,6 @@ import com.viaversion.viaversion.protocols.v1_21to1_21_2.packet.ServerboundPacke
import com.viaversion.viaversion.protocols.v1_21to1_21_2.storage.BundleStateTracker; import com.viaversion.viaversion.protocols.v1_21to1_21_2.storage.BundleStateTracker;
import com.viaversion.viaversion.protocols.v1_21to1_21_2.storage.ChunkLoadTracker; import com.viaversion.viaversion.protocols.v1_21to1_21_2.storage.ChunkLoadTracker;
import com.viaversion.viaversion.rewriter.BlockRewriter; import com.viaversion.viaversion.rewriter.BlockRewriter;
import com.viaversion.viaversion.rewriter.SoundRewriter;
import com.viaversion.viaversion.rewriter.StructuredItemRewriter; import com.viaversion.viaversion.rewriter.StructuredItemRewriter;
import com.viaversion.viaversion.util.ComponentUtil; import com.viaversion.viaversion.util.ComponentUtil;
import com.viaversion.viaversion.util.Key; import com.viaversion.viaversion.util.Key;
@ -238,7 +237,7 @@ public final class BlockItemPacketRewriter1_21_2 extends StructuredItemRewriter<
wrapper.write(Types1_21_2.PARTICLE, smallExplosionParticle); wrapper.write(Types1_21_2.PARTICLE, smallExplosionParticle);
} }
new SoundRewriter<>(protocol).soundHolderHandler().handle(wrapper); protocol.getSoundRewriter().soundHolderHandler().handle(wrapper);
}); });
protocol.registerClientbound(ClientboundPackets1_21.UPDATE_RECIPES, wrapper -> { protocol.registerClientbound(ClientboundPackets1_21.UPDATE_RECIPES, wrapper -> {