# Hierarchy For All Packages

Package Hierarchies:

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

## Class Hierarchy

- java.lang.Object
  - net.commoble.databuddy.datagen.BlockStateBuilder
  - net.commoble.databuddy.config.ConfigHelper
  - net.commoble.databuddy.config.ConfigHelper.ConfigObject<T> (implements java.util.function.Supplier<T>)
  - net.commoble.databuddy.config.ConfigHelper.TomlConfigOps (implements com.mojang.serialization.DynamicOps<T>)
  - net.neoforged.neoforge.resource.ContextAwareReloadListener (implements net.minecraft.server.packs.resources.PreparableReloadListener)
    - net.minecraft.server.packs.resources.SimplePreparableReloadListener<T> (implements net.minecraft.server.packs.resources.PreparableReloadListener)
      - net.commoble.databuddy.data.MergeableCodecDataManager<RAW,FINE>
  - net.minecraft.resources.DelegatingOps<T> (implements com.mojang.serialization.DynamicOps<T>)
    - net.commoble.databuddy.codec.WriteFieldsFirstOps<T>
  - net.commoble.databuddy.plugin.PluginLoader
  - net.commoble.databuddy.datagen.SimpleModel.RenderTypes

## Record Class Hierarchy

- java.lang.Object
  - java.lang.Record
    - net.commoble.databuddy.datagen.BlockStateBuilder.Multipart
    - net.commoble.databuddy.datagen.BlockStateBuilder.OrWhen
    - net.commoble.databuddy.datagen.BlockStateBuilder.PropertyValueList
    - net.commoble.databuddy.datagen.BlockStateBuilder.Variants
    - net.commoble.databuddy.datagen.BlockStateBuilder.When
    - net.commoble.databuddy.datagen.JsonDataProvider<T> (implements net.minecraft.data.DataProvider)
    - net.commoble.databuddy.codec.RegistryDispatcher<T>
    - net.commoble.databuddy.datagen.SimpleModel