Ir para conteúdo

Book meta help !!


MrxWeed

Posts Recomendados

Como verifico se o player ta na cordenada que esta na pagina de um livro 

Spoiler

    public static ItemStack getLivroLv(int lv) {
        ItemStack book = new ItemStack(Material.WRITTEN_BOOK, 1);
        BookMeta bm = (BookMeta) book.getItemMeta();
        int x = rand(1000, 13000);
        int z = rand(1000, 13000);
        bm.setAuthor("§7Tesouro HardMC" + ", X: " + x + ", Z: " + z);
        bm.setTitle("§7Tesouro Nível " + lv);
        ArrayList<String> pages = new ArrayList<String>();
        pages.add(
                "Este é um livro do tesouro! Neste livro,você encontra as coordenadas de um tesouro super valioso. Digite §1/tesouro ir §0e vá até as\n§0coordenadas\n§0informadas.\n§0Veja as coordenadas na próxima página.");
        pages.add("Coordenadas do Tesouro:\nX: " + x + "\nZ: " + z);
        bm.setPages(pages);
        book.setItemMeta(bm);
        return book;
    }

 Nessa pagina 2 user contains mais da uns erros..
 

 

Link para o comentário
Compartilhar em outros sites

Ao invés de utilizar os "\n" para quebrar a linha, adicione manualmente as coordenadas na lista. Dai seria só usar o método "split". Exemplo:
 

List<String> pages = ...;
pages.add("X: " + x);
pages.add("Z: " + z);
int x,z;
x = Double.valueOf(pages.get(0).split(":")[1]).intValue();
z = Double.valueOf(pages.get(1).split(":")[1]).intValue();

 

Link para o comentário
Compartilhar em outros sites

você pode fazer assim:

//Transforma toda a string para minuscúlo para poder trabalhar melhor
String author = bookMeta.getAuthor().toLowerCase();
//Aqui você está quebrando a string em partes e pega uma parte dela e substitui tudo que não for número.
int x = Integer.parseInt(author.split("x:")[1].split(",")[0].replaceAll("[^0-9]+", ""));
int z = Integer.parseInt(author.split("z:")[1].replaceAll("[^0-9]+", ""));

 

Link para o comentário
Compartilhar em outros sites

3 minutos atrás, jetta disse:

você pode fazer assim:


//Transforma toda a string para minuscúlo para poder trabalhar melhor
String author = bookMeta.getAuthor().toLowerCase();
//Aqui você está quebrando a string em partes e pega uma parte dela e substitui tudo que não for número.
int x = Integer.parseInt(author.split("x:")[1].split(",")[0].replaceAll("[^0-9]+", ""));
int z = Integer.parseInt(author.split("z:")[1].replaceAll("[^0-9]+", ""));

 

Vlw coloquei no author pra pensar um jeito msm agradece e.e

 

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

8 minutos atrás, MrxWeed disse:

Vlw coloquei no author pra pensar um jeito msm agradece e.e

 

se você quiser pegar da página também funciona.
 

List<String> pages = ...
int n = //index da página na Lista, no seu caso acho que é 1.
String coordinatePages = pages.get(n).toLowerCase();
int x = coordinatePages.split("x:")[1].split("z:")[0].replaceAll("[^0-9]", "");
int z = coordinatePages.split("z:")[1].replaceAll("[^0-9]", "");

 

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

17 minutos atrás, jetta disse:

você pode fazer assim:


//Transforma toda a string para minuscúlo para poder trabalhar melhor
String author = bookMeta.getAuthor().toLowerCase();
//Aqui você está quebrando a string em partes e pega uma parte dela e substitui tudo que não for número.
int x = Integer.parseInt(author.split("x:")[1].split(",")[0].replaceAll("[^0-9]+", ""));
int z = Integer.parseInt(author.split("z:")[1].replaceAll("[^0-9]+", ""));

 

Vou testar ja ❤️ agradece

Link para o comentário
Compartilhar em outros sites

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