Files
QuickTransfer/README.md
T
KnackAtNite 2f8427b20b Release v1.0.3
Add Alt split helpers and update plugin metadata.
2026-01-26 11:27:20 -05:00

194 lines
6.7 KiB
Markdown

# QuickTransfer - FFXIV Quick Transfer Plugin
A Dalamud plugin for Final Fantasy XIV that adds quick inventory actions via the game's existing context menus:
- **Shift + Right Click**: quick transfers
- **Ctrl + Right Click**: armoury-mode transfers (when a special container is open)
- **Alt + Right Click**: split a stack in half
## Features
- **Quick Transfer**: Hold Shift and right-click an item to automatically trigger the matching context menu action
- **Armoury Mode**: Hold Ctrl and right-click to prioritize armoury actions while a special container is open
- **Split Half**: Hold Alt and right-click to split a stack and auto-fill half
- **Cooldown Protection**: Built-in cooldown to prevent accidental double-moves
- **Debug Mode**: For troubleshooting and development (disabled by default)
## 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**.
### Armoury Mode (Ctrl + Right Click)
- While a **Saddlebag**, **Retainer**, or **Company Chest** is open, **Ctrl + Right Click** will prioritize:
- Inventory gear → **Place in Armoury Chest**
- Armoury gear → **Return to Inventory**
### Split Stack (Alt + Right Click)
- **Alt + Right Click** a **stackable** item to select the existing **Split** context menu action.
- If **Auto-confirm quantity prompts** is enabled, QuickTransfer will enter **half** and confirm automatically.
### 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 |
| Enable Company Chest | Enable FC chest helpers | True |
| Auto-confirm quantity prompts | Auto-fill and confirm InputNumeric prompts (Split / FC chest) | 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.3
- Fix: inventory **Alt+RightClick Split** now reliably auto-fills **half** (including InventoryExpansion / localized prompts)
- Change: **Debug Mode is disabled by default** (and migrated off on update)
### Version 1.0.0
- Initial release
- Shift+Right-Click context menu automation for Inventory / Armoury / Saddlebags