Ir para conteúdo

KwWarp - Contador de vezes por warp + API para desenvolvedores!


DEVKEWI

Posts Recomendados

vhHzoIG.png

 

 

Olá a todos!

Sentiram minha falta? hehe...

Gostaria de agradecer primeiramente ao @TequilAxBr e ao , pois sem eles eu não estaria aqui hoje.

 

Venho apresentar uma das minhas atualizações de meus projetos (breve a do meu site), o KwWarp,

@Dev Kewi de novo? É rapaz, precisamos nos atualizar se não ficamos esquecidos...

 

 

Mas o que esse tem de diferente?

  • API para desenvolvedores
  • Contador de vezes por warp
  • Delay por palavras/números
  • Bloquear comandos em teleporte

 

Por que eu devo usar em meu servidor?

 

O plugin tem com objetivo de implementar uma inovação ao seu servidor, o sistema da API neste projeto é apenas um exemplo que ainda podemos inovar qualquer versão de servidores, com o uso da API podemos fazer coisas incríveis! Como?

 

Enviar mensagem para todos os jogadores dentro da warp ou para todas as warps.

Enviar um Título/Subtítulo usando o TitleAPI (v1.8.x Minecraft)

 

Exemplos:

O jogador mito foi até a warp PvP, assim, avisará no chat global que o mito foi a warp PvP.

Criar invencibilidade de segundos para poder "hitar" os jogadores quando forem teleportados (Lembre-se de usar o WorldGuard para proteger o terreno).

Criar sistema de jogadores que ficaram mais tempo em uma warp.

Usando o MySQL você pode colocar um rank de jogadores que visitaram a uma determinada warp.

Criar rank para pegar o total de visitas de um warp.

Entre outras diversidades!

 

Como configuro este plugin?

 

Em poucas dígitos você o configura!

 

config.yml

 

MySQL:
  Ativar: false
  Host: "localhost"
  Database: "devkewi"
  Usuario: "devkewi"
  Senha: "123"
Warp:
  Update: true
  Utilize: "&cDesculpe, mas utilize /warp (warp)"
  Inexistente: "&cDesculpe, mas nao ha nenhuma warp com este nome!"
  Permissao: "kwwarp.warp.{warp}"
  #{warp} seria o nome da warp, entao para dar a permissao
  #Se exitir a warp vip o nome na permissao sera
  #kwwarp.warp.vip
  Sem_Permissao: "&cDesculpe, mas voce nao tem permissao para teleporta-se para a warp {warp}!"
  Delay:
    #Com a permissao abaixo, sera possivel burlar o delay para teleporta-se a warp.
    Permissao: "kwwarp.delay.vip"
    Tempo: 3
    #{tempo} ira retornar em segundos, minutos, qualquer forma:
    #Aguarde 3 segundos
    Aguarde: "&eAguarde &6{tempo}"
    #Se numeros for false, entao nao sera: Aguarde 3 segundos, e sim:
    #Aguarde tres segundos, alteracao de numeros para verbos
    Numeros: true
    Comandos:
      Bloquear: true
      Liberados:
        - '/g'
      Bloqueado: "&cDesculpe, mas voce nao pode digitar o comando {cmd} enquanto se teleporta para a warp {warp}!"
  Teleportado: "&aVoce foi teleportado para a warp {warp}"
  Saiu: "&aVoce saiu da warp {warp}!"
  Setar:
    Permissao: "kwwarp.admin.set"
    Sem_Permissao: "&cDesculpe, mas voce nao tem permissao para executar este comando!"
    #Configuracao de area
    Item:
      ID: "280"
      Slot: 0
    Use: "&aCrie as marcacoes com /setwarp e depois sete o nome da warp usando /setwarp (nome) (id) (slot)!"
    Utilize: "&cDesculpe, mas voce deve fazer as marcacoes primeiro antes de denominar o nome da warp!"
    Pos:
      Um: "&cDesculpe, mas a primeira marcacao nao foi setada!"
      Dois: "&cDesculpe, mas a segunda marcacao nao foi setada!"
      Setou: "&aVoce setou com sucesso as marcacoes e o local onde voce esta, sera o local onde os jogadores se
      teleportarao!"
      Setado:
        Um: "&aPrimeiro local setado!"
        Dois: "&aSegundo local setado!"
    IDs:
      ID: "&cDesculpe, mas o ID {id} nao existe!"
      Data: "&cDesculpe, mas a data do item nao existe!"
    Slot: "&cDesculpe, mas o slot deve ser numero!"
    Tamanho: "&cDesculpe, mas o slot nao deve ser menor que zero ou maior que o tamanho do bau da /warps!"
  Remover:
    Permissao: "kwwarp.admin.del"
    Sem_Permissao: "&cDesculpe, mas voce nao tem permissao para executar este comando!"
    Utilize: "&cDesculpe, mas utilize /delwarp (warp)!"
    Inexistente: "&cDesculpe, mas esta warp nao existe!"
    Removeu: "&aVoce removeu a warp {warp}"
  Warps:
    GUI:
      Tamanho: 45
      Nome: "&a[Warps]"

 

 

