|
| 1 | + |
| 2 | + |
| 3 | + |
| 4 | +# EzAuction |
| 5 | + |
| 6 | +[](LICENSE) |
| 7 | +[](https://github.com/Gyvex/ezauction/actions) |
| 8 | +[](https://adoptium.net/) |
| 9 | + |
| 10 | +**EzAuction** is a modern, extensible Minecraft auction plugin for Bukkit/Spigot servers. It features a user-friendly GUI, robust API, and comprehensive event system for both server owners and plugin developers. |
| 11 | + |
| 12 | +--- |
| 13 | + |
| 14 | +## 📑 Table of Contents |
| 15 | +- [Requirements](#-requirements) |
| 16 | +- [Installation](#-installation) |
| 17 | +- [Features](#-features) |
| 18 | +- [Configuration](#-configuration) |
| 19 | +- [Permissions & Commands](#-permissions--commands) |
| 20 | +- [Documentation](#-documentation) |
| 21 | +- [Usage Examples](#-usage-examples) |
| 22 | +- [Contributing](#-contributing) |
| 23 | +- [Support & Community](#-support--community) |
| 24 | +- [License](#-license) |
| 25 | + |
| 26 | +--- |
| 27 | + |
| 28 | +## 📦 Requirements |
| 29 | +- Java 17 or higher ([Adoptium](https://adoptium.net/)) |
| 30 | +- Bukkit/Spigot/Paper server (1.17+ recommended) |
| 31 | + |
| 32 | +## 🚀 Installation |
| 33 | +1. Download the latest EzAuction JAR from the [releases page](https://github.com/Gyvex/ezauction/releases). |
| 34 | +2. Place the JAR in your server's `plugins/` directory. |
| 35 | +3. Start or reload your server. |
| 36 | +4. Configure the plugin as needed (see below). |
| 37 | + |
| 38 | +## ✨ Features |
| 39 | +- Intuitive auction GUI for browsing, buying, and selling |
| 40 | +- Buy/sell items with in-game currency |
| 41 | +- Configurable listing rules, durations, and permissions |
| 42 | +- Search, filter, and sort auction listings |
| 43 | +- Expiry and auto-removal of old listings |
| 44 | +- Customizable messages and GUI appearance |
| 45 | +- Full event and API support for developers |
| 46 | +- Multi-language support (via config) |
| 47 | +- Actively maintained and open source |
| 48 | + |
| 49 | +## ⚙️ Configuration |
| 50 | +Default configuration files are generated on first run in `plugins/EzAuction/`. |
| 51 | + |
| 52 | +**Key configuration options in `config.yml`:** |
| 53 | + |
| 54 | +- `listing-max-duration`: Maximum time (in hours) a listing can stay active |
| 55 | +- `listing-fee`: Flat or percentage fee for creating a listing |
| 56 | +- `currency-type`: Vault, XP, or custom economy |
| 57 | +- `max-listings-per-player`: Limit the number of active listings per player |
| 58 | +- `allow-bidding`: Enable/disable bidding (if supported) |
| 59 | +- `gui-title`: Customize the auction GUI title |
| 60 | +- `language`: Set the plugin language (see `lang/` folder) |
| 61 | + |
| 62 | +After editing, reload the plugin or restart the server to apply changes. |
| 63 | + |
| 64 | +## 🛡️ Permissions & Commands |
| 65 | + |
| 66 | +**Main Commands:** |
| 67 | + |
| 68 | +| Command | Description | Permission | |
| 69 | +|------------------------|------------------------------------|---------------------------| |
| 70 | +| `/auction` | Open the auction browser GUI | `ezauction.use` | |
| 71 | +| `/auction sell <price>`| List held item for sale | `ezauction.sell` | |
| 72 | +| `/auction cancel` | Cancel your active listing | `ezauction.cancel` | |
| 73 | +| `/auction reload` | Reload plugin configuration | `ezauction.admin.reload` | |
| 74 | + |
| 75 | +**Key Permissions:** |
| 76 | + |
| 77 | +- `ezauction.use`: Access the auction GUI |
| 78 | +- `ezauction.sell`: List items for sale |
| 79 | +- `ezauction.cancel`: Cancel own listings |
| 80 | +- `ezauction.admin.*`: All admin permissions |
| 81 | + |
| 82 | +See the [docs/permissions.md](../docs/permissions.md) for a full list. |
| 83 | + |
| 84 | +## 📚 Documentation |
| 85 | +- [API Reference](docs/api.md): Public classes, methods, and code samples |
| 86 | +- [Event Reference](docs/events.md): All plugin events, listener registration, and event payloads |
| 87 | +- [Configuration Guide](docs/configuration.md): All config options explained |
| 88 | +- [Permissions](docs/permissions.md): All permissions and their usage |
| 89 | +- [Full Documentation](docs/): Guides, advanced usage, and troubleshooting |
| 90 | + |
| 91 | +## 🛠️ Usage Examples |
| 92 | + |
| 93 | +### Creating a Listing |
| 94 | +```java |
| 95 | +AuctionOperationResult result = auctionManager.createListing(player, itemStack, price, duration); |
| 96 | +if (result.success()) { |
| 97 | + // Listing created |
| 98 | +} else { |
| 99 | + player.sendMessage(result.message()); |
| 100 | +} |
| 101 | +``` |
| 102 | + |
| 103 | +### Listening for Events |
| 104 | +```java |
| 105 | +@EventHandler |
| 106 | +public void onAuctionListingCreate(AuctionListingCreateEvent event) { |
| 107 | + // Custom logic here |
| 108 | +} |
| 109 | +``` |
| 110 | + |
| 111 | +--- |
| 112 | + |
| 113 | +## 🤝 Contributing |
| 114 | +Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines, or open an issue/PR. |
| 115 | + |
| 116 | +## 🛡️ Support & Community |
| 117 | +- For help, open an issue on GitHub or contact the maintainers. |
| 118 | +- Feature requests and bug reports are encouraged. |
| 119 | + |
| 120 | +## 📄 License |
| 121 | +EzAuction is licensed under the [MIT License](LICENSE). Copyright (c) 2026 Gyvex (63536625). |
| 122 | + |
| 123 | +--- |
| 124 | + |
| 125 | +For full documentation, see the [docs/](docs/) folder. For support, open an issue or contact the maintainers. |
0 commit comments