Hi! This is the plugin repository for the Dalamud plugin framework for Final Fantasy XIV. This repository is a successor to DalamudPlugins and implements DIP17 to make the submission process easier and faster.
- Ensure your plugin is on a publically accessible Git repo (GitHub, GitLab, any self-hosted Git instance that allows HTTP clones without authentication)
- Update your
.csproj
- Set
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
in aPropertyGroup
- Use
$(DalamudLibPath)
if you aren't already, see https://github.com/goatcorp/SamplePlugin/blob/master/SamplePlugin/SamplePlugin.csproj#L29-L63
- Set
- Build your plugin in Release, commit your
.csproj
+ the newly generated lock file
When the plugin approval group checks your plugin, they will check for the following:
- Does it meet our guidelines, as agreed upon by multiple members of the group?
- Does it feature any combat elements? If so, are they purely informational, and show only information the player would normally know?
- Does it pass an informal code review?
- Does it install cleanly?
- Does the configuration window (if present) behave correctly?
- Does the base functionality of the plugin work (if testable easily)?
- Does it have no obvious technical issues?
- Is its JSON correctly formatted? (We hope to make this unnecessary in future)
- If it's a new plugin, is it in the testing channel and not the stable channel? If it's a simple plugin, or you have already tested separately, you may be able to skip the testing phase - please put some details in your PR or reach out!
- Does it meet the Technical criteria?
These criteria are intended to prevent issues for users. We're happy to work with you to get you across the line; just reach out in the Discord.
There are a few technical things that you should do before submitting your plugin here. They will make your plugin nicer to use.
- Your plugin has to have an
icon.png
that is no larger than 512x512 and no smaller than 64x64 inimages/
. - For regular ImGui windows that don't do anything special, like settings and utility windows, you should use the Dalamud Windowing API. It enhances windows with a few nice features, like integration into the native UI closing-order.
-
Fork this repository, or use the GitHub web editor (press
.
in the repo, or press the ✏ icon on an existing manifest) -
In your fork, make
stable/(plugin name)/manifest.toml
(ortesting/live/(plugin name)/manifest.toml
- note that we prefer that new plugins go totesting/live
, so that the wrinkles can be worked out before they go out to the wider audience). For more information, see here.[plugin] repository = "https://github.com/goatcorp/SamplePlugin.git" commit = "765d9bb434ac99a27e9a3f2ba0a555b55fe6269d" owners = ["goaaats"] project_path = "SamplePlugin" changelog = "Added Herobrine"
-
Place the images for your plugin in an
images
subfolder:stable/(plugin name)/images
.- Please note this will be streamlined at some point in the future. This has not been implemented yet. If you can help, we'd love to hear from you!
-
Make the PR. If you're using the GitHub web editor, this will be automatic.
You'll also need to be using DalamudPackager; please check the SamplePlugin for an example. If you need help, please reach out.
Just edit the commit hash in your manifest. Please always make your updates from a new branch, to make it cleaner for us to review.
If you want to trigger a re-build of your PR, just post a comment with the content "bleatbot, rebuild".
When submitting a plugin, please consider our Acceptable Use Policy & Terms of Service, which, for example, detail the rights you need to grant us when uploading a plugin to this repository.