Initial public release setup
Add QuickTransfer source, pluginmaster feed, MIT license, and GitHub Actions release workflow.
This commit is contained in:
@@ -0,0 +1,58 @@
|
|||||||
|
name: Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- "v*"
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-release:
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup .NET
|
||||||
|
uses: actions/setup-dotnet@v4
|
||||||
|
with:
|
||||||
|
dotnet-version: "10.0.x"
|
||||||
|
|
||||||
|
- name: Fetch Dalamud SDK libs (api14)
|
||||||
|
shell: pwsh
|
||||||
|
run: |
|
||||||
|
$ErrorActionPreference = "Stop"
|
||||||
|
$url = "https://raw.githubusercontent.com/goatcorp/dalamud-distrib/main/api14/latest.zip"
|
||||||
|
$tmp = Join-Path $env:RUNNER_TEMP "dalamud"
|
||||||
|
$zip = Join-Path $tmp "dalamud.zip"
|
||||||
|
$dst = Join-Path $tmp "extracted"
|
||||||
|
New-Item -ItemType Directory -Force $dst | Out-Null
|
||||||
|
Invoke-WebRequest -Uri $url -OutFile $zip
|
||||||
|
Expand-Archive -Path $zip -DestinationPath $dst -Force
|
||||||
|
|
||||||
|
$dalamudDll = Get-ChildItem -Path $dst -Recurse -Filter "Dalamud.dll" | Select-Object -First 1
|
||||||
|
if (-not $dalamudDll) { throw "Dalamud.dll not found after extracting $url" }
|
||||||
|
|
||||||
|
$env:DALAMUD_HOME = $dalamudDll.Directory.FullName
|
||||||
|
"DALAMUD_HOME=$($env:DALAMUD_HOME)" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8
|
||||||
|
|
||||||
|
- name: Restore
|
||||||
|
run: dotnet restore
|
||||||
|
|
||||||
|
- name: Build (Release)
|
||||||
|
run: dotnet build -c Release --no-restore
|
||||||
|
|
||||||
|
- name: Prepare release zip
|
||||||
|
shell: pwsh
|
||||||
|
run: |
|
||||||
|
$zip = "bin\\Release\\QuickTransfer\\latest.zip"
|
||||||
|
if (!(Test-Path $zip)) { throw "Expected pack zip not found: $zip" }
|
||||||
|
Copy-Item $zip "QuickTransfer.zip" -Force
|
||||||
|
|
||||||
|
- name: Create GitHub Release
|
||||||
|
uses: softprops/action-gh-release@v2
|
||||||
|
with:
|
||||||
|
files: |
|
||||||
|
QuickTransfer.zip
|
||||||
+86
@@ -0,0 +1,86 @@
|
|||||||
|
# User-specific files
|
||||||
|
*.suo
|
||||||
|
*.user
|
||||||
|
*.userosscache
|
||||||
|
*.sln.docstates
|
||||||
|
|
||||||
|
# Build results
|
||||||
|
[Dd]ebug/
|
||||||
|
[Rr]elease/
|
||||||
|
x64/
|
||||||
|
x86/
|
||||||
|
[Bb]uild/
|
||||||
|
build/
|
||||||
|
[Bb]in/
|
||||||
|
[Oo]bj/
|
||||||
|
|
||||||
|
# Visual Studio 2015
|
||||||
|
.vs/
|
||||||
|
|
||||||
|
# NuGet Packages
|
||||||
|
*.nupkg
|
||||||
|
packages/
|
||||||
|
**/packages/*
|
||||||
|
!packages/repositories.config
|
||||||
|
|
||||||
|
# MSTest test Results
|
||||||
|
[Tt]est[Rr]esult*/
|
||||||
|
[Bb]uild[Ll]og.*
|
||||||
|
|
||||||
|
# ReSharper
|
||||||
|
_ReSharper*/
|
||||||
|
*.[Rr]e[Ss]harper
|
||||||
|
*.DotSettings.user
|
||||||
|
|
||||||
|
# TeamCity
|
||||||
|
_TeamCity*
|
||||||
|
|
||||||
|
# DotCover
|
||||||
|
coverage/
|
||||||
|
|
||||||
|
# ncRush
|
||||||
|
*.ncrush*
|
||||||
|
|
||||||
|
# .NET Core
|
||||||
|
project.lock.json
|
||||||
|
project.fragment.lock.json
|
||||||
|
artifacts/
|
||||||
|
|
||||||
|
# StyleCop
|
||||||
|
StyleCopReport.xml
|
||||||
|
|
||||||
|
# Build files
|
||||||
|
*.mak
|
||||||
|
|
||||||
|
# RIA/Silverlight projects
|
||||||
|
Generated_Code/
|
||||||
|
|
||||||
|
# Backup & report files
|
||||||
|
*_Report.htm
|
||||||
|
*_Report.html
|
||||||
|
*.log
|
||||||
|
Thumbs.db
|
||||||
|
App.config
|
||||||
|
|
||||||
|
# IDE
|
||||||
|
.idea/
|
||||||
|
*.swp
|
||||||
|
*.swo
|
||||||
|
*~
|
||||||
|
|
||||||
|
# OS
|
||||||
|
.DS_Store
|
||||||
|
.DS_Store?
|
||||||
|
._*
|
||||||
|
.Spotlight-V100
|
||||||
|
.Trashes
|
||||||
|
ehthumbs.db
|
||||||
|
Thumbs.db
|
||||||
|
|
||||||
|
# Game data
|
||||||
|
sqpack/
|
||||||
|
*.sqpack
|
||||||
|
|
||||||
|
# Dalamud specific
|
||||||
|
addon/
|
||||||
|
hooks/
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2026 flick
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
+1984
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,22 @@
|
|||||||
|
<Project Sdk="Dalamud.NET.Sdk/14.0.1">
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net10.0-windows</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<AssemblyName>QuickTransfer</AssemblyName>
|
||||||
|
<RootNamespace>QuickTransfer</RootNamespace>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<IsPackable>false</IsPackable>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<!-- Local builds: some setups have DALAMUD_HOME pointing at the XIVLauncher root,
|
||||||
|
not the actual dev hooks folder. If the resolved DalamudLibPath doesn't contain
|
||||||
|
Dalamud.dll, fall back to the standard Roaming dev hooks path. -->
|
||||||
|
<PropertyGroup Condition="$([MSBuild]::IsOSPlatform('Windows'))">
|
||||||
|
<_DalamudDevHooksPath>$(APPDATA)\XIVLauncher\addon\Hooks\dev\</_DalamudDevHooksPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="$([MSBuild]::IsOSPlatform('Windows')) and Exists('$(_DalamudDevHooksPath)Dalamud.dll') and !Exists('$(DalamudLibPath)Dalamud.dll')">
|
||||||
|
<DalamudLibPath>$(_DalamudDevHooksPath)</DalamudLibPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"Author": "flick",
|
||||||
|
"Name": "QuickTransfer",
|
||||||
|
"InternalName": "QuickTransfer",
|
||||||
|
"AssemblyVersion": "1.0.0.0",
|
||||||
|
"Description": "Automate inventory transfers with Shift/Ctrl + Right-Click.",
|
||||||
|
"ApplicableVersion": "any",
|
||||||
|
"RepoUrl": "https://github.com/Knack117/QuickTransfer",
|
||||||
|
"Tags": [
|
||||||
|
"inventory",
|
||||||
|
"utility",
|
||||||
|
"quality of life"
|
||||||
|
],
|
||||||
|
"DalamudApiLevel": 14,
|
||||||
|
"LoadRequiredState": 0,
|
||||||
|
"LoadSync": false,
|
||||||
|
"CanUnloadAsync": false,
|
||||||
|
"LoadPriority": 0,
|
||||||
|
"Punchline": "Quick item transfer helpers.",
|
||||||
|
"AcceptsFeedback": true
|
||||||
|
}
|
||||||
@@ -0,0 +1,119 @@
|
|||||||
|
using System;
|
||||||
|
using System.Numerics;
|
||||||
|
using Dalamud.Bindings.ImGui;
|
||||||
|
using Dalamud.Interface.Windowing;
|
||||||
|
|
||||||
|
namespace QuickTransfer;
|
||||||
|
|
||||||
|
public class QuickTransferWindow : Window, IDisposable
|
||||||
|
{
|
||||||
|
private readonly Configuration _config;
|
||||||
|
|
||||||
|
public QuickTransferWindow(Configuration config)
|
||||||
|
: base("QuickTransfer Settings###QuickTransferConfig")
|
||||||
|
{
|
||||||
|
_config = config;
|
||||||
|
|
||||||
|
SizeCondition = ImGuiCond.FirstUseEver;
|
||||||
|
Size = new Vector2(500, 400);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
// no-op
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Draw()
|
||||||
|
{
|
||||||
|
// Main settings
|
||||||
|
ImGui.TextColored(new Vector4(0.4f, 0.8f, 1f, 1f), "QuickTransfer Configuration");
|
||||||
|
ImGui.Separator();
|
||||||
|
|
||||||
|
// Enable/Disable
|
||||||
|
var enabled = _config.Enabled;
|
||||||
|
if (ImGui.Checkbox("Enabled###Enabled", ref enabled))
|
||||||
|
{
|
||||||
|
_config.Enabled = enabled;
|
||||||
|
_config.Save();
|
||||||
|
}
|
||||||
|
ImGui.SameLine();
|
||||||
|
ImGui.TextColored(new Vector4(0.7f, 0.7f, 0.7f, 1f), _config.Enabled ? "(Active)" : "(Disabled)");
|
||||||
|
|
||||||
|
ImGui.Spacing();
|
||||||
|
|
||||||
|
// Debug mode
|
||||||
|
var debugMode = _config.DebugMode;
|
||||||
|
if (ImGui.Checkbox("Debug Mode###DebugMode", ref debugMode))
|
||||||
|
{
|
||||||
|
_config.DebugMode = debugMode;
|
||||||
|
_config.Save();
|
||||||
|
}
|
||||||
|
ImGui.SameLine();
|
||||||
|
ImGui.TextColored(new Vector4(0.7f, 0.7f, 0.7f, 0.7f), "(Logs to chat - for troubleshooting)");
|
||||||
|
|
||||||
|
ImGui.Spacing();
|
||||||
|
|
||||||
|
// Company Chest
|
||||||
|
var enableCompanyChest = _config.EnableCompanyChest;
|
||||||
|
if (ImGui.Checkbox("Enable Company Chest (Free Company Chest)###EnableCompanyChest", ref enableCompanyChest))
|
||||||
|
{
|
||||||
|
_config.EnableCompanyChest = enableCompanyChest;
|
||||||
|
_config.Save();
|
||||||
|
}
|
||||||
|
ImGui.SameLine();
|
||||||
|
ImGui.TextColored(new Vector4(0.7f, 0.7f, 0.7f, 0.7f), "(Shift: deposit/withdraw while FC chest is open)");
|
||||||
|
|
||||||
|
var autoConfirmQty = _config.AutoConfirmCompanyChestQuantity;
|
||||||
|
if (ImGui.Checkbox("Auto-confirm Company Chest quantity prompt###AutoConfirmCompanyChestQty", ref autoConfirmQty))
|
||||||
|
{
|
||||||
|
_config.AutoConfirmCompanyChestQuantity = autoConfirmQty;
|
||||||
|
_config.Save();
|
||||||
|
}
|
||||||
|
ImGui.SameLine();
|
||||||
|
ImGui.TextColored(new Vector4(0.85f, 0.75f, 0.45f, 0.9f), "(Best effort; disable if it misbehaves)");
|
||||||
|
|
||||||
|
// Transfer cooldown
|
||||||
|
ImGui.Spacing();
|
||||||
|
ImGui.Text("Transfer Cooldown (ms):");
|
||||||
|
ImGui.SameLine();
|
||||||
|
ImGui.SetNextItemWidth(100);
|
||||||
|
var cooldown = _config.TransferCooldownMs;
|
||||||
|
if (ImGui.InputInt("###Cooldown", ref cooldown))
|
||||||
|
{
|
||||||
|
_config.TransferCooldownMs = Math.Max(0, Math.Min(1000, cooldown));
|
||||||
|
_config.Save();
|
||||||
|
}
|
||||||
|
|
||||||
|
ImGui.Spacing();
|
||||||
|
ImGui.Separator();
|
||||||
|
|
||||||
|
// Instructions
|
||||||
|
ImGui.TextColored(new Vector4(0.4f, 0.8f, 1f, 1f), "How to Use:");
|
||||||
|
ImGui.BulletText("Hold SHIFT and RIGHT-CLICK to use the open container's quick action");
|
||||||
|
ImGui.BulletText("Hold CTRL and RIGHT-CLICK to use Armoury actions when a Saddlebag, Retainer, or Company Chest is open (Inventory ↔ Armoury)");
|
||||||
|
ImGui.BulletText("Inventory + Saddlebags: Inventory → \"Add All to Saddlebag\", Saddlebags → \"Remove All from Saddlebag\"");
|
||||||
|
ImGui.BulletText("Armoury + Saddlebags: Armoury → \"Add All to Saddlebag\"");
|
||||||
|
ImGui.BulletText("Inventory + Retainer: Inventory → \"Entrust to Retainer\", Retainer → \"Retrieve from Retainer\"");
|
||||||
|
ImGui.BulletText("Armoury + Retainer: Armoury → \"Entrust to Retainer\", Retainer → \"Retrieve from Retainer\"");
|
||||||
|
ImGui.BulletText("Retainer + Saddlebags: Retainer → \"Add All to Saddlebag\", Saddlebags → \"Entrust to Retainer\"");
|
||||||
|
ImGui.BulletText("Inventory + Armoury (no special container): (Gear) Inventory → \"Place in Armoury Chest\", Armoury → \"Return to Inventory\"");
|
||||||
|
ImGui.BulletText("Company Chest (FreeCompanyChest) open: Shift+RClick Inventory/Armoury deposits, Shift+RClick Company Chest withdraws (\"Remove\")");
|
||||||
|
ImGui.BulletText("Use /qt or click 'Open Config' in plugin list to reopen this window");
|
||||||
|
|
||||||
|
ImGui.Spacing();
|
||||||
|
ImGui.Separator();
|
||||||
|
ImGui.TextColored(new Vector4(0.8f, 0.8f, 0.4f, 1f), "Notes:");
|
||||||
|
ImGui.BulletText("This uses the game's existing context menu options (no manual slot moving).");
|
||||||
|
ImGui.BulletText("If an option isn't available for the clicked item, nothing happens.");
|
||||||
|
ImGui.BulletText("If you tap Shift briefly, the action still triggers (it is captured when the menu opens).");
|
||||||
|
ImGui.BulletText("For Company Chest deposits, this uses the same UI move function as drag+drop would.");
|
||||||
|
ImGui.Spacing();
|
||||||
|
|
||||||
|
// Save button
|
||||||
|
if (ImGui.Button("Save & Close###SaveClose"))
|
||||||
|
{
|
||||||
|
_config.Save();
|
||||||
|
IsOpen = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,163 @@
|
|||||||
|
# QuickTransfer - FFXIV Quick Transfer Plugin
|
||||||
|
|
||||||
|
A Dalamud plugin for Final Fantasy XIV that enables quick item transfer between inventory containers using **Shift + Right-Click**, by automatically selecting an existing entry from the game's context menu.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **Quick Transfer**: Hold Shift and right-click an item to automatically trigger the matching context menu action
|
||||||
|
- **Cooldown Protection**: Built-in cooldown to prevent accidental double-moves
|
||||||
|
- **Debug Mode**: For troubleshooting and development
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
1. **XIVLauncher**: Download and install from [goatcorp.github.io](https://goatcorp.github.io/)
|
||||||
|
2. **Dalamud**: Enable plugins in XIVLauncher settings
|
||||||
|
3. **Dev Plugin Loading**: Enable "Dev Plugin Locations" in Dalamud settings for development builds
|
||||||
|
4. **.NET SDK**: Install the .NET 10 SDK (this project targets `net10.0-windows`)
|
||||||
|
|
||||||
|
### Installing the Plugin
|
||||||
|
|
||||||
|
#### Method 1: Custom Dalamud repository (recommended)
|
||||||
|
1. In-game, open **Dalamud Settings** → **Experimental**
|
||||||
|
2. Under **Custom Plugin Repositories**, add this URL:
|
||||||
|
- `https://raw.githubusercontent.com/Knack117/QuickTransfer/main/pluginmaster.json`
|
||||||
|
3. Click **Save**
|
||||||
|
4. Type `/xlplugins` in-game, search for **QuickTransfer**, and click **Install**
|
||||||
|
|
||||||
|
#### Method 2: Development build (local)
|
||||||
|
1. Clone or download this repository
|
||||||
|
2. Open the solution in Visual Studio 2022
|
||||||
|
3. Build the solution (Release configuration)
|
||||||
|
4. In-game, open Dalamud Settings → Experimental → Dev Plugin Locations
|
||||||
|
5. Add the path to the compiled DLL (typically `bin/Release/QuickTransfer.dll` or `bin/Debug/QuickTransfer.dll`)
|
||||||
|
6. Type `/xlplugins` in-game and enable QuickTransfer
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
### Quick Transfer (Shift + Right Click)
|
||||||
|
|
||||||
|
The plugin only clicks **existing** context menu options when they are available:
|
||||||
|
|
||||||
|
- **Inventory + Chocobo Saddlebags**
|
||||||
|
- Inventory → **Add All to Saddlebag**
|
||||||
|
- Saddlebags → **Remove All from Saddlebag**
|
||||||
|
- **Armoury Chest + Chocobo Saddlebags**
|
||||||
|
- Armoury → **Add All to Saddlebag**
|
||||||
|
- Saddlebags → **Remove All from Saddlebag**
|
||||||
|
- **Inventory + Armoury Chest**
|
||||||
|
- (Gear) Inventory → **Place in Armoury Chest**
|
||||||
|
- Armoury → **Return to Inventory**
|
||||||
|
|
||||||
|
If an option is not present for the clicked item, **nothing happens**.
|
||||||
|
|
||||||
|
## Configuration Options
|
||||||
|
|
||||||
|
| Setting | Description | Default |
|
||||||
|
|---------|-------------|---------|
|
||||||
|
| Enabled | Enable/disable the plugin | True |
|
||||||
|
| Debug Mode | Log transfer attempts to chat | False |
|
||||||
|
| Transfer Cooldown | Milliseconds between transfers | 200 |
|
||||||
|
|
||||||
|
## Development
|
||||||
|
|
||||||
|
### Setting Up Development Environment
|
||||||
|
|
||||||
|
1. Install Visual Studio 2022 with the .NET 10 SDK
|
||||||
|
2. Clone this repository
|
||||||
|
3. Open `QuickTransfer.csproj`
|
||||||
|
4. Build the project
|
||||||
|
|
||||||
|
### Building
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Build Debug
|
||||||
|
dotnet build --configuration Debug
|
||||||
|
|
||||||
|
# Build Release
|
||||||
|
dotnet build --configuration Release
|
||||||
|
```
|
||||||
|
|
||||||
|
### Testing
|
||||||
|
|
||||||
|
1. Enable "Dev Plugin Locations" in Dalamud settings
|
||||||
|
2. Add the path to your build output directory
|
||||||
|
3. In-game, the plugin will automatically reload when you rebuild
|
||||||
|
|
||||||
|
### Project Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
QuickTransfer/
|
||||||
|
├── QuickTransfer.cs # Main plugin class
|
||||||
|
├── QuickTransfer.csproj # Project file
|
||||||
|
├── QuickTransferWindow.cs # Configuration UI
|
||||||
|
├── pluginmaster.json # Custom repository metadata (for Dalamud)
|
||||||
|
└── README.md # This file
|
||||||
|
```
|
||||||
|
|
||||||
|
### Adding New Features
|
||||||
|
|
||||||
|
1. Fork the repository
|
||||||
|
2. Create a feature branch
|
||||||
|
3. Implement your changes
|
||||||
|
4. Test thoroughly
|
||||||
|
5. Submit a pull request
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
### Plugin Not Loading
|
||||||
|
- Ensure Dalamud is properly installed
|
||||||
|
- Check that you're using the correct .NET version
|
||||||
|
- Verify the DLL path is correct in Dev Plugin Locations
|
||||||
|
|
||||||
|
### Transfers Not Working
|
||||||
|
- Make sure the plugin is enabled
|
||||||
|
- Check that you have both source and target inventories open
|
||||||
|
- Ensure the target inventory has space
|
||||||
|
- Try increasing the transfer cooldown
|
||||||
|
|
||||||
|
### Game Crashes
|
||||||
|
- Disable debug mode for normal play
|
||||||
|
- Reduce the transfer cooldown if set too low
|
||||||
|
- Report bugs with detailed steps
|
||||||
|
|
||||||
|
### Debug Mode
|
||||||
|
|
||||||
|
Enable Debug Mode to see transfer attempts in chat:
|
||||||
|
```
|
||||||
|
[QuickTransfer] (Shift+RClick) Selected context action 'Remove All from Saddlebag' (idx=0) via deferred OnMenuOpened.
|
||||||
|
```
|
||||||
|
|
||||||
|
## Compatibility
|
||||||
|
|
||||||
|
- **Game Version**: Tested on FFXIV 7.0+ (Dawntrail)
|
||||||
|
- **Dalamud Version**: Uses `Dalamud.NET.Sdk` (targets your installed Dalamud)
|
||||||
|
- **.NET Version**: .NET 10.0 Windows (`net10.0-windows`)
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
Contributions are welcome! Please read the contributing guidelines before submitting pull requests.
|
||||||
|
|
||||||
|
### Reporting Issues
|
||||||
|
|
||||||
|
1. Check existing issues to avoid duplicates
|
||||||
|
2. Include steps to reproduce
|
||||||
|
3. Include plugin version and game version
|
||||||
|
4. Include any relevant logs
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
This plugin is licensed under the MIT License - see the `LICENSE` file for details.
|
||||||
|
|
||||||
|
## Credits
|
||||||
|
|
||||||
|
- **goatcorp**: For creating XIVLauncher and Dalamud
|
||||||
|
- **Dalamud Community**: For the extensive plugin ecosystem
|
||||||
|
- **Contributors**: Thanks to everyone who has contributed to this project
|
||||||
|
|
||||||
|
## Changelog
|
||||||
|
|
||||||
|
### Version 1.0.0
|
||||||
|
- Initial release
|
||||||
|
- Shift+Right-Click context menu automation for Inventory / Armoury / Saddlebags
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"dependencies": {
|
||||||
|
"net10.0-windows7.0": {
|
||||||
|
"DalamudPackager": {
|
||||||
|
"type": "Direct",
|
||||||
|
"requested": "[14.0.1, )",
|
||||||
|
"resolved": "14.0.1",
|
||||||
|
"contentHash": "y0WWyUE6dhpGdolK3iKgwys05/nZaVf4ZPtIjpLhJBZvHxkkiE23zYRo7K7uqAgoK/QvK5cqF6l3VG5AbgC6KA=="
|
||||||
|
},
|
||||||
|
"DotNet.ReproducibleBuilds": {
|
||||||
|
"type": "Direct",
|
||||||
|
"requested": "[1.2.39, )",
|
||||||
|
"resolved": "1.2.39",
|
||||||
|
"contentHash": "fcFN01tDTIQqDuTwr1jUQK/geofiwjG5DycJQOnC72i1SsLAk1ELe+apBOuZ11UMQG8YKFZG1FgvjZPbqHyatg=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"Author": "flick",
|
||||||
|
"Name": "QuickTransfer",
|
||||||
|
"InternalName": "QuickTransfer",
|
||||||
|
"AssemblyVersion": "1.0.0.0",
|
||||||
|
"Description": "Automate inventory transfers with Shift/Ctrl + Right-Click.",
|
||||||
|
"ApplicableVersion": "any",
|
||||||
|
"RepoUrl": "https://github.com/Knack117/QuickTransfer",
|
||||||
|
"DalamudApiLevel": 14,
|
||||||
|
"Punchline": "Quick item transfer helpers.",
|
||||||
|
"Tags": [
|
||||||
|
"inventory",
|
||||||
|
"utility",
|
||||||
|
"quality of life"
|
||||||
|
],
|
||||||
|
"AcceptsFeedback": true,
|
||||||
|
"DownloadLinkInstall": "https://github.com/Knack117/QuickTransfer/releases/latest/download/QuickTransfer.zip",
|
||||||
|
"DownloadLinkUpdate": "https://github.com/Knack117/QuickTransfer/releases/latest/download/QuickTransfer.zip"
|
||||||
|
}
|
||||||
|
]
|
||||||
Reference in New Issue
Block a user