Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
public class ubMain extends JavaPlugin implements Listener {
public static ubMain plugin;
FileConfiguration c = getConfig();
public void createConfiguration() {
c.options().header("MyPlugin");
c.addDefault("code", String.valueOf("unkown_key"));
c.addDefault("world", String.valueOf("banworld"));
c.addDefault("x", Double.valueOf(0));
c.addDefault("y", Double.valueOf(0));
c.addDefault("z", Double.valueOf(0));
c.addDefault("yaw", Double.valueOf(0));
c.addDefault("pitch", Double.valueOf(0));
c.addDefault("whitelist-cmd", Arrays.asList(new String[]{
"/login", "/register", "/reg", "/logout", "/ukey", "/mykeys"}));
c.options().copyDefaults(true);
saveConfig();
}
public void onEnable(){
plugin = this;
Bukkit.getPluginManager().registerEvents(this, this);
createConfiguration();
getCommand("block").setExecutor(new COMMAND_block());
package ru.kesudar.ultra.blocks;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class COMMAND_uSetPoint implements CommandExecutor {
static ubMain plugin = ubMain.plugin;
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if(sender instanceof Player){
Player p = (Player)sender;
if(p.hasPermission("ultrablocks.command.usetpoint")){
World w = p.getWorld();
if(w.getName().equals(plugin.getConfig().getString("world"))){
if(args.length == 0){
plugin.c.set("x", p.getLocation().getBlockX());
plugin.c.set("y", p.getLocation().getBlockY());
plugin.c.set("z", p.getLocation().getBlockZ());
plugin.c.set("pitch", p.getLocation().getPitch());
plugin.c.set("yaw", p.getLocation().getYaw());
plugin.saveConfig();
p.sendMessage(ubLocale.prefix + ubLocale.set_spawn_point);
return true;
}
}else{
p.sendMessage(ubLocale.prefix + "§cERROR! Wrong world");
return false;
}
}else{
p.sendMessage(ubLocale.no_perm);
return false;
}
}
return false;
}
}
public class COMMAND_block implements CommandExecutor{
static ubMain plugin = ubMain.plugin;
Timer block_message = new Timer();
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
if(sender instanceof Player){
Player p = (Player)sender;
if(p.hasPermission("ultrablocks.command.block")){
if(args.length == 0){
return false;
}else if(args.length == 1){
return false;
}else if(args.length > 1){
String pName = args[0];
int i = 1;
StringBuilder str = new StringBuilder();
while (i < args.length) {
str.append(String.valueOf(args[i]) + " ");
i++;
}
String reason = str.toString().trim();
if(Bukkit.getServer().getPlayer(pName) != null){
plugin.saveConfig(); //Кидает NPE
plugin.reloadConfig();
Player target = Bukkit.getServer().getPlayer(pName);
String w = plugin.c.getString("world");
Location loc = new Location(Bukkit.getWorld(w), plugin.c.getDouble("x"), plugin.c.getDouble("y"), plugin.c.getDouble("z"), (float) plugin.c.getDouble("yaw"), (float) plugin.c.getDouble("pitch"));
String pGroup = ubMain.chat.getPrimaryGroup(target);
plugin.data.set("Players." + pName + ".banned", pName);
plugin.data.set("Players." + pName + ".reason", reason);
plugin.data.set("Players." + pName + ".group", pGroup);
ubManager.saveDataFiles();
ubManager.reloadDataFiles();
List<String> removePerms = new ArrayList();
removePerms = plugin.c.getStringList("remove-perm");
for(String pex : removePerms){
PermissionsEx.getPermissionManager().getUser(target).removePermission(pex);
}
p.sendMessage(ubLocale.prefix + "§aВы успешно выдали блокировку игроку: §f" + pName);
target.sendMessage(ubLocale.prefix + "§eВы были заблокированы на этом сервере!");
target.sendMessage("§cЗабанил: §e" + p.getName());
target.sendMessage("§cПричина: §e" + reason);
if(Bukkit.getWorld(w) == null){
p.sendMessage(ubLocale.prefix + "§4ВНИМАНИЕ! §fПроверьте, существует ли мир, указанный в конфигурации!");
Bukkit.getServer().getConsoleSender().sendMessage(ubMain.consolePrefix + "§4Check whether there is a world specified in the configuration!");
target.kickPlayer(ubLocale.prefix + "§eОшибка при телепортации в §c" + w);
return false;
}else{
target.teleport(loc);
}
return true;
}else{
p.sendMessage(ubLocale.prefix + "Игрок, которого вы пытаетесь заблокировать, оффлайн, либо несуществует!");
return false;
}
}
}
}
return false;
}
}
Не нужно создавать экземпляр класса ubMain. Напиши так ubMain.plugin.c.getString("world");В других классах создаю static ubMain plugin = ubMain.plugin; и вызываю строку из конфига через plugin.c.getString("world");
В конфиге эта строка есть
СПАСИБО ОГРОМНОЕ! Я ВЕСЬ ДЕНЬ ПЫТАЛСЯ ПОНЯТЬ В ЧЕМ ПРОБЛЕМА!Не нужно создавать экземпляр класса ubMain. Напиши так ubMain.plugin.c.getString("world");
ХзОдин вопрос: почему при создании экземпляра класса ubMain в классе COMMAND_uSetPoint() операции с конфигом работали, а в классе COMMAND_block() нет
Вы про плагин?Можно вопрос, что это такое?)
Лучше getInstance забабахать, ведь так есть можно сделать ubMain.plugin = new ubMain();Не нужно создавать экземпляр класса ubMain. Напиши так ubMain.plugin.c.getString("world");
+синглтон?