Ir para conteúdo
  • 0

[Resolvido] Criar outra file + Placa maldita '-'


Dery

Pergunta

Estou criando mais um plugin aqui no Eclipse, só que estou tendo dificuldades ao tentar criar outra "config.yml" e criar placa dentro do jogo:

 

Estou utilizando este código para outra config.yml:

File f = new File(getDataFolder(), "arquivo.yml");
FileConfiguration fc = YamlConfiguration.loadConfiguration(f);

E para criar as placas estou utilizando este:

@EventHandler
        public void onSignChange(SignChangeEvent e) {
                if (e.getLine(0).equalsIgnoreCase("[Placa]")) {
                        e.setLine(0, "§3[Placa]");
                        e.setLine(1, "§3Clique aqui");
                        e.setLine(2, "§3e seja feliz!");
                        e.setLine(3, "§3'-'");
                }
        }
       
        @EventHandler
        public void onPlayerInteract(PlayerInteractEvent e) {
                if (!(e.getAction() == Action.RIGHT_CLICK_BLOCK)) return;
                if (e.getClickedBlock().getState() instanceof Sign) {
                        Sign s = (Sign) e.getClickedBlock().getState();
                        if (s.getLine(0).equalsIgnoreCase("§3[Placa]")) {
                                // Os bagulho vai acontecer aqui :p
                        }
                }
        }

Só que quando vou colocar "[Placa]" na primeira linha da placa ela não se completa para ficar assim:

[Placa]

Clique aqui

e seja feliz!

'-'

 

Grato!

Link para o comentário
Compartilhar em outros sites

17 respostass a esta questão

Posts Recomendados

Já tentou tirar esta linha:

 

e.setLine(3, "§3'-'"); 

 

Por que eu acho que é isso kk

Eu acho que não trow, pois no mine 0=1,1=2,2=3,3=4 sabe? Ou seja, iria adicionar " '-' " na 4ª linha da placa ta lgd?

Link para o comentário
Compartilhar em outros sites

Pode me ajudar com a primeira dúvida também?

É que estou utilizando aquele código, mas não está gerando o "arquivo.yml" sabe?

Tente assim:

Caso o evento da criação da placa esteja em outra class coloque assim dentro do onEnable.

 

getServer().getPluginManager().registerEvents(new <Nome_da_Class>(), this);

 

E se estiver na class main, coloque isso dentro do onEnable.

 

getServer().getPluginManager().registerEvents(this, this);

 

Depois e so curtir ae. :)

Link para o comentário
Compartilhar em outros sites

Tente assim:

Caso o evento da criação da placa esteja em outra class coloque assim dentro do onEnable.

getServer().getPluginManager().registerEvents(new <Nome_da_Class>(), this);

E se estiver na class main, coloque isso dentro do onEnable.

getServer().getPluginManager().registerEvents(this, this);

Depois e so curtir ae. :)

Acho que isso vai resolver..

 

Mas não fecha o tópico, depois eu vejo se vai funcionar, pois vou sair agora...

Link para o comentário
Compartilhar em outros sites

Ei man, já esta bom de ganhar post com perguntas bestas né?

Quando estiver Resolvido ele marca como resolvido.

Se achar ruim F***-s*!

Tem muita gente que após ser ajudado, sai do fórum. E depois se precisar, nem quer saber do tópico. Se voltar, é para pedir mais ajuda. Faço-o para manter o fórum organizado, se não gosta, pode ir.

Link para o comentário
Compartilhar em outros sites

Tente assim:

Caso o evento da criação da placa esteja em outra class coloque assim dentro do onEnable.

getServer().getPluginManager().registerEvents(new <Nome_da_Class>(), this);

E se estiver na class main, coloque isso dentro do onEnable.

getServer().getPluginManager().registerEvents(this, this);

Depois e so curtir ae. :)

Isso resolveu o problema das placas, mas ainda assim não está gerando o arquivo.yml :p

Link para o comentário
Compartilhar em outros sites

Isso resolveu o problema das placas, mas ainda assim não está gerando o arquivo.yml :p

 

Bora la...
 
No topo da sua class Main(Principal) você coloca.
 
public File fcfile;
public static YamlConfiguration fc;
 
Agora para gerar a file você ira por no seu onEnable.
 
fcfile = new File(getDataFolder(), "fc.yml");
try {
if (!fcfile.exists()) {
fcfile.createNewFile();
}
} catch (Exception localException1) {
}
fc = YamlConfiguration.loadConfiguration(fcfile);
 
E caso a file gerada acima for para setar algo crie um saveFile().
 
public static void saveFile() {
        try {
         Main.fc.save(Main.fcfile);
        }
        catch (IOException e) {
        }
}
 
Para usar a file gerada.
 
Para pegar a string setada na file.
<Nome_da_Sua_Class_Principal>.fc.getString("oi");
 
Para setar uma string na file.
<Nome_da_Sua_Class_Principal>.fc.set("oi", "XD");
<Nome_da_Sua_Class_Principal>.saveFile();
 
Agora curte ae. :)
Link para o comentário
Compartilhar em outros sites

 

Bora la...
 
No topo da sua class Main(Principal) você coloca.
 
public File fcfile;
public static YamlConfiguration fc;
 
Agora para gerar a file você ira por no seu onEnable.
 
fcfile = new File(getDataFolder(), "fc.yml");
try {
if (!fcfile.exists()) {
fcfile.createNewFile();
}
} catch (Exception localException1) {
}
fc = YamlConfiguration.loadConfiguration(fcfile);
 
E caso a file gerada acima for para setar algo crie um saveFile().
 
public static void saveFile() {
        try {
         Main.fc.save(Main.fcfile);
        }
        catch (IOException e) {
        }
}
 
Para usar a file gerada.
 
Para pegar a string setada na file.
<Nome_da_Sua_Class_Principal>.fc.getString("oi");
 
Para setar uma string na file.
<Nome_da_Sua_Class_Principal>.fc.set("oi", "XD");
<Nome_da_Sua_Class_Principal>.saveFile();
 
Agora curte ae. :)

 

Ok, mas é que estou utilizando o outro arquivo para outra class, no caso a class das placas, então eu adiciono

public File fcfile;
public static YamlConfiguration fc;

Na Main e o resto na class das placas?

 

@Edit: Já entendi, agora vou ver se funciona!

Editado por Dery
Link para o comentário
Compartilhar em outros sites

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