Skip to content

Conversation

@Someone-193
Copy link
Collaborator

Description

Describe the changes
See title. You put LabAPI plugin in plugins folder, and it enables like exiled plugin

What is the current behavior? (You can also link to an open issue here)
Exiled would ignore the dll after seeing no types can be plugin

What is the new behavior? (if this is a feature change)
Exiled will check non-exiled plugins to see if they are LabAPI plugins then create them if so

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
No?

Other information:
Very headachy, plz test this PR yourself with all the LabAPI plugins you can think of, also idk base Exiled loader behavior (which I wanted to mimic) so double check yaml errors get handled the same (like if yaml fails to parse config, we just reset the config to defaults right?)

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentations

Submission checklist

  • I have checked the project can be compiled
  • I have tested my changes and it worked as expected

Patches (if there are any changes related to Harmony patches)

  • I have checked no IL patching errors in the console

Other

  • Still requires more testing

idk how, but the plugin tried to load a plugin twice for me, this at least eliminates the weirdness of seeing the load message twice
@LumiFae
Copy link

LumiFae commented Oct 21, 2025

@Someone-193
Copy link
Collaborator Author

fyi, https://github.com/northwood-studios/LabAPI/blob/a50115ad5e316f914f96ff8b4f8d831abc8b44b6/LabApi/Loader/PluginLoader.cs#L171 exists. Probably should be used.

That only loads those methods into LabAPI's lists and hashsets etc... which is useless after LabAPI has loaded every plugin, the EnablePlugins / EnablePlugin methods also call Plugin::LoadConfigs which call a LabAPI extension method which checks for the configs in LabAPI's configs, which kinda defeats the purpose of this PR. Now it's not like I didn't see those methods, I just basically copy pasted what I needed from them and filled in the gaps. Also the PluginLoader class doesn't even have a method to disable plugins

/// Attempts to load a config for a LabAPI plugin.
/// </summary>
/// <param name="plugin">The LabAPI plugin.</param>
/// <remarks>I love it when the modding framework people call the best has all plugin loading methods private and the config loading methods don't take custom directory paths.</remarks>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💀🤯

@louis1706 louis1706 merged commit e4a57e0 into ExMod-Team:dev Nov 2, 2025
6 checks passed
Someone-193 added a commit that referenced this pull request Dec 15, 2025
commit dd22906
Author: @Someone <45270312+Someone-193@users.noreply.github.com>
Date:   Mon Dec 15 13:47:26 2025 -0500

    version bump

commit 7df90e8
Author: @Someone <45270312+Someone-193@users.noreply.github.com>
Date:   Mon Dec 15 13:44:33 2025 -0500

    feat: PR for 14.2.3 (#689)

    * thing

    * Fix Error

    * more thing

    * Fix Jailbird HitReg being removed

    * 14.2.3 - Documentation & Version update

    * Player::Cassie(global::Cassie.CassieAnnouncement)

    * Lift::ElevatorAutoReturn and doc

    * HELPPP HELP MEEEEEE HELPPPPPPPPPP

    AAAAAAAAAAAAAAAAAAAAA
    (this stuff is untested btw)

    * Fixes

    * consolidate stuff in some event args

    ---------

    Co-authored-by: Yamato <66829532+louis1706@users.noreply.github.com>

commit 3a36e47
Merge: 1521dec 3a44a45
Author: @Someone <45270312+Someone-193@users.noreply.github.com>
Date:   Fri Nov 14 11:06:37 2025 -0500

    feat: Version Bump for 14.2.2 (#683)

    I bump version

commit 3a44a45
Author: @Someone <45270312+Someone-193@users.noreply.github.com>
Date:   Fri Nov 14 10:19:29 2025 -0500

    version bump

commit 1521dec
Author: Yamato <66829532+louis1706@users.noreply.github.com>
Date:   Wed Nov 5 14:11:01 2025 +0100

    fix: Updater ExiledDirectoryPath not being respected

    This was found by the Github GPT and i am surprised of it

commit 22fcfef
Author: @Someone <45270312+Someone-193@users.noreply.github.com>
Date:   Tue Nov 4 23:22:05 2025 -0500

    fix: Loader accidentally loading duplicate LabAPI plugins already loaded by LabAPI Loader

commit 9144e08
Author: Yamato <66829532+louis1706@users.noreply.github.com>
Date:   Tue Nov 4 21:41:08 2025 +0100

    fix: OnItemAdded being called after OnItemRemoved (#675)

    * Fix OnItemAdded being called after OnItemRemoved

    * Update T4 file

    * FixOnAddedBeingCallAfterOnRemoved

commit a6d1194
Merge: b5b7455 e4a57e0
Author: Yamato <66829532+louis1706@users.noreply.github.com>
Date:   Sun Nov 2 18:30:42 2025 +0100

    Merge branch 'dev' of https://github.com/ExMod-Team/EXILED into dev

commit b5b7455
Author: Yamato <66829532+louis1706@users.noreply.github.com>
Date:   Sun Nov 2 18:30:26 2025 +0100

    Update T4 file

commit e4a57e0
Author: @Someone <45270312+Someone-193@users.noreply.github.com>
Date:   Sun Nov 2 12:11:51 2025 -0500

    feat: Load & Enable LabAPI plugins in Plugins folder (#662)

    * Pain and suffering

    * Add plugin priority

    * Allow deep plugin inheritance I think idk tbh this is all really confusing

    * Fix accidental double enumeration

    idk how, but the plugin tried to load a plugin twice for me, this at least eliminates the weirdness of seeing the load message twice

    * Fix Reload / Disable, add GetLabAPIPlugin

    ---------

    Co-authored-by: Yamato <66829532+louis1706@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants