Описание
# BungeeShortcut
[English](#english) | [日本語](#japanese)
---
## English
### Description
BungeeShortcut is a BungeeCord plugin that allows you to create custom command shortcuts via configuration file. Instead of registering commands programmatically, you can easily add shortcuts in `config.yml` and use them immediately.
### Features
- ✅ Create command shortcuts via `config.yml`
- ✅ Permission system for each shortcut
- ✅ Tab completion support
- ✅ Reload configuration without restarting the server
- ✅ Help command to list all shortcuts
### Installation
1. Download the latest `BungeeShortcut.jar` from the releases page
2. Place it in your BungeeCord `plugins` folder
3. Start or reload your BungeeCord server
4. The plugin will automatically create `plugins/BungeeShortcut/config.yml`
### Configuration
Edit `plugins/BungeeShortcut/config.yml`:
```yaml
shortcuts:
lobby: "server lobby"
hub: "server hub"
spawn: "warp spawn"
home: "essentials:home"
```
**Format:**
- Key: The shortcut command name (e.g., `lobby`)
- Value: The actual command to execute (e.g., `"server lobby"`)
**Example:**
- `/lobby` → executes `/server lobby`
- `/hub` → executes `/server hub`
- `/spawn` → executes `/warp spawn`
### Commands
| Command | Description | Permission |
|---------|-------------|------------|
| `/bungeeshortcut` or `/bsc` | Show help and list all shortcuts | Everyone |
| `/bungeeshortcut help` | Show help and list all shortcuts | Everyone |
| `/bungeeshortcut reload` | Reload configuration file | `bungeeshortcut.commands.reload` |
| `/` | Execute the shortcut command | `bungeeshortcut.shortcut.` |
### Permissions
| Permission | Description | Default |
|------------|-------------|---------|
| `bungeeshortcut.shortcut.` | Permission to use a specific shortcut command | `op` |
| `bungeeshortcut.commands.help` | Permission to use `/bungeeshortcut help` | Everyone |
| `bungeeshortcut.commands.reload` | Permission to use `/bungeeshortcut reload` | `op` |
**Examples:**
- `bungeeshortcut.shortcut.lobby` - Permission to use `/lobby`
- `bungeeshortcut.shortcut.hub` - Permission to use `/hub`
- `bungeeshortcut.commands.reload` - Permission to reload config
### Tab Completion
- `/bungeeshortcut` → suggests `help` and `reload` (if you have permission)
- Shortcut commands support tab completion (currently returns empty list)
### Building from Source
1. Clone this repository
2. Make sure you have Maven installed
3. Run:
```bash
mvn clean package
```
4. The compiled JAR will be in `target/BungeeShortcut-1.0.jar`
### Requirements
- BungeeCord 1.21 or higher
- Java 8 or higher
### How It Works
When a player executes a shortcut command (e.g., `/lobby`), the plugin:
1. Checks if the player has the required permission (`bungeeshortcut.shortcut.lobby`)
2. Executes the actual command (`/server lobby`) using BungeeCord's command dispatcher
3. The player receives the same chat messages and results as if they executed the original command directly
### Notes
- After modifying `config.yml`, use `/bungeeshortcut reload` to apply changes without restarting
- Shortcut commands can accept arguments, which will be appended to the base command
- Example: `/lobby player1` → executes `/server lobby player1`
---
## Japanese
### 説明
BungeeShortcutは、設定ファイルでコマンドのショートカットを簡単に作成できるBungeeCordプラグインです。プログラムでコマンドを登録する必要がなく、`config.yml`にショートカットを追加するだけですぐに使用できます。
### 機能
- ✅ `config.yml`でコマンドのショートカットを作成
- ✅ 各ショートカットに権限システム
- ✅ Tab補完サポート
- ✅ サーバー再起動なしで設定をリロード可能
- ✅ すべてのショートカットを一覧表示するヘルプコマンド
### インストール方法
1. リリースページから最新の`BungeeShortcut.jar`をダウンロード
2. BungeeCordの`plugins`フォルダに配置
3. BungeeCordサーバーを起動またはリロード
4. プラグインが自動的に`plugins/BungeeShortcut/config.yml`を作成します
### 設定方法
`plugins/BungeeShortcut/config.yml`を編集してください:
```yaml
shortcuts:
lobby: "server lobby"
hub: "server hub"
spawn: "warp spawn"
home: "essentials:home"
```
**形式:**
- キー: ショートカットコマンド名(例: `lobby`)
- 値: 実際に実行するコマンド(例: `"server lobby"`)
**例:**
- `/lobby` → `/server lobby`を実行
- `/hub` → `/server hub`を実行
- `/spawn` → `/warp spawn`を実行
### コマンド一覧
| コマンド | 説明 | 権限 |
|---------|------|------|
| `/bungeeshortcut` または `/bsc` | ヘルプとすべてのショートカット一覧を表示 | 全員 |
| `/bungeeshortcut help` | ヘルプとすべてのショートカット一覧を表示 | 全員 |
| `/bungeeshortcut reload` | 設定ファイルをリロード | `bungeeshortcut.commands.reload` |
| `/` | ショートカットコマンドを実行 | `bungeeshortcut.shortcut.` |
### 権限一覧
| 権限 | 説明 | デフォルト |
|------|------|-----------|
| `bungeeshortcut.shortcut.` | 特定のショートカットコマンドを使用する権限 | `op` |
| `bungeeshortcut.commands.help` | `/bungeeshortcut help`を使用する権限 | 全員 |
| `bungeeshortcut.commands.reload` | `/bungeeshortcut reload`を使用する権限 | `op` |
**例:**
- `bungeeshortcut.shortcut.lobby` - `/lobby`を使用する権限
- `bungeeshortcut.shortcut.hub` - `/hub`を使用する権限
- `bungeeshortcut.commands.reload` - 設定をリロードする権限
### Tab補完
- `/bungeeshortcut` → `help`と`reload`を提案(権限がある場合)
- ショートカットコマンドはTab補完をサポート(現在は空リストを返します)
### ソースからビルド
1. このリポジトリをクローン
2. Mavenがインストールされていることを確認
3. 以下のコマンドを実行:
```bash
mvn clean package
```
4. コンパイルされたJARは`target/BungeeShortcut-1.0.jar`にあります
### 要件
- BungeeCord 1.21以上
- Java 8以上
### 動作の仕組み
プレイヤーがショートカットコマンド(例: `/lobby`)を実行すると、プラグインは:
1. プレイヤーが必要な権限(`bungeeshortcut.shortcut.lobby`)を持っているか確認
2. BungeeCordのコマンドディスパッチャーを使用して実際のコマンド(`/server lobby`)を実行
3. プレイヤーは元のコマンドを直接実行した場合と同じチャットメッセージと結果を受け取ります
### 注意事項
- `config.yml`を変更した後は、`/bungeeshortcut reload`を使用してサーバーを再起動せずに変更を適用できます
- ショートカットコマンドは引数を受け取ることができ、引数はベースコマンドに追加されます
- 例: `/lobby player1` → `/server lobby player1`を実行
---
## License
This project is licensed under the MIT License.
## Author
koirdsuzu