You are viewing a potentially older version of this package. View all versions.
MtG_API-Mod_the_Gungeon_API-1.7.7 icon

Mod the Gungeon API

Adds the good parts of Mod the Gungeon to BepInEx.

Date uploaded 4 months ago
Version 1.7.7
Download link MtG_API-Mod_the_Gungeon_API-1.7.7.zip
Downloads 7965
Dependency string MtG_API-Mod_the_Gungeon_API-1.7.7

This mod requires the following mods to function

BepInEx-BepInExPack_EtG-5.4.2101 icon
BepInEx-BepInExPack_EtG

BepInEx pack for Enter the Gungeon. Preconfigured and includes unstripped Unity DLLs.

Preferred version: 5.4.2101

README

Mod the Gungeon API

A plugin for BepInEx that adds some of Mod the Gungeon's functionality and also adds backwards compatibility for modders who want to port to BepInEx

Features

Mod the Gungeon API includes:

  • Most of classic Mod the Gungeon's API features (adding items to loot tables, changing strings, replacing and adding textures, etc)
  • A debug/cheat console (F2, ~, /)
  • A debug log that records all Unity logging (F3)
  • A mods menu that shows all enabled plugins (F1)

Useful Links

Credits:

  • SpecialAPI - main developer.
  • Captain Pretzel - optimizing the API to make mods load faster.
  • An3s - initial console + debug log port.
  • KubeRoot - updating SGUI to the latest version.
  • KyleTheScientist - base MTG example mod zips.

CHANGELOG

1.9.1:

  • Removed the Unity Serialization Fixer patcher since it wasn't working on Linux.
  • Fixed an issue where the ETGMod.Databases.Strings.Synergy string table wasn't being reloaded when changing languages.

1.9.0:

  • Added GunBehaviour.AutoreloadOnEmptyClip()
  • Optimized SGUI thanks to Captain Pretzel.
  • StringDB now supports localization.
    • Added StringDBTable[string, StringTableManager.GungeonSupportedLanguages], StringDBTable.Set(StringTableManager.GungeonSupportedLanguages, string, string), StringDBTable.SetComplex(StringTableManager.GungeonSupportedLanguages, string, params string[]), StringDBTable.SetComplex(StringTableManager.GungeonSupportedLanguages, string, params Tuple<string, float>[])
    • Added UIStringDBTable.Set(dfLanguageCode, string, string)
    • Added GunExt.SetName(this PickupObject, StringTableManager.GungeonSupportedLanguages, string), GunExt.SetShortDescription(this PickupObject, StringTableManager.GungeonSupportedLanguages, string) and GunExt.SetLongDescription(this PickupObject, StringTableManager.GungeonSupportedLanguages, string)
  • Added the Unity Serialization Fixer patcher that makes Unity serialize modded types.
  • Fixed an issue where GunExt.UpdateAnimation() was sometimes wrongly returning null.

1.8.7:

  • Fixed a bug where the default console keys would always close the console while focused on the command field.
  • Added configs for more GUI action keybinds.

1.8.6:

  • Added configs for changing the keys that open/close parts of the GUI.

1.8.5:

  • Fixed a bug where sprite replacements wouldn't work on floor tilemaps.

1.8.4:

  • Fixed a mistake where GunBehaviour didn't implement the IGunInheritable interface.

1.8.3:

  • Updated the included Newtonsoft.Json version to 11.0.0

1.8.2:

  • Fixed a bug where the scale of the barrelOffset of guns created using MTG API was set to (0.9, 0.9, 0.9)
  • Fixed a bug where two mods trying to replace the same sprite of certain collections would break the game.
  • Fixed a bug where trying to add a large sprite would break the game.

1.8.1:

  • Fixed a bug where .jtk2d files were not being loaded from folders.

1.8.0:

  • Added GunBehaviour.OnReloadEnded(), GunBehaviour.OnReloadEndedPlayer(), GunBehaviour.OnReloadEndedEnemy(), GunBehaviour.OnInventoryReload(), GunBehaviour.OnInventoryReloadPlayer(), GunBehaviour.OnInventoryReloadEnemy(), GunBehaviour.CanCollectAmmoPickup() and GunBehaviour.OnAmmoCollected()
  • Fixed GunBehaviour.EverPickedUp being true when the gun is first picked up.
  • Fixed a bug where .jtk2d files for new sprites weren't being detected when loading sprites from assembly.
  • Added a config to enable/disable parts of the GUI.
  • Made the in-game debug log disabled by default.
  • Improved some code.

1.7.7:

  • Added GunBehaviour.OnSwitchedTo(), GunBehaviour.OnSwitchedToPlayer(), GunBehaviour.OnSwitchedAwayFrom(), GunBehaviour.OnSwitchedAwayFromPlayer(), GunBehaviour.OnReloaded(), GunBehaviour.OnReloadedPlayer(), GunBehaviour.OnReloadedEnemy(), GunBehaviour.OwnedUpdate(), GunBehaviour.OwnedUpdatePlayer() and GunBehaviour.OwnedUpdateEnemy().

1.7.6:

  • GunBehaviour.OnDropped(), GunBehaviour.OnDroppedPlayer(), GunBehaviour.DisableEffect(), GunBehaviour.DisableEffectEnemy() and GunBehaviour.DisableEffectPlayer() now trigger when a gun is thrown.

