# Hierarchy For All Packages

Package Hierarchies:

- eu.mhsl.minenet.minigames,
- eu.mhsl.minenet.minigames.command,
- eu.mhsl.minenet.minigames.command.admin,
- eu.mhsl.minenet.minigames.command.user,
- eu.mhsl.minenet.minigames.handler,
- eu.mhsl.minenet.minigames.handler.global,
- eu.mhsl.minenet.minigames.instance,
- eu.mhsl.minenet.minigames.instance.game,
- eu.mhsl.minenet.minigames.instance.game.minigame,
- eu.mhsl.minenet.minigames.instance.game.minigame.config,
- eu.mhsl.minenet.minigames.instance.game.minigame.config.common,
- eu.mhsl.minenet.minigames.instance.game.minigame.types.deathcube,
- eu.mhsl.minenet.minigames.instance.game.minigame.types.minerun,
- eu.mhsl.minenet.minigames.instance.game.minigame.types.stickfight,
- eu.mhsl.minenet.minigames.instance.game.minigame.types.trafficlightrace,
- eu.mhsl.minenet.minigames.instance.hub,
- eu.mhsl.minenet.minigames.instance.hub.entity,
- eu.mhsl.minenet.minigames.instance.hub.inventory,
- eu.mhsl.minenet.minigames.instance.room,
- eu.mhsl.minenet.minigames.instance.room.entity,
- eu.mhsl.minenet.minigames.instance.room.inventory,
- eu.mhsl.minenet.minigames.lang,
- eu.mhsl.minenet.minigames.message,
- eu.mhsl.minenet.minigames.message.component,
- eu.mhsl.minenet.minigames.message.type,
- eu.mhsl.minenet.minigames.score,
- eu.mhsl.minenet.minigames.server.provider,
- eu.mhsl.minenet.minigames.server.tasks,
- eu.mhsl.minenet.minigames.shared.entity,
- eu.mhsl.minenet.minigames.shared.inventory,
- eu.mhsl.minenet.minigames.skin,
- eu.mhsl.minenet.minigames.util,
- eu.mhsl.minenet.minigames.world.generator,
- eu.mhsl.minenet.minigames.world.generator.structures,
- eu.mhsl.minenet.minigames.world.generator.structures.generatable,
- eu.mhsl.minenet.minigames.world.generator.terrain

## Class Hierarchy

