keepinv supoort
This commit is contained in:
@ -1,5 +1,6 @@
|
||||
package expvintl.tools;
|
||||
|
||||
import expvintl.tools.listeners.LoginHandler;
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
@ -8,7 +9,6 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.math.BigInteger;
|
||||
import java.security.MessageDigest;
|
||||
import java.util.HashMap;
|
||||
@ -20,37 +20,57 @@ import java.util.regex.Pattern;
|
||||
public final class Tools extends JavaPlugin {
|
||||
private LoginHandler loginHandler;
|
||||
public static YamlConfiguration loginConfig;
|
||||
public static YamlConfiguration settingsCfg;
|
||||
private boolean enableLogin;
|
||||
//<2F><><EFBFBD>ҵ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
|
||||
private final String cfgPath=getDataFolder().getPath()+"/PlayerLoginData.yml";
|
||||
private final String loginDataPath =getDataFolder().getPath()+"/PlayerLoginData.yml";
|
||||
private final String settingsPath=getDataFolder().getPath()+"/settings.yml";
|
||||
Logger logger=getLogger();
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
private final Map<String,String> reqQueue=new HashMap<>();
|
||||
private void initConfigs(){
|
||||
if(!getDataFolder().exists()) getDataFolder().mkdir();
|
||||
File loginData=new File(this.loginDataPath);
|
||||
File settingsPath=new File(this.settingsPath);
|
||||
try {
|
||||
if(!loginData.exists()) {
|
||||
if (!loginData.createNewFile()) {
|
||||
logger.warning("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>!");
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(!settingsPath.exists()){
|
||||
if (!settingsPath.createNewFile()) {
|
||||
logger.warning("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>!");
|
||||
return;
|
||||
}
|
||||
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
settingsCfg=new YamlConfiguration();
|
||||
settingsCfg.load(this.settingsPath);
|
||||
settingsCfg.set("enableLogin",true);
|
||||
settingsCfg.save(settingsPath);
|
||||
settingsCfg=null;
|
||||
}
|
||||
loginConfig = new YamlConfiguration();
|
||||
settingsCfg=new YamlConfiguration();
|
||||
settingsCfg.load(this.settingsPath);
|
||||
loginConfig.load(this.loginDataPath);
|
||||
logger.info("<EFBFBD>Ѽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!");
|
||||
enableLogin=settingsCfg.getBoolean("enableLogin");
|
||||
if(enableLogin){
|
||||
//ע<><D7A2><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
loginHandler=new LoginHandler(this);
|
||||
getServer().getPluginManager().registerEvents(loginHandler,this);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.warning(e.getMessage());
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void onEnable() {
|
||||
// Plugin startup logic
|
||||
logger.info("expvintl:Tools <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!");
|
||||
loginHandler=new LoginHandler(this);
|
||||
getServer().getPluginManager().registerEvents(loginHandler,this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
if(!getDataFolder().exists()) getDataFolder().mkdir();
|
||||
File conf=new File(cfgPath);
|
||||
if(!conf.exists()) {
|
||||
try {
|
||||
if(!conf.createNewFile()) return;
|
||||
} catch (IOException e) {
|
||||
logger.warning(e.getMessage());
|
||||
}
|
||||
}
|
||||
try {
|
||||
loginConfig = new YamlConfiguration();
|
||||
loginConfig.load(cfgPath);
|
||||
logger.info("<EFBFBD>Ѽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!");
|
||||
} catch (Exception e) {
|
||||
logger.warning(e.getMessage());
|
||||
}
|
||||
initConfigs();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -62,6 +82,10 @@ public final class Tools extends JavaPlugin {
|
||||
}
|
||||
switch(label) {
|
||||
case "reg":
|
||||
if(!enableLogin) {
|
||||
sender.sendMessage("δ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!");
|
||||
return true;
|
||||
}
|
||||
if (args.length == 2) {
|
||||
if (loginHandler.isRegistered(sender.getName())||loginHandler.isLogged(sender.getName())) {
|
||||
sender.sendMessage("<EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!");
|
||||
@ -83,7 +107,7 @@ public final class Tools extends JavaPlugin {
|
||||
MessageDigest md=MessageDigest.getInstance("MD5");
|
||||
String passMd=new BigInteger(1,md.digest(args[0].getBytes())).toString(16);
|
||||
loginConfig.set(sender.getName(), passMd);
|
||||
loginConfig.save(cfgPath);
|
||||
loginConfig.save(loginDataPath);
|
||||
} catch (Exception e) {
|
||||
logger.warning(e.getMessage());
|
||||
sender.sendMessage("<EFBFBD><EFBFBD><EFBFBD>뱣<EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>!");
|
||||
@ -98,6 +122,10 @@ public final class Tools extends JavaPlugin {
|
||||
return false;
|
||||
}
|
||||
case "l":
|
||||
if(!enableLogin) {
|
||||
sender.sendMessage("δ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!");
|
||||
return true;
|
||||
}
|
||||
if(args.length==1){
|
||||
if(loginHandler.isLogged(sender.getName())){
|
||||
sender.sendMessage("<EFBFBD><EFBFBD><EFBFBD>ƺ<EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?");
|
||||
@ -129,6 +157,10 @@ public final class Tools extends JavaPlugin {
|
||||
return false;
|
||||
}
|
||||
case "cp":
|
||||
if(!enableLogin) {
|
||||
sender.sendMessage("δ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!");
|
||||
return true;
|
||||
}
|
||||
if(args.length==1){
|
||||
if(loginHandler.isRegistered(sender.getName())&&loginHandler.isLogged(sender.getName())){
|
||||
if (args[0].length() < 6 || args[0].length() > 16) {
|
||||
@ -143,7 +175,7 @@ public final class Tools extends JavaPlugin {
|
||||
MessageDigest md=MessageDigest.getInstance("MD5");
|
||||
String passMd=new BigInteger(1,md.digest(args[0].getBytes())).toString(16);
|
||||
loginConfig.set(sender.getName(),passMd);
|
||||
loginConfig.save(cfgPath);
|
||||
loginConfig.save(loginDataPath);
|
||||
} catch (Exception e) {
|
||||
logger.warning(e.getMessage());
|
||||
sender.sendMessage("<EFBFBD><EFBFBD><EFBFBD>뱣<EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>!");
|
||||
@ -158,40 +190,6 @@ public final class Tools extends JavaPlugin {
|
||||
sender.sendMessage("ȱ<EFBFBD>ٲ<EFBFBD><EFBFBD><EFBFBD>!");
|
||||
return false;
|
||||
}
|
||||
case "kill":
|
||||
if(args.length>0){
|
||||
sender.sendMessage(args[0]+" <20><><EFBFBD><EFBFBD>");
|
||||
return true;
|
||||
}
|
||||
player.setHealth(0);
|
||||
return true;
|
||||
case "tp":
|
||||
if(args.length==4){
|
||||
try {
|
||||
double x = Double.parseDouble(args[1]);
|
||||
double y = Double.parseDouble(args[2]);
|
||||
double z = Double.parseDouble(args[3]);
|
||||
player.teleport(new Location(player.getWorld(),x,y,z));
|
||||
getServer().broadcastMessage(String.format("%s <20><><EFBFBD>͵<EFBFBD><CDB5><EFBFBD> X:%.2f Y:%.2f Z:%.2f",player.getName(),x,y,z));
|
||||
}catch (NumberFormatException f) {
|
||||
sender.sendMessage("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>ʽ!");
|
||||
}
|
||||
}else if(args.length==3) {
|
||||
try {
|
||||
double x = Double.parseDouble(args[0]);
|
||||
double y = Double.parseDouble(args[1]);
|
||||
double z = Double.parseDouble(args[2]);
|
||||
player.teleport(new Location(player.getWorld(), x, y, z));
|
||||
getServer().broadcastMessage(String.format("%s <20><><EFBFBD>͵<EFBFBD><CDB5><EFBFBD> X:%.2f Y:%.2f Z:%.2f", player.getName(), x, y, z));
|
||||
} catch (NumberFormatException f) {
|
||||
sender.sendMessage("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>ʽ!");
|
||||
}
|
||||
}else{
|
||||
sender.sendMessage("ȱ<EFBFBD><EFBFBD>Ӧ<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
case "tpa":
|
||||
if(args.length==1){
|
||||
Player target=getServer().getPlayer(args[0]);
|
||||
@ -263,6 +261,18 @@ public final class Tools extends JavaPlugin {
|
||||
}
|
||||
sender.sendMessage("û<EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD>!");
|
||||
return true;
|
||||
case "keepinv":
|
||||
if(args.length==1){
|
||||
Bukkit.getWorlds().forEach(world -> {
|
||||
boolean result=Boolean.parseBoolean(args[0]);
|
||||
world.setGameRule(GameRule.KEEP_INVENTORY,result);
|
||||
sender.sendMessage(String.format("<EFBFBD><EFBFBD>Ϊ %s %s<><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",world.getName(), Boolean.TRUE.equals(world.getGameRuleValue(GameRule.KEEP_INVENTORY)) ?"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>":"<EFBFBD>ر<EFBFBD>"));
|
||||
});
|
||||
}else{
|
||||
sender.sendMessage("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package expvintl.tools;
|
||||
package expvintl.tools.listeners;
|
||||
|
||||
import expvintl.tools.Tools;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.event.EventHandler;
|
@ -5,12 +5,10 @@ api-version: 1.15
|
||||
authors: [ expvintl ]
|
||||
description: Tools
|
||||
commands:
|
||||
kill: #指令名
|
||||
description: "杀死自己" #指令的注解
|
||||
usage: "用法: /kill"
|
||||
tp:
|
||||
description: "传送到某个位置"
|
||||
usage: "用法: /tp <玩家名> <x> <y> <z>"
|
||||
keepinv:
|
||||
description: "开关所有世界的死亡不掉落"
|
||||
usage: "用法: /keepInv [true/false]"
|
||||
permission: op
|
||||
reg:
|
||||
description: "注册用户"
|
||||
usage: "用法: /reg 密码 确认密码"
|
||||
|
Reference in New Issue
Block a user