Skip to content

Releases: Carnagion/Modot

Modot 2.0.2

17 Aug 05:57
0dbe140
Compare
Choose a tag to compare

Important bugfix.

Bugfixes

  • Mods are now considered loaded before their patches and assemblies are executed
    • They can now properly get a reference to themselves through ModLoader.LoadedMods

Modot 2.0.1

17 Aug 05:18
c8ce42c
Compare
Choose a tag to compare

Important bugfix.

Bugfixes

  • Mod code using [ModStartup] is now found and executed properly

Modot 2.0.0

12 Aug 08:06
bcd6493
Compare
Choose a tag to compare

Multiple new features, tweaks, and bugfixes.

Additions

  • Extension methods for Godot.Error
  • Mod XML patches
    • IPatch interface
    • NodeAddPatch to add or insert a new XML node
    • NodeRemovePatch to remove an XML node
    • NodeReplacePatch to replace an XML node
    • AttributeSetPatch to add or set the value of an attribute
    • AttributeRemovePatch to remove an attribute
    • TargetedPatch for targeting specific XML nodes using XPath strings
    • MultiPatch for executing multiple patches in order
    • ConditionalPatch to execute patches based on a condition
      • ICondition interface
      • ModLoadedCondition to check if a mod is loaded
      • NodeExistsCondition to check if an XPath query has any matches
      • OrCondition to execute patch if one of many conditions are satisfied
      • AndCondition to execute patch if all of many conditions are satisfied
      • NotCondition to invert condition
    • LogPatch to log XML data before and after applying another patch

Tweaks

  • Namespaces and folders have been refactored
  • Mod data is no longer exposed as an XML node
    • Exposed as an XML document instead
  • XML node types are compared using is rather than NodeType
  • Mod assemblies are now invoked only after all mods are loaded and all patches are applied
  • DirectoryExtensions.CopyContents() now returns copied file paths in an array

Bugfixes

  • Mod XML data is now properly loaded and stored with a consistently named root element
  • (De)serialization works properly due to updated dependencies, including GDSerializer

Modot 1.0.2

23 Jul 07:51
fd59f53
Compare
Choose a tag to compare

Minor refactors and bugfixes.

Additions

  • An .editorconfig file is now included

Bugfixes

  • Now uses Assembly.LoadFile() instead of Assembly.Load() when loading mod assemblies

Tweaks

  • LINQ-containing methods now use method chains instead of query syntax
  • Analysis-helping attributes from JetBrains.Annotations no longer exist on some private and internal methods

Modot 1.0.1

29 Jun 14:56
6eb6cdf
Compare
Choose a tag to compare

Minor refactors and updated dependencies.

Tweaks

  • Now uses the latest version for all NuGet dependencies
  • Mod.Metadata now uses GDSerializer's [AfterDeserialization] attribute for checking its own validity
  • Method for starting up mod assemblies is slightly refactored

Modot 1.0.0

19 Jun 08:55
916eee5
Compare
Choose a tag to compare

Initial release.