Class PacketWrapper<T extends PacketWrapper<T>>

java.lang.Object
com.github.retrooper.packetevents.wrapper.PacketWrapper<T>
Direct Known Subclasses:
WrapperCommonClientSettings, WrapperCommonCookieResponse, WrapperCommonServerCustomReportDetails, WrapperCommonServerServerLinks, WrapperConfigClientConfigurationEndAck, WrapperConfigClientKeepAlive, WrapperConfigClientPluginMessage, WrapperConfigClientPong, WrapperConfigClientResourcePackStatus, WrapperConfigClientSelectKnownPacks, WrapperConfigServerConfigurationEnd, WrapperConfigServerCookieRequest, WrapperConfigServerDisconnect, WrapperConfigServerKeepAlive, WrapperConfigServerPluginMessage, WrapperConfigServerRegistryData, WrapperConfigServerResetChat, WrapperConfigServerResourcePackRemove, WrapperConfigServerResourcePackSend, WrapperConfigServerSelectKnownPacks, WrapperConfigServerStoreCookie, WrapperConfigServerTransfer, WrapperConfigServerUpdateEnabledFeatures, WrapperHandshakingClientHandshake, WrapperLoginClientEncryptionResponse, WrapperLoginClientLoginStart, WrapperLoginClientLoginSuccessAck, WrapperLoginClientPluginResponse, WrapperLoginServerCookieRequest, WrapperLoginServerDisconnect, WrapperLoginServerEncryptionRequest, WrapperLoginServerLoginSuccess, WrapperLoginServerPluginRequest, WrapperLoginServerSetCompression, WrapperPlayClientAdvancementTab, WrapperPlayClientAnimation, WrapperPlayClientChatAck, WrapperPlayClientChatCommand, WrapperPlayClientChatCommandUnsigned, WrapperPlayClientChatMessage, WrapperPlayClientChatPreview, WrapperPlayClientChatSessionUpdate, WrapperPlayClientChunkBatchAck, WrapperPlayClientClickWindow, WrapperPlayClientClickWindowButton, WrapperPlayClientClientStatus, WrapperPlayClientClientTickEnd, WrapperPlayClientCloseWindow, WrapperPlayClientConfigurationAck, WrapperPlayClientCraftRecipeRequest, WrapperPlayClientCreativeInventoryAction, WrapperPlayClientDebugPing, WrapperPlayClientDebugSampleSubscription, WrapperPlayClientEditBook, WrapperPlayClientEntityAction, WrapperPlayClientGenerateStructure, WrapperPlayClientHeldItemChange, WrapperPlayClientInteractEntity, WrapperPlayClientKeepAlive, WrapperPlayClientLockDifficulty, WrapperPlayClientNameItem, WrapperPlayClientPickItem, WrapperPlayClientPickItemFromBlock, WrapperPlayClientPickItemFromEntity, WrapperPlayClientPlayerAbilities, WrapperPlayClientPlayerBlockPlacement, WrapperPlayClientPlayerDigging, WrapperPlayClientPlayerFlying, WrapperPlayClientPlayerInput, WrapperPlayClientPlayerLoaded, WrapperPlayClientPluginMessage, WrapperPlayClientPong, WrapperPlayClientQueryBlockNBT, WrapperPlayClientQueryEntityNBT, WrapperPlayClientResourcePackStatus, WrapperPlayClientSelectBundleItem, WrapperPlayClientSelectTrade, WrapperPlayClientSetBeaconEffect, WrapperPlayClientSetDifficulty, WrapperPlayClientSetDisplayedRecipe, WrapperPlayClientSetRecipeBookState, WrapperPlayClientSlotStateChange, WrapperPlayClientSpectate, WrapperPlayClientSteerBoat, WrapperPlayClientSteerVehicle, WrapperPlayClientTabComplete, WrapperPlayClientTeleportConfirm, WrapperPlayClientUpdateCommandBlock, WrapperPlayClientUpdateCommandBlockMinecart, WrapperPlayClientUpdateJigsawBlock, WrapperPlayClientUpdateSign, WrapperPlayClientUseItem, WrapperPlayClientVehicleMove, WrapperPlayClientWindowConfirmation, WrapperPlayServerAcknowledgeBlockChanges, WrapperPlayServerAcknowledgePlayerDigging, WrapperPlayServerActionBar, WrapperPlayServerAttachEntity, WrapperPlayServerBlockAction, WrapperPlayServerBlockBreakAnimation, WrapperPlayServerBlockChange, WrapperPlayServerBlockEntityData, WrapperPlayServerBossBar, WrapperPlayServerBundle, WrapperPlayServerCamera, WrapperPlayServerChangeGameState, WrapperPlayServerChatMessage, WrapperPlayServerChatPreview, WrapperPlayServerChunkBatchBegin, WrapperPlayServerChunkBatchEnd, WrapperPlayServerChunkData, WrapperPlayServerChunkDataBulk, WrapperPlayServerClearTitles, WrapperPlayServerCloseWindow, WrapperPlayServerCollectItem, WrapperPlayServerCombatEvent, WrapperPlayServerConfigurationStart, WrapperPlayServerCookieRequest, WrapperPlayServerCraftRecipeResponse, WrapperPlayServerCustomChatCompletions, WrapperPlayServerDamageEvent, WrapperPlayServerDeathCombatEvent, WrapperPlayServerDebugPong, WrapperPlayServerDebugSample, WrapperPlayServerDeclareCommands, WrapperPlayServerDeclareRecipes, WrapperPlayServerDeleteChat, WrapperPlayServerDestroyEntities, WrapperPlayServerDifficulty, WrapperPlayServerDisconnect, WrapperPlayServerDisguisedChat, WrapperPlayServerDisplayScoreboard, WrapperPlayServerEndCombatEvent, WrapperPlayServerEnterCombatEvent, WrapperPlayServerEntityAnimation, WrapperPlayServerEntityEffect, WrapperPlayServerEntityEquipment, WrapperPlayServerEntityHeadLook, WrapperPlayServerEntityMetadata, WrapperPlayServerEntityMovement, WrapperPlayServerEntityPositionSync, WrapperPlayServerEntityRelativeMove, WrapperPlayServerEntityRelativeMoveAndRotation, WrapperPlayServerEntityRotation, WrapperPlayServerEntitySoundEffect, WrapperPlayServerEntityStatus, WrapperPlayServerEntityTeleport, WrapperPlayServerEntityVelocity, WrapperPlayServerExplosion, WrapperPlayServerFacePlayer, WrapperPlayServerHeldItemChange, WrapperPlayServerHurtAnimation, WrapperPlayServerInitializeWorldBorder, WrapperPlayServerJoinGame, WrapperPlayServerKeepAlive, WrapperPlayServerMapData, WrapperPlayServerMerchantOffers, WrapperPlayServerMoveMinecart, WrapperPlayServerMultiBlockChange, WrapperPlayServerNBTQueryResponse, WrapperPlayServerOpenBook, WrapperPlayServerOpenHorseWindow, WrapperPlayServerOpenSignEditor, WrapperPlayServerOpenWindow, WrapperPlayServerParticle, WrapperPlayServerPing, WrapperPlayServerPlayerAbilities, WrapperPlayServerPlayerChatHeader, WrapperPlayServerPlayerInfo, WrapperPlayServerPlayerInfoRemove, WrapperPlayServerPlayerInfoUpdate, WrapperPlayServerPlayerListHeaderAndFooter, WrapperPlayServerPlayerPositionAndLook, WrapperPlayServerPlayerRotation, WrapperPlayServerPluginMessage, WrapperPlayServerProjectilePower, WrapperPlayServerRecipeBookAdd, WrapperPlayServerRecipeBookRemove, WrapperPlayServerRecipeBookSettings, WrapperPlayServerRemoveEntityEffect, WrapperPlayServerResetScore, WrapperPlayServerResourcePackRemove, WrapperPlayServerResourcePackSend, WrapperPlayServerRespawn, WrapperPlayServerScoreboardObjective, WrapperPlayServerSelectAdvancementsTab, WrapperPlayServerServerData, WrapperPlayServerSetCompression, WrapperPlayServerSetCooldown, WrapperPlayServerSetCursorItem, WrapperPlayServerSetDisplayChatPreview, WrapperPlayServerSetExperience, WrapperPlayServerSetPassengers, WrapperPlayServerSetPlayerInventory, WrapperPlayServerSetSlot, WrapperPlayServerSetTitleSubtitle, WrapperPlayServerSetTitleText, WrapperPlayServerSetTitleTimes, WrapperPlayServerSoundEffect, WrapperPlayServerSpawnEntity, WrapperPlayServerSpawnExperienceOrb, WrapperPlayServerSpawnLivingEntity, WrapperPlayServerSpawnPainting, WrapperPlayServerSpawnPlayer, WrapperPlayServerSpawnPosition, WrapperPlayServerSpawnWeatherEntity, WrapperPlayServerStoreCookie, WrapperPlayServerSystemChatMessage, WrapperPlayServerTabComplete, WrapperPlayServerTags, WrapperPlayServerTeams, WrapperPlayServerTickingState, WrapperPlayServerTickingStep, WrapperPlayServerTimeUpdate, WrapperPlayServerTitle, WrapperPlayServerTransfer, WrapperPlayServerUnloadChunk, WrapperPlayServerUpdateAttributes, WrapperPlayServerUpdateEnabledFeatures, WrapperPlayServerUpdateEntityNBT, WrapperPlayServerUpdateHealth, WrapperPlayServerUpdateLight, WrapperPlayServerUpdateScore, WrapperPlayServerUpdateSimulationDistance, WrapperPlayServerUpdateViewDistance, WrapperPlayServerUpdateViewPosition, WrapperPlayServerUseBed, WrapperPlayServerVehicleMove, WrapperPlayServerWindowConfirmation, WrapperPlayServerWindowItems, WrapperPlayServerWindowProperty, WrapperPlayServerWorldBorder, WrapperPlayServerWorldBorderCenter, WrapperPlayServerWorldBorderSize, WrapperPlayServerWorldBorderWarningReach, WrapperPlayWorldBorderLerpSize, WrapperPlayWorldBorderWarningDelay, WrapperStatusClientPing, WrapperStatusClientRequest, WrapperStatusServerPong, WrapperStatusServerResponse

