Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Szukam source code pluginu MCWG-AntiRelog.


jackobPL1

Rekomendowane odpowiedzi

Opublikowano

po co ci to ? zeby pozniej wstawic super pro elo autoski jacobAntiRelog ?

 

@Antyblezur

package net.drago.dragocombat;
 
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;
import me.confuser.barapi.BarAPI;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Server;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Arrow;
import org.bukkit.entity.Egg;
import org.bukkit.entity.Entity;
import org.bukkit.entity.ExperienceOrb;
import org.bukkit.entity.Player;
import org.bukkit.entity.Projectile;
import org.bukkit.entity.Snowball;
import org.bukkit.entity.ThrownPotion;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import org.bukkit.event.player.PlayerKickEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.PlayerInventory;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitScheduler;
 
public class Main
  extends JavaPlugin
  implements Listener
{
  public HashMap<String, Long> taggedPlayers = new HashMap();
  
  public void onEnable()
  {
    getServer().getPluginManager().registerEvents(this, this);
    enableTimer();
  }
  
  public void onDisable()
  {
    this.taggedPlayers.clear();
  }
  
  public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
  {
    if ((sender instanceof Player))
    {
      Player p = (Player)sender;
      if (cmd.getName().equalsIgnoreCase("walka"))
      {
        if (this.taggedPlayers.containsKey(p.getName())) {
          if (20L - (getSystemTime() - ((Long)this.taggedPlayers.get(p.getName())).longValue()) >= 1L)
          {
            long tagTime = 20L - (getSystemTime() - 
              ((Long)this.taggedPlayers.get(p.getName())).longValue());
            p.sendMessage(t(" &7» &aJestes jeszcze podczas walki przez &3" + 
              tagTime + " &asekund."));
            return true;
          }
        }
        if (this.taggedPlayers.containsKey(p.getName())) {
          if (20L - (getSystemTime() - ((Long)this.taggedPlayers.get(p.getName())).longValue()) < 1L)
          {
            long tagTime = 20L - (getSystemTime() - 
              ((Long)this.taggedPlayers.get(p.getName())).longValue());
            p.sendMessage(t(" &7» &aJestes jeszcze podczas walki przez &3" + 
              tagTime + " &asekund."));
            return true;
          }
        }
        if (!this.taggedPlayers.containsKey(p.getName()))
        {
          p.sendMessage(t(" &7» &aNie jestes podczas walki."));
          return true;
        }
      }
    }
    return false;
  }
  
  public String t(String msg)
  {
    return ChatColor.translateAlternateColorCodes('&', msg);
  }
  
  public long getSystemTime()
  {
    return System.currentTimeMillis() / 1000L;
  }
  
  public void enableTimer()
  {
    getServer().getScheduler().scheduleSyncRepeatingTask(this, 
      new Runnable()
      {
        public void run()
        {
          Iterator iter = Main.this.taggedPlayers.entrySet()
            .iterator();
          while (iter.hasNext())
          {
            Map.Entry c = (Map.Entry)iter.next();
            if (Main.this.getSystemTime() - ((Long)c.getValue()).longValue() >= 20L)
            {
              iter.remove();
              Player player = Main.this.getServer().getPlayer(
                (String)c.getKey());
              try
              {
                player.sendMessage(Main.this.t(" &7» &aNie jestes juz podczas walki."));
              }
              catch (Exception localException) {}
            }
          }
        }
      }, 0L, 20L);
  }
  
  @EventHandler(priority=EventPriority.LOWEST)
  public void onCommand(PlayerCommandPreprocessEvent event)
  {
    if ((this.taggedPlayers.containsKey(event.getPlayer().getName())) && 
      (!event.getPlayer().isOp()))
    {
      if (event.getMessage().contains("walka")) {
        return;
      }
      event.setCancelled(true);
      event.getPlayer().sendMessage(t(" &7» &aNie mozesz uzywac komend podczas walki."));
      return;
    }
  }
  
  @EventHandler(priority=EventPriority.LOWEST)
  public void onPlayerKick(PlayerKickEvent event)
  {
    Player player = event.getPlayer();
    if ((this.taggedPlayers.containsKey(player.getName())) && 
      (!event.getReason().contains("spam"))) {
      this.taggedPlayers.remove(player.getName());
    }
  }
  
  @EventHandler
  public void onPlayerDeath(PlayerDeathEvent event)
  {
    Player player = event.getEntity().getPlayer();
    if (this.taggedPlayers.containsKey(player.getName()))
    {
      this.taggedPlayers.remove(player.getName());
      BarAPI.removeBar(player);
    }
  }
  
  @EventHandler(priority=EventPriority.LOWEST)
  public void onPlayerQuit(PlayerQuitEvent event)
  {
    Player player = event.getPlayer();
    if (this.taggedPlayers.containsKey(player.getName()))
    {
      this.taggedPlayers.remove(player.getName());
      
      Bukkit.broadcastMessage(t(" &7» &aGracz &3" + player.getName() + " &awylogowal sie podczas walki."));
      dropPunishment(player);
      player.setHealth(0.0D);
    }
  }
  
  public void dropPunishment(Player player)
  {
    ItemStack[] stacks = 
      (ItemStack[])player.getInventory().getContents().clone();
    player.getInventory().clear();
    for (ItemStack stack : stacks) {
      if ((stack != null) && (stack.getType() != Material.AIR)) {
        player.getLocation().getWorld().dropItemNaturally(player.getLocation(), stack);
      }
    }
    ItemStack[] armorstacks = 
      (ItemStack[])player.getInventory().getArmorContents().clone();
    player.getInventory().setArmorContents(new ItemStack[4]);
    for (ItemStack stack : armorstacks) {
      if ((stack != null) && (stack.getType() != Material.AIR)) {
        player.getLocation().getWorld().dropItemNaturally(player.getLocation(), stack);
      }
    }
    player.setExp(0.0F);
    for (int i = 0; i < player.getLevel(); i++) {
      ((ExperienceOrb)player.getLocation().getWorld().spawn(player.getLocation(), ExperienceOrb.class)).setExperience(2 * i + 1);
    }
    player.setLevel(0);
  }
  
  @EventHandler(priority=EventPriority.HIGHEST, ignoreCancelled=true)
  public void onEntityDamageByEntity(EntityDamageByEntityEvent event)
  {
    if (!event.isCancelled())
    {
      Entity entity = event.getEntity();
      Entity damager = event.getDamager();
      if (((entity instanceof Player)) && ((damager instanceof Player)))
      {
        tagAttacker(damager, entity);
        tagVictim(damager, entity);
      }
      if (((damager instanceof Projectile)) && ((entity instanceof Player)) && 
        ((((Projectile)damager).getShooter() instanceof Player))) {
        if ((damager instanceof Arrow))
        {
          tagAttacker((Entity)((Projectile)damager).getShooter(), 
            entity);
          tagVictim((Entity)((Projectile)damager).getShooter(), 
            entity);
        }
        else if ((damager instanceof Egg))
        {
          tagAttacker((Entity)((Projectile)damager).getShooter(), 
            entity);
          tagVictim((Entity)((Projectile)damager).getShooter(), 
            entity);
        }
        else if ((damager instanceof Snowball))
        {
          tagAttacker((Entity)((Projectile)damager).getShooter(), 
            entity);
          tagVictim((Entity)((Projectile)damager).getShooter(), 
            entity);
        }
        else if ((damager instanceof ThrownPotion))
        {
          tagAttacker((Entity)((Projectile)damager).getShooter(), 
            entity);
          tagVictim((Entity)((Projectile)damager).getShooter(), 
            entity);
        }
      }
    }
  }
  
  private void tagAttacker(Entity attacker, Entity victim)
  {
    if ((attacker instanceof Player))
    {
      Player a = (Player)attacker;
      if (!this.taggedPlayers.containsKey(a.getName()))
      {
        this.taggedPlayers.put(a.getName(), 
          Long.valueOf(getSystemTime()));
        
        BarAPI.setMessage(a, t("&7» &3ANTY-LOGOUT &7«"), 20);
        
        a.setFlying(false);
        a.setAllowFlight(false);
        
        a.setGameMode(GameMode.SURVIVAL);
      }
      else
      {
        this.taggedPlayers.remove(a.getName());
        BarAPI.setMessage(a, t("&7» &3ANTY-LOGOUT &7«"), 20);
        this.taggedPlayers.put(a.getName(), 
          Long.valueOf(getSystemTime()));
        
        a.setFlying(false);
        a.setAllowFlight(false);
        
        a.setGameMode(GameMode.SURVIVAL);
      }
    }
  }
  
  public void tagVictim(Entity attacker, Entity victim)
  {
    if ((victim instanceof Player))
    {
      Player v = (Player)victim;
      if (!this.taggedPlayers.containsKey(v.getName()))
      {
        this.taggedPlayers.put(v.getName(), 
          Long.valueOf(getSystemTime()));
        
        BarAPI.setMessage(v, t("&7» &3ANTY-LOGOUT &7«"), 20);
        
        v.setFlying(false);
        v.setAllowFlight(false);
        
        v.setGameMode(GameMode.SURVIVAL);
      }
      else
      {
        this.taggedPlayers.remove(v.getName());
        BarAPI.setMessage(v, t("&7» &3ANTY-LOGOUT &7«"), 20);
        this.taggedPlayers.put(v.getName(), 
          Long.valueOf(getSystemTime()));
        
        v.setFlying(false);
        v.setAllowFlight(false);
        
        v.setGameMode(GameMode.SURVIVAL);
      }
    }
  }
}
  • 6 miesięcy temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...