- Баллы
- 76
- Имя в Minecraft
- NegaTiV
Возможно ли упростить код плагина?
Есть ли гавно код в плагине.
Есть ли гавно код в плагине.
Java:
package ua.Haipls.whitelist;
import java.util.ArrayList;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerPreLoginEvent;
import org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.plugin.java.JavaPlugin;
import ru.tehkode.permissions.bukkit.PermissionsEx;
public class Main extends JavaPlugin implements Listener{
ArrayList<String> plist;
String message_not_already;
String message_already;
String message_removed;
String message_added;
String message_add;
String message_cantlogin;
public void onEnable(){
plist = new ArrayList<>();
Bukkit.getPluginManager().registerEvents(this, this);
saveDefaultConfig();
message_not_already = getConfig().getString("message_not_already").replace("&", "§");
message_already = getConfig().getString("message_already").replace("&", "§");
message_removed = getConfig().getString("message_removed").replace("&", "§");
message_added = getConfig().getString("message_added").replace("&", "§");
message_add = getConfig().getString("message_add").replace("&", "§");
message_cantlogin = getConfig().getString("message_cantlogin").replace("&", "§");
}
public String getPrefix(String player){
return PermissionsEx.getUser(player).getPrefix();
}
public boolean hasperm(String player,String perm){
return PermissionsEx.getUser(player).has(perm);
}
@EventHandler
public void onPreJoin(AsyncPlayerPreLoginEvent e){
String name = e.getName();
if(plist.size() == 0){
plist.add(name);
}
else if(!(plist.contains(name)) && !hasperm(name, "dwl.join")){
e.disallow(Result.KICK_OTHER,message_cantlogin
.replace("%player%", name)
.replace("%prefix%", getPrefix(name)));
}
}
@EventHandler
public void onQuit(PlayerQuitEvent e){
if(Bukkit.getOnlinePlayers().size() == 0){
plist.clear();
}
}
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if(command.getName().equalsIgnoreCase("wladd")){
if(args.length == 1){
if(!plist.contains(args[0])){
plist.add(args[0]);
sender.sendMessage(message_added
.replace("%player%", args[0])
.replace("%prefix%", getPrefix("args[0]")));
}
else{
sender.sendMessage(message_already
.replace("%player%", args[0])
.replace("%prefix%", getPrefix("args[0]")));
}
}
else{
sender.sendMessage(message_add);
return true;
}
}
else if (command.getName().equalsIgnoreCase("wlremove")){
if(args.length == 1){
if(plist.contains(args[0])){
plist.remove(args[0]);
sender.sendMessage(message_removed
.replace("%player%", args[0])
.replace("%prefix%", getPrefix("args[0]")));
}
else{
sender.sendMessage(message_not_already
.replace("%player%", args[0])
.replace("%prefix%", getPrefix("args[0]")));
}
}
}
else{
sender.sendMessage(message_add);
return true;
}
return false;
}
}
Последнее редактирование: