Ir para conteúdo
  • SHOUTBOX GAMER'S BOARD ❤️

    Carregar mais
    Você não tem permissão para conversar :(

smgabriel

Membro VIP
  • Total de itens

    239
  • Registro em

  • Última visita

  • GBCoins

    50 [ Doar ]

Sobre smgabriel

  • Titulo
    NullPointerException
  • Data de Nascimento 01-02-2002

Informações pessoais

  • Sexo
    Masculino
  • Localização
    Brazil

Últimos Visitantes

3.723 visualizações
  1. ~~eu sei, é um status~~

    Para quem estava perguntando sobre meus plugins antigos(que nem deveriam ser publicados, famoso "alfa do beta"). Eu perdi TODOS(quase, mas os principais), tanto a versão compilada quanto a source. Eu me recordo de avisar sobre as sources em alguns tópicos, mas eu não esperava que as versões compiladas iam dar problemas. Por algum motivo, os links caíram e eu não tenho mais acesso à essas contas(e sim, eu tentei recuperar pelos emails, os possíveis emails registrados, eu deletei) desses sites onde estavam hospedados.

  2. Construtor Você pode utilizar a classe utilitária Arrays para criar uma lista simples e com isso, listar os aliases. Usando: public MeuComando(){ super("meucomando", "um comando legal", "/meucomando", Arrays.asList("mycommand", "comando", "mycmd")); } Ou faça o que nosso amigo @Out of Orbit sugeriu utilizando o método #setAliases. // OFF Melhorias e informações inúteis removidas.
  3. Caso a consulta seja feita em outra máquina(sua máquina != local onde o mysql está hospedado), você deve procurar o endereço externo da host do mysql, geralmente a hospedagem que oferece o banco de dados, disponibiliza esses dados com o usuário, senha e porta. Aí você substitíu de localhost para o endereço informado, exemplo: 155.15.155.164. Mas se a máquina que faz a consulta é a mesma que hospeda o banco de dados, pode deixar como localhost ou 127.0.0.1 mesmo.
  4. Você pode usar o JDBC para se conectar com o banco de dados e checar essas informações. Lembrando que você precisa de um driver para se conectar com o banco de dados(caso esteja usando spigot/bukkit e bla bla, já vem com o driver mysql/sqlite). As URL's abaixo são dos drivers mysql e sqlite, elas serão necessárias para o driver informado se conectar com o banco de dados: MySQL: "jdbc:mysql://" + ip_do_host + ":" + porta + "/" + nome_da_database SQLITE: "jdbc:sqlite:" + nome_do_arquivo_sqlite Cada driver tem sua url, caso você não use nenhuma desses bancos, dê uma procurada pelo Google. (jdbc nome do driver url) Podemos usar o método #getConnection, da classe DriverManager, para recuperar a classe java.sql.Connection. A classe Connection mexe com o banco de dados, recuperando, inserindo, deletando, resumindo, podemos fazer tudo com essa classe. Bem, essa é uma explicação bem resumida mesmo, recomendo dar uma estudada para aprender mais coisas sobre JDBC. A classe Connection contém um método chamado #prepareStatement ele pode fazer algumas ações como: inserir, recuperar, deletar e atualizar um dado de uma tabela ou até mesmo a tabela. Esse método retorna a classe PreparedStatement. Exemplo: Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/minhadatabase", "root", "456"); Alguns drivers podem receber usuário e senha, o método #getConnection recebe os parâmetros usuário e senha. Temos: public boolean contains(String info) { try { Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/minhadatabase", "root", "456"); // Cria a conexão com o banco de dados PreparedStatement ps = con.prepareStatement("SELECT * FROM tabela WHERE info=?"); // Prepara o statement, informando a seguinte operação: SELECIONE TUDO EM tabela QUE info FOR IGUAL A ?(O valor deve ser informado) ps.setString(1, info); // Para informar o valor, usamos o método #setString, onde ele aceita a posição e a String que deve ser verificada. return ps.executeQuery().next(); // Aqui executamos a consulta, ele retorna uma classe chamada ResultSet, que tem os resultados da consulta. https://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html // Esse método checa se existe ou não, caso exista, retorna true, caso contrário retorna false ou sqlexception. } catch (Exception e) { return false; // caso tenha dado algum erro, retorna falso, informando que não existe. } } Eu sinceramente não sei se existe outra forma de verificar se existe ou não um dado na tabela sem ser dessa forma, mas acredito que não. Nunca pesquisei. Agora podemos usar: String info = user.getText() + ":" + "senha.getPassword().toString(); String array[] = new String[2]; array = frase.split(":"); if(contains(info)){ // checando se contém. System.out.println("Infos encontradas na database"); } Acho que deu para entender. OBS: Tome cuidado com essa consulta, ela cria uma conexão com o banco de dados sempre que vai consultar algo. Recomendações: Tentar manter essa conexão sempre ativa e não abrir mais, armazenar as informações em cache ou abrir só quando necessário.
  5. --> https://www.youtube.com/watch?v=eIAZxoeO9oM Mas ficaram legais kkkk'
  6. Valeu! Valeu kkk' ashuashau' Valeu! Em uma, duas partes, bati um pouco a cabeça. Valeu! Valeu! Obrigado! Valeu! Valeu! É uma ideia interessante, valeu!
  7. O objetivo dele é decorar seu mapa com árvores temáticas ao Natal e presentear seu amigo. Afinal, quem não quer receber um presente? COMO FUNCIONA O player planta mudas de SPRUCE e faz ela crescer. Tem 50% de chance de nascer uma árvore normal e 50% de nascer uma árvore natalina. Caso a árvore que nasceu seja natalina, o player que fez ela nascer(usou bone meal) se tornará dono daquela árvore. Apenas o dono da árvore poderá retirar qualquer item dos baus(vou falar sobre os baus). Os outros players podem presentear seu amigo que tem essa árvore clicando com o botão direito no bau da árvore. Após clicar, um menu será aberto para o amigo(''outros players'') colocar os itens que deseja presentear. Após fechar, os itens serão colocados no bau que apenas o dono tem acesso. Caso não tenha espaço, os itens que não couberam, serão dropados na localização do amigo. Se por acaso a SPRUCE nascer naturalmente, também ocorre a chance, mas ela não é propriedade de ninguém, obviamente. Como podemos observar, falamos muito sobre baus, uma explicação: Todo schematic(arquivo que as árvores serão carregados) deve ter pelo menos um bau, caso não tenha, uma mensagem de alerta será enviada ao servidor. De uma forma resumida: O baú é a caixa do presente. Informações: - Você pode enviar novas árvores colocando elas no caminho [pasta do servidor]/plugins/ChristmasTree/trees/. Após enviar, basta reiniciar o servidor, caso esteja aberto; - Os dados são salvos em MySQL ou SQLITE; - Comando configurável; - Permissões configurável; - 90% das mensagens e outras funções são configuráveis(os 10% não achei necessário. Ou talvez a preguiça -q). ALGUMAS PRINTS: PP VÍDEO DEMONSTRATIVO: Ou: https://www.youtube.com/watch?v=5Iu7NHD8M1Y CONFIG: COMANDO & PERMISSÃO O comando é configurável, mas os subcomandos não. {comando} deletar - Deleta a árvore atual, é necessário ser dono da árvore e ter a permissão que também é configurável. {comando} deletar all - Deleta TODAS árvores do servidor, é necessário ter a permissão que também é configurável. DOWNLOAD & SOURCE:
  8. Existem diversos fatores para sua aplicação não funcionar em outro ambiente. O primeiro deles é método/classe inexistente na jar que o usuário vai usar para executar essa aplicação: Um exemplo: No Spigot, existe um método chamado #spigot(Responsável por retornar a classe Uma_classe_que_tem_essa_classe.Spigot) na maioria das classes do Bukkit, esse método só existe no Spigot ou nos forks dele (bem, acredito que seja para todos os forks). Por exemplo: Se você tentar usar o método de dar respawn no player usando os recursos da classe Spigot, vai funcionar tranquilamente, mas se você usar no Bukkit, não vai funcionar, porque essa classe NÃO existe. Versões do minecraft: Se você interage diretamente com o minecraft_server, você tem um problema. Cada versão tem sua package nomeada com sua versão, ou seja, se você usa a versão 1.8, ela ficará assim: minecraftserver.18, mas se o usuário executar na versão 1.8.9, ela ficará assim: minecraftserver.18_9. Como você pode imaginar, sua versão vai estar querendo recuperar uma versão que não existe. A melhor solução é usar Reflection, mas você tem que ter um certo controle. Java e suas versões: Cada versão do Java tem algo diferente(afinal, não teria sentido ter uma nova versão sem modificar nada). Java 8 tem novos recursos bons, que versões inferiores não tem. Geralmente, pode ser que remova algum recurso ou adicione. Portanto, se você usa algum recurso que exista no java 8, mas não no java 7, causará erro. A famosa exception ClassNotFoundException. Esses são alguns dos fatores bem comuns, para a melhor solução é que os clientes e você usem a versão do java e jars atualizadas. Algumas hosts, pelo menos antes, usavam java 7 e a maioria dos erros eram causadas por esse motivo. Enquanto o plugin trabalhava com recursos do Java 8, o servidor era executado no Java 7.
×
Hospedagem de Minecraft Host de Minecraft Host de Minecraft BR Host de Minecraft EUA Servidor Cloud Servidor Cloud BR Servidor Cloud EUA