1.7.5:

  • Added GunBehaviour.DisableEffect(), GunBehaviour.DisableEffectPlayer() and GunBehaviour.DisableEffectEnemy().
  • GunBehaviour.LastRegisteredOwner is now NonSerialized. This shouldn't affect much, though.
  • Changed all Transpilers used by Mod the Gungeon API into ILManipulators.
  • All ILManipulators used by Mod the Gungeon API now look for instructions that are less likely to be used by other mods in order to prevent potential breaks.

1.7.4:

  • NuGet update. Version 1.7.3 was broken on NuGet and this update fixed that.

1.7.3:

  • Fixed GunBehaviour.OnDroppedByPlayer() never triggering.
  • Added GunBehaviour.LastRegisteredOwner which is like Gun.CurrentOwner but reset after GunBehaviour.OnDropped() and GunBehaviour.OnDroppedByPlayer() instead of before.
  • Made GunBehaviour.GenericOwner return GunBehaviour.LastRegisteredOwner if Gun.CurrentOwner is null.
  • Made GunBehaviour.PlayerOwner return GunBehaviour.LastRegisteredOwner as a PlayerController if Gun.CurrentOwner is null.
  • Made GunBehaviour.EnemyOwner return GunBehaviour.LastRegisteredOwner as an AIActor if Gun.CurrentOwner is null.

1.7.2:

  • Reduced the size of texture atlases from 4096x4096 to 1024x1024 thanks to Captain Pretzel. This should make mods load faster.

1.7.1:

  • Added GunBehaviour.PostProcessBeamTick().
  • Replaced the GunBehaviour.PostProcessBeamChanceTick() patch with a transpiler.

1.7.0:

  • Made certain gun setup methods more optimized thanks to Captain Pretzel.
  • Added GunBehaviour.ModifyClipCount().
  • Fixed some base game guns being broken because of GunBehaviour overriding the return values of some Funcs, even if the methods for them weren't overriden. Now GunBehaviour only subscribes to Funcs if the methods are overriden.
  • Fixed GunBehaviour.OnGunThrown(), GunBehaviour.OnGunThrownPlayer(), GunBehaviour.OnGunThrownEnemy(), GunBehaviour.PostProcessBeam() and GunBehaviour.PostProcessBeamChanceTick() only being called for the last GunBehaviour if multiple are applied to the same gun.

1.6.2:

  • Changed how ETGMod.FolderPath works.

1.6.1:

  • Added nullchecks to ETGMod.Databases.Items.AddSpecific().
  • Added a new version of ETGMod.Databases.Items.AddSpecific() that has an option to not make the EncounterDatabaseEntry proxy.
  • Updated version in the title.
  • Moved the changelog to the new CHANGELOG.md.

1.6.0

  • Fixed possible save file corruption when using extended save flags.
  • Fixed the code for getting global tracked stats and maximums not working as intended with extended playable characters enum.
  • Added the UI table back to ETGMod.Databases.Strings and made it actually work.
  • Fixed ETGMod.Assets.TextureMap having the wrong names again.
  • Made ETGMod.Databases.Items.Add() (the gun version) no longer be obsolete.

1.5.8

  • Hopefully fixed the ETGMod.Assets.TextureMap having the wrong names for the keys which caused sprite trimming to not work correctly.
  • Added the E key to the debug log that clears all messages except exceptions.
  • Removed ETGMod.Databases.Strings.UITable as it wasn't working.

1.5.7

  • ACTUALLY fixed switching language breaking modded item names.

1.5.6

  • Fixed switching language breaking modded item names.

1.5.5

  • MTG API now recognizes .jtk2d files as sprite definition metadata files, because .json files are recognized as config files by mod managers.

1.5.3

  • Fixed outlines breaking when using spritesheet replacements.
  • Made the console also log to the BepInEx console window.
  • Fixed various other problems with sprite replacements.

1.5.2

  • Fixed some sprite replacements not working, now you can enjoy your hunter recolors in peace.

1.5.1

  • Fixed more backwards compatibility issues.
  • Updated version in the title.
  • Made DungeonStart() actually work (don't worry i've improved the code for it so it shouldn't cause issues).

1.5.0

  • Fixed backwards some compatibility issues.
  • Added new overridable methods to GunBehaviour.

1.4.1

  • Fixed enums and guids potentially corrupting savefiles.
  • Improved name to id conversion system.

1.4.0

  • Added documentation.
  • Added enum extensions.
  • Added shared data.
  • Removed some unused or stupid methods.
  • Other changes.

1.3.0

  • Updated SGUI to the latest version thanks to KubeRoot.

1.2.2

  • Updated links once more.
  • Hopefully made the enabled mods menu bigger.
  • Updated version in the title screen.

1.2.1

  • Updated links.
  • Added credits section.
  • Restructured the page a little.
  • Added a dependency on BepInEx Pack.

1.2.0

  • Fixed the debug clear command, improved the console clear command and added a new debug key that clears all of the debug log, even errors.

1.1.3

  • Hopefully fixed the Newtonsoft.Json issue.

1.1.2

  • Updated the plugin version so that it displays correctly in the title screen.

1.1.1

  • Fixed the thumbnail to actually display the correct version.

1.1.0

  • Big update.

1.0.1

  • Fixed TextureMap being removed.

1.0.0

  • Release.