1
mirror of https://github.com/CarmJos/MoeTeleport.git synced 2026-06-04 15:59:45 +08:00

56 Commits

Author SHA1 Message Date
renovate[bot] 3ebd583fad chore(deps): update dependency org.apache.maven.plugins:maven-surefire-plugin to v3.5.6 2026-05-27 22:03:28 +00:00
renovate[bot] 6019410f0c chore(deps): update dependency org.apache.maven.plugins:maven-surefire-plugin to v3.5.5 2026-03-10 08:06:00 +08:00
renovate[bot] 03346ecfcd chore(deps): update dependency org.bstats:bstats-bukkit to v3.2.1 2026-03-10 08:05:53 +08:00
renovate[bot] 1720572f4d chore(deps): update actions/upload-artifact action to v7 2026-03-10 08:05:44 +08:00
renovate[bot] 81d0b8869d chore(deps): update dependency org.apache.maven.plugins:maven-shade-plugin to v3.6.2 2026-03-10 08:05:35 +08:00
renovate[bot] d620109904 chore(deps): update actions/upload-artifact action to v6 2026-02-21 00:57:39 +08:00
renovate[bot] d11e5a44b8 chore(deps): update dependency org.apache.maven.plugins:maven-compiler-plugin to v3.15.0 2026-02-21 00:57:33 +08:00
renovate[bot] d404e36805 fix(deps): update dependency me.clip:placeholderapi to v2.12.2 2026-02-21 00:57:27 +08:00
renovate[bot] 0d9f34c135 fix(deps): update dependency org.jetbrains:annotations to v26.1.0 2026-02-21 00:57:21 +08:00
renovate[bot] 1b6bd72570 chore(deps): update actions/upload-artifact action to v5 2025-12-01 09:32:26 +08:00
renovate[bot] e148747a0b fix(deps): update dependency me.clip:placeholderapi to v2.11.7 2025-12-01 09:32:20 +08:00
renovate[bot] 2d55ac35f8 fix(deps): update dependency org.spigotmc:spigot-api to v1.19-r0.1-20220725.090125-47 2025-12-01 09:32:14 +08:00
renovate[bot] d826abdecc chore(deps): update dependency org.apache.maven.plugins:maven-jar-plugin to v3.5.0 2025-12-01 09:32:07 +08:00
renovate[bot] b63e130b15 chore(deps): update actions/checkout action to v6 2025-12-01 09:32:00 +08:00
renovate[bot] 8f8d5c7016 chore(deps): update dependency org.apache.maven.plugins:maven-source-plugin to v3.4.0 2025-12-01 09:31:53 +08:00
renovate[bot] 813dbd8b83 chore(deps): update dependency org.apache.maven.plugins:maven-compiler-plugin to v3.14.1 2025-09-24 09:19:31 +08:00
renovate[bot] 0db564c027 chore(deps): update dependency org.apache.maven.plugins:maven-shade-plugin to v3.6.1 2025-09-14 16:56:47 +08:00
renovate[bot] b50d2f216d chore(deps): update dependency org.apache.maven.plugins:maven-surefire-plugin to v3.5.4 2025-09-14 16:56:41 +08:00
renovate[bot] 8d0cb0365a fix(deps): update dependency org.jetbrains:annotations to v26.0.2-1 2025-09-12 08:52:20 +08:00
renovate[bot] 0a3b1c0017 chore(deps): update dependency cc.carm.lib:mineconfiguration-bukkit to v3.1.3 2025-08-21 23:44:22 +08:00
renovate[bot] c8b2e03efe chore(deps): update dependency org.apache.maven.plugins:maven-surefire-plugin to v3.5.3 2025-08-21 23:44:13 +08:00
renovate[bot] e917d2a5b3 chore(deps): update deps.easyplugin.version to v1.5.14 2025-08-21 23:44:06 +08:00
renovate[bot] c6fec42aa4 fix(deps): update dependency net.essentialsx:essentialsx to v2.21.2 2025-08-21 23:44:00 +08:00
renovate[bot] 73489054a1 chore(deps): update dependency org.apache.maven.plugins:maven-clean-plugin to v3.5.0 2025-08-21 23:43:52 +08:00
renovate[bot] 6344dfe2d9 fix(deps): update dependency com.comphenix.protocol:protocollib to v5 2025-08-21 23:43:45 +08:00
renovate[bot] 3d7bb0292a chore(deps): update actions/checkout action to v5 2025-08-21 23:43:40 +08:00
renovate[bot] 52d806f5d4 chore(deps): update actions/setup-java action to v5 2025-08-21 23:43:33 +08:00
renovate[bot] 3f2713389b chore(deps): update dependency cc.carm.lib:mineconfiguration-bukkit to v3.1.1 2025-04-18 10:56:06 +08:00
renovate[bot] 97781fc1aa fix(deps): update dependency net.essentialsx:essentialsx to v2.21.0 2025-04-18 10:56:01 +08:00
renovate[bot] 74d083f51f chore(deps): update dependency org.apache.maven.plugins:maven-clean-plugin to v3.4.1 2025-03-12 04:38:20 +08:00
renovate[bot] a073ebf34c chore(deps): update dependency org.apache.maven.plugins:maven-compiler-plugin to v3.14.0 2025-03-12 04:38:17 +08:00
renovate[bot] 1a8fb8459e chore(deps): update dependency cc.carm.lib:mineconfiguration-bukkit to v3 2025-03-12 04:38:13 +08:00
renovate[bot] db53b416c7 fix(deps): update dependency org.jetbrains:annotations to v26.0.2 2025-02-06 16:37:03 +08:00
renovate[bot] ef56193d7f fix(deps): update dependency org.jetbrains:annotations to v26 2025-01-18 02:24:27 +08:00
renovate[bot] 103b4bb734 chore(deps): update dependency org.apache.maven.plugins:maven-surefire-plugin to v3 2025-01-18 02:22:50 +08:00
renovate[bot] c4adadf24f chore(deps): update dependency org.apache.maven.plugins:maven-clean-plugin to v3 2025-01-18 02:22:47 +08:00
renovate[bot] 61c7e4e7da chore(deps): update actions/upload-artifact action to v4 2025-01-18 02:22:44 +08:00
renovate[bot] 17d8e6847b chore(deps): update actions/setup-java action to v4 2025-01-18 02:22:41 +08:00
renovate[bot] eaff4d066c chore(deps): update actions/checkout action to v4 2025-01-18 02:22:38 +08:00
renovate[bot] 3cc6485d3d fix(deps): update dependency org.jetbrains:annotations to v23.1.0 2025-01-18 02:22:35 +08:00
renovate[bot] 665fa3f53d fix(deps): update dependency net.essentialsx:essentialsx to v2.20.1 2025-01-18 02:22:31 +08:00
renovate[bot] c481db7827 chore(deps): update dependency org.bstats:bstats-bukkit to v3.1.0 2025-01-18 02:21:54 +08:00
renovate[bot] 08a308c88d chore(deps): update dependency org.apache.maven.plugins:maven-source-plugin to v3.3.1 2025-01-18 02:21:51 +08:00
renovate[bot] 6b0c9e2a2c chore(deps): update dependency org.apache.maven.plugins:maven-jar-plugin to v3.4.2 2025-01-18 02:21:36 +08:00
renovate[bot] a01746348e chore(deps): update dependency org.apache.maven.plugins:maven-compiler-plugin to v3.13.0 2025-01-18 02:21:33 +08:00
renovate[bot] 104e9ae4ce chore(deps): update dependency org.apache.maven.plugins:maven-clean-plugin to v2.6.1 2025-01-18 02:21:30 +08:00
renovate[bot] 979417cc2a chore(deps): update dependency cc.carm.lib:mineconfiguration-bukkit to v2.9.3 2025-01-18 02:21:27 +08:00
renovate[bot] dba6eb9af5 chore(deps): update deps.easyplugin.version to v1.5.12 2025-01-18 02:21:23 +08:00
renovate[bot] 743cca2238 chore(deps): update dependency xyz.xenondevs:particle to v1.8.4 2025-01-18 02:21:20 +08:00
renovate[bot] eb9f5bd4ad chore(deps): update dependency org.apache.maven.plugins:maven-shade-plugin to v3.6.0 2025-01-18 02:10:09 +08:00
renovate[bot] 7515e7e271 fix(deps): update dependency me.clip:placeholderapi to v2.11.6 2025-01-18 01:06:59 +08:00
renovate[bot] 3f0a47d5cd chore(deps): update dependency cc.carm.lib:easysql-beecp to v0.4.7 2025-01-18 00:10:22 +08:00
renovate[bot] d896be6f98 chore(deps): update dependency org.apache.maven.plugins:maven-surefire-plugin to v2.22.2 2025-01-18 00:10:10 +08:00
renovate[bot] 392e16c165 Add renovate.json 2025-01-18 00:01:06 +08:00
carm f4e3dabb29 fix(cancel): 修复取消传送功能异常的问题 (#13) 2023-04-03 17:10:07 +08:00
carm 4393cc9ce2 feat(command): 为各个指令的功能添加单独权限,修复接受指令错误的问题 2023-03-17 22:36:14 +08:00
15 changed files with 104 additions and 183 deletions
+3 -3
View File
@@ -14,9 +14,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v6
- name: "Set up JDK"
uses: actions/setup-java@v2
uses: actions/setup-java@v5
with:
java-version: '11'
distribution: 'adopt'
@@ -37,7 +37,7 @@ jobs:
cp -vrf asset/*.jar artifacts
- name: "Upload artifact"
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v7
with:
name: Artifact
path: artifacts
+2 -2
View File
@@ -11,9 +11,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v6
- name: "Set up JDK"
uses: actions/setup-java@v2
uses: actions/setup-java@v5
with:
java-version: '11'
distribution: 'adopt'
+4 -4
View File
@@ -9,10 +9,10 @@ README LANGUAGES [ [中文](README.md) | [**English**](README-EN.md) ]
# MoeTeleport
[![CodeFactor](https://www.codefactor.io/repository/github/carm-outsource/MoeTeleport/badge?s=b76fec1f64726b5f19989aace6adb5f85fdab840)](https://www.codefactor.io/repository/github/carm-outsource/MoeTeleport)
![CodeSize](https://img.shields.io/github/languages/code-size/carm-outsource/MoeTeleport)
[![Download](https://img.shields.io/github/downloads/carm-outsource/MoeTeleport/total)](https://github.com/carm-outsource/MoeTeleport/releases)
[![Java CI with Maven](https://github.com/carm-outsource/MoeTeleport/actions/workflows/maven.yml/badge.svg?branch=master)](https://github.com/carm-outsource/MoeTeleport/actions/workflows/maven.yml)
[![CodeFactor](https://www.codefactor.io/repository/github/CarmJos/MoeTeleport/badge?s=b76fec1f64726b5f19989aace6adb5f85fdab840)](https://www.codefactor.io/repository/github/CarmJos/MoeTeleport)
![CodeSize](https://img.shields.io/github/languages/code-size/CarmJos/MoeTeleport)
[![Download](https://img.shields.io/github/downloads/CarmJos/MoeTeleport/total)](https://github.com/CarmJos/MoeTeleport/releases)
[![Java CI with Maven](https://github.com/CarmJos/MoeTeleport/actions/workflows/maven.yml/badge.svg?branch=master)](https://github.com/CarmJos/MoeTeleport/actions/workflows/maven.yml)
![Support](https://img.shields.io/badge/Minecraft-Java%201.13--Latest-blue)
![](https://visitor-badge.glitch.me/badge?page_id=moeteleport.readme)
+4 -4
View File
@@ -9,10 +9,10 @@ README LANGUAGES [ [**中文**](README.md) | [English](README-EN.md) ]
# MoeTeleport 喵喵传送
[![CodeFactor](https://www.codefactor.io/repository/github/carm-outsource/MoeTeleport/badge?s=b76fec1f64726b5f19989aace6adb5f85fdab840)](https://www.codefactor.io/repository/github/carm-outsource/MoeTeleport)
![CodeSize](https://img.shields.io/github/languages/code-size/carm-outsource/MoeTeleport)
[![Download](https://img.shields.io/github/downloads/carm-outsource/MoeTeleport/total)](https://github.com/carm-outsource/MoeTeleport/releases)
[![Java CI with Maven](https://github.com/carm-outsource/MoeTeleport/actions/workflows/maven.yml/badge.svg?branch=master)](https://github.com/carm-outsource/MoeTeleport/actions/workflows/maven.yml)
[![CodeFactor](https://www.codefactor.io/repository/github/CarmJos/MoeTeleport/badge?s=b76fec1f64726b5f19989aace6adb5f85fdab840)](https://www.codefactor.io/repository/github/CarmJos/MoeTeleport)
![CodeSize](https://img.shields.io/github/languages/code-size/CarmJos/MoeTeleport)
[![Download](https://img.shields.io/github/downloads/CarmJos/MoeTeleport/total)](https://github.com/CarmJos/MoeTeleport/releases)
[![Java CI with Maven](https://github.com/CarmJos/MoeTeleport/actions/workflows/maven.yml/badge.svg?branch=master)](https://github.com/CarmJos/MoeTeleport/actions/workflows/maven.yml)
![Support](https://img.shields.io/badge/Minecraft-Java%201.13--Latest-blue)
![](https://visitor-badge.glitch.me/badge?page_id=moeteleport.readme)
+31 -29
View File
@@ -11,14 +11,14 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<deps.easyplugin.version>1.5.4</deps.easyplugin.version>
<deps.easysql.version>0.4.6</deps.easysql.version>
<deps.mineconfig.version>2.5.0</deps.mineconfig.version>
<deps.easyplugin.version>1.5.14</deps.easyplugin.version>
<deps.easysql.version>0.4.7</deps.easysql.version>
<deps.mineconfig.version>3.1.3</deps.mineconfig.version>
</properties>
<groupId>cc.carm.plugin</groupId>
<artifactId>moeteleport</artifactId>
<version>4.0.1</version>
<version>4.0.3</version>
<name>MoeTeleport</name>
<description>喵喵传送,简单的传送、设置家的插件。</description>
@@ -44,13 +44,6 @@
</developers>
<repositories>
<repository>
<id>carm-repo</id>
<name>Carm's Repo</name>
<url>https://repo.carm.cc/repository/maven-public/</url>
</repository>
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
@@ -87,10 +80,11 @@
</repository>
<repository>
<id>github</id>
<name>GitHub Packages</name>
<url>https://maven.pkg.github.com/CarmJos/${project.name}</url>
<id>carm-repo</id>
<name>Carm's Repo</name>
<url>https://repo.carm.cc/repository/maven-public/</url>
</repository>
</repositories>
<distributionManagement>
@@ -98,7 +92,7 @@
<repository>
<id>github</id>
<name>GitHub Packages</name>
<url>https://maven.pkg.github.com/CarmJos/${project.name}</url>
<url>https://maven.pkg.github.com/CarmJos/MoeTeleport</url>
</repository>
</distributionManagement>
@@ -128,6 +122,14 @@
<optional>true</optional>
</dependency>
<dependency>
<groupId>cc.carm.lib</groupId>
<artifactId>easyplugin-command-alias</artifactId>
<version>${deps.easyplugin.version}</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>cc.carm.lib</groupId>
<artifactId>easyplugin-githubchecker</artifactId>
@@ -139,7 +141,7 @@
<dependency>
<groupId>net.essentialsx</groupId>
<artifactId>EssentialsX</artifactId>
<version>2.19.2</version>
<version>2.21.2</version>
<scope>provided</scope>
</dependency>
@@ -178,7 +180,7 @@
<dependency>
<groupId>xyz.xenondevs</groupId>
<artifactId>particle</artifactId>
<version>1.8.3</version>
<version>1.8.4</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
@@ -186,21 +188,21 @@
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.17-R0.1-SNAPSHOT</version>
<version>1.19-R0.1-20220725.090125-47</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.comphenix.protocol</groupId>
<artifactId>ProtocolLib</artifactId>
<version>4.8.0</version>
<version>5.3.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.bstats</groupId>
<artifactId>bstats-bukkit</artifactId>
<version>3.0.0</version>
<version>3.2.1</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
@@ -208,7 +210,7 @@
<dependency>
<groupId>me.clip</groupId>
<artifactId>placeholderapi</artifactId>
<version>2.10.9</version>
<version>2.12.2</version>
<scope>provided</scope>
</dependency>
@@ -222,7 +224,7 @@
<dependency>
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
<version>23.0.0</version>
<version>26.1.0</version>
<scope>provided</scope>
</dependency>
@@ -233,7 +235,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
<version>3.5.0</version>
<configuration>
<filesets>
<fileset>
@@ -256,7 +258,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<version>3.15.0</version>
<configuration>
<source>${project.jdk.version}</source>
<target>${project.jdk.version}</target>
@@ -267,12 +269,12 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<version>3.5.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.0</version>
<version>3.4.0</version>
<executions>
<execution>
<phase>package</phase>
@@ -285,7 +287,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.3</version>
<version>3.6.2</version>
<executions>
<execution>
<phase>package</phase>
@@ -295,7 +297,7 @@
</execution>
</executions>
<configuration>
<finalName>${project.name}-${project.version}</finalName>
<finalName>MoeTeleport-${project.version}</finalName>
<outputDirectory>${project.basedir}/asset/</outputDirectory>
<createDependencyReducedPom>false</createDependencyReducedPom>
<filters>
@@ -334,7 +336,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<version>3.5.6</version>
<configuration>
<useSystemClassLoader>false</useSystemClassLoader>
</configuration>
+6
View File
@@ -0,0 +1,6 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended"
]
}
@@ -2,6 +2,7 @@ package cc.carm.plugin.moeteleport;
import cc.carm.lib.configuration.core.source.ConfigurationProvider;
import cc.carm.lib.easyplugin.EasyPlugin;
import cc.carm.lib.easyplugin.command.alias.AliasCommandManager;
import cc.carm.lib.easyplugin.updatechecker.GHUpdateChecker;
import cc.carm.lib.mineconfiguration.bukkit.MineConfiguration;
import cc.carm.plugin.moeteleport.command.MainCommands;
@@ -15,6 +16,7 @@ import cc.carm.plugin.moeteleport.storage.StorageMethod;
import org.bstats.bukkit.Metrics;
import org.bstats.charts.SimplePie;
import org.bukkit.Bukkit;
import org.jetbrains.annotations.NotNull;
import xyz.xenondevs.particle.utils.ReflectionUtils;
public class Main extends EasyPlugin {
@@ -28,7 +30,7 @@ public class Main extends EasyPlugin {
protected UserManager userManager;
protected RequestManager requestManager;
protected TeleportManager teleportManager;
protected CommandManager commandManager;
protected AliasCommandManager commandManager;
public Main() {
instance = this;
@@ -85,14 +87,15 @@ public class Main extends EasyPlugin {
log("注册指令...");
registerCommand("MoeTeleport", new MainCommands(this));
try {
this.commandManager = new CommandManager(this);
if (PluginConfig.COMMAND.ENABLE.getNotNull()) {
if (PluginConfig.COMMAND.ENABLE.getNotNull()) {
log("注册简化指令映射...");
try {
this.commandManager = new AliasCommandManager(this);
PluginConfig.COMMAND.ALIAS.getNotNull().forEach(commandManager::register);
} catch (Exception e) {
log("注册简化指令失败: " + e.getMessage());
e.printStackTrace();
}
} catch (Exception e) {
log("注册简化指令失败: " + e.getMessage());
e.printStackTrace();
}
if (PluginConfig.METRICS.getNotNull()) {
@@ -116,8 +119,8 @@ public class Main extends EasyPlugin {
@Override
protected void shutdown() {
log("清空简化指令...");
if (this.commandManager != null) {
if (PluginConfig.COMMAND.ENABLE.getNotNull() && this.commandManager != null) {
log("清空简化指令...");
this.commandManager.unregisterAll();
}
@@ -39,4 +39,9 @@ public class BackCommand extends SubCommand<MainCommands> {
return null;
}
@Override
public boolean hasPermission(CommandSender sender) {
return sender.hasPermission("MoeTeleport.back");
}
}
@@ -48,4 +48,9 @@ public class HomeCommands extends CommandHandler {
return main.noPermission(sender);
}
@Override
public boolean hasPermission(CommandSender sender) {
return sender.hasPermission("MoeTeleport.home");
}
}
@@ -35,7 +35,7 @@ public class ReloadCommand extends SubCommand<MainCommands> {
@Override
public boolean hasPermission(CommandSender sender) {
return sender.hasPermission("moeteleport.reload");
return sender.hasPermission("MoeTeleport.admin");
}
}
@@ -22,7 +22,7 @@ public class TeleportCommands extends CommandHandler {
registerSubCommand(new TeleportRequestCommand(this, TeleportRequest.Type.TPA_TO, "to"));
registerSubCommand(new TeleportRequestCommand(this, TeleportRequest.Type.TPA_HERE, "here"));
registerSubCommand(new TeleportHandleCommand(this, true, "cancel"));
registerSubCommand(new TeleportHandleCommand(this, true, "accept", "agree"));
registerSubCommand(new TeleportHandleCommand(this, false, "deny", "refuse"));
registerSubCommand(new TeleportCancelCommand(this, "cancel"));
}
@@ -38,4 +38,9 @@ public class TeleportCommands extends CommandHandler {
return main.noPermission(sender);
}
@Override
public boolean hasPermission(CommandSender sender) {
return sender.hasPermission("MoeTeleport.teleport");
}
}
@@ -49,4 +49,10 @@ public class WarpCommands extends CommandHandler {
return main.noPermission(sender);
}
@Override
public boolean hasPermission(CommandSender sender) {
return sender.hasPermission("MoeTeleport.warp");
}
}
@@ -1,122 +0,0 @@
package cc.carm.plugin.moeteleport.manager;
import cc.carm.plugin.moeteleport.Main;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.SimpleCommandMap;
import org.bukkit.plugin.SimplePluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.lang.reflect.Field;
import java.util.*;
public class CommandManager {
protected final JavaPlugin plugin;
protected final SimpleCommandMap commandMap;
protected final Field knownCommandsFiled;
protected final Map<String, AliasCommand> registeredCommands = new HashMap<>();
public CommandManager(JavaPlugin plugin) throws Exception {
this.plugin = plugin;
SimplePluginManager manager = (SimplePluginManager) Bukkit.getPluginManager();
Field commandMapField = SimplePluginManager.class.getDeclaredField("commandMap");
commandMapField.setAccessible(true);
this.commandMap = (SimpleCommandMap) commandMapField.get(manager);
this.knownCommandsFiled = SimpleCommandMap.class.getDeclaredField("knownCommands");
this.knownCommandsFiled.setAccessible(true);
}
@SuppressWarnings("unchecked")
protected Map<String, Command> getKnownCommands() {
try {
return (Map<String, Command>) knownCommandsFiled.get(commandMap);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
return new HashMap<>();
}
public String getPrefix() {
return this.plugin.getName().toLowerCase() + " ";
}
protected SimpleCommandMap getCommandMap() {
return commandMap;
}
public void register(String alias, String target) {
AliasCommand current = this.registeredCommands.get(alias);
if (current != null) current.unregister(getCommandMap());
AliasCommand cmd = new AliasCommand(alias, this, getPrefix() + target);
this.registeredCommands.put(alias, cmd);
getCommandMap().register(Main.getInstance().getName(), cmd);
}
public void unregister(String alias) {
AliasCommand current = this.registeredCommands.remove(alias);
if (current != null) {
getKnownCommands().remove(alias);
current.unregister(getCommandMap());
}
}
public void unregisterAll() {
registeredCommands.forEach((k, v) -> {
getKnownCommands().remove(k);
v.unregister(getCommandMap());
});
registeredCommands.clear();
}
public static class AliasCommand extends Command {
protected final CommandManager commandManager;
protected final String targetCommand;
public AliasCommand(String name, CommandManager commandManager, String targetCommand) {
super(name);
this.commandManager = commandManager;
this.targetCommand = targetCommand;
}
protected SimpleCommandMap getCommandMap() {
return this.commandManager.getCommandMap();
}
protected String buildCommand(String[] args) {
return this.targetCommand + " " + String.join(" ", args);
}
@Override
public boolean execute(@NotNull CommandSender sender, @NotNull String commandLabel, @NotNull String[] args) {
return getCommandMap().dispatch(sender, buildCommand(args));
}
@NotNull
@Override
public List<String> tabComplete(@NotNull CommandSender sender, @NotNull String alias,
@NotNull String[] args, @Nullable Location location) throws IllegalArgumentException {
return Optional.ofNullable(getCommandMap().tabComplete(sender, buildCommand(args))).orElse(Collections.emptyList());
}
@NotNull
@Override
public List<String> tabComplete(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args) throws IllegalArgumentException {
return tabComplete(sender, alias, args, null);
}
}
}
@@ -104,12 +104,11 @@ public class RequestManager {
}
public void cancelRequest(TeleportRequest request) {
PluginMessages.REQUESTS.WAS_ACCEPTED.send(request.getSender(), request.getReceiver().getName());
PluginMessages.REQUESTS.ACCEPTED.send(request.getReceiver(), request.getSender().getName());
PluginMessages.REQUESTS.SENT_CANCELLED.send(request.getSender(), request.getReceiver().getName());
PluginMessages.REQUESTS.RECEIVED_CANCELLED.send(request.getReceiver(), request.getSender().getName());
PluginConfig.REQUEST.SOUND.CANCELLED.playTo(request.getSender());
PluginConfig.REQUEST.SOUND.CANCELLED.playTo(request.getReceiver());
removeRequests(request);
MoeTeleport.getTeleportManager().queueTeleport(request);
}
public void denyRequest(TeleportRequest request) {
+17 -5
View File
@@ -13,18 +13,30 @@ softdepend:
- CMI
permissions:
"MoeTeleport":
description: "插件的主权限节点"
default: false
"MoeTeleport.admin":
description: "插件的管理员权限节点"
default: op
"MoeTeleport.teleport":
description: "使用传送请求相关指令的权限。"
default: true
"MoeTeleport.home":
description: "使用家相关指令的权限。"
default: true
"MoeTeleport.warp":
description: "使用传送请求相关指令的权限。"
default: true
"MoeTeleport.back":
description: "使用返回相关指令的权限。"
default: true
commands:
"MoeTeleport":
description: "插件的主命令,用于重载插件或查看插件信息。"
permission: "MoeTeleport.admin"
usage: "/MoeTeleport reload"
usage: "您可以输入 /MoeTeleport help 查看插件的相关帮助。"
aliases:
- mt