Ir para conteúdo

CombatLOG Básico - Crie o Seu


Ducky

Posts Recomendados

Utilize esse código como BASE para criar seu combatlog ou similares.
 
package ml.lbplugins.lbcombatlog;
 
import java.util.ArrayList;
 
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;
 
public class Main extends JavaPlugin implements Listener {
 
ArrayList<String> pvp = new ArrayList<>();
int tempo = 10;
boolean kill = false;
 
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(this, this);
}
 
@EventHandler
public void QuitCheck(PlayerQuitEvent e) {
Player p = e.getPlayer();
if (pvp.contains(p.getName())) {
pvp.remove(p.getName());
Bukkit.broadcastMessage("§c" + p.getName() + " §csaiu do combate!");
if (kill) {
p.setHealth(0);
return;
}
}
}
 
@EventHandler
public void CombatCheck(EntityDamageByEntityEvent e) {
if (e.getDamager() instanceof Player && e.getEntity() instanceof Player) {
Player jogador = (Player) e.getEntity();
Player jogador2 = (Player) e.getDamager();
if (!pvp.contains(jogador.getName())) {
pvp.add(jogador.getName());
new BukkitRunnable() {
 
@Override
public void run() {
pvp.remove(jogador.getName());
 
}
}.runTaskLater(this, 20L * tempo);
}
if (!pvp.contains(jogador2.getName())) {
pvp.add(jogador2.getName());
new BukkitRunnable() {
 
@Override
public void run() {
pvp.remove(jogador2.getName());
 
}
}.runTaskLater(this, 20L * tempo);
}
return;
}
}
 
}

 

Link para o comentário
Compartilhar em outros sites

 

Utilize esse código como BASE para criar seu combatlog ou similares.
 
package ml.lbplugins.lbcombatlog;
 
import java.util.ArrayList;
 
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;
 
public class Main extends JavaPlugin implements Listener {
 
ArrayList<String> pvp = new ArrayList<>();
int tempo = 10;
boolean kill = false;
 
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(this, this);
}
 
@EventHandler
public void QuitCheck(PlayerQuitEvent e) {
Player p = e.getPlayer();
if (pvp.contains(p.getName())) {
pvp.remove(p.getName());
Bukkit.broadcastMessage("§c" + p.getName() + " §csaiu do combate!");
if (kill) {
p.setHealth(0);
return;
}
}
}
 
@EventHandler
public void CombatCheck(EntityDamageByEntityEvent e) {
if (e.getDamager() instanceof Player && e.getEntity() instanceof Player) {
Player jogador = (Player) e.getEntity();
Player jogador2 = (Player) e.getDamager();
if (!pvp.contains(jogador.getName())) {
pvp.add(jogador.getName());
new BukkitRunnable() {
 
@Override
public void run() {
pvp.remove(jogador.getName());
 
}
}.runTaskLater(this, 20L * tempo);
}
if (!pvp.contains(jogador2.getName())) {
pvp.add(jogador2.getName());
new BukkitRunnable() {
 
@Override
public void run() {
pvp.remove(jogador2.getName());
 
}
}.runTaskLater(this, 20L * tempo);
}
return;
}
}
 
}

 

 

Nice

Link para o comentário
Compartilhar em outros sites

Como bloqueia comandos?

@EventHandler
public void aoUsarUmComando(PlayerCommandPreprocessEvent e) {
Player p = e.getPlayer();
if ((e.getMessage().equalsIgnoreCase("pl")) || (e.getMessage().equalsIgnoreCase("plugins"))) {
e.setCancelled(true);
return;
}
}

Pq hoje estou bonzinho 

Link para o comentário
Compartilhar em outros sites

@EventHandler
public void aoUsarUmComando(PlayerCommandPreprocessEvent e) {
Player p = e.getPlayer();
if ((e.getMessage().equalsIgnoreCase("pl")) || (e.getMessage().equalsIgnoreCase("plugins"))) {
e.setCancelled(true);
return;
}
}

Pq hoje estou bonzinho 

 

Na verdade o correto seria

if (e.getMessage().equalsIgnoreCase("/pl")) {
    // código aqui...
}
Link para o comentário
Compartilhar em outros sites

 

Utilize esse código como BASE para criar seu combatlog ou similares.
 
package ml.lbplugins.lbcombatlog;
 
import java.util.ArrayList;
 
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;
 
public class Main extends JavaPlugin implements Listener {
 
ArrayList<String> pvp = new ArrayList<>();
int tempo = 10;
boolean kill = false;
 
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(this, this);
}
 
