Advertisement
Guest User

Untitled

a guest
Nov 25th, 2015
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. package com.colt.togglefall;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.World;
  9. import org.bukkit.command.Command;
  10. import org.bukkit.command.CommandSender;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.event.EventHandler;
  13. import org.bukkit.event.Listener;
  14. import org.bukkit.event.entity.EntityDamageEvent;
  15. import org.bukkit.event.player.PlayerQuitEvent;
  16. import org.bukkit.plugin.java.JavaPlugin;
  17.  
  18. public class ToggleFall extends JavaPlugin implements Listener {
  19.  
  20. ArrayList<String> activePlayers;
  21. List<String> worlds;
  22.  
  23. @Override
  24. public void onEnable() {
  25. Bukkit.getServer().getPluginManager().registerEvents(this, this);
  26. activePlayers = new ArrayList<String>();
  27. worlds = getConfig().getStringList("worlds");
  28. saveDefaultConfig();
  29. }
  30.  
  31. @Override
  32. public void onDisable() {
  33. activePlayers.clear();
  34. }
  35.  
  36. @Override
  37. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  38. if (cmd.getName().equalsIgnoreCase("togglefall") || (cmd.getName().equalsIgnoreCase("tf"))) {
  39. if(sender instanceof Player) {
  40. Player player = (Player)sender;
  41. if(player.hasPermission("nofall.use")) {
  42. if(activePlayers.contains(player.getName())) {
  43. activePlayers.remove(player.getName());
  44. player.sendMessage(ChatColor.GOLD + "Fall Damage now enabled" + ChatColor.RED + "(You will take fall damage)");
  45. } else {
  46. activePlayers.add(player.getName());
  47. player.sendMessage(ChatColor.GOLD + "Fall Damage now disabled" + ChatColor.GREEN + "(You will not take fall damage)");
  48. }
  49. return true;
  50. }
  51. }
  52. }
  53. return false;
  54. }
  55.  
  56. @EventHandler
  57. public void playerQuit(PlayerQuitEvent event) {
  58. if(activePlayers.contains(event.getPlayer().getName())) {
  59. activePlayers.remove(event.getPlayer().getName());
  60. }
  61. }
  62.  
  63. @EventHandler
  64. public void onEntityDamage(EntityDamageEvent event) {
  65. if (event.getEntity() instanceof Player) {
  66. Player player = (Player)event.getEntity();
  67. if(activePlayers.contains(player.getName()) && event.getCause() == EntityDamageEvent.DamageCause.FALL && player.hasPermission("nofall.use")) {
  68. for(String w : worlds) {
  69. World world = Bukkit.getWorld(w);
  70. if(player.getWorld() == world) {
  71. event.setCancelled(true);
  72. break;
  73. }
  74. }
  75. }
  76. }
  77. }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement