# Hierarchy For All Packages

Package Hierarchies:

- net.md_5.bungee.protocol,
- net.md_5.bungee.protocol.channel,
- net.md_5.bungee.protocol.data,
- net.md_5.bungee.protocol.packet,
- net.md_5.bungee.protocol.util

## Class Hierarchy

- java.lang.Object
  - net.md_5.bungee.protocol.AbstractPacketHandler
  - net.md_5.bungee.protocol.channel.BungeeChannelInitializer
  - io.netty.channel.ChannelHandlerAdapter (implements io.netty.channel.ChannelHandler)
    - io.netty.channel.ChannelInboundHandlerAdapter (implements io.netty.channel.ChannelInboundHandler)
      - io.netty.handler.codec.ByteToMessageDecoder
        - net.md_5.bungee.protocol.LegacyDecoder
        - net.md_5.bungee.protocol.Varint21FrameDecoder
      - io.netty.handler.codec.MessageToMessageDecoder<I>
        - net.md_5.bungee.protocol.MinecraftDecoder
    - io.netty.channel.ChannelOutboundHandlerAdapter (implements io.netty.channel.ChannelOutboundHandler)
      - io.netty.handler.codec.MessageToByteEncoder<I>
        - net.md_5.bungee.protocol.KickStringWriter
        - net.md_5.bungee.protocol.MinecraftEncoder
  - net.md_5.bungee.protocol.data.ChatChain.ChainLink
  - net.md_5.bungee.protocol.ChatSerializer
  - net.md_5.bungee.protocol.packet.Commands.SuggestionRegistry
  - net.md_5.bungee.protocol.DefinedPacket
    - net.md_5.bungee.protocol.packet.BossBar
    - net.md_5.bungee.protocol.packet.BundleDelimiter
    - net.md_5.bungee.protocol.packet.Chat
    - net.md_5.bungee.protocol.data.ChatChain
    - net.md_5.bungee.protocol.packet.ClearDialog
    - net.md_5.bungee.protocol.packet.ClearTitles
    - net.md_5.bungee.protocol.packet.ClientChat
    - net.md_5.bungee.protocol.packet.ClientCommand
    - net.md_5.bungee.protocol.packet.ClientSettings
    - net.md_5.bungee.protocol.packet.Commands
    - net.md_5.bungee.protocol.packet.CookieRequest
    - net.md_5.bungee.protocol.packet.CookieResponse
    - net.md_5.bungee.protocol.packet.CustomClickAction
    - net.md_5.bungee.protocol.packet.DisconnectReportDetails
    - net.md_5.bungee.protocol.packet.EncryptionRequest
    - net.md_5.bungee.protocol.packet.EncryptionResponse
    - net.md_5.bungee.protocol.packet.EntityStatus
    - net.md_5.bungee.protocol.packet.FinishConfiguration
    - net.md_5.bungee.protocol.packet.GameState
    - net.md_5.bungee.protocol.packet.Handshake
    - net.md_5.bungee.protocol.packet.KeepAlive
    - net.md_5.bungee.protocol.packet.Kick
    - net.md_5.bungee.protocol.packet.LegacyHandshake
    - net.md_5.bungee.protocol.packet.LegacyPing
    - net.md_5.bungee.protocol.packet.Login
    - net.md_5.bungee.protocol.packet.LoginAcknowledged
    - net.md_5.bungee.protocol.packet.LoginPayloadRequest
    - net.md_5.bungee.protocol.packet.LoginPayloadResponse
    - net.md_5.bungee.protocol.packet.LoginRequest
    - net.md_5.bungee.protocol.packet.LoginSuccess
    - net.md_5.bungee.protocol.packet.PingPacket
    - net.md_5.bungee.protocol.packet.PlayerListHeaderFooter
    - net.md_5.bungee.protocol.packet.PlayerListItem
    - net.md_5.bungee.protocol.packet.PlayerListItemRemove
    - net.md_5.bungee.protocol.packet.PlayerListItemUpdate
    - net.md_5.bungee.protocol.packet.PluginMessage
    - net.md_5.bungee.protocol.packet.Respawn
    - net.md_5.bungee.protocol.packet.ScoreboardDisplay
    - net.md_5.bungee.protocol.packet.ScoreboardObjective
    - net.md_5.bungee.protocol.packet.ScoreboardScore
    - net.md_5.bungee.protocol.packet.ScoreboardScoreReset
    - net.md_5.bungee.protocol.data.SeenMessages
    - net.md_5.bungee.protocol.packet.ServerData
    - net.md_5.bungee.protocol.packet.ServerLinks
    - net.md_5.bungee.protocol.packet.SetCompression
    - net.md_5.bungee.protocol.packet.ShowDialog
      - net.md_5.bungee.protocol.packet.ShowDialogDirect
    - net.md_5.bungee.protocol.packet.StartConfiguration
    - net.md_5.bungee.protocol.packet.StatusRequest
    - net.md_5.bungee.protocol.packet.StatusResponse
    - net.md_5.bungee.protocol.packet.StoreCookie
    - net.md_5.bungee.protocol.packet.Subtitle
    - net.md_5.bungee.protocol.packet.SystemChat
    - net.md_5.bungee.protocol.packet.TabCompleteRequest
    - net.md_5.bungee.protocol.packet.TabCompleteResponse
    - net.md_5.bungee.protocol.packet.Team
    - net.md_5.bungee.protocol.packet.Title
    - net.md_5.bungee.protocol.packet.TitleTimes
    - net.md_5.bungee.protocol.packet.Transfer
    - net.md_5.bungee.protocol.packet.UnsignedClientCommand
    - net.md_5.bungee.protocol.packet.ViewDistance
  - net.md_5.bungee.protocol.util.Either<L,R>
  - net.md_5.bungee.protocol.packet.EncryptionResponse.EncryptionData
  - net.md_5.bungee.protocol.data.Location
  - net.md_5.bungee.protocol.data.NumberFormat
  - net.md_5.bungee.protocol.PacketWrapper
  - net.md_5.bungee.protocol.packet.PlayerListItem.Item
  - net.md_5.bungee.protocol.data.PlayerPublicKey
  - net.md_5.bungee.protocol.data.Property
  - net.md_5.bungee.protocol.Protocol.DirectionData
  - net.md_5.bungee.protocol.ProtocolConstants
  - net.md_5.bungee.protocol.packet.ServerLinks.Link
  - net.md_5.bungee.protocol.util.TagUtil
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - net.md_5.bungee.protocol.BadPacketException
        - net.md_5.bungee.protocol.OverflowPacketException

## Interface Hierarchy

- net.md_5.bungee.protocol.channel.ChannelAcceptor

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - net.md_5.bungee.protocol.packet.ClientSettings.ParticleStatus
    - net.md_5.bungee.protocol.data.NumberFormat.Type
    - net.md_5.bungee.protocol.packet.PlayerListItem.Action
    - net.md_5.bungee.protocol.packet.PlayerListItemUpdate.Action
    - net.md_5.bungee.protocol.Protocol
    - net.md_5.bungee.protocol.ProtocolConstants.Direction
    - net.md_5.bungee.protocol.packet.ScoreboardObjective.HealthDisplay
    - net.md_5.bungee.protocol.packet.Team.CollisionRule
    - net.md_5.bungee.protocol.packet.Team.NameTagVisibility
    - net.md_5.bungee.protocol.packet.Title.Action