mirror of
https://github.com/ViaVersion/ViaVersion.git
synced 2024-12-23 00:47:39 +01:00
Add default firework flight length in 1.20.5->1.20.3 (#3866)
This commit is contained in:
parent
47f5617f83
commit
d5ccb17951
@ -387,6 +387,13 @@ public final class BlockItemPacketRewriter1_20_5 extends ItemRewriter<Clientboun
|
||||
return dataItem;
|
||||
}
|
||||
|
||||
if (dataConverter.backupInconvertibleData()) {
|
||||
// In 1.20.6, some items have default values which are not written into the components
|
||||
if (item.identifier() == 1105 && !data.contains(StructuredDataKey.FIREWORKS)) {
|
||||
data.set(StructuredDataKey.FIREWORKS, new Fireworks(1, new FireworkExplosion[0]));
|
||||
}
|
||||
}
|
||||
|
||||
for (final StructuredData<?> structuredData : data.data().values()) {
|
||||
dataConverter.writeToTag(connection, structuredData, tag);
|
||||
}
|
||||
|
@ -234,14 +234,16 @@ public final class StructuredDataConverter {
|
||||
});
|
||||
register(StructuredDataKey.FIREWORKS, (data, tag) -> {
|
||||
final CompoundTag fireworksTag = new CompoundTag();
|
||||
fireworksTag.putInt("Flight", data.flightDuration());
|
||||
fireworksTag.putByte("Flight", (byte) data.flightDuration());
|
||||
tag.put("Fireworks", fireworksTag);
|
||||
|
||||
final ListTag<CompoundTag> explosionsTag = new ListTag<>(CompoundTag.class);
|
||||
for (final FireworkExplosion explosion : data.explosions()) {
|
||||
explosionsTag.add(convertExplosion(explosion));
|
||||
if (data.explosions().length > 0) {
|
||||
final ListTag<CompoundTag> explosionsTag = new ListTag<>(CompoundTag.class);
|
||||
for (final FireworkExplosion explosion : data.explosions()) {
|
||||
explosionsTag.add(convertExplosion(explosion));
|
||||
}
|
||||
fireworksTag.put("Explosions", explosionsTag);
|
||||
}
|
||||
fireworksTag.put("Explosions", explosionsTag);
|
||||
});
|
||||
register(StructuredDataKey.FIREWORK_EXPLOSION, (data, tag) -> tag.put("Explosion", convertExplosion(data)));
|
||||
register(StructuredDataKey.PROFILE, (data, tag) -> {
|
||||
@ -871,6 +873,10 @@ public final class StructuredDataConverter {
|
||||
rewriters.put(key, c);
|
||||
}
|
||||
|
||||
public boolean backupInconvertibleData() {
|
||||
return backupInconvertibleData;
|
||||
}
|
||||
|
||||
@FunctionalInterface
|
||||
interface SimpleDataConverter<T> {
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user