# Hierarchy For All Packages

Package Hierarchies:

- commoble.databuddy.codec,
- commoble.databuddy.config,
- commoble.databuddy.data,
- commoble.databuddy.datagen,
- commoble.databuddy.nbt,
- commoble.databuddy.plugin

## Class Hierarchy

- java.lang.Object
  - com.mojang.serialization.CompressorHolder (implements com.mojang.serialization.Compressable)
    - com.mojang.serialization.MapCodec<A> (implements com.mojang.serialization.MapDecoder<A>, com.mojang.serialization.MapEncoder<A>)
      - com.mojang.serialization.codecs.OptionalFieldCodec<A>
        - commoble.databuddy.codec.NullableFieldCodec<VALUE>
  - commoble.databuddy.config.ConfigHelper
  - commoble.databuddy.config.ConfigHelper.ConfigObject<T> (implements java.util.function.Supplier<T>)
  - commoble.databuddy.config.ConfigHelper.TomlConfigOps (implements com.mojang.serialization.DynamicOps<T>)
  - net.minecraft.resources.DelegatingOps<T> (implements com.mojang.serialization.DynamicOps<T>)
    - commoble.databuddy.codec.WriteFieldsFirstOps<T>
  - commoble.databuddy.nbt.NBTListCodec<ENTRY,RAW>
  - commoble.databuddy.nbt.NBTListCodec.ListTagType<T>
  - commoble.databuddy.nbt.NBTMapCodec<KEY,VALUE>
  - commoble.databuddy.plugin.PluginLoader
  - java.lang.Record
    - commoble.databuddy.datagen.BlockStateFile
    - commoble.databuddy.datagen.BlockStateFile.Case
    - commoble.databuddy.datagen.BlockStateFile.Model
    - commoble.databuddy.datagen.BlockStateFile.Multipart
    - commoble.databuddy.datagen.BlockStateFile.OrCase
    - commoble.databuddy.datagen.BlockStateFile.PropertyValue<T>
    - commoble.databuddy.datagen.BlockStateFile.Variants
    - commoble.databuddy.datagen.BlockStateFile.WhenApply
    - commoble.databuddy.codec.RegistryDispatcher<T>
    - commoble.databuddy.datagen.SimpleModel
  - commoble.databuddy.datagen.SimpleModel.RenderTypes
  - net.minecraft.server.packs.resources.SimplePreparableReloadListener<T> (implements net.minecraft.server.packs.resources.PreparableReloadListener)
    - commoble.databuddy.data.MergeableCodecDataManager<RAW,FINE>
    - net.minecraft.server.packs.resources.SimpleJsonResourceReloadListener
      - commoble.databuddy.data.KeyedCodecJsonDataManager<K,V>
        - commoble.databuddy.data.CodecJsonDataManager<T>

## Interface Hierarchy

- commoble.databuddy.nbt.NBTListCodec.ListReader<T>