Guest User

No Damage Plugin

a guest
Sep 3rd, 2015
99
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package me.xerox262.nodamage;
  2.  
  3. import org.bukkit.ChatColor;
  4. import org.bukkit.command.Command;
  5. import org.bukkit.command.CommandSender;
  6. import org.bukkit.entity.Arrow;
  7. import org.bukkit.entity.Player;
  8. import org.bukkit.entity.ThrownPotion;
  9. import org.bukkit.event.EventHandler;
  10. import org.bukkit.event.Listener;
  11. import org.bukkit.event.entity.EntityDamageByEntityEvent;
  12. import org.bukkit.plugin.java.JavaPlugin;
  13.  
  14. public class NoDamage extends JavaPlugin implements Listener {
  15.     @Override
  16.     public void onEnable() {
  17.         saveDefaultConfig();
  18.         getServer().getPluginManager().registerEvents(this, this);
  19.     }
  20.  
  21.     @Override
  22.     public boolean onCommand(CommandSender sender, Command command,
  23.             String label, String[] args) {
  24.         if (sender.hasPermission("nodamage.reload")) {
  25.             reloadConfig();
  26.             sender.sendMessage(ChatColor.GREEN + "Successfully reloaded the configuration file for NoDamage");
  27.         } else {
  28.             sender.sendMessage(ChatColor.DARK_RED
  29.                     + "You do not have permission to reload the configuration file");
  30.         }
  31.         return true;
  32.     }
  33.  
  34.     @EventHandler
  35.     private void damage(EntityDamageByEntityEvent e) {
  36.         String configKey = "";
  37.         switch (e.getDamager().getType()) {
  38.         case ARROW:
  39.             Arrow arrow = (Arrow) e.getDamager();
  40.             if (arrow.getShooter() != null
  41.                     && arrow.getShooter() instanceof Player) {
  42.                 configKey = "Arrow.Player.";
  43.             } else {
  44.                 configKey = "Arrow.Other.";
  45.             }
  46.             break;
  47.         case BLAZE:
  48.             configKey = "Blaze.";
  49.             break;
  50.         case CAVE_SPIDER:
  51.             configKey = "Cave spider.";
  52.             break;
  53.         case EGG:
  54.             configKey = "Egg.";
  55.             break;
  56.         case ENDERMAN:
  57.             configKey = "Enderman.";
  58.             break;
  59.         case ENDER_DRAGON:
  60.             configKey = "Ender dragon.";
  61.             break;
  62.         case ENDER_SIGNAL:
  63.             configKey = "Ender pearl.";
  64.             break;
  65.         case FIREBALL:
  66.             configKey = "Ghast fireball.";
  67.             break;
  68.         case FISHING_HOOK:
  69.             configKey = "Fishing rod.";
  70.             break;
  71.         case GIANT:
  72.             configKey = "Giant.";
  73.             break;
  74.         case IRON_GOLEM:
  75.             configKey = "Iron golem.";
  76.             break;
  77.         case LIGHTNING:
  78.             configKey = "Lightning.";
  79.             break;
  80.         case MAGMA_CUBE:
  81.             configKey = "Magma cube.";
  82.             break;
  83.         case PIG_ZOMBIE:
  84.             configKey = "Pig zombie.";
  85.             break;
  86.         case PLAYER:
  87.             configKey = "Player.";
  88.             break;
  89.         case SILVERFISH:
  90.             configKey = "Silverfish.";
  91.             break;
  92.         case SLIME:
  93.             configKey = "Slime.";
  94.             break;
  95.         case SMALL_FIREBALL:
  96.             configKey = "Blaze fireball.";
  97.             break;
  98.         case SNOWBALL:
  99.             configKey = "Snowball.";
  100.             break;
  101.         case SPIDER:
  102.             configKey = "Spider.";
  103.             break;
  104.         case SPLASH_POTION:
  105.             ThrownPotion potion = (ThrownPotion) e.getDamager();
  106.             if (potion.getShooter() instanceof Player) {
  107.                 configKey = "Potion.Player.";
  108.             } else {
  109.                 configKey = "Potion.Other.";
  110.             }
  111.             break;
  112.         case WITHER:
  113.             configKey = "Wither.";
  114.             break;
  115.         case WITHER_SKULL:
  116.             configKey = "Wither skull.";
  117.             break;
  118.         case WOLF:
  119.             configKey = "Wolf.";
  120.             break;
  121.         case ZOMBIE:
  122.             configKey = "Zombie.";
  123.             break;
  124.         default:
  125.             return;
  126.         }
  127.         switch (e.getEntity().getType()) {
  128.         case BAT:
  129.             configKey += "Bat";
  130.             break;
  131.         case BLAZE:
  132.             configKey += "Blaze";
  133.             break;
  134.         case BOAT:
  135.             configKey += "Boat";
  136.             break;
  137.         case CAVE_SPIDER:
  138.             configKey += "Cave spider";
  139.             break;
  140.         case CHICKEN:
  141.             configKey += "Chicken";
  142.             break;
  143.         case COW:
  144.             configKey += "Cow";
  145.             break;
  146.         case CREEPER:
  147.             configKey += "Creeper";
  148.             break;
  149.         case ENDERMAN:
  150.             configKey += "Enderman";
  151.             break;
  152.         case ENDER_CRYSTAL:
  153.             configKey += "Ender crystal";
  154.             break;
  155.         case ENDER_DRAGON:
  156.             configKey += "Ender dragon";
  157.             break;
  158.         case FIREBALL:
  159.             configKey += "Ghast fireball";
  160.             break;
  161.         case GHAST:
  162.             configKey += "Ghast";
  163.             break;
  164.         case GIANT:
  165.             configKey += "Giant";
  166.             break;
  167.         case HORSE:
  168.             configKey += "Horse";
  169.             break;
  170.         case IRON_GOLEM:
  171.             configKey += "Iron golem";
  172.             break;
  173.         case ITEM_FRAME:
  174.             configKey += "Item frame";
  175.             break;
  176.         case MAGMA_CUBE:
  177.             configKey += "Magma cube";
  178.             break;
  179.         case MINECART:
  180.             configKey += "Minecart";
  181.             break;
  182.         case MINECART_CHEST:
  183.             configKey += "Chest minecart";
  184.             break;
  185.         case MINECART_COMMAND:
  186.             configKey += "Command block minecart";
  187.             break;
  188.         case MINECART_FURNACE:
  189.             configKey += "Furnace minecart";
  190.             break;
  191.         case MINECART_HOPPER:
  192.             configKey += "Hopper minecart";
  193.             break;
  194.         case MINECART_MOB_SPAWNER:
  195.             configKey += "Mob spawner minecart";
  196.             break;
  197.         case MINECART_TNT:
  198.             configKey += "Tnt minecart";
  199.             break;
  200.         case MUSHROOM_COW:
  201.             configKey += "Mushroom cow";
  202.             break;
  203.         case OCELOT:
  204.             configKey += "Ocelot";
  205.             break;
  206.         case PAINTING:
  207.             configKey += "Painting";
  208.             break;
  209.         case PIG:
  210.             configKey += "Pig";
  211.             break;
  212.         case PIG_ZOMBIE:
  213.             configKey += "Pig zombie";
  214.             break;
  215.         case PLAYER:
  216.             configKey += "Player";
  217.             break;
  218.         case SHEEP:
  219.             configKey += "Sheep";
  220.             break;
  221.         case SILVERFISH:
  222.             configKey += "Silverfish";
  223.             break;
  224.         case SKELETON:
  225.             configKey += "Skeleton";
  226.             break;
  227.         case SLIME:
  228.             configKey += "Slime";
  229.             break;
  230.         case SNOWMAN:
  231.             configKey += "Snowman";
  232.             break;
  233.         case SPIDER:
  234.             configKey += "Spider";
  235.             break;
  236.         case SQUID:
  237.             configKey += "Squid";
  238.             break;
  239.         case VILLAGER:
  240.             configKey += "Villager";
  241.             break;
  242.         case WITCH:
  243.             configKey += "Witch";
  244.             break;
  245.         case WITHER:
  246.             configKey += "Wither";
  247.             break;
  248.         case WOLF:
  249.             configKey += "Wolf";
  250.             break;
  251.         case ZOMBIE:
  252.             configKey += "Zombie";
  253.             break;
  254.         default:
  255.             return;
  256.         }
  257.         if (getConfig().contains(configKey) && getConfig().isBoolean(configKey)
  258.                 && !getConfig().getBoolean(configKey)) {
  259.             e.setCancelled(true);
  260.         }
  261.     }
  262. }
RAW Paste Data