- java.lang.Object
  - net.minestom.server.inventory.AbstractInventory (implements net.minestom.server.inventory.InventoryClickHandler, net.minestom.server.tag.Taggable)
    - net.minestom.server.inventory.Inventory (implements net.minestom.server.Viewable)
      - eu.mhsl.minenet.minigames.shared.inventory.InteractableInventory
        - eu.mhsl.minenet.minigames.instance.game.minigame.config.GameConfigurationInventory
        - eu.mhsl.minenet.minigames.instance.hub.inventory.HubInventory
        - eu.mhsl.minenet.minigames.instance.hub.inventory.JoinInventory
        - eu.mhsl.minenet.minigames.instance.room.inventory.MinigameTypeSelectInventory
  - eu.mhsl.minenet.minigames.handler.global.AddEntityToInstanceEventListener (implements net.minestom.server.event.EventListener<T>)
  - eu.mhsl.minenet.minigames.util.BatchUtil
  - eu.mhsl.minenet.minigames.server.provider.ByPlayerNameUuidProvider (implements net.minestom.server.network.UuidProvider)
  - eu.mhsl.minenet.minigames.world.generator.terrain.CircularTerrainGenerator (implements net.minestom.server.instance.generator.Generator)
  - eu.mhsl.minenet.minigames.util.ColorUtil
  - net.minestom.server.command.builder.Command
    - eu.mhsl.minenet.minigames.command.admin.DebugCommand
    - eu.mhsl.minenet.minigames.command.admin.FlyCommand
    - eu.mhsl.minenet.minigames.command.admin.GamemodeCommand
    - eu.mhsl.minenet.minigames.command.admin.GcCommand
    - eu.mhsl.minenet.minigames.command.user.HubCommand
    - eu.mhsl.minenet.minigames.command.admin.LangTestCommand
    - eu.mhsl.minenet.minigames.command.user.LeaveCommand
    - eu.mhsl.minenet.minigames.command.admin.RoomCommand
    - eu.mhsl.minenet.minigames.command.admin.UpdateCommand
  - eu.mhsl.minenet.minigames.util.CommonEventHandles
  - eu.mhsl.minenet.minigames.instance.game.minigame.config.ConfigManager
  - eu.mhsl.minenet.minigames.message.Countdown
  - eu.mhsl.minenet.minigames.message.Countdown.CountdownModifier
  - eu.mhsl.minenet.minigames.instance.game.minigame.types.deathcube.DeathcubeFactory (implements eu.mhsl.minenet.minigames.instance.game.minigame.config.GameFactory)
  - net.minestom.server.entity.Entity (implements net.minestom.server.event.EventHandler<T>, net.kyori.adventure.text.event.HoverEventSource<V>, net.minestom.server.permission.PermissionHandler, net.minestom.server.timer.Schedulable, net.minestom.server.snapshot.Snapshotable, net.kyori.adventure.sound.Sound.Emitter, net.minestom.server.tag.Taggable, net.minestom.server.Tickable, net.minestom.server.Viewable)
    - net.minestom.server.entity.LivingEntity (implements net.minestom.server.inventory.EquipmentHandler)
      - net.minestom.server.entity.EntityCreature (implements net.minestom.server.entity.ai.EntityAI, net.minestom.server.entity.pathfinding.NavigableEntity)
        - eu.mhsl.minenet.minigames.shared.entity.InteractableEntity
          - eu.mhsl.minenet.minigames.instance.room.entity.GameSelector
          - eu.mhsl.minenet.minigames.instance.hub.entity.RoomSelector
  - net.minestom.server.instance.Instance (implements net.minestom.server.instance.block.Block.Getter, net.minestom.server.instance.block.Block.Setter, net.minestom.server.event.EventHandler<T>, net.minestom.server.adventure.audience.PacketGroupingAudience, net.minestom.server.timer.Schedulable, net.minestom.server.snapshot.Snapshotable, net.minestom.server.tag.Taggable, net.minestom.server.Tickable)
    - net.minestom.server.instance.InstanceContainer
      - eu.mhsl.minenet.minigames.instance.MineNetInstance
        - eu.mhsl.minenet.minigames.instance.game.Game (implements eu.mhsl.minenet.minigames.instance.Spawnable)
          - eu.mhsl.minenet.minigames.instance.game.minigame.Minigame
            - eu.mhsl.minenet.minigames.instance.game.minigame.types.stickfight.Stickfight
        - eu.mhsl.minenet.minigames.instance.hub.Hub (implements eu.mhsl.minenet.minigames.instance.Spawnable)
        - eu.mhsl.minenet.minigames.instance.room.Room (implements eu.mhsl.minenet.minigames.instance.Spawnable)
  - eu.mhsl.minenet.minigames.util.Intersect
  - eu.mhsl.minenet.minigames.shared.inventory.ItemClick
  - eu.mhsl.minenet.minigames.lang.Lang
    - eu.mhsl.minenet.minigames.lang.DummyLang
  - eu.mhsl.minenet.minigames.lang.Languages
  - eu.mhsl.minenet.minigames.Main
  - eu.mhsl.minenet.minigames.instance.game.minigame.types.minerun.MinerunFactory (implements eu.mhsl.minenet.minigames.instance.game.minigame.config.GameFactory)
  - eu.mhsl.minenet.minigames.util.Monitoring
  - eu.mhsl.minenet.minigames.util.MoveInstance
  - eu.mhsl.minenet.minigames.message.component.NamespacedTranslatable
  - eu.mhsl.minenet.minigames.instance.game.minigame.config.Option<T>
    - eu.mhsl.minenet.minigames.instance.game.minigame.config.common.BoolOption
    - eu.mhsl.minenet.minigames.instance.game.minigame.config.common.NumericOption
  - eu.mhsl.minenet.minigames.world.generator.PlaneGenerator (implements net.minestom.server.instance.generator.Generator)
  - eu.mhsl.minenet.minigames.handler.global.PlayerChatHandler (implements net.minestom.server.event.EventListener<T>)
  - eu.mhsl.minenet.minigames.handler.global.PlayerLoginHandler (implements net.minestom.server.event.EventListener<T>)
  - eu.mhsl.minenet.minigames.util.Position
  - eu.mhsl.minenet.minigames.util.RangeMap
  - eu.mhsl.minenet.minigames.util.ResourceUtils
  - eu.mhsl.minenet.minigames.score.Score
  - eu.mhsl.minenet.minigames.skin.SkinCache
  - eu.mhsl.minenet.minigames.world.generator.terrain.SquareTerrainGenerator (implements net.minestom.server.instance.generator.Generator)
  - eu.mhsl.minenet.minigames.util.Static
  - eu.mhsl.minenet.minigames.instance.game.minigame.types.stickfight.StickFightFactory (implements eu.mhsl.minenet.minigames.instance.game.minigame.config.GameFactory)
  - eu.mhsl.minenet.minigames.world.generator.structures.Structure
    - eu.mhsl.minenet.minigames.world.generator.structures.generatable.PeakRock
  - eu.mhsl.minenet.minigames.server.tasks.TablistUpdateTask (implements java.lang.Runnable)
  - eu.mhsl.minenet.minigames.util.TextUtil
  - eu.mhsl.minenet.minigames.instance.game.minigame.types.trafficlightrace.TrafficLightRaceFactory (implements eu.mhsl.minenet.minigames.instance.game.minigame.config.GameFactory)
  - eu.mhsl.minenet.minigames.message.TranslatableMessage (implements eu.mhsl.minenet.minigames.message.Sendable)
    - eu.mhsl.minenet.minigames.message.type.ActionBarMessage
    - eu.mhsl.minenet.minigames.message.type.ChatMessage
    - eu.mhsl.minenet.minigames.message.type.SubtitleMessage
    - eu.mhsl.minenet.minigames.message.type.TitleMessage
  - eu.mhsl.minenet.minigames.message.component.TranslatedComponent (implements net.kyori.adventure.text.ComponentLike, eu.mhsl.minenet.minigames.message.component.Translatable)
  - eu.mhsl.minenet.minigames.util.UuidUtil

## Interface Hierarchy

- eu.mhsl.minenet.minigames.instance.game.minigame.config.GameFactory
- eu.mhsl.minenet.minigames.message.Sendable
- eu.mhsl.minenet.minigames.instance.Spawnable
- eu.mhsl.minenet.minigames.message.component.Translatable

## Enum Class Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - eu.mhsl.minenet.minigames.world.generator.BlockPallet
    - eu.mhsl.minenet.minigames.command.Commands
    - eu.mhsl.minenet.minigames.instance.Dimension
    - eu.mhsl.minenet.minigames.instance.game.GameList
    - eu.mhsl.minenet.minigames.instance.game.GameType
    - eu.mhsl.minenet.minigames.message.Icon
    - eu.mhsl.minenet.minigames.handler.Listeners
    - eu.mhsl.minenet.minigames.Resource