@EventHandler
public void QuitCheck(PlayerQuitEvent e) {
Player p = e.getPlayer();
if (pvp.contains(p.getName())) {
pvp.remove(p.getName());
Bukkit.broadcastMessage("§c" + p.getName() + " §csaiu do combate!");
if (kill) {
p.setHealth(0);
return;
}
}
}
 
@EventHandler
public void CombatCheck(EntityDamageByEntityEvent e) {
if (e.getDamager() instanceof Player && e.getEntity() instanceof Player) {
Player jogador = (Player) e.getEntity();
Player jogador2 = (Player) e.getDamager();
if (!pvp.contains(jogador.getName())) {
pvp.add(jogador.getName());
new BukkitRunnable() {
 
@Override
public void run() {
pvp.remove(jogador.getName());
 
}
}.runTaskLater(this, 20L * tempo);
}
if (!pvp.contains(jogador2.getName())) {
pvp.add(jogador2.getName());
new BukkitRunnable() {
 
@Override
public void run() {
pvp.remove(jogador2.getName());
 
}
}.runTaskLater(this, 20L * tempo);
}
return;
}
}
 
}

 

Ué '-' se a entidade não for um player oque vai acontecer? .... não teria que fazer um if (entity instanceof Player) ?

da pra melhorar essa parada ai mas ta bom até :D

 

PS: posta no github proxima vez ou no ghostbin 

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

Ué '-' se a entidade não for um player oque vai acontecer? .... não teria que fazer um if (entity instanceof Player) ?

da pra melhorar essa parada ai mas ta bom até :D

 

PS: posta no github proxima vez ou no ghostbin 

 

if (e.getDamager() instanceof Player && e.getEntity() instanceof Player) {
?

 

 

É uma base, CombatLog Básico - Crie o seu

Link para o comentário
Compartilhar em outros sites

if (e.getDamager() instanceof Player && e.getEntity() instanceof Player) {
?

 

 

É uma base, CombatLog Básico - Crie o seu

 

Não se constrói casa sobre base de areia.

Como eu falei o código ta bom mas da pra melhor, parabéns pela iniciativa. 

Link para o comentário
Compartilhar em outros sites

 

Utilize esse código como BASE para criar seu combatlog ou similares.
 
package ml.lbplugins.lbcombatlog;
 
import java.util.ArrayList;
 
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;
 
public class Main extends JavaPlugin implements Listener {
 
ArrayList<String> pvp = new ArrayList<>();
int tempo = 10;
boolean kill = false;
 
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(this, this);
}
 
@EventHandler
public void QuitCheck(PlayerQuitEvent e) {
Player p = e.getPlayer();
if (pvp.contains(p.getName())) {
pvp.remove(p.getName());
Bukkit.broadcastMessage("§c" + p.getName() + " §csaiu do combate!");
if (kill) {
p.setHealth(0);
return;
}
}
}
 
@EventHandler
public void CombatCheck(EntityDamageByEntityEvent e) {
if (e.getDamager() instanceof Player && e.getEntity() instanceof Player) {
Player jogador = (Player) e.getEntity();
Player jogador2 = (Player) e.getDamager();
if (!pvp.contains(jogador.getName())) {
pvp.add(jogador.getName());
new BukkitRunnable() {
 
@Override
public void run() {
pvp.remove(jogador.getName());
 
}
}.runTaskLater(this, 20L * tempo);
}
if (!pvp.contains(jogador2.getName())) {
pvp.add(jogador2.getName());
new BukkitRunnable() {
 
@Override
public void run() {
pvp.remove(jogador2.getName());
 
}
}.runTaskLater(this, 20L * tempo);
}
return;
}
}
 
}

 

Seguinte, este código está muito ineficiente, e causará problemas a quem utiliza-lo.

Peço que dê uma revisada nele, para a galera não se ferrar caso utilize-o.

Link para o comentário
Compartilhar em outros sites

Seguinte, este código está muito ineficiente, e causará problemas a quem utiliza-lo.

Peço que dê uma revisada nele, para a galera não se ferrar caso utilize-o.

Cite quais problemas causaria, ficaria lisonjeado em saber.

Não é para ninguém usar o código, a não ser que realmente não saiba o que faça. É para servir de base, e criarem o seu.

 

Não se constrói casa sobre base de areia.

Como eu falei o código ta bom mas da pra melhor, parabéns pela iniciativa. 

Óbvio que dá, quem for criar o seu vai fazer um combatlog ideal, isso é uma base.

Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, a class='ipsType_brandedLink' href='https://gamersboard.com.br/login/' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title='Sign In Now'>acesse agora para postar com sua conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

Processando...
×
×
  • Criar Novo...