Ir para conteúdo

BACKUP » Algum desenvolvedor para me ajudar?


Ruushh

Posts Recomendados

Olá

Recentemente, fiz um plugin, que seria para realizar BACKUPS simples dos mapas, mas não estou conseguindo usar esse sistema. Estou usando o seguinte código que está no spoiler, e ele tem a funçãi dê: na config.yml ter "Mundos; world:30", uma listagem de mundos e o delay em segundos de quanto em quanto tempo será salvo, e esse código fica apresentando erros no console. Alguém ajuda a resolver esse código ou a desenvolver outro?

Spoiler

for (String M : getConfig().getConfigurationSection("Mundos").getKeys(false)) {
              (new BukkitRunnable() {
                  public void run() {
                    Bukkit.getServer().getWorld(M).save();
                    System.out.print("Mundo salvado: " + M);
                    Bukkit.broadcastMessage("§3§l[BACKUP] §3» §fO backup de rotina foi realizado com sucesso!");
                  }
                }).runTaskTimer((Plugin)this, 0L, getConfig().getInt("Mundos." + M) * 20L);
            } 

 

E quero que o backup seja feito de minuto por minuto, não em segundos, não manjo muito de delay.

Link para o comentário
Compartilhar em outros sites

public void run() {
    for (World world : Bukkit.getWorlds()) {
      delayaqui...;
      world.save();
      if (!(this.p.metododesalvarconfig()).Save) {
}
}
       for (Player player : world.getPlayers())
          player.saveData(); 
      } 
    } 

Mais ou menos assim que deve ser, não testeeei fui escrevendo aqui, mas acho que da para tu ter noção!

Editado por B E E D
Link para o comentário
Compartilhar em outros sites

	@Override
	public void onEnable() {
		if (!new File(getDataFolder(), "config.yml").exists()) saveDefaultConfig();
		new BukkitRunnable() {
			@Override
			public void run() {
				for (String world : getConfig().getStringList("mundos")) {
					Bukkit.getWorld(world.trim()).save();
					Bukkit.getConsoleSender().sendMessage("§dMundo salvo: §f"+world.trim().toUpperCase());
				}
 			}
		}.runTaskTimerAsynchronously(this, 0, 20*60*5);
	}

mantendo o save, para caso tenha alguma necessidade específica dele...

Link para o comentário
Compartilhar em outros sites

15 horas atrás, abi disse:

pode mandar o erro, por favor?

Ainda quer q eu mande?

 

15 horas atrás, B E E D disse:

public void run() {
    for (World world : Bukkit.getWorlds()) {
      delayaqui...;
      world.save();
      if (!(this.p.metododesalvarconfig()).Save) {
}
}
       for (Player player : world.getPlayers())
          player.saveData(); 
      } 
    } 

Mais ou menos assim que deve ser, não testeeei fui escrevendo aqui, mas acho que da para tu ter noção!

Beleza, vou tentar montar o delay. Vlw.

 

15 horas atrás, abi disse:

	@Override
	public void onEnable() {
		if (!new File(getDataFolder(), "config.yml").exists()) saveDefaultConfig();
		new BukkitRunnable() {
			@Override
			public void run() {
				for (String world : getConfig().getStringList("mundos")) {
					Bukkit.getWorld(world.trim()).save();
					Bukkit.getConsoleSender().sendMessage("§dMundo salvo: §f"+world.trim().toUpperCase());
				}
 			}
		}.runTaskTimerAsynchronously(this, 0, 20*60*5);
	}

mantendo o save, para caso tenha alguma necessidade específica dele...

Parece que não está salvando, nem no console, e nem no jogo está mandando mensagem dizendo isto.

Link para o comentário
Compartilhar em outros sites

Em 25/09/2020 em 11:35, abi disse:

@Ruushh bom, eu coloquei para salvar a cada 5 minutos, você esperou? '-'

outra, na config fica assim:

mundos:

  - world

Não funcionou mesmo, deixei mais de 30 minutos o servidor aberto e nada de aparecer as mensagens confirmando o save.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...