Não entendeu ainda?

 

Veja o vídeo para entender mais:

 

 

 

Sou desenvolvedor

 

API possui estes eventos, sendo eles:

PlayerTeleportWarp
PlayerLeaveWarp
PlayerEnterWarp

Beleza, e como uso elas?

Bem simples! Veja:

 

Com PlayerEnterWarp existe os metodos:

e.getPlayer(); //Pega o jogador
e.getDelay(); //Pega a class de Delay
e.getWarpName(); //Pega o nome da warp
e.getTempo(); //Pega o tempo restante para se teleporta a uma warp

Exemplo:

    @EventHandler
    void onTeleport(final PlayerEnterWarp e) {
        final Player p = e.getPlayer();
        new BukkitRunnable() {
            int x = 2;

            @Override
            public void run() {
                if (x == 0)
                    cancel();
                x--;
                p.sendMessage("Você está se teleportando para a warp " + e.getWarpName() + " em " + e.getTempo());
                e.setCanceled(true);
            }
        }.runTaskTimer(this, 1L, 1 * 20L);
    }

0vCmMCC.png

 

O PlayerTeleportWarp há os determinados métodos:

e.getWarpName(); //Nome da warp
e.getPlayers(); //Para todas as warps
e.getPlayersWarp(warp); //Para todos os jogadores dentro de uma warp
e.getPlayer(); //Pegar o jogador;
e.getPos1(); //Pegar o primeiro lugar da area setada
e.getPos2(); //Pegar o segundo lugar da area setada
e.getVezes(); //Pegar quantidade de vezes que o jogador teleportou-se para uma warp
e.getWarp(); //Local onde foi setado (onde os jogadores se teleportaram)
Pode cancelar usando e.setCancelled(true);

Exemplo:

        @EventHandler
	void onTeleportWarp(PlayerTeleportWarp e) {
		String warp = e.getWarpName(); // Nome da warp
		if (warp.equalsIgnoreCase("pvp")) { //Verificando se o nome da warp é igual a pvp
			e.getPlayer().sendMessage("Esta warp está com PVP ON! Cuidado!");
			e.setCanceled(true);
		}
	}

yAMPJBC.png

 

Já o PlayerLeaveWarp tem por si os métodos:

e.getPlayer(); //Pegar o jogador;
e.getPlayersWarp(""); //Para todos os jogadores dentro de uma warp
e.getPos1(); //Pegar o primeiro lugar da area setada
e.getPos2(); //Pegar o segundo lugar da area setada
e.withinArea(); // Verificar se está dentro da area
e.getWarpName(); //Nome da warp
Pode cancelar usando e.setCancelled(true);

Exemplo:

        @EventHandler
	void onQuitWarp(PlayerLeaveWarp e) {
		String warp = e.getWarpName(); // Nome da warp
		if (warp.equalsIgnoreCase("pvp")) {
			e.getPlayer().sendMessage("Você saiu da warp pvp!");
			e.setCanceled(true);
		}
	}

93D5yaa.png

 

Está em dúvida sobre o código fonte?

Clique no ícone do GitHub:

 

GPxrzXX.png

 

Vídeo explicando a API do KwWarp:

 

Download

 

http://magicmoment.com.br/devkewi/plugins/kwwarp

 

Pode me ajudar com uma doação?

(Esse dinheiro será utilizado para otimização do meu site e outros projetos!)

 

7SZyIlh.png

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

 

Bom plugin.

 

Obrigado

 

Plugin atualizado v0.4

 

O que mudou?

 

 - Implementação do evento PlayerEnterWarp

 - /warp & /warps abriram o menu GUI em vez de via comandos

 - Imagens adicionada ao tópico

 - Tópico organizado para cada event

 

Download no link do dropbox do tópico.

Link para o comentário
Compartilhar em outros sites

Plugin sensacional cara, vou analisar o código e fazer ele de volta pro meu servidor (motivos pessoais). Mas parabéns <3 ficou foda demaissss!

* Com certeza o dia que me sobrar um dinheiro quando eu ter o servidor eu faço uma doação no mercado pago pra ti.

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

Plugin sensacional cara, vou analisar o código e fazer ele de volta pro meu servidor (motivos pessoais). Mas parabéns <3 ficou foda demaissss!

* Com certeza o dia que me sobrar um dinheiro quando eu ter o servidor eu faço uma doação no mercado pago pra ti.

;)

 

Muito bom mano, nunca achei que alguém conseguiria inovar em um plugin de warp xD

Obrigado
Link para o comentário
Compartilhar em outros sites

ANÁLISE DE INATIVIDADE
 

Este tópico foi automaticamente arquivado devido à inatividade. Para manter a organização e fluidez das discussões na comunidade, tópicos que permanecem sem novas interações por um período prolongado são fechados automaticamente.
 

Se houver interesse em retomar o conteúdo, sinta-se à vontade para criar um novo tópico ou entre em contato com a equipe da comunidade para reabrir este tópico.


Equipe de Moderação
Gamer's Board
Link para o comentário
Compartilhar em outros sites

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