Помогите Сохранение терры после рестарта

  • Автор темы Автор темы Kurumi
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Kurumi

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Kurumi
Всем привет, мне подсказали что нужно делать, но возникла другая проблема. Чтобы не создавать новую тему, я отредактирую эту. В общем, мне нужно записать в конфиг точки,
которые я выделил топором, а при загрузке сервера, читать конфиг. Я попытался сделать что-то подобное, но увы, ничего не получилось. Скажу честно, я пытался гуглить, ничего для решения своей проблемы не нашел. Прошу помочь.

Код:
PHP:
public class Main extends JavaPlugin implements Listener
{

    private Selection s;
    String version = "1.0";
    String author = "Lemar98";
    
    public void onEnable()
    {
        getServer().getConsoleSender().sendMessage("§4===============================");
        getServer().getConsoleSender().sendMessage("§6Epiphany is enabled");
        getServer().getConsoleSender().sendMessage("§6version " + "§9" + version);
        getServer().getConsoleSender().sendMessage(ChatColor.GOLD + "Author " + "§c" + author);
        getServer().getConsoleSender().sendMessage("§4===============================");
        
        File config = new File(getDataFolder() + File.separator + "config.yml");
        
        if(!config.exists())
        {
            getConfig().options().copyDefaults(true);
            saveDefaultConfig();
        }
        
        Bukkit.getPluginManager().registerEvents(this, this);
        getCommand("church").setExecutor(this);
    }
    
    public void onDisablde()
    {
        getServer().getConsoleSender().sendMessage("§4===============================");
        getServer().getConsoleSender().sendMessage("§6Epiphany is disabled");
        getServer().getConsoleSender().sendMessage("§6version " + "§9" + version);
        getServer().getConsoleSender().sendMessage(ChatColor.GOLD + "Author " + "§c" + author);
        getServer().getConsoleSender().sendMessage("§4===============================");
        saveConfig();
        
    }
    
    @EventHandler
    public void onMove(PlayerMoveEvent e)
    {
        if(s == null) return;
        
        if(s.contains(e.getTo()) && !s.contains(e.getFrom()))
        {
            String c = getConfig().getString("messages.JoinInChurch");
            c = c.replace("&", "\u00a7");
            
            e.getPlayer().sendMessage(c);
            e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 999999999, 5));
            e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, 999999999, 5));
        }
        
        if(s.contains(e.getFrom()) && !s.contains(e.getTo()))
        {
            String c = getConfig().getString("messages.LeaveFromChurch");
            c = c.replace("&", "\u00a7");           
            
            e.getPlayer().sendMessage(c);
            e.getPlayer().removePotionEffect(PotionEffectType.REGENERATION);
            e.getPlayer().removePotionEffect(PotionEffectType.SPEED);
        }
    }
    
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
    {
        if(!(sender instanceof Player))
        {
          getServer().getConsoleSender().sendMessage(ChatColor.RED + "This command only for game!");
          return true;
        }
        
        Player p = (Player) sender;

        if(cmd.getName().equalsIgnoreCase("church"))
        {
            if(!p.hasPermission("epny.setchurch"))
            {
              sender.sendMessage(ChatColor.RED + "У вас недостаточно прав!");
              return true;
            }
            
            s = getWorldEdit().getSelection(p);
            
            getConfig().set("churcharena.maximumpoitX", s.getMaximumPoint().getBlockX());
            getConfig().set("churcharena.maximumpoitY", s.getMaximumPoint().getBlockY());
            getConfig().set("churcharena.maximumpoitZ", s.getMaximumPoint().getBlockZ());
            
            getConfig().set("churcharena.minimumpointX", s.getMinimumPoint().getBlockX());
            getConfig().set("churcharena.minimumpointY", s.getMinimumPoint().getBlockY());
            getConfig().set("churcharena.minimumpointX", s.getMinimumPoint().getBlockZ());
            
             if(s == null)
             {
                 sender.sendMessage(ChatColor.RED + "Выделите область!");
                 return true;
             }
            
             sender.sendMessage(ChatColor.GREEN + "Вы установили область церкви!");
             return true;
        }
        return true;
    }
    
    public WorldEditPlugin getWorldEdit()
    {
        Plugin p = Bukkit.getServer().getPluginManager().getPlugin("WorldEdit");
        if(p instanceof WorldEditPlugin) return (WorldEditPlugin) p;
        else return null;
    }
    
    @EventHandler
    public void onJoin(PlayerJoinEvent e)
    {
      Player p = e.getPlayer();
      PermissionUser user = PermissionsEx.getUser(p);
    
    }
}

Config.yml:
Код:
messages:
  JoinInChurch: '&aТы вошел в церковь!'
  LeaveFromChurch: '&cТы покинул церковь!'
churcharena:
  maximumpoitX:
  maximumpoitY:
  maximumpoitZ:
  minimumpointX:
  minimumpointY:
  minimumpointZ:
 
Последнее редактирование:
Вроде, он тоже сбрасывает все данные после перезагрузки.
Используй конфиг YAML.
Не вроде, а точно. Твой плагин выгружается со всеми данными, записывай в конфиг что надо, и при старте читай его.
 
Что именно мне нужно записать в конфиг?
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх