Files
QuickTransfer/README.md
T
KnackAtNite 3177248635 Add middle-click sort
Support MMB to trigger Sort via context menu, and add Company Chest MMB organize (stack + compact). Bump version to 1.0.2.
2026-01-25 19:08:15 -05:00

171 lines
5.5 KiB
Markdown

# 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**.
### Middle-Click Sort / Organize (MMB)
- For inventories that include a **Sort** entry in the item context menu, **middle-click an item** to auto-select **Sort** (without showing the menu).
- In the **Free Company Chest**, item context menus do not include Sort, so **middle-click** will run an **organize pass** (auto-stack + compact).
## 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 |
| Enable Middle-Click Sort | Enable MMB sort behavior | True |
| Company Chest: Middle-Click Organize | Enable MMB organize (stack+compact) in FC chest | True |
## 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