Описание
# 🏗️ Construction Wand
This document was generated by AI (not reviewed)
A Minecraft server plugin inspired by the Forge mod [Construction Wand](https://www.curseforge.com/minecraft/mc-mods/construction-wand). Allows players to quickly extend block placement, greatly improving building efficiency!
## ✨ Features
- 🔨 **Five Construction Wands** - Stone, Iron, Diamond, Netherite, Infinity
- 🎯 **Smart Extension Placement** - Right-click on a block surface to automatically extend placement of the same block
- 👁️ **Real-time Preview** - Particle effects show where blocks will be placed
- 🎨 **Customizable Preview** - Adjustable preview color and mode (full/corners/outline)
- ⚡ **Enchantment System** - Building Extension enchantment increases maximum block placement
- 🌍 **Multi-language Support** - Simplified Chinese, Traditional Chinese, English, Classical Chinese
- 🛡️ **Region Protection Compatible** - Supports WorldGuard, Residence, GriefPrevention, etc.
- 🚀 **Folia Support** - Fully compatible with Folia servers
- 📦 **Resource Pack Support** - Custom wand textures (supports 1.14-1.21.4+)
## 📋 Wand Types
| Wand | Max Blocks | Durability | Base Material |
|------|-----------|--------|----------|
| Stone Construction Wand | 9 | 131 | Stone Pickaxe |
| Iron Construction Wand | 27 | 250 | Iron Pickaxe |
| Diamond Construction Wand | 128 | 1561 | Diamond Pickaxe |
| Netherite Construction Wand | 256 | 2031 | Netherite Pickaxe |
| Infinity Construction Wand | 1024 | ∞ | Nether Star |
## 🔧 Installation
1. Download the latest plugin JAR file
2. Place the JAR file in your server's `plugins` folder
3. Restart the server
4. (Optional) Install the resource pack for custom textures
### Resource Pack Installation
Package the `CWResourcepack` folder as a ZIP file, then:
- **Single Player/Client**: Place in `.minecraft/resourcepacks` folder
- **Server**: Upload to the web and set the `resource-pack` URL in `server.properties`
## 📖 Usage
### Basic Usage
1. Craft or obtain a construction wand via command
2. Hold the construction wand
3. Ensure you have the blocks to place in your inventory
4. Right-click on a block surface
5. The wand will automatically extend placement of the same block
### Crafting Recipes
All wands follow the same crafting pattern:
```
Empty Empty [Material]
Empty [Stick] Empty
[Stick] Empty Empty
```
| Wand | Material | Core |
|------|------|------|
| Stone | Cobblestone | Stone Pickaxe |
| Iron | Iron Ingot | Iron Pickaxe |
| Diamond | Diamond | Diamond Pickaxe |
| Netherite | Netherite Ingot | Netherite Pickaxe |
| Infinity | Nether Star | Nether Star |
## 💻 Commands
Main command: `/constructionwand` (aliases: `/cw`, `/wand`)
| Command | Description | Permission |
|------|------|------|
| `/cw help` | Show help information | None |
| `/cw list` | List all wand types | None |
| `/cw preview` | Toggle preview mode | `constructionwand.preview` |
| `/cw gui` | Open settings GUI | `constructionwand.settings` |
| `/cw give [player]` | Give a wand | `constructionwand.give` |
| `/cw itemgui` | Open item acquisition GUI | `constructionwand.itemgui` |
| `/cw enchant ` | Enchant a wand | `constructionwand.enchant` |
| `/cw lang ` | Switch language | `constructionwand.lang` |
| `/cw reload` | Reload configuration | `constructionwand.reload` |
| `/cw nbtdebug` | Debug NBT information | `constructionwand.nbtdebug` |
## 🔐 Permissions
### Player Permissions (Default: Enabled)
| Permission | Description |
|------|------|
| `constructionwand.use` | Allow using construction wands |
| `constructionwand.use.stone` | Allow using stone construction wand |
| `constructionwand.use.iron` | Allow using iron construction wand |
| `constructionwand.use.diamond` | Allow using diamond construction wand |
| `constructionwand.use.netherite` | Allow using netherite construction wand |
| `constructionwand.use.infinity` | Allow using infinity construction wand |
| `constructionwand.preview` | Allow toggling preview mode |
| `constructionwand.settings` | Allow opening settings GUI |
### Admin Permissions (Default: OP)
| Permission | Description |
|------|------|
| `constructionwand.give` | Allow giving wands |
| `constructionwand.itemgui` | Allow opening item acquisition GUI |
| `constructionwand.enchant` | Allow using enchant command |
| `constructionwand.lang` | Allow switching server language |
| `constructionwand.reload` | Allow reloading configuration |
| `constructionwand.nbtdebug` | Allow using NBT debug |
| `constructionwand.bypass` | Bypass region protection checks |
### Permission Groups
| Permission Group | Description |
|--------|------|
| `constructionwand.player` | Includes all player permissions |
| `constructionwand.admin` | Includes all permissions |
## ⚔️ Enchantment System
### Building Extension
Increases the wand's maximum block placement count.
| Level | Bonus |
|------|------|
| I | +15% |
| II | +30% |
| III | +50% |
| IV | +75% |
| V | +100% |
**How to Obtain:**
- Use `/cw enchant building_extension ` command
- Enchant construction wands at an enchanting table (random level 1-5)
## ⚙️ Configuration
### config.yml
```yaml
# Language setting
language: "en_US" # Options: zh_CN, zh_TW, en_US, lzh
# Preview settings
preview:
# Particle color
particle-color: "RED" # RED, GREEN, BLUE, YELLOW, ORANGE, PURPLE, WHITE, AQUA, LIME or #RRGGBB
# Preview mode
mode: "full" # full, corners, outline
# Region protection settings
protection:
use-event-check: true
use-worldguard: true
# Wand settings (customize each wand's properties)
wands:
stone:
enabled: true
max-blocks: 9
durability: 131
# ... other wand configurations
```
### Enchantment Configuration (enchant/building_extension.yml)
```yaml
enabled: true
max-level: 10
levels:
1: 0.15
2: 0.30
3: 0.50
4: 0.75
5: 1.00
# ... higher levels
default-increment: 0.15
```
## 🌐 Multi-language Support
Supported languages:
- `zh_CN` - Simplified Chinese
- `zh_TW` - Traditional Chinese
- `en_US` - English
- `lzh` - Classical Chinese
Use `/cw lang ` to switch languages.
## 🔌 Compatibility
### Server Software
- Spigot 1.16+
- Paper 1.16+
- Folia (fully supported)
### Region Plugins
- WorldGuard
- Residence
- GriefPrevention
- Towny
- Lands
- PlotSquared
### Minecraft Versions
- 1.16.x - 1.21.4+
- Automatically adapts CustomModelData format (legacy integer/new string)
## 📁 Project Structure
```
ConstructionWand/
├── src/main/java/org/little100/constructionWand/
│ ├── ConstructionWand.java # Main plugin class
│ ├── action/ # Block placement logic
│ ├── command/ # Command handling
│ ├── enchant/ # Enchantment system
│ ├── gui/ # GUI interfaces
│ ├── i18n/ # Internationalization
│ ├── listener/ # Event listeners
│ ├── preview/ # Preview system
│ ├── protection/ # Region protection
│ ├── recipe/ # Crafting recipes
│ ├── utils/ # Utility classes
│ └── wand/ # Wand management
├── src/main/resources/
│ ├── config.yml # Configuration file
│ ├── plugin.yml # Plugin information
│ ├── enchant/ # Enchantment configs
│ └── lang/ # Language files
└── CWResourcepack/ # Resource pack
```
## 🛠️ Building
```bash
# Clone the repository
git clone https://github.com/Little100/ConstructionWand_Pugin.git
# Enter directory
cd ConstructionWand_Pugin
# Build
./gradlew build
# Output files are in build/libs/
```
## 📝 Changelog
### v1.0.0
- Initial release
- Five construction wands
- Particle preview system
- Multi-language support
- Enchantment system
- Region plugin compatibility
- Folia support
## 📄 License
This project is licensed under the GPLv3 License - see the [LICENSE](https://github.com/Little100/ConstructionWand_Pugin/blob/main/LICENSE) file for details.
## 🙏 Acknowledgments
- Inspired by: [Construction Wand (Forge Mod)](https://www.curseforge.com/minecraft/mc-mods/construction-wand)
- Thanks to all contributors and testers!
## 🐛 Bug Reports
If you find a bug or have a feature suggestion, please submit it on [GitHub Issues](https://github.com/Little100/ConstructionWand_Pugin/issues).
---
Made with ❤️ by Little_100
GitHub Repository