Fix advancement translatables

Closes #415
This commit is contained in:
Nassim Jahnke 2021-12-04 16:33:30 +01:00
parent a200975cda
commit 249280312e
No known key found for this signature in database
GPG Key ID: 6BE3B555EBC5982B
15 changed files with 96 additions and 43 deletions

View File

@ -20,6 +20,10 @@ package com.viaversion.viabackwards.api.rewriters;
import com.viaversion.viabackwards.api.BackwardsProtocol; import com.viaversion.viabackwards.api.BackwardsProtocol;
import com.viaversion.viabackwards.api.data.MappedItem; import com.viaversion.viabackwards.api.data.MappedItem;
import com.viaversion.viaversion.api.minecraft.item.Item; import com.viaversion.viaversion.api.minecraft.item.Item;
import com.viaversion.viaversion.api.protocol.packet.ClientboundPacketType;
import com.viaversion.viaversion.api.protocol.remapper.PacketRemapper;
import com.viaversion.viaversion.api.type.Type;
import com.viaversion.viaversion.libs.gson.JsonElement;
import com.viaversion.viaversion.libs.opennbt.tag.builtin.ByteTag; import com.viaversion.viaversion.libs.opennbt.tag.builtin.ByteTag;
import com.viaversion.viaversion.libs.opennbt.tag.builtin.CompoundTag; import com.viaversion.viaversion.libs.opennbt.tag.builtin.CompoundTag;
import com.viaversion.viaversion.libs.opennbt.tag.builtin.IntTag; import com.viaversion.viaversion.libs.opennbt.tag.builtin.IntTag;
@ -30,11 +34,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
public abstract class ItemRewriter<T extends BackwardsProtocol> extends ItemRewriterBase<T> { public abstract class ItemRewriter<T extends BackwardsProtocol> extends ItemRewriterBase<T> {
private final TranslatableRewriter translatableRewriter; protected ItemRewriter(T protocol) {
protected ItemRewriter(T protocol, @Nullable TranslatableRewriter translatableRewriter) {
super(protocol, true); super(protocol, true);
this.translatableRewriter = translatableRewriter;
} }
@Override @Override
@ -42,11 +43,11 @@ public abstract class ItemRewriter<T extends BackwardsProtocol> extends ItemRewr
if (item == null) return null; if (item == null) return null;
CompoundTag display = item.tag() != null ? item.tag().get("display") : null; CompoundTag display = item.tag() != null ? item.tag().get("display") : null;
if (translatableRewriter != null && display != null) { if (protocol.getTranslatableRewriter() != null && display != null) {
// Handle name and lore components // Handle name and lore components
StringTag name = display.get("Name"); StringTag name = display.get("Name");
if (name != null) { if (name != null) {
String newValue = translatableRewriter.processText(name.getValue()).toString(); String newValue = protocol.getTranslatableRewriter().processText(name.getValue()).toString();
if (!newValue.equals(name.getValue())) { if (!newValue.equals(name.getValue())) {
saveStringTag(display, name, "Name"); saveStringTag(display, name, "Name");
} }
@ -61,7 +62,7 @@ public abstract class ItemRewriter<T extends BackwardsProtocol> extends ItemRewr
if (!(loreEntryTag instanceof StringTag)) continue; if (!(loreEntryTag instanceof StringTag)) continue;
StringTag loreEntry = (StringTag) loreEntryTag; StringTag loreEntry = (StringTag) loreEntryTag;
String newValue = translatableRewriter.processText(loreEntry.getValue()).toString(); String newValue = protocol.getTranslatableRewriter().processText(loreEntry.getValue()).toString();
if (!changed && !newValue.equals(loreEntry.getValue())) { if (!changed && !newValue.equals(loreEntry.getValue())) {
// Backup original lore before doing any modifications // Backup original lore before doing any modifications
changed = true; changed = true;
@ -111,4 +112,52 @@ public abstract class ItemRewriter<T extends BackwardsProtocol> extends ItemRewr
} }
return item; return item;
} }
@Override
public void registerAdvancements(ClientboundPacketType packetType, Type<Item> type) {
protocol.registerClientbound(packetType, new PacketRemapper() {
@Override
public void registerMap() {
handler(wrapper -> {
wrapper.passthrough(Type.BOOLEAN); // Reset/clear
final int size = wrapper.passthrough(Type.VAR_INT); // Mapping size
for (int i = 0; i < size; i++) {
wrapper.passthrough(Type.STRING); // Identifier
// Parent
if (wrapper.passthrough(Type.BOOLEAN)) {
wrapper.passthrough(Type.STRING);
}
// Display data
if (wrapper.passthrough(Type.BOOLEAN)) {
final JsonElement title = wrapper.passthrough(Type.COMPONENT);
final JsonElement description = wrapper.passthrough(Type.COMPONENT);
final TranslatableRewriter translatableRewriter = protocol.getTranslatableRewriter();
if (translatableRewriter != null) {
translatableRewriter.processText(title);
translatableRewriter.processText(description);
}
handleItemToClient(wrapper.passthrough(type)); // Icon
wrapper.passthrough(Type.VAR_INT); // Frame type
int flags = wrapper.passthrough(Type.INT); // Flags
if ((flags & 1) != 0) {
wrapper.passthrough(Type.STRING); // Background texture
}
wrapper.passthrough(Type.FLOAT); // X
wrapper.passthrough(Type.FLOAT); // Y
}
wrapper.passthrough(Type.STRING_ARRAY); // Criteria
final int arrayLength = wrapper.passthrough(Type.VAR_INT);
for (int array = 0; array < arrayLength; array++) {
wrapper.passthrough(Type.STRING_ARRAY); // String array
}
}
});
}
});
}
} }

View File

@ -68,7 +68,7 @@ public class BlockItemPackets1_13 extends com.viaversion.viabackwards.api.rewrit
private final String extraNbtTag; private final String extraNbtTag;
public BlockItemPackets1_13(Protocol1_12_2To1_13 protocol) { public BlockItemPackets1_13(Protocol1_12_2To1_13 protocol) {
super(protocol, null); super(protocol);
extraNbtTag = "VB|" + protocol.getClass().getSimpleName() + "|2"; extraNbtTag = "VB|" + protocol.getClass().getSimpleName() + "|2";
} }

View File

@ -46,6 +46,7 @@ public class Protocol1_13_2To1_14 extends BackwardsProtocol<ClientboundPackets1_
public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.14", "1.13.2", Protocol1_14To1_13_2.class, true); public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.14", "1.13.2", Protocol1_14To1_13_2.class, true);
private final EntityRewriter entityRewriter = new EntityPackets1_14(this); private final EntityRewriter entityRewriter = new EntityPackets1_14(this);
private final TranslatableRewriter translatableRewriter = new TranslatableRewriter(this);
private BlockItemPackets1_14 blockItemPackets; private BlockItemPackets1_14 blockItemPackets;
public Protocol1_13_2To1_14() { public Protocol1_13_2To1_14() {
@ -56,7 +57,6 @@ public class Protocol1_13_2To1_14 extends BackwardsProtocol<ClientboundPackets1_
protected void registerPackets() { protected void registerPackets() {
executeAsyncAfterLoaded(Protocol1_14To1_13_2.class, MAPPINGS::load); executeAsyncAfterLoaded(Protocol1_14To1_13_2.class, MAPPINGS::load);
TranslatableRewriter translatableRewriter = new TranslatableRewriter(this);
translatableRewriter.registerBossBar(ClientboundPackets1_14.BOSSBAR); translatableRewriter.registerBossBar(ClientboundPackets1_14.BOSSBAR);
translatableRewriter.registerChatMessage(ClientboundPackets1_14.CHAT_MESSAGE); translatableRewriter.registerChatMessage(ClientboundPackets1_14.CHAT_MESSAGE);
translatableRewriter.registerCombatEvent(ClientboundPackets1_14.COMBAT_EVENT); translatableRewriter.registerCombatEvent(ClientboundPackets1_14.COMBAT_EVENT);
@ -67,7 +67,7 @@ public class Protocol1_13_2To1_14 extends BackwardsProtocol<ClientboundPackets1_
new CommandRewriter1_14(this).registerDeclareCommands(ClientboundPackets1_14.DECLARE_COMMANDS); new CommandRewriter1_14(this).registerDeclareCommands(ClientboundPackets1_14.DECLARE_COMMANDS);
blockItemPackets = new BlockItemPackets1_14(this, translatableRewriter); blockItemPackets = new BlockItemPackets1_14(this);
blockItemPackets.register(); blockItemPackets.register();
entityRewriter.register(); entityRewriter.register();
new PlayerPackets1_14(this).register(); new PlayerPackets1_14(this).register();
@ -211,4 +211,9 @@ public class Protocol1_13_2To1_14 extends BackwardsProtocol<ClientboundPackets1_
public BlockItemPackets1_14 getItemRewriter() { public BlockItemPackets1_14 getItemRewriter() {
return blockItemPackets; return blockItemPackets;
} }
@Override
public TranslatableRewriter getTranslatableRewriter() {
return translatableRewriter;
}
} }

View File

@ -20,7 +20,6 @@ package com.viaversion.viabackwards.protocol.protocol1_13_2to1_14.packets;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.viaversion.viabackwards.ViaBackwards; import com.viaversion.viabackwards.ViaBackwards;
import com.viaversion.viabackwards.api.rewriters.EnchantmentRewriter; import com.viaversion.viabackwards.api.rewriters.EnchantmentRewriter;
import com.viaversion.viabackwards.api.rewriters.TranslatableRewriter;
import com.viaversion.viabackwards.protocol.protocol1_13_2to1_14.Protocol1_13_2To1_14; import com.viaversion.viabackwards.protocol.protocol1_13_2to1_14.Protocol1_13_2To1_14;
import com.viaversion.viabackwards.protocol.protocol1_13_2to1_14.storage.ChunkLightStorage; import com.viaversion.viabackwards.protocol.protocol1_13_2to1_14.storage.ChunkLightStorage;
import com.viaversion.viaversion.api.Via; import com.viaversion.viaversion.api.Via;
@ -65,8 +64,8 @@ public class BlockItemPackets1_14 extends com.viaversion.viabackwards.api.rewrit
private EnchantmentRewriter enchantmentRewriter; private EnchantmentRewriter enchantmentRewriter;
public BlockItemPackets1_14(Protocol1_13_2To1_14 protocol, TranslatableRewriter translatableRewriter) { public BlockItemPackets1_14(Protocol1_13_2To1_14 protocol) {
super(protocol, translatableRewriter); super(protocol);
} }
@Override @Override

View File

@ -43,6 +43,7 @@ public class Protocol1_14_4To1_15 extends BackwardsProtocol<ClientboundPackets1_
public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.15", "1.14", Protocol1_15To1_14_4.class, true); public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.15", "1.14", Protocol1_15To1_14_4.class, true);
private final EntityRewriter entityRewriter = new EntityPackets1_15(this); private final EntityRewriter entityRewriter = new EntityPackets1_15(this);
private final TranslatableRewriter translatableRewriter = new TranslatableRewriter(this);
private BlockItemPackets1_15 blockItemPackets; private BlockItemPackets1_15 blockItemPackets;
public Protocol1_14_4To1_15() { public Protocol1_14_4To1_15() {
@ -53,7 +54,6 @@ public class Protocol1_14_4To1_15 extends BackwardsProtocol<ClientboundPackets1_
protected void registerPackets() { protected void registerPackets() {
executeAsyncAfterLoaded(Protocol1_15To1_14_4.class, MAPPINGS::load); executeAsyncAfterLoaded(Protocol1_15To1_14_4.class, MAPPINGS::load);
TranslatableRewriter translatableRewriter = new TranslatableRewriter(this);
translatableRewriter.registerBossBar(ClientboundPackets1_15.BOSSBAR); translatableRewriter.registerBossBar(ClientboundPackets1_15.BOSSBAR);
translatableRewriter.registerChatMessage(ClientboundPackets1_15.CHAT_MESSAGE); translatableRewriter.registerChatMessage(ClientboundPackets1_15.CHAT_MESSAGE);
translatableRewriter.registerCombatEvent(ClientboundPackets1_15.COMBAT_EVENT); translatableRewriter.registerCombatEvent(ClientboundPackets1_15.COMBAT_EVENT);
@ -63,7 +63,7 @@ public class Protocol1_14_4To1_15 extends BackwardsProtocol<ClientboundPackets1_
translatableRewriter.registerTitle(ClientboundPackets1_15.TITLE); translatableRewriter.registerTitle(ClientboundPackets1_15.TITLE);
translatableRewriter.registerPing(); translatableRewriter.registerPing();
(blockItemPackets = new BlockItemPackets1_15(this, translatableRewriter)).register(); (blockItemPackets = new BlockItemPackets1_15(this)).register();
entityRewriter.register(); entityRewriter.register();
SoundRewriter soundRewriter = new SoundRewriter(this); SoundRewriter soundRewriter = new SoundRewriter(this);
@ -122,4 +122,9 @@ public class Protocol1_14_4To1_15 extends BackwardsProtocol<ClientboundPackets1_
public BlockItemPackets1_15 getItemRewriter() { public BlockItemPackets1_15 getItemRewriter() {
return blockItemPackets; return blockItemPackets;
} }
@Override
public TranslatableRewriter getTranslatableRewriter() {
return translatableRewriter;
}
} }

View File

@ -17,7 +17,6 @@
*/ */
package com.viaversion.viabackwards.protocol.protocol1_14_4to1_15.packets; package com.viaversion.viabackwards.protocol.protocol1_14_4to1_15.packets;
import com.viaversion.viabackwards.api.rewriters.TranslatableRewriter;
import com.viaversion.viabackwards.protocol.protocol1_14_4to1_15.Protocol1_14_4To1_15; import com.viaversion.viabackwards.protocol.protocol1_14_4to1_15.Protocol1_14_4To1_15;
import com.viaversion.viaversion.api.minecraft.chunks.Chunk; import com.viaversion.viaversion.api.minecraft.chunks.Chunk;
import com.viaversion.viaversion.api.minecraft.chunks.ChunkSection; import com.viaversion.viaversion.api.minecraft.chunks.ChunkSection;
@ -35,8 +34,8 @@ import com.viaversion.viaversion.rewriter.BlockRewriter;
public class BlockItemPackets1_15 extends com.viaversion.viabackwards.api.rewriters.ItemRewriter<Protocol1_14_4To1_15> { public class BlockItemPackets1_15 extends com.viaversion.viabackwards.api.rewriters.ItemRewriter<Protocol1_14_4To1_15> {
public BlockItemPackets1_15(Protocol1_14_4To1_15 protocol, TranslatableRewriter translatableRewriter) { public BlockItemPackets1_15(Protocol1_14_4To1_15 protocol) {
super(protocol, translatableRewriter); super(protocol);
} }
@Override @Override

View File

@ -53,8 +53,8 @@ public class Protocol1_15_2To1_16 extends BackwardsProtocol<ClientboundPackets1_
public static final BackwardsMappings MAPPINGS = new BackwardsMappings(); public static final BackwardsMappings MAPPINGS = new BackwardsMappings();
private final EntityRewriter entityRewriter = new EntityPackets1_16(this); private final EntityRewriter entityRewriter = new EntityPackets1_16(this);
private final TranslatableRewriter translatableRewriter = new TranslatableRewriter1_16(this);
private BlockItemPackets1_16 blockItemPackets; private BlockItemPackets1_16 blockItemPackets;
private TranslatableRewriter translatableRewriter;
public Protocol1_15_2To1_16() { public Protocol1_15_2To1_16() {
super(ClientboundPackets1_16.class, ClientboundPackets1_15.class, ServerboundPackets1_16.class, ServerboundPackets1_14.class); super(ClientboundPackets1_16.class, ClientboundPackets1_15.class, ServerboundPackets1_16.class, ServerboundPackets1_14.class);
@ -64,7 +64,6 @@ public class Protocol1_15_2To1_16 extends BackwardsProtocol<ClientboundPackets1_
protected void registerPackets() { protected void registerPackets() {
executeAsyncAfterLoaded(Protocol1_16To1_15_2.class, MAPPINGS::load); executeAsyncAfterLoaded(Protocol1_16To1_15_2.class, MAPPINGS::load);
translatableRewriter = new TranslatableRewriter1_16(this);
translatableRewriter.registerBossBar(ClientboundPackets1_16.BOSSBAR); translatableRewriter.registerBossBar(ClientboundPackets1_16.BOSSBAR);
translatableRewriter.registerCombatEvent(ClientboundPackets1_16.COMBAT_EVENT); translatableRewriter.registerCombatEvent(ClientboundPackets1_16.COMBAT_EVENT);
translatableRewriter.registerDisconnect(ClientboundPackets1_16.DISCONNECT); translatableRewriter.registerDisconnect(ClientboundPackets1_16.DISCONNECT);
@ -74,7 +73,7 @@ public class Protocol1_15_2To1_16 extends BackwardsProtocol<ClientboundPackets1_
new CommandRewriter1_16(this).registerDeclareCommands(ClientboundPackets1_16.DECLARE_COMMANDS); new CommandRewriter1_16(this).registerDeclareCommands(ClientboundPackets1_16.DECLARE_COMMANDS);
(blockItemPackets = new BlockItemPackets1_16(this, translatableRewriter)).register(); (blockItemPackets = new BlockItemPackets1_16(this)).register();
entityRewriter.register(); entityRewriter.register();
registerClientbound(State.STATUS, 0x00, 0x00, new PacketRemapper() { registerClientbound(State.STATUS, 0x00, 0x00, new PacketRemapper() {

View File

@ -19,7 +19,6 @@ package com.viaversion.viabackwards.protocol.protocol1_15_2to1_16.packets;
import com.viaversion.viabackwards.api.rewriters.EnchantmentRewriter; import com.viaversion.viabackwards.api.rewriters.EnchantmentRewriter;
import com.viaversion.viabackwards.api.rewriters.MapColorRewriter; import com.viaversion.viabackwards.api.rewriters.MapColorRewriter;
import com.viaversion.viabackwards.api.rewriters.TranslatableRewriter;
import com.viaversion.viabackwards.protocol.protocol1_15_2to1_16.Protocol1_15_2To1_16; import com.viaversion.viabackwards.protocol.protocol1_15_2to1_16.Protocol1_15_2To1_16;
import com.viaversion.viabackwards.protocol.protocol1_15_2to1_16.data.MapColorRewrites; import com.viaversion.viabackwards.protocol.protocol1_15_2to1_16.data.MapColorRewrites;
import com.viaversion.viaversion.api.minecraft.Position; import com.viaversion.viaversion.api.minecraft.Position;
@ -54,8 +53,8 @@ public class BlockItemPackets1_16 extends com.viaversion.viabackwards.api.rewrit
private EnchantmentRewriter enchantmentRewriter; private EnchantmentRewriter enchantmentRewriter;
public BlockItemPackets1_16(Protocol1_15_2To1_16 protocol, TranslatableRewriter translatableRewriter) { public BlockItemPackets1_16(Protocol1_15_2To1_16 protocol) {
super(protocol, translatableRewriter); super(protocol);
} }
@Override @Override

View File

@ -46,8 +46,8 @@ public class Protocol1_16_1To1_16_2 extends BackwardsProtocol<ClientboundPackets
public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.16.2", "1.16", Protocol1_16_2To1_16_1.class, true); public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.16.2", "1.16", Protocol1_16_2To1_16_1.class, true);
private final EntityRewriter entityRewriter = new EntityPackets1_16_2(this); private final EntityRewriter entityRewriter = new EntityPackets1_16_2(this);
private final TranslatableRewriter translatableRewriter = new TranslatableRewriter(this);
private BlockItemPackets1_16_2 blockItemPackets; private BlockItemPackets1_16_2 blockItemPackets;
private TranslatableRewriter translatableRewriter;
public Protocol1_16_1To1_16_2() { public Protocol1_16_1To1_16_2() {
super(ClientboundPackets1_16_2.class, ClientboundPackets1_16.class, ServerboundPackets1_16_2.class, ServerboundPackets1_16.class); super(ClientboundPackets1_16_2.class, ClientboundPackets1_16.class, ServerboundPackets1_16_2.class, ServerboundPackets1_16.class);
@ -57,7 +57,6 @@ public class Protocol1_16_1To1_16_2 extends BackwardsProtocol<ClientboundPackets
protected void registerPackets() { protected void registerPackets() {
executeAsyncAfterLoaded(Protocol1_16_2To1_16_1.class, MAPPINGS::load); executeAsyncAfterLoaded(Protocol1_16_2To1_16_1.class, MAPPINGS::load);
translatableRewriter = new TranslatableRewriter(this);
translatableRewriter.registerBossBar(ClientboundPackets1_16_2.BOSSBAR); translatableRewriter.registerBossBar(ClientboundPackets1_16_2.BOSSBAR);
translatableRewriter.registerCombatEvent(ClientboundPackets1_16_2.COMBAT_EVENT); translatableRewriter.registerCombatEvent(ClientboundPackets1_16_2.COMBAT_EVENT);
translatableRewriter.registerDisconnect(ClientboundPackets1_16_2.DISCONNECT); translatableRewriter.registerDisconnect(ClientboundPackets1_16_2.DISCONNECT);
@ -68,7 +67,7 @@ public class Protocol1_16_1To1_16_2 extends BackwardsProtocol<ClientboundPackets
new CommandRewriter1_16_2(this).registerDeclareCommands(ClientboundPackets1_16_2.DECLARE_COMMANDS); new CommandRewriter1_16_2(this).registerDeclareCommands(ClientboundPackets1_16_2.DECLARE_COMMANDS);
(blockItemPackets = new BlockItemPackets1_16_2(this, translatableRewriter)).register(); (blockItemPackets = new BlockItemPackets1_16_2(this)).register();
entityRewriter.register(); entityRewriter.register();
SoundRewriter soundRewriter = new SoundRewriter(this); SoundRewriter soundRewriter = new SoundRewriter(this);
@ -140,6 +139,7 @@ public class Protocol1_16_1To1_16_2 extends BackwardsProtocol<ClientboundPackets
user.addEntityTracker(this.getClass(), new EntityTrackerBase(user, Entity1_16_2Types.PLAYER)); user.addEntityTracker(this.getClass(), new EntityTrackerBase(user, Entity1_16_2Types.PLAYER));
} }
@Override
public TranslatableRewriter getTranslatableRewriter() { public TranslatableRewriter getTranslatableRewriter() {
return translatableRewriter; return translatableRewriter;
} }

View File

@ -17,7 +17,6 @@
*/ */
package com.viaversion.viabackwards.protocol.protocol1_16_1to1_16_2.packets; package com.viaversion.viabackwards.protocol.protocol1_16_1to1_16_2.packets;
import com.viaversion.viabackwards.api.rewriters.TranslatableRewriter;
import com.viaversion.viabackwards.protocol.protocol1_16_1to1_16_2.Protocol1_16_1To1_16_2; import com.viaversion.viabackwards.protocol.protocol1_16_1to1_16_2.Protocol1_16_1To1_16_2;
import com.viaversion.viaversion.api.minecraft.BlockChangeRecord; import com.viaversion.viaversion.api.minecraft.BlockChangeRecord;
import com.viaversion.viaversion.api.minecraft.BlockChangeRecord1_8; import com.viaversion.viaversion.api.minecraft.BlockChangeRecord1_8;
@ -39,8 +38,8 @@ import com.viaversion.viaversion.rewriter.BlockRewriter;
public class BlockItemPackets1_16_2 extends com.viaversion.viabackwards.api.rewriters.ItemRewriter<Protocol1_16_1To1_16_2> { public class BlockItemPackets1_16_2 extends com.viaversion.viabackwards.api.rewriters.ItemRewriter<Protocol1_16_1To1_16_2> {
public BlockItemPackets1_16_2(Protocol1_16_1To1_16_2 protocol, TranslatableRewriter translatableRewriter) { public BlockItemPackets1_16_2(Protocol1_16_1To1_16_2 protocol) {
super(protocol, translatableRewriter); super(protocol);
} }
@Override @Override

View File

@ -56,8 +56,8 @@ public final class Protocol1_16_4To1_17 extends BackwardsProtocol<ClientboundPac
public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.17", "1.16.2", Protocol1_17To1_16_4.class, true); public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.17", "1.16.2", Protocol1_17To1_16_4.class, true);
private static final int[] EMPTY_ARRAY = {}; private static final int[] EMPTY_ARRAY = {};
private final EntityRewriter entityRewriter = new EntityPackets1_17(this); private final EntityRewriter entityRewriter = new EntityPackets1_17(this);
private final TranslatableRewriter translatableRewriter = new TranslatableRewriter(this);
private BlockItemPackets1_17 blockItemPackets; private BlockItemPackets1_17 blockItemPackets;
private TranslatableRewriter translatableRewriter;
public Protocol1_16_4To1_17() { public Protocol1_16_4To1_17() {
super(ClientboundPackets1_17.class, ClientboundPackets1_16_2.class, ServerboundPackets1_17.class, ServerboundPackets1_16_2.class); super(ClientboundPackets1_17.class, ClientboundPackets1_16_2.class, ServerboundPackets1_17.class, ServerboundPackets1_16_2.class);
@ -67,7 +67,6 @@ public final class Protocol1_16_4To1_17 extends BackwardsProtocol<ClientboundPac
protected void registerPackets() { protected void registerPackets() {
executeAsyncAfterLoaded(Protocol1_17To1_16_4.class, MAPPINGS::load); executeAsyncAfterLoaded(Protocol1_17To1_16_4.class, MAPPINGS::load);
translatableRewriter = new TranslatableRewriter(this);
translatableRewriter.registerChatMessage(ClientboundPackets1_17.CHAT_MESSAGE); translatableRewriter.registerChatMessage(ClientboundPackets1_17.CHAT_MESSAGE);
translatableRewriter.registerBossBar(ClientboundPackets1_17.BOSSBAR); translatableRewriter.registerBossBar(ClientboundPackets1_17.BOSSBAR);
translatableRewriter.registerDisconnect(ClientboundPackets1_17.DISCONNECT); translatableRewriter.registerDisconnect(ClientboundPackets1_17.DISCONNECT);
@ -75,7 +74,7 @@ public final class Protocol1_16_4To1_17 extends BackwardsProtocol<ClientboundPac
translatableRewriter.registerOpenWindow(ClientboundPackets1_17.OPEN_WINDOW); translatableRewriter.registerOpenWindow(ClientboundPackets1_17.OPEN_WINDOW);
translatableRewriter.registerPing(); translatableRewriter.registerPing();
blockItemPackets = new BlockItemPackets1_17(this, translatableRewriter); blockItemPackets = new BlockItemPackets1_17(this);
blockItemPackets.register(); blockItemPackets.register();
entityRewriter.register(); entityRewriter.register();

View File

@ -20,7 +20,6 @@ package com.viaversion.viabackwards.protocol.protocol1_16_4to1_17.packets;
import com.viaversion.viabackwards.ViaBackwards; import com.viaversion.viabackwards.ViaBackwards;
import com.viaversion.viabackwards.api.rewriters.ItemRewriter; import com.viaversion.viabackwards.api.rewriters.ItemRewriter;
import com.viaversion.viabackwards.api.rewriters.MapColorRewriter; import com.viaversion.viabackwards.api.rewriters.MapColorRewriter;
import com.viaversion.viabackwards.api.rewriters.TranslatableRewriter;
import com.viaversion.viabackwards.protocol.protocol1_16_4to1_17.Protocol1_16_4To1_17; import com.viaversion.viabackwards.protocol.protocol1_16_4to1_17.Protocol1_16_4To1_17;
import com.viaversion.viabackwards.protocol.protocol1_16_4to1_17.data.MapColorRewrites; import com.viaversion.viabackwards.protocol.protocol1_16_4to1_17.data.MapColorRewrites;
import com.viaversion.viabackwards.protocol.protocol1_16_4to1_17.storage.PingRequests; import com.viaversion.viabackwards.protocol.protocol1_16_4to1_17.storage.PingRequests;
@ -47,8 +46,8 @@ import java.util.List;
public final class BlockItemPackets1_17 extends ItemRewriter<Protocol1_16_4To1_17> { public final class BlockItemPackets1_17 extends ItemRewriter<Protocol1_16_4To1_17> {
public BlockItemPackets1_17(Protocol1_16_4To1_17 protocol, TranslatableRewriter translatableRewriter) { public BlockItemPackets1_17(Protocol1_16_4To1_17 protocol) {
super(protocol, translatableRewriter); super(protocol);
} }
@Override @Override

View File

@ -39,6 +39,8 @@ import com.viaversion.viaversion.protocols.protocol1_17to1_16_4.ClientboundPacke
public final class EntityPackets1_17 extends EntityRewriter<Protocol1_16_4To1_17> { public final class EntityPackets1_17 extends EntityRewriter<Protocol1_16_4To1_17> {
private boolean warned;
public EntityPackets1_17(Protocol1_16_4To1_17 protocol) { public EntityPackets1_17(Protocol1_16_4To1_17 protocol) {
super(protocol); super(protocol);
} }
@ -215,9 +217,10 @@ public final class EntityPackets1_17 extends EntityRewriter<Protocol1_16_4To1_17
IntTag height = tag.get("height"); IntTag height = tag.get("height");
IntTag logicalHeight = tag.get("logical_height"); IntTag logicalHeight = tag.get("logical_height");
if (minY.asInt() != 0 || height.asInt() > 256 || logicalHeight.asInt() > 256) { if (minY.asInt() != 0 || height.asInt() > 256 || logicalHeight.asInt() > 256) {
if (warn) { if (warn && !warned) {
ViaBackwards.getPlatform().getLogger().severe("Custom worlds heights are NOT SUPPORTED for 1.16 players and older and may lead to errors!"); ViaBackwards.getPlatform().getLogger().severe("Custom worlds heights are NOT SUPPORTED for 1.16 players and older and may lead to errors!");
ViaBackwards.getPlatform().getLogger().severe("You have min/max set to " + minY.asInt() + "/" + height.asInt()); ViaBackwards.getPlatform().getLogger().severe("You have min/max set to " + minY.asInt() + "/" + height.asInt());
warned = true;
} }
height.setValue(Math.min(256, height.asInt())); height.setValue(Math.min(256, height.asInt()));

View File

@ -39,7 +39,7 @@ public final class Protocol1_17_1To1_18 extends BackwardsProtocol<ClientboundPac
private static final BackwardsMappings MAPPINGS = new BackwardsMappings(); private static final BackwardsMappings MAPPINGS = new BackwardsMappings();
private final EntityPackets1_18 entityRewriter = new EntityPackets1_18(this); private final EntityPackets1_18 entityRewriter = new EntityPackets1_18(this);
private TranslatableRewriter translatableRewriter; private final TranslatableRewriter translatableRewriter = new TranslatableRewriter(this);
private BlockItemPackets1_18 itemRewriter; private BlockItemPackets1_18 itemRewriter;
public Protocol1_17_1To1_18() { public Protocol1_17_1To1_18() {
@ -50,7 +50,6 @@ public final class Protocol1_17_1To1_18 extends BackwardsProtocol<ClientboundPac
protected void registerPackets() { protected void registerPackets() {
executeAsyncAfterLoaded(Protocol1_18To1_17_1.class, MAPPINGS::load); executeAsyncAfterLoaded(Protocol1_18To1_17_1.class, MAPPINGS::load);
translatableRewriter = new TranslatableRewriter(this);
translatableRewriter.registerComponentPacket(ClientboundPackets1_18.CHAT_MESSAGE); translatableRewriter.registerComponentPacket(ClientboundPackets1_18.CHAT_MESSAGE);
translatableRewriter.registerComponentPacket(ClientboundPackets1_18.ACTIONBAR); translatableRewriter.registerComponentPacket(ClientboundPackets1_18.ACTIONBAR);
translatableRewriter.registerComponentPacket(ClientboundPackets1_18.TITLE_TEXT); translatableRewriter.registerComponentPacket(ClientboundPackets1_18.TITLE_TEXT);
@ -62,7 +61,7 @@ public final class Protocol1_17_1To1_18 extends BackwardsProtocol<ClientboundPac
translatableRewriter.registerCombatKill(ClientboundPackets1_18.COMBAT_KILL); translatableRewriter.registerCombatKill(ClientboundPackets1_18.COMBAT_KILL);
translatableRewriter.registerPing(); translatableRewriter.registerPing();
itemRewriter = new BlockItemPackets1_18(this, translatableRewriter); itemRewriter = new BlockItemPackets1_18(this);
entityRewriter.register(); entityRewriter.register();
itemRewriter.register(); itemRewriter.register();

View File

@ -18,7 +18,6 @@
package com.viaversion.viabackwards.protocol.protocol1_17_1to1_18.packets; package com.viaversion.viabackwards.protocol.protocol1_17_1to1_18.packets;
import com.viaversion.viabackwards.api.rewriters.ItemRewriter; import com.viaversion.viabackwards.api.rewriters.ItemRewriter;
import com.viaversion.viabackwards.api.rewriters.TranslatableRewriter;
import com.viaversion.viabackwards.protocol.protocol1_17_1to1_18.Protocol1_17_1To1_18; import com.viaversion.viabackwards.protocol.protocol1_17_1to1_18.Protocol1_17_1To1_18;
import com.viaversion.viabackwards.protocol.protocol1_17_1to1_18.data.BlockEntityIds; import com.viaversion.viabackwards.protocol.protocol1_17_1to1_18.data.BlockEntityIds;
import com.viaversion.viaversion.api.data.ParticleMappings; import com.viaversion.viaversion.api.data.ParticleMappings;
@ -49,8 +48,8 @@ import java.util.List;
public final class BlockItemPackets1_18 extends ItemRewriter<Protocol1_17_1To1_18> { public final class BlockItemPackets1_18 extends ItemRewriter<Protocol1_17_1To1_18> {
public BlockItemPackets1_18(final Protocol1_17_1To1_18 protocol, final TranslatableRewriter translatableRewriter) { public BlockItemPackets1_18(final Protocol1_17_1To1_18 protocol) {
super(protocol, translatableRewriter); super(protocol);
} }
@Override @Override