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 | 2 months ago |
Version | 1.8.7 |
Download link | MtG_API-Mod_the_Gungeon_API-1.8.7.zip |
Downloads | 10312 |
Dependency string | MtG_API-Mod_the_Gungeon_API-1.8.7 |
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)
- Note: this log is disabled by default for performance reasons. It can be enabled in the config file (
etgmodding.etg.mtgapi.cfg
)
- Note: this log is disabled by default for performance reasons. It can be enabled in the config file (
- A mods menu that shows all enabled plugins (F1)
Useful Links
- Installation
- Porting your mod to BepInEx
- Converting .json files to .jtk2d files
- BepInEx Example Mod (Plain)
- BepInEx Example Mod (Items)
- 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.