mirror of
https://github.com/CarmJos/MoeTeleport.git
synced 2024-09-19 21:35:56 +00:00
feat(rename): 支持地标点与家传送点的重命名功能
This commit is contained in:
parent
f728d1f7e6
commit
0d1fdccb79
4
pom.xml
4
pom.xml
@ -11,9 +11,9 @@
|
|||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
|
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
|
||||||
|
|
||||||
<deps.easyplugin.version>1.4.19</deps.easyplugin.version>
|
<deps.easyplugin.version>1.5.2</deps.easyplugin.version>
|
||||||
<deps.easysql.version>0.4.6</deps.easysql.version>
|
<deps.easysql.version>0.4.6</deps.easysql.version>
|
||||||
<deps.mineconfig.version>2.3.1</deps.mineconfig.version>
|
<deps.mineconfig.version>2.3.3</deps.mineconfig.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<groupId>cc.carm.plugin</groupId>
|
<groupId>cc.carm.plugin</groupId>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package cc.carm.plugin.moeteleport.command;
|
package cc.carm.plugin.moeteleport.command;
|
||||||
|
|
||||||
import cc.carm.lib.easyplugin.command.CommandHandler;
|
import cc.carm.lib.easyplugin.command.CommandHandler;
|
||||||
import cc.carm.plugin.moeteleport.command.parent.*;
|
import cc.carm.plugin.moeteleport.command.sub.*;
|
||||||
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package cc.carm.plugin.moeteleport.command.sub;
|
package cc.carm.plugin.moeteleport.command.base;
|
||||||
|
|
||||||
import cc.carm.lib.easyplugin.command.SubCommand;
|
import cc.carm.lib.easyplugin.command.SubCommand;
|
||||||
import cc.carm.plugin.moeteleport.MoeTeleport;
|
import cc.carm.plugin.moeteleport.MoeTeleport;
|
||||||
import cc.carm.plugin.moeteleport.command.parent.HomeCommands;
|
import cc.carm.plugin.moeteleport.command.sub.HomeCommands;
|
||||||
import cc.carm.plugin.moeteleport.storage.UserData;
|
import cc.carm.plugin.moeteleport.storage.UserData;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
@ -1,8 +1,8 @@
|
|||||||
package cc.carm.plugin.moeteleport.command.sub;
|
package cc.carm.plugin.moeteleport.command.base;
|
||||||
|
|
||||||
import cc.carm.lib.easyplugin.command.SubCommand;
|
import cc.carm.lib.easyplugin.command.SubCommand;
|
||||||
import cc.carm.plugin.moeteleport.MoeTeleport;
|
import cc.carm.plugin.moeteleport.MoeTeleport;
|
||||||
import cc.carm.plugin.moeteleport.command.parent.TeleportCommands;
|
import cc.carm.plugin.moeteleport.command.sub.TeleportCommands;
|
||||||
import cc.carm.plugin.moeteleport.storage.UserData;
|
import cc.carm.plugin.moeteleport.storage.UserData;
|
||||||
import cc.carm.plugin.moeteleport.teleport.TeleportRequest;
|
import cc.carm.plugin.moeteleport.teleport.TeleportRequest;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
@ -1,8 +1,8 @@
|
|||||||
package cc.carm.plugin.moeteleport.command.sub;
|
package cc.carm.plugin.moeteleport.command.base;
|
||||||
|
|
||||||
import cc.carm.lib.easyplugin.command.SubCommand;
|
import cc.carm.lib.easyplugin.command.SubCommand;
|
||||||
import cc.carm.plugin.moeteleport.MoeTeleport;
|
import cc.carm.plugin.moeteleport.MoeTeleport;
|
||||||
import cc.carm.plugin.moeteleport.command.parent.WarpCommands;
|
import cc.carm.plugin.moeteleport.command.sub.WarpCommands;
|
||||||
import cc.carm.plugin.moeteleport.manager.WarpManager;
|
import cc.carm.plugin.moeteleport.manager.WarpManager;
|
||||||
import cc.carm.plugin.moeteleport.model.WarpInfo;
|
import cc.carm.plugin.moeteleport.model.WarpInfo;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
@ -1,4 +1,4 @@
|
|||||||
package cc.carm.plugin.moeteleport.command.parent;
|
package cc.carm.plugin.moeteleport.command.sub;
|
||||||
|
|
||||||
import cc.carm.lib.easyplugin.command.SubCommand;
|
import cc.carm.lib.easyplugin.command.SubCommand;
|
||||||
import cc.carm.plugin.moeteleport.MoeTeleport;
|
import cc.carm.plugin.moeteleport.MoeTeleport;
|
@ -1,11 +1,8 @@
|
|||||||
package cc.carm.plugin.moeteleport.command.parent;
|
package cc.carm.plugin.moeteleport.command.sub;
|
||||||
|
|
||||||
import cc.carm.lib.easyplugin.command.CommandHandler;
|
import cc.carm.lib.easyplugin.command.CommandHandler;
|
||||||
import cc.carm.plugin.moeteleport.command.MainCommands;
|
import cc.carm.plugin.moeteleport.command.MainCommands;
|
||||||
import cc.carm.plugin.moeteleport.command.home.HomeCreateCommand;
|
import cc.carm.plugin.moeteleport.command.sub.home.*;
|
||||||
import cc.carm.plugin.moeteleport.command.home.HomeDeleteCommand;
|
|
||||||
import cc.carm.plugin.moeteleport.command.home.HomeListCommand;
|
|
||||||
import cc.carm.plugin.moeteleport.command.home.HomeTeleportCommand;
|
|
||||||
import cc.carm.plugin.moeteleport.conf.PluginConfig;
|
import cc.carm.plugin.moeteleport.conf.PluginConfig;
|
||||||
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
@ -26,6 +23,7 @@ public class HomeCommands extends CommandHandler {
|
|||||||
registerSubCommand(new HomeListCommand(this, "list", "ls"));
|
registerSubCommand(new HomeListCommand(this, "list", "ls"));
|
||||||
registerSubCommand(new HomeCreateCommand(this, "set", "create"));
|
registerSubCommand(new HomeCreateCommand(this, "set", "create"));
|
||||||
registerSubCommand(new HomeDeleteCommand(this, "delete", "remove", "del"));
|
registerSubCommand(new HomeDeleteCommand(this, "delete", "remove", "del"));
|
||||||
|
registerSubCommand(new HomeRenameCommand(this, "rename", "rn"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package cc.carm.plugin.moeteleport.command.parent;
|
package cc.carm.plugin.moeteleport.command.sub;
|
||||||
|
|
||||||
import cc.carm.lib.easyplugin.command.SubCommand;
|
import cc.carm.lib.easyplugin.command.SubCommand;
|
||||||
import cc.carm.plugin.moeteleport.Main;
|
import cc.carm.plugin.moeteleport.Main;
|
@ -1,10 +1,10 @@
|
|||||||
package cc.carm.plugin.moeteleport.command.parent;
|
package cc.carm.plugin.moeteleport.command.sub;
|
||||||
|
|
||||||
import cc.carm.lib.easyplugin.command.CommandHandler;
|
import cc.carm.lib.easyplugin.command.CommandHandler;
|
||||||
import cc.carm.plugin.moeteleport.command.MainCommands;
|
import cc.carm.plugin.moeteleport.command.MainCommands;
|
||||||
import cc.carm.plugin.moeteleport.command.teleport.TeleportCancelCommand;
|
import cc.carm.plugin.moeteleport.command.sub.teleport.TeleportCancelCommand;
|
||||||
import cc.carm.plugin.moeteleport.command.teleport.TeleportHandleCommand;
|
import cc.carm.plugin.moeteleport.command.sub.teleport.TeleportHandleCommand;
|
||||||
import cc.carm.plugin.moeteleport.command.teleport.TeleportRequestCommand;
|
import cc.carm.plugin.moeteleport.command.sub.teleport.TeleportRequestCommand;
|
||||||
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
||||||
import cc.carm.plugin.moeteleport.teleport.TeleportRequest;
|
import cc.carm.plugin.moeteleport.teleport.TeleportRequest;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
@ -1,8 +1,8 @@
|
|||||||
package cc.carm.plugin.moeteleport.command.parent;
|
package cc.carm.plugin.moeteleport.command.sub;
|
||||||
|
|
||||||
import cc.carm.lib.easyplugin.command.CommandHandler;
|
import cc.carm.lib.easyplugin.command.CommandHandler;
|
||||||
import cc.carm.plugin.moeteleport.command.MainCommands;
|
import cc.carm.plugin.moeteleport.command.MainCommands;
|
||||||
import cc.carm.plugin.moeteleport.command.warp.*;
|
import cc.carm.plugin.moeteleport.command.sub.warp.*;
|
||||||
import cc.carm.plugin.moeteleport.conf.PluginConfig;
|
import cc.carm.plugin.moeteleport.conf.PluginConfig;
|
||||||
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
@ -24,6 +24,7 @@ public class WarpCommands extends CommandHandler {
|
|||||||
registerSubCommand(new WarpInfoCommand(this, "info", "i"));
|
registerSubCommand(new WarpInfoCommand(this, "info", "i"));
|
||||||
registerSubCommand(new WarpCreateCommand(this, "set", "create"));
|
registerSubCommand(new WarpCreateCommand(this, "set", "create"));
|
||||||
registerSubCommand(new WarpDeleteCommand(this, "delete", "remove", "del"));
|
registerSubCommand(new WarpDeleteCommand(this, "delete", "remove", "del"));
|
||||||
|
registerSubCommand(new WarpRenameCommand(this, "rename", "rn"));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -1,9 +1,9 @@
|
|||||||
package cc.carm.plugin.moeteleport.command.home;
|
package cc.carm.plugin.moeteleport.command.sub.home;
|
||||||
|
|
||||||
import cc.carm.lib.easyplugin.command.SimpleCompleter;
|
import cc.carm.lib.easyplugin.command.SimpleCompleter;
|
||||||
import cc.carm.plugin.moeteleport.MoeTeleport;
|
import cc.carm.plugin.moeteleport.MoeTeleport;
|
||||||
import cc.carm.plugin.moeteleport.command.parent.HomeCommands;
|
import cc.carm.plugin.moeteleport.command.sub.HomeCommands;
|
||||||
import cc.carm.plugin.moeteleport.command.sub.HomeSubCommand;
|
import cc.carm.plugin.moeteleport.command.base.HomeSubCommand;
|
||||||
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
||||||
import cc.carm.plugin.moeteleport.conf.location.DataLocation;
|
import cc.carm.plugin.moeteleport.conf.location.DataLocation;
|
||||||
import cc.carm.plugin.moeteleport.storage.UserData;
|
import cc.carm.plugin.moeteleport.storage.UserData;
|
@ -1,7 +1,7 @@
|
|||||||
package cc.carm.plugin.moeteleport.command.home;
|
package cc.carm.plugin.moeteleport.command.sub.home;
|
||||||
|
|
||||||
import cc.carm.plugin.moeteleport.command.parent.HomeCommands;
|
import cc.carm.plugin.moeteleport.command.sub.HomeCommands;
|
||||||
import cc.carm.plugin.moeteleport.command.sub.HomeSubCommand;
|
import cc.carm.plugin.moeteleport.command.base.HomeSubCommand;
|
||||||
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
||||||
import cc.carm.plugin.moeteleport.conf.location.DataLocation;
|
import cc.carm.plugin.moeteleport.conf.location.DataLocation;
|
||||||
import cc.carm.plugin.moeteleport.storage.UserData;
|
import cc.carm.plugin.moeteleport.storage.UserData;
|
@ -1,7 +1,7 @@
|
|||||||
package cc.carm.plugin.moeteleport.command.home;
|
package cc.carm.plugin.moeteleport.command.sub.home;
|
||||||
|
|
||||||
import cc.carm.plugin.moeteleport.command.parent.HomeCommands;
|
import cc.carm.plugin.moeteleport.command.sub.HomeCommands;
|
||||||
import cc.carm.plugin.moeteleport.command.sub.HomeSubCommand;
|
import cc.carm.plugin.moeteleport.command.base.HomeSubCommand;
|
||||||
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
||||||
import cc.carm.plugin.moeteleport.storage.UserData;
|
import cc.carm.plugin.moeteleport.storage.UserData;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
@ -0,0 +1,71 @@
|
|||||||
|
package cc.carm.plugin.moeteleport.command.sub.home;
|
||||||
|
|
||||||
|
import cc.carm.plugin.moeteleport.command.sub.HomeCommands;
|
||||||
|
import cc.carm.plugin.moeteleport.command.base.HomeSubCommand;
|
||||||
|
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
||||||
|
import cc.carm.plugin.moeteleport.conf.location.DataLocation;
|
||||||
|
import cc.carm.plugin.moeteleport.storage.UserData;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class HomeRenameCommand extends HomeSubCommand {
|
||||||
|
|
||||||
|
public HomeRenameCommand(@NotNull HomeCommands parent, String name, String... aliases) {
|
||||||
|
super(parent, name, aliases);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Void execute(JavaPlugin plugin, CommandSender sender, String[] args) throws Exception {
|
||||||
|
if (!(sender instanceof Player)) {
|
||||||
|
PluginMessages.NOT_PLAYER.send(sender);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args.length < 2) return getParent().noArgs(sender);
|
||||||
|
|
||||||
|
String homeName = args[0];
|
||||||
|
String newName = args[1];
|
||||||
|
|
||||||
|
if (homeName.equals(newName)) return getParent().noArgs(sender);
|
||||||
|
if (newName.length() > 32) { // 超过家的名字长度限定
|
||||||
|
PluginMessages.HOME.NAME_TOO_LONG.send(sender);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
Player player = (Player) sender;
|
||||||
|
UserData data = getData(player);
|
||||||
|
|
||||||
|
Map.Entry<String, DataLocation> locationInfo = data.getHomeLocation(homeName);
|
||||||
|
if (locationInfo == null) {
|
||||||
|
PluginMessages.HOME.NOT_FOUND.send(player);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
Map.Entry<String, DataLocation> newInfo = data.getHomeLocation(newName);
|
||||||
|
if (newInfo != null) {
|
||||||
|
PluginMessages.HOME.ALREADY_EXITS.send(player);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
PluginMessages.HOME.RENAMED.send(player, newName, locationInfo.getKey());
|
||||||
|
|
||||||
|
data.setHomeLocation(newName, locationInfo.getValue().getBukkitLocation());
|
||||||
|
data.delHomeLocation(homeName);
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> tabComplete(JavaPlugin plugin, CommandSender sender, String[] args) {
|
||||||
|
if (args.length == 1) {
|
||||||
|
return listHomes(sender, args[args.length - 1]);
|
||||||
|
} else return Collections.emptyList();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,8 +1,8 @@
|
|||||||
package cc.carm.plugin.moeteleport.command.home;
|
package cc.carm.plugin.moeteleport.command.sub.home;
|
||||||
|
|
||||||
import cc.carm.plugin.moeteleport.MoeTeleport;
|
import cc.carm.plugin.moeteleport.MoeTeleport;
|
||||||
import cc.carm.plugin.moeteleport.command.parent.HomeCommands;
|
import cc.carm.plugin.moeteleport.command.sub.HomeCommands;
|
||||||
import cc.carm.plugin.moeteleport.command.sub.HomeSubCommand;
|
import cc.carm.plugin.moeteleport.command.base.HomeSubCommand;
|
||||||
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
||||||
import cc.carm.plugin.moeteleport.conf.location.DataLocation;
|
import cc.carm.plugin.moeteleport.conf.location.DataLocation;
|
||||||
import cc.carm.plugin.moeteleport.storage.UserData;
|
import cc.carm.plugin.moeteleport.storage.UserData;
|
@ -1,8 +1,8 @@
|
|||||||
package cc.carm.plugin.moeteleport.command.teleport;
|
package cc.carm.plugin.moeteleport.command.sub.teleport;
|
||||||
|
|
||||||
import cc.carm.plugin.moeteleport.MoeTeleport;
|
import cc.carm.plugin.moeteleport.MoeTeleport;
|
||||||
import cc.carm.plugin.moeteleport.command.parent.TeleportCommands;
|
import cc.carm.plugin.moeteleport.command.sub.TeleportCommands;
|
||||||
import cc.carm.plugin.moeteleport.command.sub.TeleportSubCommand;
|
import cc.carm.plugin.moeteleport.command.base.TeleportSubCommand;
|
||||||
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
||||||
import cc.carm.plugin.moeteleport.teleport.TeleportRequest;
|
import cc.carm.plugin.moeteleport.teleport.TeleportRequest;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
@ -1,8 +1,8 @@
|
|||||||
package cc.carm.plugin.moeteleport.command.teleport;
|
package cc.carm.plugin.moeteleport.command.sub.teleport;
|
||||||
|
|
||||||
import cc.carm.plugin.moeteleport.MoeTeleport;
|
import cc.carm.plugin.moeteleport.MoeTeleport;
|
||||||
import cc.carm.plugin.moeteleport.command.parent.TeleportCommands;
|
import cc.carm.plugin.moeteleport.command.sub.TeleportCommands;
|
||||||
import cc.carm.plugin.moeteleport.command.sub.TeleportSubCommand;
|
import cc.carm.plugin.moeteleport.command.base.TeleportSubCommand;
|
||||||
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
||||||
import cc.carm.plugin.moeteleport.storage.UserData;
|
import cc.carm.plugin.moeteleport.storage.UserData;
|
||||||
import cc.carm.plugin.moeteleport.teleport.TeleportRequest;
|
import cc.carm.plugin.moeteleport.teleport.TeleportRequest;
|
@ -1,7 +1,7 @@
|
|||||||
package cc.carm.plugin.moeteleport.command.teleport;
|
package cc.carm.plugin.moeteleport.command.sub.teleport;
|
||||||
|
|
||||||
import cc.carm.plugin.moeteleport.command.parent.TeleportCommands;
|
import cc.carm.plugin.moeteleport.command.sub.TeleportCommands;
|
||||||
import cc.carm.plugin.moeteleport.command.sub.TeleportSubCommand;
|
import cc.carm.plugin.moeteleport.command.base.TeleportSubCommand;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
@ -1,9 +1,9 @@
|
|||||||
package cc.carm.plugin.moeteleport.command.teleport;
|
package cc.carm.plugin.moeteleport.command.sub.teleport;
|
||||||
|
|
||||||
import cc.carm.lib.easyplugin.command.SimpleCompleter;
|
import cc.carm.lib.easyplugin.command.SimpleCompleter;
|
||||||
import cc.carm.plugin.moeteleport.MoeTeleport;
|
import cc.carm.plugin.moeteleport.MoeTeleport;
|
||||||
import cc.carm.plugin.moeteleport.command.parent.TeleportCommands;
|
import cc.carm.plugin.moeteleport.command.sub.TeleportCommands;
|
||||||
import cc.carm.plugin.moeteleport.command.sub.TeleportSubCommand;
|
import cc.carm.plugin.moeteleport.command.base.TeleportSubCommand;
|
||||||
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
||||||
import cc.carm.plugin.moeteleport.teleport.TeleportRequest;
|
import cc.carm.plugin.moeteleport.teleport.TeleportRequest;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
@ -1,9 +1,9 @@
|
|||||||
package cc.carm.plugin.moeteleport.command.warp;
|
package cc.carm.plugin.moeteleport.command.sub.warp;
|
||||||
|
|
||||||
import cc.carm.lib.easyplugin.command.SimpleCompleter;
|
import cc.carm.lib.easyplugin.command.SimpleCompleter;
|
||||||
import cc.carm.plugin.moeteleport.MoeTeleport;
|
import cc.carm.plugin.moeteleport.MoeTeleport;
|
||||||
import cc.carm.plugin.moeteleport.command.parent.WarpCommands;
|
import cc.carm.plugin.moeteleport.command.sub.WarpCommands;
|
||||||
import cc.carm.plugin.moeteleport.command.sub.WarpSubCommand;
|
import cc.carm.plugin.moeteleport.command.base.WarpSubCommand;
|
||||||
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
||||||
import cc.carm.plugin.moeteleport.model.WarpInfo;
|
import cc.carm.plugin.moeteleport.model.WarpInfo;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
@ -1,7 +1,7 @@
|
|||||||
package cc.carm.plugin.moeteleport.command.warp;
|
package cc.carm.plugin.moeteleport.command.sub.warp;
|
||||||
|
|
||||||
import cc.carm.plugin.moeteleport.command.parent.WarpCommands;
|
import cc.carm.plugin.moeteleport.command.sub.WarpCommands;
|
||||||
import cc.carm.plugin.moeteleport.command.sub.WarpSubCommand;
|
import cc.carm.plugin.moeteleport.command.base.WarpSubCommand;
|
||||||
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
||||||
import cc.carm.plugin.moeteleport.model.WarpInfo;
|
import cc.carm.plugin.moeteleport.model.WarpInfo;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
@ -1,7 +1,7 @@
|
|||||||
package cc.carm.plugin.moeteleport.command.warp;
|
package cc.carm.plugin.moeteleport.command.sub.warp;
|
||||||
|
|
||||||
import cc.carm.plugin.moeteleport.command.parent.WarpCommands;
|
import cc.carm.plugin.moeteleport.command.sub.WarpCommands;
|
||||||
import cc.carm.plugin.moeteleport.command.sub.WarpSubCommand;
|
import cc.carm.plugin.moeteleport.command.base.WarpSubCommand;
|
||||||
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
||||||
import cc.carm.plugin.moeteleport.model.WarpInfo;
|
import cc.carm.plugin.moeteleport.model.WarpInfo;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
@ -1,8 +1,8 @@
|
|||||||
package cc.carm.plugin.moeteleport.command.warp;
|
package cc.carm.plugin.moeteleport.command.sub.warp;
|
||||||
|
|
||||||
import cc.carm.lib.easyplugin.command.SimpleCompleter;
|
import cc.carm.lib.easyplugin.command.SimpleCompleter;
|
||||||
import cc.carm.plugin.moeteleport.command.parent.WarpCommands;
|
import cc.carm.plugin.moeteleport.command.sub.WarpCommands;
|
||||||
import cc.carm.plugin.moeteleport.command.sub.WarpSubCommand;
|
import cc.carm.plugin.moeteleport.command.base.WarpSubCommand;
|
||||||
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
||||||
import cc.carm.plugin.moeteleport.model.WarpInfo;
|
import cc.carm.plugin.moeteleport.model.WarpInfo;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
@ -0,0 +1,71 @@
|
|||||||
|
package cc.carm.plugin.moeteleport.command.sub.warp;
|
||||||
|
|
||||||
|
import cc.carm.plugin.moeteleport.Main;
|
||||||
|
import cc.carm.plugin.moeteleport.command.sub.WarpCommands;
|
||||||
|
import cc.carm.plugin.moeteleport.command.base.WarpSubCommand;
|
||||||
|
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
||||||
|
import cc.carm.plugin.moeteleport.model.WarpInfo;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class WarpRenameCommand extends WarpSubCommand {
|
||||||
|
|
||||||
|
public WarpRenameCommand(@NotNull WarpCommands parent, String name, String... aliases) {
|
||||||
|
super(parent, name, aliases);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Void execute(JavaPlugin plugin, CommandSender sender, String[] args) throws Exception {
|
||||||
|
if (!(sender instanceof Player)) {
|
||||||
|
PluginMessages.NOT_PLAYER.send(sender);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args.length < 2) return getParent().noArgs(sender);
|
||||||
|
|
||||||
|
String oldName = args[0];
|
||||||
|
String newName = args[1];
|
||||||
|
|
||||||
|
if (oldName.equals(newName)) return getParent().noArgs(sender);
|
||||||
|
if (newName.length() > 16) { // 超过地标的名字长度限定
|
||||||
|
PluginMessages.WARP.NAME_TOO_LONG.send(sender);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
Player player = (Player) sender;
|
||||||
|
|
||||||
|
|
||||||
|
WarpInfo info = getWarp(oldName);
|
||||||
|
if (info == null) {
|
||||||
|
PluginMessages.WARP.NOT_FOUND.send(player);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
WarpInfo newInfo = getWarp(oldName);
|
||||||
|
if (newInfo != null) {
|
||||||
|
PluginMessages.WARP.ALREADY_EXITS.send(player);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
PluginMessages.WARP.RENAMED.send(player, newName, info.getLocation());
|
||||||
|
Main.getInstance().getScheduler().runAsync(() -> {
|
||||||
|
getManager().setWarp(newName, player.getUniqueId(), info.getLocation());
|
||||||
|
getManager().delWarp(oldName);
|
||||||
|
});
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> tabComplete(JavaPlugin plugin, CommandSender sender, String[] args) {
|
||||||
|
if (args.length == 1) {
|
||||||
|
return listWarpNames(sender, args[args.length - 1], true);
|
||||||
|
} else return Collections.emptyList();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,10 +1,9 @@
|
|||||||
package cc.carm.plugin.moeteleport.command.warp;
|
package cc.carm.plugin.moeteleport.command.sub.warp;
|
||||||
|
|
||||||
import cc.carm.plugin.moeteleport.MoeTeleport;
|
import cc.carm.plugin.moeteleport.MoeTeleport;
|
||||||
import cc.carm.plugin.moeteleport.command.parent.WarpCommands;
|
import cc.carm.plugin.moeteleport.command.sub.WarpCommands;
|
||||||
import cc.carm.plugin.moeteleport.command.sub.WarpSubCommand;
|
import cc.carm.plugin.moeteleport.command.base.WarpSubCommand;
|
||||||
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
import cc.carm.plugin.moeteleport.conf.PluginMessages;
|
||||||
import cc.carm.plugin.moeteleport.manager.TeleportManager;
|
|
||||||
import cc.carm.plugin.moeteleport.model.WarpInfo;
|
import cc.carm.plugin.moeteleport.model.WarpInfo;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
@ -54,6 +54,7 @@ public class PluginConfig extends ConfigurationRoot {
|
|||||||
map.put("delHome", "home delete");
|
map.put("delHome", "home delete");
|
||||||
map.put("listHomes", "home list");
|
map.put("listHomes", "home list");
|
||||||
map.put("listHome", "home list");
|
map.put("listHome", "home list");
|
||||||
|
map.put("renameHome", "home rename");
|
||||||
|
|
||||||
map.put("warp", "warp to");
|
map.put("warp", "warp to");
|
||||||
map.put("setWarp", "warp set");
|
map.put("setWarp", "warp set");
|
||||||
@ -61,6 +62,7 @@ public class PluginConfig extends ConfigurationRoot {
|
|||||||
map.put("warpInfo", "warp info");
|
map.put("warpInfo", "warp info");
|
||||||
map.put("listWarps", "warp list");
|
map.put("listWarps", "warp list");
|
||||||
map.put("listWarp", "warp list");
|
map.put("listWarp", "warp list");
|
||||||
|
map.put("renameWarp", "warp rename");
|
||||||
}).build();
|
}).build();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package cc.carm.plugin.moeteleport.conf;
|
package cc.carm.plugin.moeteleport.conf;
|
||||||
|
|
||||||
import cc.carm.lib.configuration.core.ConfigurationRoot;
|
import cc.carm.lib.configuration.core.ConfigurationRoot;
|
||||||
|
import cc.carm.lib.configuration.core.annotation.HeaderComment;
|
||||||
import cc.carm.lib.easyplugin.utils.ColorParser;
|
import cc.carm.lib.easyplugin.utils.ColorParser;
|
||||||
import cc.carm.lib.mineconfiguration.bukkit.builder.message.CraftMessageListBuilder;
|
import cc.carm.lib.mineconfiguration.bukkit.builder.message.CraftMessageListBuilder;
|
||||||
import cc.carm.lib.mineconfiguration.bukkit.builder.message.CraftMessageValueBuilder;
|
import cc.carm.lib.mineconfiguration.bukkit.builder.message.CraftMessageValueBuilder;
|
||||||
@ -17,6 +18,13 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
|
|
||||||
import java.util.function.BiFunction;
|
import java.util.function.BiFunction;
|
||||||
|
|
||||||
|
|
||||||
|
@HeaderComment({
|
||||||
|
"MoeTeleport 传送插件的消息配置文件",
|
||||||
|
"如特定的消息不需要任何提示,可直接留下单行空内容消息。",
|
||||||
|
"支持 支持 &+颜色代码(原版颜色)、§(#XXXXXX)(RGB颜色) 与 &<#XXXXXX>(前后标注RGB颜色渐变)。",
|
||||||
|
" "
|
||||||
|
})
|
||||||
public class PluginMessages extends ConfigurationRoot {
|
public class PluginMessages extends ConfigurationRoot {
|
||||||
|
|
||||||
public static @NotNull CraftMessageListBuilder<BaseComponent[]> list() {
|
public static @NotNull CraftMessageListBuilder<BaseComponent[]> list() {
|
||||||
@ -95,7 +103,9 @@ public class PluginMessages extends ConfigurationRoot {
|
|||||||
"&8-&7&o 若地标点已存在,且您是地标点的设立者,",
|
"&8-&7&o 若地标点已存在,且您是地标点的设立者,",
|
||||||
"&8-&7&o 则会覆盖原有的地标点位置。",
|
"&8-&7&o 则会覆盖原有的地标点位置。",
|
||||||
"&8#&f warp delete &d[地标名]",
|
"&8#&f warp delete &d[地标名]",
|
||||||
"&8-&7 删除一个自己设立的地标点。"
|
"&8-&7 删除一个自己设立的地标点。",
|
||||||
|
"&8#&f warp rename &d<原地标名> &d<新地标名>",
|
||||||
|
"&8-&7 重命名一个自己设立的地标点。"
|
||||||
).build();
|
).build();
|
||||||
|
|
||||||
public static final ConfiguredMessageList<BaseComponent[]> HOMES = list().defaults(
|
public static final ConfiguredMessageList<BaseComponent[]> HOMES = list().defaults(
|
||||||
@ -110,7 +120,9 @@ public class PluginMessages extends ConfigurationRoot {
|
|||||||
"&8-&7 设定一个家的位置。",
|
"&8-&7 设定一个家的位置。",
|
||||||
"&8-&7&o 若不填写家的名称则默认为“home”",
|
"&8-&7&o 若不填写家的名称则默认为“home”",
|
||||||
"&8#&f home delete &d[家名]",
|
"&8#&f home delete &d[家名]",
|
||||||
"&8-&7 删除一个家的位置。"
|
"&8-&7 删除一个家的位置。",
|
||||||
|
"&8#&f home rename &d<原家名> &d<新家名>",
|
||||||
|
"&8-&7 重命名一个家传送点的名称。"
|
||||||
).build();
|
).build();
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -257,6 +269,11 @@ public class PluginMessages extends ConfigurationRoot {
|
|||||||
"&7或输入 &5/setHome <家名称> &7覆盖之前的家传送点。"
|
"&7或输入 &5/setHome <家名称> &7覆盖之前的家传送点。"
|
||||||
).params("max").build();
|
).params("max").build();
|
||||||
|
|
||||||
|
public static final ConfiguredMessageList<BaseComponent[]> ALREADY_EXITS = list()
|
||||||
|
.defaults("&f您已存在名为 &d%(name) &f的家传送点,换个名字叭~")
|
||||||
|
.params("name")
|
||||||
|
.build();
|
||||||
|
|
||||||
public static final ConfiguredMessageList<BaseComponent[]> NOT_FOUND = list()
|
public static final ConfiguredMessageList<BaseComponent[]> NOT_FOUND = list()
|
||||||
.defaults("&f您还没有设置这个家,请先输入 &5/setHome <家名称> &f设置一个吧!")
|
.defaults("&f您还没有设置这个家,请先输入 &5/setHome <家名称> &f设置一个吧!")
|
||||||
.build();
|
.build();
|
||||||
@ -275,6 +292,10 @@ public class PluginMessages extends ConfigurationRoot {
|
|||||||
"&8原先位置为 &5%(location) &8。"
|
"&8原先位置为 &5%(location) &8。"
|
||||||
).params("name", "location").build();
|
).params("name", "location").build();
|
||||||
|
|
||||||
|
public static final ConfiguredMessageList<BaseComponent[]> RENAMED = list().defaults(
|
||||||
|
"&f成功以 &d%(newName) 重命名原先的家传送点 &d&o%(oldName) &f。"
|
||||||
|
).params("newName", "oldName").build();
|
||||||
|
|
||||||
public static class LIST extends ConfigurationRoot {
|
public static class LIST extends ConfigurationRoot {
|
||||||
|
|
||||||
public static final ConfiguredMessageList<BaseComponent[]> HEADER = list().defaults(
|
public static final ConfiguredMessageList<BaseComponent[]> HEADER = list().defaults(
|
||||||
@ -336,6 +357,14 @@ public class PluginMessages extends ConfigurationRoot {
|
|||||||
"&8原先位置为 &5%(location) &8。"
|
"&8原先位置为 &5%(location) &8。"
|
||||||
).params("name", "location").build();
|
).params("name", "location").build();
|
||||||
|
|
||||||
|
public static final ConfiguredMessageList<BaseComponent[]> ALREADY_EXITS = list()
|
||||||
|
.defaults("&f已存在名为 &d%(name) &f的地标点,换个名字叭~")
|
||||||
|
.params("name")
|
||||||
|
.build();
|
||||||
|
|
||||||
|
public static final ConfiguredMessageList<BaseComponent[]> RENAMED = list().defaults(
|
||||||
|
"&f成功以 &d%(newName) 重命名原先的地标点 &d&o%(oldName) &f。"
|
||||||
|
).params("newName", "oldName").build();
|
||||||
|
|
||||||
public static class LIST extends ConfigurationRoot {
|
public static class LIST extends ConfigurationRoot {
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user