3
0
Mirror von https://github.com/ViaVersion/ViaBackwards.git synchronisiert 2024-07-26 17:08:05 +02:00

Rework logging inside protocols and rewriters

Dieser Commit ist enthalten in:
FlorianMichael 2024-05-12 19:10:48 +02:00 committet von Nassim Jahnke
Ursprung 264cce865b
Commit b85046f11d
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: EF6771C01F6EF02F
23 geänderte Dateien mit 66 neuen und 49 gelöschten Zeilen

Datei anzeigen

@ -17,13 +17,13 @@
*/ */
package com.viaversion.viabackwards.api.entities.storage; package com.viaversion.viabackwards.api.entities.storage;
import com.viaversion.viabackwards.ViaBackwards;
import com.viaversion.viabackwards.api.rewriters.EntityRewriterBase; import com.viaversion.viabackwards.api.rewriters.EntityRewriterBase;
import com.viaversion.viaversion.api.Via; import com.viaversion.viaversion.api.Via;
import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.connection.UserConnection;
import com.viaversion.viaversion.api.data.entity.StoredEntityData; import com.viaversion.viaversion.api.data.entity.StoredEntityData;
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper; import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
import com.viaversion.viaversion.api.type.Types; import com.viaversion.viaversion.api.type.Types;
import com.viaversion.viaversion.util.ProtocolLogger;
import java.util.function.Supplier; import java.util.function.Supplier;
public class EntityPositionHandler { public class EntityPositionHandler {
@ -51,12 +51,13 @@ public class EntityPositionHandler {
StoredEntityData storedEntity = entityRewriter.tracker(wrapper.user()).entityData(entityId); StoredEntityData storedEntity = entityRewriter.tracker(wrapper.user()).entityData(entityId);
if (storedEntity == null) { if (storedEntity == null) {
if (Via.getManager().isDebug()) { // There is too many plugins violating this out there, and reading seems to be hard! :> if (Via.getManager().isDebug()) { // There is too many plugins violating this out there, and reading seems to be hard! :>
ViaBackwards.getPlatform().getLogger().warning("Stored entity with id " + entityId + " missing at position: " + x + " - " + y + " - " + z + " in " + storageClass.getSimpleName()); ProtocolLogger logger = entityRewriter.protocol().getLogger();
logger.warning("Stored entity with id " + entityId + " missing at position: " + x + " - " + y + " - " + z + " in " + storageClass.getSimpleName());
if (entityId == -1 && x == 0 && y == 0 && z == 0) { if (entityId == -1 && x == 0 && y == 0 && z == 0) {
ViaBackwards.getPlatform().getLogger().warning("DO NOT REPORT THIS TO VIA, THIS IS A PLUGIN ISSUE"); logger.warning("DO NOT REPORT THIS TO VIA, THIS IS A PLUGIN ISSUE");
} else if (!warnedForMissingEntity) { } else if (!warnedForMissingEntity) {
warnedForMissingEntity = true; warnedForMissingEntity = true;
ViaBackwards.getPlatform().getLogger().warning("This is very likely caused by a plugin sending a teleport packet for an entity outside of the player's range."); logger.warning("This is very likely caused by a plugin sending a teleport packet for an entity outside of the player's range.");
} }
} }
return; return;
@ -69,7 +70,7 @@ public class EntityPositionHandler {
} else { } else {
positionStorage = storedEntity.get(storageClass); positionStorage = storedEntity.get(storageClass);
if (positionStorage == null) { if (positionStorage == null) {
ViaBackwards.getPlatform().getLogger().warning("Stored entity with id " + entityId + " missing " + storageClass.getSimpleName()); entityRewriter.protocol().getLogger().warning("Stored entity with id " + entityId + " missing " + storageClass.getSimpleName());
return; return;
} }
} }
@ -81,7 +82,7 @@ public class EntityPositionHandler {
StoredEntityData storedEntity = entityRewriter.tracker(user).entityData(entityId); StoredEntityData storedEntity = entityRewriter.tracker(user).entityData(entityId);
EntityPositionStorage entityStorage; EntityPositionStorage entityStorage;
if (storedEntity == null || (entityStorage = storedEntity.get(EntityPositionStorage.class)) == null) { if (storedEntity == null || (entityStorage = storedEntity.get(EntityPositionStorage.class)) == null) {
ViaBackwards.getPlatform().getLogger().warning("Untracked entity with id " + entityId + " in " + storageClass.getSimpleName()); entityRewriter.protocol().getLogger().warning("Untracked entity with id " + entityId + " in " + storageClass.getSimpleName());
return null; return null;
} }
return entityStorage; return entityStorage;

Datei anzeigen

@ -155,7 +155,7 @@ public abstract class LegacyEntityRewriter<C extends ClientboundPacketType, T ex
return wrapper -> { return wrapper -> {
ObjectType type = objectGetter.apply(wrapper.get(Types.BYTE, 0)); ObjectType type = objectGetter.apply(wrapper.get(Types.BYTE, 0));
if (type == null) { if (type == null) {
ViaBackwards.getPlatform().getLogger().warning("Could not find Entity Type" + wrapper.get(Types.BYTE, 0)); protocol.getLogger().warning("Could not find Entity Type" + wrapper.get(Types.BYTE, 0));
return; return;
} }

Datei anzeigen

@ -55,7 +55,7 @@ public class TranslatableRewriter<C extends ClientboundPacketType> extends Compo
super(protocol, type); super(protocol, type);
final Map<String, String> translatableMappings = TRANSLATABLES.get(sectionIdentifier); final Map<String, String> translatableMappings = TRANSLATABLES.get(sectionIdentifier);
if (translatableMappings == null) { if (translatableMappings == null) {
ViaBackwards.getPlatform().getLogger().warning("Missing " + sectionIdentifier + " translatables!"); protocol.getLogger().warning("Missing " + sectionIdentifier + " translatables!");
this.translatables = new HashMap<>(); this.translatables = new HashMap<>();
} else { } else {
this.translatables = translatableMappings; this.translatables = translatableMappings;

Datei anzeigen

@ -17,7 +17,6 @@
*/ */
package com.viaversion.viabackwards.protocol.v1_13_1to1_13.rewriter; package com.viaversion.viabackwards.protocol.v1_13_1to1_13.rewriter;
import com.viaversion.viabackwards.ViaBackwards;
import com.viaversion.viabackwards.api.rewriters.LegacyEntityRewriter; import com.viaversion.viabackwards.api.rewriters.LegacyEntityRewriter;
import com.viaversion.viabackwards.protocol.v1_13_1to1_13.Protocol1_13_1To1_13; import com.viaversion.viabackwards.protocol.v1_13_1to1_13.Protocol1_13_1To1_13;
import com.viaversion.viaversion.api.minecraft.Particle; import com.viaversion.viaversion.api.minecraft.Particle;
@ -26,7 +25,6 @@ import com.viaversion.viaversion.api.minecraft.entities.EntityTypes1_13;
import com.viaversion.viaversion.api.minecraft.item.Item; import com.viaversion.viaversion.api.minecraft.item.Item;
import com.viaversion.viaversion.api.minecraft.entitydata.EntityData; import com.viaversion.viaversion.api.minecraft.entitydata.EntityData;
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers; import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
import com.viaversion.viaversion.api.type.Type;
import com.viaversion.viaversion.api.type.Types; import com.viaversion.viaversion.api.type.Types;
import com.viaversion.viaversion.api.type.types.version.Types1_13; import com.viaversion.viaversion.api.type.types.version.Types1_13;
import com.viaversion.viaversion.libs.gson.JsonElement; import com.viaversion.viaversion.libs.gson.JsonElement;
@ -59,7 +57,7 @@ public class EntityPacketRewriter1_13_1 extends LegacyEntityRewriter<Clientbound
byte type = wrapper.get(Types.BYTE, 0); byte type = wrapper.get(Types.BYTE, 0);
EntityTypes1_13.EntityType entType = EntityTypes1_13.getTypeFromId(type, true); EntityTypes1_13.EntityType entType = EntityTypes1_13.getTypeFromId(type, true);
if (entType == null) { if (entType == null) {
ViaBackwards.getPlatform().getLogger().warning("Could not find 1.13 entity type " + type); protocol.getLogger().warning("Could not find entity type " + type);
return; return;
} }

Datei anzeigen

@ -47,11 +47,13 @@ import com.viaversion.viaversion.protocols.v1_12to1_12_1.packet.ServerboundPacke
import com.viaversion.viaversion.protocols.v1_12_2to1_13.Protocol1_12_2To1_13; import com.viaversion.viaversion.protocols.v1_12_2to1_13.Protocol1_12_2To1_13;
import com.viaversion.viaversion.rewriter.ComponentRewriter; import com.viaversion.viaversion.rewriter.ComponentRewriter;
import com.viaversion.viaversion.util.ComponentUtil; import com.viaversion.viaversion.util.ComponentUtil;
import com.viaversion.viaversion.util.ProtocolLogger;
import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.nullness.qual.Nullable;
public class Protocol1_13To1_12_2 extends BackwardsProtocol<ClientboundPackets1_13, ClientboundPackets1_12_1, ServerboundPackets1_13, ServerboundPackets1_12_1> { public class Protocol1_13To1_12_2 extends BackwardsProtocol<ClientboundPackets1_13, ClientboundPackets1_12_1, ServerboundPackets1_13, ServerboundPackets1_12_1> {
public static final BackwardsMappingData1_13 MAPPINGS = new BackwardsMappingData1_13(); public static final BackwardsMappingData1_13 MAPPINGS = new BackwardsMappingData1_13();
public static final ProtocolLogger LOGGER = new ProtocolLogger(Protocol1_13To1_12_2.class);
private final EntityPacketRewriter1_13 entityRewriter = new EntityPacketRewriter1_13(this); private final EntityPacketRewriter1_13 entityRewriter = new EntityPacketRewriter1_13(this);
private final BlockItemPacketRewriter1_13 blockItemPackets = new BlockItemPacketRewriter1_13(this); private final BlockItemPacketRewriter1_13 blockItemPackets = new BlockItemPacketRewriter1_13(this);
private final TranslatableRewriter<ClientboundPackets1_13> translatableRewriter = new TranslatableRewriter<>(this, ComponentRewriter.ReadType.JSON) { private final TranslatableRewriter<ClientboundPackets1_13> translatableRewriter = new TranslatableRewriter<>(this, ComponentRewriter.ReadType.JSON) {
@ -133,6 +135,11 @@ public class Protocol1_13To1_12_2 extends BackwardsProtocol<ClientboundPackets1_
return MAPPINGS; return MAPPINGS;
} }
@Override
public ProtocolLogger getLogger() {
return LOGGER;
}
@Override @Override
public EntityPacketRewriter1_13 getEntityRewriter() { public EntityPacketRewriter1_13 getEntityRewriter() {
return entityRewriter; return entityRewriter;

Datei anzeigen

@ -18,7 +18,7 @@
package com.viaversion.viabackwards.protocol.v1_13to1_12_2.block_entity_handlers; package com.viaversion.viabackwards.protocol.v1_13to1_12_2.block_entity_handlers;
import com.viaversion.viabackwards.ViaBackwards; import com.viaversion.viabackwards.protocol.v1_13to1_12_2.Protocol1_13To1_12_2;
import com.viaversion.viabackwards.protocol.v1_13to1_12_2.provider.BackwardsBlockEntityProvider.BackwardsBlockEntityHandler; import com.viaversion.viabackwards.protocol.v1_13to1_12_2.provider.BackwardsBlockEntityProvider.BackwardsBlockEntityHandler;
import com.viaversion.nbt.tag.CompoundTag; import com.viaversion.nbt.tag.CompoundTag;
import com.viaversion.nbt.tag.ListTag; import com.viaversion.nbt.tag.ListTag;
@ -43,7 +43,7 @@ public class BannerHandler implements BackwardsBlockEntityHandler {
int color = (blockId - WALL_BANNER_START) >> 2; int color = (blockId - WALL_BANNER_START) >> 2;
tag.putInt("Base", 15 - color); tag.putInt("Base", 15 - color);
} else { } else {
ViaBackwards.getPlatform().getLogger().warning("Why does this block have the banner block entity? :(" + tag); Protocol1_13To1_12_2.LOGGER.warning("Why does this block have the banner block entity? :(" + tag);
} }
// Invert colors // Invert colors

Datei anzeigen

@ -512,8 +512,8 @@ public class BlockItemPacketRewriter1_13 extends BackwardsItemRewriter<Clientbou
if (originalId == 362) { // base/colorless shulker box if (originalId == 362) { // base/colorless shulker box
rawId = 0xe50000; // purple shulker box rawId = 0xe50000; // purple shulker box
} else { } else {
if (!Via.getConfig().isSuppressConversionWarnings() || Via.getManager().isDebug()) { if (!Via.getConfig().isSuppressConversionWarnings()) {
ViaBackwards.getPlatform().getLogger().warning("Failed to get 1.12 item for " + originalId); protocol.getLogger().warning("Failed to get new item for " + originalId);
} }
rawId = 0x10000; rawId = 0x10000;
@ -658,7 +658,7 @@ public class BlockItemPacketRewriter1_13 extends BackwardsItemRewriter<Clientbou
} }
if (Via.getManager().isDebug()) { if (Via.getManager().isDebug()) {
ViaBackwards.getPlatform().getLogger().warning("Found unknown enchant: " + newId); protocol.getLogger().warning("Found unknown enchant: " + newId);
} }
continue; continue;
} else { } else {
@ -822,8 +822,8 @@ public class BlockItemPacketRewriter1_13 extends BackwardsItemRewriter<Clientbou
} else if (protocol.getMappingData().getItemMappings().inverse().getNewId(rawId & ~0xF) != -1) { } else if (protocol.getMappingData().getItemMappings().inverse().getNewId(rawId & ~0xF) != -1) {
rawId &= ~0xF; // Remove data rawId &= ~0xF; // Remove data
} else { } else {
if (!Via.getConfig().isSuppressConversionWarnings() || Via.getManager().isDebug()) { if (!Via.getConfig().isSuppressConversionWarnings()) {
ViaBackwards.getPlatform().getLogger().warning("Failed to get 1.13 item for " + item.identifier()); protocol.getLogger().warning("Failed to get old item for " + item.identifier());
} }
rawId = 16; // Stone rawId = 16; // Stone
} }

Datei anzeigen

@ -143,7 +143,7 @@ public class EntityPacketRewriter1_13 extends LegacyEntityRewriter<ClientboundPa
int oldId = EntityTypeMapping.getOldId(type); int oldId = EntityTypeMapping.getOldId(type);
if (oldId == -1) { if (oldId == -1) {
if (!hasData(entityType)) { if (!hasData(entityType)) {
ViaBackwards.getPlatform().getLogger().warning("Could not find 1.12 entity type for 1.13 entity type " + type + "/" + entityType); protocol.getLogger().warning("Could not find entity type mapping " + type + "/" + entityType);
} }
} else { } else {
wrapper.set(Types.VAR_INT, 1, oldId); wrapper.set(Types.VAR_INT, 1, oldId);

Datei anzeigen

@ -103,8 +103,8 @@ public class PlayerPacketRewriter1_13 extends RewriterBase<Protocol1_13To1_12_2>
} else { } else {
String oldChannel = ItemPacketRewriter1_13.getOldPluginChannelId(channel); String oldChannel = ItemPacketRewriter1_13.getOldPluginChannelId(channel);
if (oldChannel == null) { if (oldChannel == null) {
if (!Via.getConfig().isSuppressConversionWarnings() || Via.getManager().isDebug()) { if (!Via.getConfig().isSuppressConversionWarnings()) {
ViaBackwards.getPlatform().getLogger().warning("Ignoring clientbound plugin message with channel: " + channel); protocol.getLogger().warning("Ignoring clientbound plugin message with channel: " + channel);
} }
wrapper.cancel(); wrapper.cancel();
return; return;
@ -118,8 +118,8 @@ public class PlayerPacketRewriter1_13 extends RewriterBase<Protocol1_13To1_12_2>
String rewritten = ItemPacketRewriter1_13.getOldPluginChannelId(s); String rewritten = ItemPacketRewriter1_13.getOldPluginChannelId(s);
if (rewritten != null) { if (rewritten != null) {
rewrittenChannels.add(rewritten); rewrittenChannels.add(rewritten);
} else if (!Via.getConfig().isSuppressConversionWarnings() || Via.getManager().isDebug()) { } else if (!Via.getConfig().isSuppressConversionWarnings()) {
ViaBackwards.getPlatform().getLogger().warning("Ignoring plugin channel in clientbound " + oldChannel + ": " + s); protocol.getLogger().warning("Ignoring plugin channel in clientbound " + oldChannel + ": " + s);
} }
} }
wrapper.write(Types.REMAINING_BYTES, Joiner.on('\0').join(rewrittenChannels).getBytes(StandardCharsets.UTF_8)); wrapper.write(Types.REMAINING_BYTES, Joiner.on('\0').join(rewrittenChannels).getBytes(StandardCharsets.UTF_8));
@ -394,7 +394,7 @@ public class PlayerPacketRewriter1_13 extends RewriterBase<Protocol1_13To1_12_2>
//Maybe older versions used this and we need to implement this? The issue is that we would have to save the command block types //Maybe older versions used this and we need to implement this? The issue is that we would have to save the command block types
wrapper.setPacketType(ServerboundPackets1_13.SET_COMMAND_BLOCK); wrapper.setPacketType(ServerboundPackets1_13.SET_COMMAND_BLOCK);
wrapper.cancel(); wrapper.cancel();
ViaBackwards.getPlatform().getLogger().warning("Client send MC|AdvCmd custom payload to update command block, weird!"); protocol.getLogger().warning("Client send MC|AdvCmd custom payload to update command block, weird!");
} else if (type == 1) { } else if (type == 1) {
wrapper.setPacketType(ServerboundPackets1_13.SET_COMMAND_MINECART); wrapper.setPacketType(ServerboundPackets1_13.SET_COMMAND_MINECART);
wrapper.write(Types.VAR_INT, wrapper.read(Types.INT)); //Entity Id wrapper.write(Types.VAR_INT, wrapper.read(Types.INT)); //Entity Id
@ -482,8 +482,8 @@ public class PlayerPacketRewriter1_13 extends RewriterBase<Protocol1_13To1_12_2>
default -> { default -> {
String newChannel = ItemPacketRewriter1_13.getNewPluginChannelId(channel); String newChannel = ItemPacketRewriter1_13.getNewPluginChannelId(channel);
if (newChannel == null) { if (newChannel == null) {
if (!Via.getConfig().isSuppressConversionWarnings() || Via.getManager().isDebug()) { if (!Via.getConfig().isSuppressConversionWarnings()) {
ViaBackwards.getPlatform().getLogger().warning("Ignoring serverbound plugin message with channel: " + channel); protocol.getLogger().warning("Ignoring serverbound plugin message with channel: " + channel);
} }
wrapper.cancel(); wrapper.cancel();
return; return;
@ -497,8 +497,8 @@ public class PlayerPacketRewriter1_13 extends RewriterBase<Protocol1_13To1_12_2>
String rewritten = ItemPacketRewriter1_13.getNewPluginChannelId(s); String rewritten = ItemPacketRewriter1_13.getNewPluginChannelId(s);
if (rewritten != null) { if (rewritten != null) {
rewrittenChannels.add(rewritten); rewrittenChannels.add(rewritten);
} else if (!Via.getConfig().isSuppressConversionWarnings() || Via.getManager().isDebug()) { } else if (!Via.getConfig().isSuppressConversionWarnings()) {
ViaBackwards.getPlatform().getLogger().warning("Ignoring plugin channel in serverbound " + Key.stripMinecraftNamespace(newChannel).toUpperCase(Locale.ROOT) + ": " + s); protocol.getLogger().warning("Ignoring plugin channel in serverbound " + Key.stripMinecraftNamespace(newChannel).toUpperCase(Locale.ROOT) + ": " + s);
} }
} }
if (!rewrittenChannels.isEmpty()) { if (!rewrittenChannels.isEmpty()) {

Datei anzeigen

@ -125,7 +125,7 @@ public class BlockItemPacketRewriter1_14 extends BackwardsItemRewriter<Clientbou
} }
if (stringType == null) { if (stringType == null) {
ViaBackwards.getPlatform().getLogger().warning("Can't open inventory for 1.13 player! Type: " + type); protocol.getLogger().warning("Can't open inventory for player! Type: " + type);
wrapper.cancel(); wrapper.cancel();
return; return;
} }

Datei anzeigen

@ -55,7 +55,7 @@ public class SoundPacketRewriter1_14 extends RewriterBase<Protocol1_14To1_13_2>
StoredEntityData storedEntity = wrapper.user().getEntityTracker(protocol.getClass()).entityData(entityId); StoredEntityData storedEntity = wrapper.user().getEntityTracker(protocol.getClass()).entityData(entityId);
EntityPositionStorage1_14 entityStorage; EntityPositionStorage1_14 entityStorage;
if (storedEntity == null || (entityStorage = storedEntity.get(EntityPositionStorage1_14.class)) == null) { if (storedEntity == null || (entityStorage = storedEntity.get(EntityPositionStorage1_14.class)) == null) {
ViaBackwards.getPlatform().getLogger().warning("Untracked entity with id " + entityId); protocol.getLogger().warning("Untracked entity with id " + entityId);
return; return;
} }

Datei anzeigen

@ -21,7 +21,7 @@ import com.viaversion.viabackwards.api.BackwardsProtocol;
import com.viaversion.viabackwards.api.data.BackwardsMappingData; import com.viaversion.viabackwards.api.data.BackwardsMappingData;
import com.viaversion.viabackwards.api.rewriters.SoundRewriter; import com.viaversion.viabackwards.api.rewriters.SoundRewriter;
import com.viaversion.viabackwards.api.rewriters.TranslatableRewriter; import com.viaversion.viabackwards.api.rewriters.TranslatableRewriter;
import com.viaversion.viabackwards.protocol.v1_16_2to1_16_1.data.CommandRewriter1_16_2; import com.viaversion.viabackwards.protocol.v1_16_2to1_16_1.rewriter.CommandRewriter1_16_2;
import com.viaversion.viabackwards.protocol.v1_16_2to1_16_1.rewriter.BlockItemPacketRewriter1_16_2; import com.viaversion.viabackwards.protocol.v1_16_2to1_16_1.rewriter.BlockItemPacketRewriter1_16_2;
import com.viaversion.viabackwards.protocol.v1_16_2to1_16_1.rewriter.EntityPacketRewriter1_16_2; import com.viaversion.viabackwards.protocol.v1_16_2to1_16_1.rewriter.EntityPacketRewriter1_16_2;
import com.viaversion.viabackwards.protocol.v1_16_2to1_16_1.storage.BiomeStorage; import com.viaversion.viabackwards.protocol.v1_16_2to1_16_1.storage.BiomeStorage;
@ -40,10 +40,12 @@ import com.viaversion.viaversion.protocols.v1_16_1to1_16_2.packet.ServerboundPac
import com.viaversion.viaversion.rewriter.ComponentRewriter; import com.viaversion.viaversion.rewriter.ComponentRewriter;
import com.viaversion.viaversion.rewriter.StatisticsRewriter; import com.viaversion.viaversion.rewriter.StatisticsRewriter;
import com.viaversion.viaversion.rewriter.TagRewriter; import com.viaversion.viaversion.rewriter.TagRewriter;
import com.viaversion.viaversion.util.ProtocolLogger;
public class Protocol1_16_2To1_16_1 extends BackwardsProtocol<ClientboundPackets1_16_2, ClientboundPackets1_16, ServerboundPackets1_16_2, ServerboundPackets1_16> { public class Protocol1_16_2To1_16_1 extends BackwardsProtocol<ClientboundPackets1_16_2, ClientboundPackets1_16, ServerboundPackets1_16_2, ServerboundPackets1_16> {
public static final BackwardsMappingData MAPPINGS = new BackwardsMappingData("1.16.2", "1.16", Protocol1_16_1To1_16_2.class); public static final BackwardsMappingData MAPPINGS = new BackwardsMappingData("1.16.2", "1.16", Protocol1_16_1To1_16_2.class);
public static final ProtocolLogger LOGGER = new ProtocolLogger(Protocol1_16_2To1_16_1.class);
private final EntityPacketRewriter1_16_2 entityRewriter = new EntityPacketRewriter1_16_2(this); private final EntityPacketRewriter1_16_2 entityRewriter = new EntityPacketRewriter1_16_2(this);
private final BlockItemPacketRewriter1_16_2 blockItemPackets = new BlockItemPacketRewriter1_16_2(this); private final BlockItemPacketRewriter1_16_2 blockItemPackets = new BlockItemPacketRewriter1_16_2(this);
private final TranslatableRewriter<ClientboundPackets1_16_2> translatableRewriter = new TranslatableRewriter<>(this, ComponentRewriter.ReadType.JSON); private final TranslatableRewriter<ClientboundPackets1_16_2> translatableRewriter = new TranslatableRewriter<>(this, ComponentRewriter.ReadType.JSON);
@ -134,6 +136,11 @@ public class Protocol1_16_2To1_16_1 extends BackwardsProtocol<ClientboundPackets
return MAPPINGS; return MAPPINGS;
} }
@Override
public ProtocolLogger getLogger() {
return LOGGER;
}
@Override @Override
public EntityPacketRewriter1_16_2 getEntityRewriter() { public EntityPacketRewriter1_16_2 getEntityRewriter() {
return entityRewriter; return entityRewriter;

Datei anzeigen

@ -19,6 +19,7 @@ package com.viaversion.viabackwards.protocol.v1_16_2to1_16_1.data;
import com.viaversion.viabackwards.ViaBackwards; import com.viaversion.viabackwards.ViaBackwards;
import com.viaversion.viabackwards.api.data.BackwardsMappingDataLoader; import com.viaversion.viabackwards.api.data.BackwardsMappingDataLoader;
import com.viaversion.viabackwards.protocol.v1_16_2to1_16_1.Protocol1_16_2To1_16_1;
import com.viaversion.viaversion.api.Via; import com.viaversion.viaversion.api.Via;
import com.viaversion.viaversion.libs.fastutil.objects.Object2IntMap; import com.viaversion.viaversion.libs.fastutil.objects.Object2IntMap;
import com.viaversion.viaversion.libs.fastutil.objects.Object2IntOpenHashMap; import com.viaversion.viaversion.libs.fastutil.objects.Object2IntOpenHashMap;
@ -27,7 +28,7 @@ import com.viaversion.viaversion.libs.gson.JsonObject;
import com.viaversion.viaversion.util.Key; import com.viaversion.viaversion.util.Key;
import java.util.Map; import java.util.Map;
public final class BiomeMappings { public final class BiomeMappings1_16_1 {
private static final Object2IntMap<String> MODERN_TO_LEGACY_ID = new Object2IntOpenHashMap<>(); private static final Object2IntMap<String> MODERN_TO_LEGACY_ID = new Object2IntOpenHashMap<>();
private static final Object2IntMap<String> LEGACY_BIOMES = new Object2IntOpenHashMap<>(); private static final Object2IntMap<String> LEGACY_BIOMES = new Object2IntOpenHashMap<>();
@ -121,7 +122,7 @@ public final class BiomeMappings {
for (final Map.Entry<String, JsonElement> entry : mappings.entrySet()) { for (final Map.Entry<String, JsonElement> entry : mappings.entrySet()) {
final int legacyBiome = LEGACY_BIOMES.getInt(entry.getValue().getAsString()); final int legacyBiome = LEGACY_BIOMES.getInt(entry.getValue().getAsString());
if (legacyBiome == -1) { if (legacyBiome == -1) {
ViaBackwards.getPlatform().getLogger().warning("Unknown legacy biome: " + entry.getValue().getAsString()); Protocol1_16_2To1_16_1.LOGGER.warning("Unknown legacy biome: " + entry.getValue().getAsString());
continue; continue;
} }
@ -137,7 +138,7 @@ public final class BiomeMappings {
final int legacyBiome = MODERN_TO_LEGACY_ID.getInt(Key.stripMinecraftNamespace(biome)); final int legacyBiome = MODERN_TO_LEGACY_ID.getInt(Key.stripMinecraftNamespace(biome));
if (legacyBiome == -1) { if (legacyBiome == -1) {
if (!Via.getConfig().isSuppressConversionWarnings()) { if (!Via.getConfig().isSuppressConversionWarnings()) {
ViaBackwards.getPlatform().getLogger().warning("Biome with id " + biome + " has no legacy biome mapping (custom datapack?)"); Protocol1_16_2To1_16_1.LOGGER.warning("Biome with id " + biome + " has no legacy biome mapping (custom datapack?)");
} }
return 1; // Plains return 1; // Plains
} }

Datei anzeigen

@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package com.viaversion.viabackwards.protocol.v1_16_2to1_16_1.data; package com.viaversion.viabackwards.protocol.v1_16_2to1_16_1.rewriter;
import com.viaversion.viabackwards.protocol.v1_16_2to1_16_1.Protocol1_16_2To1_16_1; import com.viaversion.viabackwards.protocol.v1_16_2to1_16_1.Protocol1_16_2To1_16_1;
import com.viaversion.viaversion.api.type.Types; import com.viaversion.viaversion.api.type.Types;

Datei anzeigen

@ -85,7 +85,7 @@ public class EntityPacketRewriter1_16_2 extends EntityRewriter<ClientboundPacket
} }
} else if (!warned) { } else if (!warned) {
warned = true; warned = true;
ViaBackwards.getPlatform().getLogger().warning("1.16 and 1.16.1 clients are only partially supported and may have wrong biomes displayed."); protocol.getLogger().warning("1.16 and 1.16.1 clients are only partially supported and may have wrong biomes displayed.");
} }
// Just screw the registry and write the defaults for 1.16 and 1.16.1 clients // Just screw the registry and write the defaults for 1.16 and 1.16.1 clients

Datei anzeigen

@ -17,7 +17,7 @@
*/ */
package com.viaversion.viabackwards.protocol.v1_16_2to1_16_1.storage; package com.viaversion.viabackwards.protocol.v1_16_2to1_16_1.storage;
import com.viaversion.viabackwards.protocol.v1_16_2to1_16_1.data.BiomeMappings; import com.viaversion.viabackwards.protocol.v1_16_2to1_16_1.data.BiomeMappings1_16_1;
import com.viaversion.viaversion.api.connection.StorableObject; import com.viaversion.viaversion.api.connection.StorableObject;
import com.viaversion.viaversion.libs.fastutil.ints.Int2IntMap; import com.viaversion.viaversion.libs.fastutil.ints.Int2IntMap;
import com.viaversion.viaversion.libs.fastutil.ints.Int2IntOpenHashMap; import com.viaversion.viaversion.libs.fastutil.ints.Int2IntOpenHashMap;
@ -31,7 +31,7 @@ public final class BiomeStorage implements StorableObject {
} }
public void addBiome(final String biome, final int id) { public void addBiome(final String biome, final int id) {
modernToLegacyBiomes.put(id, BiomeMappings.toLegacyBiome(biome)); modernToLegacyBiomes.put(id, BiomeMappings1_16_1.toLegacyBiome(biome));
} }
public int legacyBiome(final int biome) { public int legacyBiome(final int biome) {

Datei anzeigen

@ -178,7 +178,7 @@ public class BlockItemPacketRewriter1_16 extends BackwardsItemRewriter<Clientbou
int biome = chunk.getBiomeData()[i]; int biome = chunk.getBiomeData()[i];
int legacyBiome = biomeStorage.legacyBiome(biome); int legacyBiome = biomeStorage.legacyBiome(biome);
if (legacyBiome == -1) { if (legacyBiome == -1) {
ViaBackwards.getPlatform().getLogger().warning("Biome sent that does not exist in the biome registry: " + biome); protocol.getLogger().warning("Biome sent that does not exist in the biome registry: " + biome);
legacyBiome = 1; legacyBiome = 1;
} }
chunk.getBiomeData()[i] = legacyBiome; chunk.getBiomeData()[i] = legacyBiome;

Datei anzeigen

@ -207,7 +207,7 @@ public final class EntityPacketRewriter1_17 extends EntityRewriter<ClientboundPa
NumberTag logicalHeight = tag.getNumberTag("logical_height"); NumberTag logicalHeight = tag.getNumberTag("logical_height");
if (minY.asInt() != 0 || height.asInt() > 256 || logicalHeight.asInt() > 256) { if (minY.asInt() != 0 || height.asInt() > 256 || logicalHeight.asInt() > 256) {
if (warn && !warned) { if (warn && !warned) {
ViaBackwards.getPlatform().getLogger().warning("Increased world height is NOT SUPPORTED for 1.16 players and below. They will see a void below y 0 and above 256"); protocol.getLogger().warning("Increased world height is NOT SUPPORTED for 1.16 players and below. They will see a void below y 0 and above 256");
warned = true; warned = true;
} }

Datei anzeigen

@ -45,7 +45,7 @@ public final class Protocol1_18_2To1_18 extends BackwardsProtocol<ClientboundPac
final int id = wrapper.read(Types.VAR_INT); final int id = wrapper.read(Types.VAR_INT);
if ((byte) id != id) { if ((byte) id != id) {
if (!Via.getConfig().isSuppressConversionWarnings()) { if (!Via.getConfig().isSuppressConversionWarnings()) {
ViaBackwards.getPlatform().getLogger().warning("Cannot send entity effect id " + id + " to old client"); getLogger().warning("Cannot send entity effect id " + id + " to old client");
} }
wrapper.cancel(); wrapper.cancel();
return; return;

Datei anzeigen

@ -34,6 +34,7 @@ import com.viaversion.viaversion.api.minecraft.signature.SignableCommandArgument
import com.viaversion.viaversion.api.minecraft.signature.model.DecoratableMessage; import com.viaversion.viaversion.api.minecraft.signature.model.DecoratableMessage;
import com.viaversion.viaversion.api.minecraft.signature.model.MessageMetadata; import com.viaversion.viaversion.api.minecraft.signature.model.MessageMetadata;
import com.viaversion.viaversion.api.minecraft.signature.storage.ChatSession1_19_1; import com.viaversion.viaversion.api.minecraft.signature.storage.ChatSession1_19_1;
import com.viaversion.viaversion.api.protocol.Protocol;
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper; import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
import com.viaversion.viaversion.api.protocol.packet.State; import com.viaversion.viaversion.api.protocol.packet.State;
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers; import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
@ -168,7 +169,7 @@ public final class Protocol1_19_1To1_19 extends BackwardsProtocol<ClientboundPac
final int chatTypeId = wrapper.read(Types.VAR_INT); final int chatTypeId = wrapper.read(Types.VAR_INT);
final JsonElement senderName = wrapper.read(Types.COMPONENT); final JsonElement senderName = wrapper.read(Types.COMPONENT);
final JsonElement targetName = wrapper.read(Types.OPTIONAL_COMPONENT); final JsonElement targetName = wrapper.read(Types.OPTIONAL_COMPONENT);
decoratedMessage = decorateChatMessage(wrapper.user().get(ChatRegistryStorage1_19_1.class), chatTypeId, senderName, targetName, message); decoratedMessage = decorateChatMessage(this, wrapper.user().get(ChatRegistryStorage1_19_1.class), chatTypeId, senderName, targetName, message);
if (decoratedMessage == null) { if (decoratedMessage == null) {
wrapper.cancel(); wrapper.cancel();
return; return;
@ -374,7 +375,7 @@ public final class Protocol1_19_1To1_19 extends BackwardsProtocol<ClientboundPac
data = new byte[]{1}; data = new byte[]{1};
wrapper.set(Types.REMAINING_BYTES, 0, data); wrapper.set(Types.REMAINING_BYTES, 0, data);
} else { } else {
ViaBackwards.getPlatform().getLogger().warning("Received unexpected data in velocity:player_info (length=" + data.length + ")"); getLogger().warning("Received unexpected data in velocity:player_info (length=" + data.length + ")");
} }
} }
}); });
@ -403,10 +404,12 @@ public final class Protocol1_19_1To1_19 extends BackwardsProtocol<ClientboundPac
return entityRewriter; return entityRewriter;
} }
public static @Nullable JsonElement decorateChatMessage(final ChatRegistryStorage chatRegistryStorage, final int chatTypeId, final JsonElement senderName, @Nullable final JsonElement targetName, final JsonElement message) { public static @Nullable JsonElement decorateChatMessage(final Protocol protocol, final ChatRegistryStorage chatRegistryStorage,
final int chatTypeId, final JsonElement senderName,
@Nullable final JsonElement targetName, final JsonElement message) {
CompoundTag chatType = chatRegistryStorage.chatType(chatTypeId); CompoundTag chatType = chatRegistryStorage.chatType(chatTypeId);
if (chatType == null) { if (chatType == null) {
ViaBackwards.getPlatform().getLogger().warning("Chat message has unknown chat type id " + chatTypeId + ". Message: " + message); protocol.getLogger().warning("Chat message has unknown chat type id " + chatTypeId + ". Message: " + message);
return null; return null;
} }

Datei anzeigen

@ -330,7 +330,7 @@ public final class Protocol1_19_3To1_19_1 extends BackwardsProtocol<ClientboundP
final int chatTypeId = wrapper.read(Types.VAR_INT); final int chatTypeId = wrapper.read(Types.VAR_INT);
final JsonElement senderName = wrapper.read(Types.COMPONENT); final JsonElement senderName = wrapper.read(Types.COMPONENT);
final JsonElement targetName = wrapper.read(Types.OPTIONAL_COMPONENT); final JsonElement targetName = wrapper.read(Types.OPTIONAL_COMPONENT);
final JsonElement result = Protocol1_19_1To1_19.decorateChatMessage(wrapper.user().get(ChatTypeStorage1_19_3.class), chatTypeId, senderName, targetName, content); final JsonElement result = Protocol1_19_1To1_19.decorateChatMessage(Protocol1_19_3To1_19_1.this, wrapper.user().get(ChatTypeStorage1_19_3.class), chatTypeId, senderName, targetName, content);
if (result == null) { if (result == null) {
wrapper.cancel(); wrapper.cancel();
return; return;
@ -347,7 +347,7 @@ public final class Protocol1_19_3To1_19_1 extends BackwardsProtocol<ClientboundP
final int chatTypeId = wrapper.read(Types.VAR_INT); final int chatTypeId = wrapper.read(Types.VAR_INT);
final JsonElement senderName = wrapper.read(Types.COMPONENT); final JsonElement senderName = wrapper.read(Types.COMPONENT);
final JsonElement targetName = wrapper.read(Types.OPTIONAL_COMPONENT); final JsonElement targetName = wrapper.read(Types.OPTIONAL_COMPONENT);
final JsonElement result = Protocol1_19_1To1_19.decorateChatMessage(wrapper.user().get(ChatTypeStorage1_19_3.class), chatTypeId, senderName, targetName, content); final JsonElement result = Protocol1_19_1To1_19.decorateChatMessage(this, wrapper.user().get(ChatTypeStorage1_19_3.class), chatTypeId, senderName, targetName, content);
if (result == null) { if (result == null) {
wrapper.cancel(); wrapper.cancel();
return; return;

Datei anzeigen

@ -164,7 +164,7 @@ public final class Protocol1_19To1_18_2 extends BackwardsProtocol<ClientboundPac
final int argumentTypeId = wrapper.read(Types.VAR_INT); final int argumentTypeId = wrapper.read(Types.VAR_INT);
String argumentType = MAPPINGS.getArgumentTypeMappings().identifier(argumentTypeId); String argumentType = MAPPINGS.getArgumentTypeMappings().identifier(argumentTypeId);
if (argumentType == null) { if (argumentType == null) {
ViaBackwards.getPlatform().getLogger().warning("Unknown command argument type id: " + argumentTypeId); getLogger().warning("Unknown command argument type id: " + argumentTypeId);
argumentType = "minecraft:no"; argumentType = "minecraft:no";
} }

Datei anzeigen

@ -82,7 +82,7 @@ public final class BlockItemPacketRewriter1_20_3 extends BackwardsItemRewriter<C
} else if (positionSourceType == 1) { } else if (positionSourceType == 1) {
wrapper.write(Types.STRING, "minecraft:entity"); wrapper.write(Types.STRING, "minecraft:entity");
} else { } else {
ViaBackwards.getPlatform().getLogger().warning("Unknown position source type: " + positionSourceType); protocol.getLogger().warning("Unknown position source type: " + positionSourceType);
wrapper.cancel(); wrapper.cancel();
} }
} }