diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..700b3c6 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: zeffuro +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/.github/ISSUE_TEMPLATE/BUG-REPORT.yaml b/.github/ISSUE_TEMPLATE/BUG-REPORT.yaml new file mode 100644 index 0000000..8b0cd30 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/BUG-REPORT.yaml @@ -0,0 +1,57 @@ +name: Bug +description: For when you have found a bug +title: "[Bug]: " +labels: [bug] +body: + - type: textarea + id: what-happened + attributes: + label: What are you trying to do? + description: What are you trying to do? + placeholder: Tell us what you see! + validations: + required: true + - type: textarea + id: expected-behaviors + attributes: + label: What is the expected behavior? + description: What do you think should happen? + placeholder: Tell us what you see! + validations: + required: true + - type: textarea + id: actually-happened + attributes: + label: What actually happened? + description: Please try to be as descriptive as possible. + placeholder: Tell us what you see! + validations: + required: true + - type: textarea + id: suggested-solution + attributes: + label: Suggested solution + description: If you have any idea how we could solve it let me know. + placeholder: Tell us what you see! + validations: + required: false + - type: textarea + id: logs + attributes: + label: Logs + description: If you have any errors in the log please put them here. + render: shell + - type: textarea + id: export + attributes: + label: Export + description: If you have an export for the aura that's causing issues please provide it here. + render: shell + - type: checkboxes + id: terms + attributes: + label: FFXIV Update + description: Whenever Final Fantasy has an update, XIVLauncher needs an update so please don't open issues during that window. + options: + - label: I have confirmed that I have the latest version of XIVLauncher and AetherBags. + required: true diff --git a/.github/ISSUE_TEMPLATE/SUGGESTION.yaml b/.github/ISSUE_TEMPLATE/SUGGESTION.yaml new file mode 100644 index 0000000..64dad27 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/SUGGESTION.yaml @@ -0,0 +1,12 @@ +name: Suggestion +description: For when you want to suggest new features for AetherBags. +title: "[Suggestion]: " +labels: [suggestion] +body: + - type: textarea + id: suggestion + attributes: + label: What's your suggestion? + description: Please try to be detailed explaining what you want. + validations: + required: true diff --git a/.github/workflows/build-debug.yml b/.github/workflows/build-debug.yml new file mode 100644 index 0000000..6b22930 --- /dev/null +++ b/.github/workflows/build-debug.yml @@ -0,0 +1,120 @@ +name: Debug Build and Test + +on: [push, pull_request] + +jobs: + build-latest: + name: Build against Latest Dalamud + runs-on: windows-2022 + + # Define the plugin name and Dalamud version variables for this job + env: + PLUGIN_NAME: AetherBags + DALAMUD_VERSION_NAME: "Latest" + DALAMUD_VERSION_URL: "https://goatcorp.github.io/dalamud-distrib/latest.zip" + + steps: + # Checkout the repository code + - name: Checkout and Initialise + uses: actions/checkout@v4 + with: + submodules: true + + # Install the required .NET SDK + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '10.x.x' + + # Cache the nuget packages. + - name: Cache Dependencies + id: cache-dependencies + uses: actions/cache@v4 + with: + path: | + ~/.nuget/packages + key: ${{ runner.os }}-nuget-${{ hashFiles('**/${{ env.PLUGIN_NAME }}.csproj') }} + restore-keys: | + ${{ runner.os }}-nuget- + + # Create the required directory structure and download/extract Dalamud. + - name: Download and extract Dalamud (${{ env.DALAMUD_VERSION_NAME }}) + run: | + mkdir -p "$env:AppData\XIVLauncher\addon\Hooks\dev" + Invoke-WebRequest -Uri "${{ env.DALAMUD_VERSION_URL }}" -OutFile "dalamud.zip" + Expand-Archive -Path "dalamud.zip" -DestinationPath "$env:AppData\XIVLauncher\addon\Hooks\dev" -Force + + # Restore, build, and test. + - name: Build Debug (${{ env.DALAMUD_VERSION_NAME }}) + id: build_step + run: | + dotnet restore ` + && dotnet build --no-restore --configuration Debug ` + && dotnet test --no-build --configuration Debug + + # Upload the build artifact. This step will only run if the build_step succeeded. + - name: Upload Artifact (${{ env.DALAMUD_VERSION_NAME }}) + if: steps.build_step.outcome == 'success' + uses: actions/upload-artifact@v4 + with: + name: ${{ env.PLUGIN_NAME }}-debug-${{ env.DALAMUD_VERSION_NAME }}-${{ github.sha }} + path: | + ${{ env.PLUGIN_NAME }}/bin/x64/Debug/ + + build-staging: + name: Build against Staging Dalamud + runs-on: windows-2022 + + # Define the plugin name and Dalamud version variables for this job + env: + PLUGIN_NAME: AetherBags + DALAMUD_VERSION_NAME: "Staging" + DALAMUD_VERSION_URL: "https://goatcorp.github.io/dalamud-distrib/stg/latest.zip" + + steps: + # Checkout the repository code + - name: Checkout and Initialise + uses: actions/checkout@v4 + with: + submodules: true + + # Install the required .NET SDK + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '10.x.x' + + # Cache the nuget packages + - name: Cache Dependencies + id: cache-dependencies + uses: actions/cache@v4 + with: + path: | + ~/.nuget/packages + key: ${{ runner.os }}-nuget-${{ hashFiles('**/${{ env.PLUGIN_NAME }}.csproj') }} + restore-keys: | + ${{ runner.os }}-nuget- + + # Create the required directory structure and download/extract Dalamud. + - name: Download and extract Dalamud (${{ env.DALAMUD_VERSION_NAME }}) + run: | + mkdir -p "$env:AppData\XIVLauncher\addon\Hooks\dev" + Invoke-WebRequest -Uri "${{ env.DALAMUD_VERSION_URL }}" -OutFile "dalamud.zip" + Expand-Archive -Path "dalamud.zip" -DestinationPath "$env:AppData\XIVLauncher\addon\Hooks\dev" -Force + + # Restore, build, and test. + - name: Build Debug (${{ env.DALAMUD_VERSION_NAME }}) + id: build_step + run: | + dotnet restore ` + && dotnet build --no-restore --configuration Debug ` + && dotnet test --no-build --configuration Debug + + # Upload the build artifact. + - name: Upload Artifact (${{ env.DALAMUD_VERSION_NAME }}) + if: steps.build_step.outcome == 'success' + uses: actions/upload-artifact@v4 + with: + name: ${{ env.PLUGIN_NAME }}-debug-${{ env.DALAMUD_VERSION_NAME }}-${{ github.sha }} + path: | + ${{ env.PLUGIN_NAME }}/bin/x64/Debug/ \ No newline at end of file diff --git a/AetherBags/AetherBags.csproj b/AetherBags/AetherBags.csproj index 9215a23..5e4e5d9 100644 --- a/AetherBags/AetherBags.csproj +++ b/AetherBags/AetherBags.csproj @@ -20,6 +20,7 @@ + PreserveNewest false diff --git a/AetherBags/changelog.md b/AetherBags/changelog.md new file mode 100644 index 0000000..b5730d4 --- /dev/null +++ b/AetherBags/changelog.md @@ -0,0 +1,2 @@ +# 1.0.0.0 +- Initial Release \ No newline at end of file diff --git a/Images/example.png b/Images/example.png new file mode 100644 index 0000000..690b3cf Binary files /dev/null and b/Images/example.png differ diff --git a/README.md b/README.md index 01fef7d..91ce31c 100644 --- a/README.md +++ b/README.md @@ -1 +1,9 @@ # AetherBags + +A Final Fantasy XIV Dalamud Plugin that enhances your inventory by organizing and displaying bag contents using native UI elements (made possible by KTK, KamiToolKit). + +It supports user-defined categories with custom names, ordering/priority, colors, and rule-based item filtering (e.g., by item ID, name patterns, UI category, rarity, level/item level, vendor price, and various flags). + +![example](Images/example.png) + +[![Download count](https://img.shields.io/endpoint?url=https://qzysathwfhebdai6xgauhz4q7m0mzmrf.lambda-url.us-east-1.on.aws/AetherBags)](https://github.com/Zeffuro/AetherBags)