- Updated to MC 1.21 / Neoforge 21.0.40-beta
- Removed NullableFieldCodec as DFU optional fields now similarly will not silently ignore parse failures
- RegistryDispatcher no longer accepts a mod bus to create a registry dispatcher; it uses the mod bus of the modid matching the registry namespace
- RegistryDispatcher now creates a registry of mapcodecs instead of codecs
- ConfigHelper#register now requires a modid
- Updated to MC 1.20.4 / Neoforge 20.4.167. Some APIs have received undocumented changes as a result of this.
- Moved all packages to the net.commoble domain
- No longer providing individual sublibraries like :config at this time (feel free to paste classes into your mods if you don't need all of databuddy)
- Removed KeyedCOdecJsonDataManager, migrated its functionality to CodecJsonDataManager
- Temporarily added a KeyedCodecJsonDataManager class, which allows non-resourcelocation keys. This will be removed and merged into CodecJsonDataManager in the future.
- Updated to Minecraft 1.20.1
- ConfigHelper.ConfigObject now has a "set" method to set/save the config value
- Fix crash on server start due to MergeableCodecDataManager referring to missing ImmutableMap class
- Fix ConfigHelper#defineObject not working when the default value was an empty list
- Fix sublibrary dependencies not working in dev environments
- Update to forge 41.0.98+
- Add SimpleModel#createWithoutRenderType helper
- Fix BlockStateFile not generating
"uvlock": true
when uvlock=true
- Updated SimpleModel to support forge 41.0.64's block model jsons' render_type field
- Add SimpleModel and BlockStateFile to datagen package (alternative dataproviders for blockstate/model datagen)
- Remove JsonDataProvider and DynamicRegistryDataGenerator (superceded by forge's JsonCodecProvider)
- Remove non-static methods from ConfigHelper, it now only contains static utility methods
- Refactored RegistryDispatcher based on forge's registry rewrite. Now directly creates registries of Codecs and does not require IForgeRegistryEntries (which no longer exist)
- MergeableCodecDataManager now provides a getter to its data map, which is now immutable
- CodecDataManager and MergeableCodecDataManager no longer accept loggers on construction
- Un-deprecate NBTListCodec and NBTMapCodec as they have use-cases for reading entity/blockentity data during server runtime, where mojang codecs may be too slow to be practical
- Change DynamicRegistryDataGenerator to use memoized frozen registries
- Add DynamicRegistryDataGenerator
- Add RegistryDispatcher
- Update to 1.18.2
- Make ConfigHelper more static, deprecate non-static methods for removal in MC 1.19
- Added WriteFieldFirstOps delegating ops to codec package
- Added public getters for the data maps in CodecJsonDataManager and MergeableCodecDataManager
- Deprecated the public value-for-key getter in CodecJsonDataManager and the public map field in MergeableCodecDataManager
- Updated to MC 1.18
- Refactored ConfigHelper, removed ConfigValueListeners due to forge automatically updating configs now
- Refactored data managers to use OnDatapackSyncEvent
- Add JsonDataProvider class, a data provider for generating jsons from codecs
- PluginLoader no longer requires that callers provide a logger (they can log their own things)
- A new static method provides a list of error results, the old method has become deprecated and will be removed in 1.18
- ConfigHelper's TomlConfigOps now serializes booleans as true/false instead of 1/0 (old configs should still work)
- Removed VariatingCodec
- It was originally believed that it was able to do things that vanilla KeyDispatchCodecs weren't but this was due to a mistaken analysis of dispatch codecs
- Removed all of the small codec helper methods