public class PacketWrapper<T extends PacketWrapper<T>> extends Object
  • Field Details

    • buffer

      @Nullable public @Nullable Object buffer
    • bufferLock

      @Internal public final Object bufferLock
    • clientVersion

      protected ClientVersion clientVersion
    • serverVersion

      protected ServerVersion serverVersion
    • user

      @Nullable protected @Nullable User user
  • Constructor Details

  • Method Details

    • createUniversalPacketWrapper

      public static PacketWrapper<?> createUniversalPacketWrapper(Object byteBuf)
    • getChunkX

      public static int getChunkX(long chunkKey)
    • getChunkZ

      public static int getChunkZ(long chunkKey)
    • getChunkKey

      public static long getChunkKey(int chunkX, int chunkZ)
    • prepareForSend

      @Internal public final void prepareForSend(Object channel, boolean outgoing, boolean proxy)
    • prepareForSend

      @Internal public final void prepareForSend(Object channel, boolean outgoing)
    • read

      public void read()
    • write

      public void write()
    • copy

      public void copy(T wrapper)
    • readEvent

      public final void readEvent(ProtocolPacketEvent event)
    • getClientVersion

      public ClientVersion getClientVersion()
    • setClientVersion

      public void setClientVersion(ClientVersion clientVersion)
    • getServerVersion

      public ServerVersion getServerVersion()
    • setServerVersion

      public void setServerVersion(ServerVersion serverVersion)
    • getBuffer

      public Object getBuffer()
    • setBuffer

      public void setBuffer(Object buffer)
    • getPacketId

      @Deprecated public int getPacketId()
      Deprecated.
      Gets the Packet ID for the current platform version
      Returns:
      Packet ID
    • setPacketId

      @Deprecated public void setPacketId(int packetID)
      Deprecated.
      Sets the Packet ID for the current platform version
    • getNativePacketId

      public int getNativePacketId()
    • setNativePacketId

      public void setNativePacketId(int nativePacketId)
    • getPacketTypeData

      @Internal public PacketTypeData getPacketTypeData()
    • getMaxMessageLength

      public int getMaxMessageLength()
    • resetByteBuf

      @Deprecated public void resetByteBuf()
      Deprecated.
    • resetBuffer

      public void resetBuffer()
    • readByte

      public byte readByte()
    • writeByte

      public void writeByte(int value)
    • readUnsignedByte

      public short readUnsignedByte()
    • readBoolean

      public boolean readBoolean()
    • writeBoolean

      public void writeBoolean(boolean value)
    • readInt

      public int readInt()
    • writeInt

      public void writeInt(int value)
    • readMedium

      public int readMedium()
    • writeMedium

      public void writeMedium(int value)
    • readVarInt

      public int readVarInt()
    • writeVarInt

      public void writeVarInt(int value)
    • readMap

      public <K, V> Map<K,V> readMap(PacketWrapper.Reader<K> keyFunction, PacketWrapper.Reader<V> valueFunction)
    • writeMap

      public <K, V> void writeMap(Map<K,V> map, PacketWrapper.Writer<K> keyConsumer, PacketWrapper.Writer<V> valueConsumer)
    • readVillagerData

      public VillagerData readVillagerData()
    • writeVillagerData

      public void writeVillagerData(VillagerData data)
    • readItemStackModern

      public ItemStack readItemStackModern()
    • readPresentItemStack

      public ItemStack readPresentItemStack()
    • readItemStack

      @NotNull public @NotNull ItemStack readItemStack()
    • writeItemStackModern

      public void writeItemStackModern(ItemStack itemStack)
    • writePresentItemStack

      public void writePresentItemStack(ItemStack itemStack)
    • writeItemStack

      public void writeItemStack(ItemStack itemStack)
    • readNBT

      public NBTCompound readNBT()
    • readNBTRaw

      public NBT readNBTRaw()
    • readUnlimitedNBT

      public NBTCompound readUnlimitedNBT()
    • readUnlimitedNBTRaw

      public NBT readUnlimitedNBTRaw()
    • writeNBT

      public void writeNBT(NBTCompound nbt)
    • writeNBTRaw

      public void writeNBTRaw(NBT nbt)
    • readString

      public String readString()
    • readString

      public String readString(int maxLen)
    • readComponentJSON

      @Deprecated public String readComponentJSON()
      Deprecated.
    • writeString

      public void writeString(String s)
    • writeString

      public void writeString(String s, int maxLen)
    • writeString

      public void writeString(String s, int maxLen, boolean substr)
    • writeComponentJSON

      @Deprecated public void writeComponentJSON(String json)
      Deprecated.
    • readComponent

      public net.kyori.adventure.text.Component readComponent()
    • readComponentAsNBT

      public net.kyori.adventure.text.Component readComponentAsNBT()
    • readComponentAsJSON

      public net.kyori.adventure.text.Component readComponentAsJSON()
    • writeComponent

      public void writeComponent(net.kyori.adventure.text.Component component)
    • writeComponentAsNBT

      public void writeComponentAsNBT(net.kyori.adventure.text.Component component)
    • writeComponentAsJSON

      public void writeComponentAsJSON(net.kyori.adventure.text.Component component)
    • readStyle

      public net.kyori.adventure.text.format.Style readStyle()
    • writeStyle

      public void writeStyle(net.kyori.adventure.text.format.Style style)
    • readIdentifier

      public ResourceLocation readIdentifier(int maxLen)
    • readIdentifier

      public ResourceLocation readIdentifier()
    • writeIdentifier

      public void writeIdentifier(ResourceLocation identifier, int maxLen)
    • writeIdentifier

      public void writeIdentifier(ResourceLocation identifier)
    • readUnsignedShort

      public int readUnsignedShort()
    • readShort

      public short readShort()
    • writeShort

      public void writeShort(int value)
    • readVarShort

      public int readVarShort()
    • writeVarShort

      public void writeVarShort(int value)
    • readLong

      public long readLong()
    • writeLong

      public void writeLong(long value)
    • readVarLong

      public long readVarLong()
    • writeVarLong

      public void writeVarLong(long l)
    • readFloat

      public float readFloat()
    • writeFloat

      public void writeFloat(float value)
    • readDouble

      public double readDouble()
    • writeDouble

      public void writeDouble(double value)
    • readRemainingBytes

      public byte[] readRemainingBytes()
    • readBytes

      public byte[] readBytes(int size)
    • writeBytes

      public void writeBytes(byte[] array)
    • readByteArray

      public byte[] readByteArray(int maxLength)
    • readByteArray

      public byte[] readByteArray()
    • writeByteArray

      public void writeByteArray(byte[] array)
    • readVarIntArray

      public int[] readVarIntArray()
    • writeVarIntArray

      public void writeVarIntArray(int[] array)
    • readLongArray

      public long[] readLongArray(int size)
    • readByteArrayOfSize

      public byte[] readByteArrayOfSize(int size)
    • writeByteArrayOfSize

      public void writeByteArrayOfSize(byte[] array)
    • readVarIntArrayOfSize

      public int[] readVarIntArrayOfSize(int size)
    • writeVarIntArrayOfSize

      public void writeVarIntArrayOfSize(int[] array)
    • readLongArray

      public long[] readLongArray()
    • writeLongArray

      public void writeLongArray(long[] array)
    • readUUID

      public UUID readUUID()
    • writeUUID

      public void writeUUID(UUID uuid)
    • readBlockPosition

      public Vector3i readBlockPosition()
    • writeBlockPosition

      public void writeBlockPosition(Vector3i pos)
    • readGameMode

      public GameMode readGameMode()
    • writeGameMode

      public void writeGameMode(@Nullable @Nullable GameMode mode)
    • readEntityMetadata

      public List<EntityData> readEntityMetadata()
    • writeEntityMetadata

      public void writeEntityMetadata(List<EntityData> list)
    • writeEntityMetadata

      public void writeEntityMetadata(EntityMetadataProvider metadata)
    • readDimension

      @Deprecated public Dimension readDimension()
      Deprecated.
    • writeDimension

      @Deprecated public void writeDimension(Dimension dimension)
      Deprecated.
    • readSaltSignature

      public SaltSignature readSaltSignature()
    • writeSaltSignature

      public void writeSaltSignature(SaltSignature signature)
    • readPublicKey

      public PublicKey readPublicKey()
    • writePublicKey

      public void writePublicKey(PublicKey publicKey)
    • readPublicProfileKey

      public PublicProfileKey readPublicProfileKey()
    • writePublicProfileKey

      public void writePublicProfileKey(PublicProfileKey key)
    • readRemoteChatSession

      public RemoteChatSession readRemoteChatSession()
    • writeRemoteChatSession

      public void writeRemoteChatSession(RemoteChatSession chatSession)
    • readTimestamp

      public Instant readTimestamp()
    • writeTimestamp

      public void writeTimestamp(Instant timestamp)
    • readSignatureData

      public SignatureData readSignatureData()
    • writeSignatureData

      public void writeSignatureData(SignatureData signatureData)
    • limitValue

      public static <K> IntFunction<K> limitValue(IntFunction<K> function, int limit)
    • readWorldBlockPosition

      public WorldBlockPosition readWorldBlockPosition()
    • writeWorldBlockPosition

      public void writeWorldBlockPosition(WorldBlockPosition pos)
    • readLastSeenMessagesEntry

      public LastSeenMessages.Entry readLastSeenMessagesEntry()
    • writeLastMessagesEntry

      public void writeLastMessagesEntry(LastSeenMessages.Entry entry)
    • readLastSeenMessagesUpdate

      public LastSeenMessages.Update readLastSeenMessagesUpdate()
    • writeLastSeenMessagesUpdate

      public void writeLastSeenMessagesUpdate(LastSeenMessages.Update update)
    • readLegacyLastSeenMessagesUpdate

      public LastSeenMessages.LegacyUpdate readLegacyLastSeenMessagesUpdate()
    • writeLegacyLastSeenMessagesUpdate

      public void writeLegacyLastSeenMessagesUpdate(LastSeenMessages.LegacyUpdate legacyUpdate)
    • readMessageSignature

      public MessageSignature readMessageSignature()
    • writeMessageSignature

      public void writeMessageSignature(MessageSignature messageSignature)
    • readMessageSignaturePacked

      public MessageSignature.Packed readMessageSignaturePacked()
    • writeMessageSignaturePacked

      public void writeMessageSignaturePacked(MessageSignature.Packed messageSignaturePacked)
    • readLastSeenMessagesPacked

      public LastSeenMessages.Packed readLastSeenMessagesPacked()
    • writeLastSeenMessagesPacked

      public void writeLastSeenMessagesPacked(LastSeenMessages.Packed lastSeenMessagesPacked)
    • readLastSeenMessages

      public LastSeenMessages readLastSeenMessages()
    • writeLastSeenMessages

      public void writeLastSeenMessages(LastSeenMessages lastSeenMessages)
    • readSignedCommandArguments

      public List<SignedCommandArgument> readSignedCommandArguments()
    • writeSignedCommandArguments

      public void writeSignedCommandArguments(List<SignedCommandArgument> signedArguments)
    • readBitSet

      public BitSet readBitSet()
    • writeBitSet

      public void writeBitSet(BitSet bitSet)
    • readFilterMask

      public FilterMask readFilterMask()
    • writeFilterMask

      public void writeFilterMask(FilterMask filterMask)
    • readMerchantOffer

      public MerchantOffer readMerchantOffer()
    • writeMerchantOffer

      public void writeMerchantOffer(MerchantOffer data)
    • readChatTypeBoundNetwork

      public ChatType.Bound readChatTypeBoundNetwork()
    • writeChatTypeBoundNetwork

      public void writeChatTypeBoundNetwork(ChatType.Bound chatFormatting)
    • readNode

      public Node readNode()
    • writeNode

      public void writeNode(Node node)
    • readKnownPack

      public KnownPack readKnownPack()
    • writeKnownPack

      public void writeKnownPack(KnownPack knownPack)
    • readEnumSet

      public <T extends Enum<T>> EnumSet<T> readEnumSet(Class<T> enumClazz)
    • writeEnumSet

      public <T extends Enum<T>> void writeEnumSet(EnumSet<T> set, Class<T> enumClazz)
    • readMultiVersional

      @Experimental public <U, V, R> U readMultiVersional(VersionComparison version, ServerVersion target, PacketWrapper.Reader<V> first, PacketWrapper.Reader<R> second)
    • writeMultiVersional

      @Experimental public <V> void writeMultiVersional(VersionComparison version, ServerVersion target, V value, PacketWrapper.Writer<V> first, PacketWrapper.Writer<V> second)
    • readOptional

      @Nullable public <R> R readOptional(PacketWrapper.Reader<R> reader)
    • writeOptional

      public <V> void writeOptional(@Nullable V value, PacketWrapper.Writer<V> writer)
    • readCollection

      public <K, C extends Collection<K>> C readCollection(IntFunction<C> function, PacketWrapper.Reader<K> reader)
    • writeCollection

      public <K> void writeCollection(Collection<K> collection, PacketWrapper.Writer<K> writer)
    • readList

      public <K> List<K> readList(PacketWrapper.Reader<K> reader)
    • writeList

      public <K> void writeList(List<K> list, PacketWrapper.Writer<K> writer)
    • readArray

      public <K> K[] readArray(PacketWrapper.Reader<K> reader, Class<K> clazz)
    • writeArray

      public <K> void writeArray(K[] array, PacketWrapper.Writer<K> writer)
    • readEnum

      public <Z extends Enum<?>> Z readEnum(Class<Z> clazz)
    • readEnum

      public <Z extends Enum<?>> Z readEnum(Z[] values)
    • writeEnum

      public void writeEnum(Enum<?> value)
    • readMappedEntity

      public <Z extends MappedEntity> Z readMappedEntity(BiFunction<ClientVersion,Integer,Z> getter)
    • getRegistryHolder

      public IRegistryHolder getRegistryHolder()
    • readMappedEntityOrDirect

      public <Z extends MappedEntity> Z readMappedEntityOrDirect(BiFunction<ClientVersion,Integer,Z> getter, PacketWrapper.Reader<Z> directReader)
    • readMappedEntity

      public <Z extends MappedEntity> Z readMappedEntity(IRegistry<Z> registry)
    • readMappedEntityOrDirect

      public <Z extends MappedEntity> Z readMappedEntityOrDirect(IRegistry<Z> registry, PacketWrapper.Reader<Z> directReader)
    • writeMappedEntity

      public void writeMappedEntity(MappedEntity entity)
    • writeMappedEntityOrDirect

      public <Z extends MappedEntity> void writeMappedEntityOrDirect(Z entity, PacketWrapper.Writer<Z> writer)
    • readContainerId

      public int readContainerId()
    • writeContainerId

      public void writeContainerId(int containerId)
    • writeRotation

      public void writeRotation(float rotation)
    • readRotation

      public float readRotation()
    • readNullableVarInt

      @Nullable public @Nullable Integer readNullableVarInt()
    • writeNullableVarInt

      public void writeNullableVarInt(@Nullable @Nullable Integer i)