You are viewing a potentially older version of this package.
View all versions.
Mod the Gungeon API
Adds the good parts of Mod the Gungeon to BepInEx.
Date uploaded | a year ago |
Version | 1.7.0 |
Download link | MtG_API-Mod_the_Gungeon_API-1.7.0.zip |
Downloads | 1960 |
Dependency string | MtG_API-Mod_the_Gungeon_API-1.7.0 |
This mod requires the following mods to function
BepInEx-BepInExPack_EtG
BepInEx pack for Enter the Gungeon. Preconfigured and includes unstripped Unity DLLs.
Preferred version: 5.4.2101README
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)
Installation (Manual)
Installation (Automatic)
Install either Thunderstore Mod Manager or r2modman if you don't already have a mod manager. After that, press "Install with Mod Manager" on this page to install this mod.
Porting your mod to BepInEx
Converting .json files to .jtk2d files
BepInEx Example Mod (Plain)
Download Zip
GitHub Repository
BepInEx Example Mod (Items)
Download Zip
GitHub Repository
Publicized and Stripped Assembly-CSharp.dll
GitHub Repository
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)
andGunExt.SetLongDescription(this PickupObject, StringTableManager.GungeonSupportedLanguages, string)
- Added
- Added the Unity Serialization Fixer patcher that makes Unity serialize modded types.
- Fixed an issue where
GunExt.UpdateAnimation()
was sometimes wrongly returningnull
.
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 theIGunInheritable
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()
andGunBehaviour.OnAmmoCollected()
- Fixed
GunBehaviour.EverPickedUp
beingtrue
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()
andGunBehaviour.OwnedUpdateEnemy()
.
1.7.6:
GunBehaviour.OnDropped()
,GunBehaviour.OnDroppedPlayer()
,GunBehaviour.DisableEffect()
,GunBehaviour.DisableEffectEnemy()
andGunBehaviour.DisableEffectPlayer()
now trigger when a gun is thrown.
1.7.5:
- Added
GunBehaviour.DisableEffect()
,GunBehaviour.DisableEffectPlayer()
andGunBehaviour.DisableEffectEnemy()
. GunBehaviour.LastRegisteredOwner
is nowNonSerialized
. 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 likeGun.CurrentOwner
but reset afterGunBehaviour.OnDropped()
andGunBehaviour.OnDroppedByPlayer()
instead of before. - Made
GunBehaviour.GenericOwner
returnGunBehaviour.LastRegisteredOwner
ifGun.CurrentOwner
is null. - Made
GunBehaviour.PlayerOwner
returnGunBehaviour.LastRegisteredOwner
as aPlayerController
ifGun.CurrentOwner
is null. - Made
GunBehaviour.EnemyOwner
returnGunBehaviour.LastRegisteredOwner
as anAIActor
ifGun.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 someFunc
s, even if the methods for them weren't overriden. NowGunBehaviour
only subscribes toFunc
s if the methods are overriden. - Fixed
GunBehaviour.OnGunThrown()
,GunBehaviour.OnGunThrownPlayer()
,GunBehaviour.OnGunThrownEnemy()
,GunBehaviour.PostProcessBeam()
andGunBehaviour.PostProcessBeamChanceTick()
only being called for the lastGunBehaviour
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 theEncounterDatabaseEntry
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.