Guest User

Untitled

a guest
Jul 18th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.73 KB | None | 0 0
  1. import java.util.ArrayList;
  2.  
  3. public class SimpleListener extends PluginListener {
  4. private ArrayList<String> godmodeEnabled = new ArrayList<String>();
  5. final private Server _server;
  6.  
  7. public SimpleListener(Server server)
  8. {
  9. _server = server;
  10. }
  11.  
  12. private void printAIHelp(Player player){
  13. player.sendMessage("/ai mob - total # of mobs in current chunk.");
  14. player.sendMessage("/ai animal - total # of animals in current chunk.");
  15. player.sendMessage("/ai all - total # of mobs and animals in current chunk.");
  16. player.sendMessage("/ai killmob - kill all mobs in current chunk.");
  17. player.sendMessage("/ai killanimal - kill all animals in current chunk.");
  18. player.sendMessage("/ai killall - kill all things in current chunk.");
  19. }
  20.  
  21. public void onLogin(Player player)
  22. {
  23. if(player.isAdmin())
  24. {
  25. if(!godmodeEnabled.contains(player.getName()))
  26. {
  27. player.setHealth(30);
  28. player.sendMessage("God Mode Enabled.");
  29. godmodeEnabled.add(player.getName());
  30. }
  31. else if(godmodeEnabled.contains(player.getName()))
  32. {
  33. player.sendMessage("God Mode Enabled.");
  34. }
  35. }
  36. }
  37.  
  38. public void onDisconnect(Player player)
  39. {
  40. if (godmodeEnabled.contains(player.getName()))
  41. {
  42. godmodeEnabled.remove(godmodeEnabled.indexOf(player.getName()));
  43. }
  44. }
  45.  
  46. public boolean onHealthChange(Player player, int oldValue, int newValue)
  47. {
  48. if (player.getHealth() != 30 && godmodeEnabled.contains(player.getName()))
  49. {
  50. player.setHealth(30);
  51. }
  52. return false;
  53. }
  54.  
  55. public boolean onDamage(PluginLoader.DamageType type, BaseEntity attacker, BaseEntity defender, int amount)
  56. {
  57. if(defender.isPlayer())
  58. {
  59. Player player = defender.getPlayer();
  60. if(godmodeEnabled.contains(player.getName()) && type == PluginLoader.DamageType.FALL)
  61. {
  62. return true;
  63. }
  64. if(godmodeEnabled.contains(player.getName()) && type == PluginLoader.DamageType.EXPLOSION)
  65. {
  66. return true;
  67. }
  68. if(godmodeEnabled.contains(player.getName()) && type == PluginLoader.DamageType.FIRE_TICK)
  69. {
  70. return true;
  71. }
  72. if(godmodeEnabled.contains(player.getName()) && type == PluginLoader.DamageType.FIRE)
  73. {
  74. return true;
  75. }
  76. if(godmodeEnabled.contains(player.getName()) && type == PluginLoader.DamageType.CREEPER_EXPLOSION)
  77. {
  78. return true;
  79. }
  80. if(godmodeEnabled.contains(player.getName()) && type == PluginLoader.DamageType.WATER)
  81. {
  82. return true;
  83. }
  84. if(godmodeEnabled.contains(player.getName()) && type == PluginLoader.DamageType.LAVA)
  85. {
  86. return true;
  87. }
  88. }
  89.  
  90. return false;
  91. }
  92.  
  93. @Override
  94. public boolean onCommand(Player player, String[] split) {
  95.  
  96. if (split[0].equalsIgnoreCase("/ai")) {
  97. if (split.length == 1){
  98. printAIHelp(player);
  99. return true;
  100. }
  101. if (split.length == 2){
  102. if ( split[1].equalsIgnoreCase("mob")){
  103. player.sendMessage(Colors.Yellow + "There are " + Colors.Rose + _server.getMobList().size() + Colors.Yellow + " mobs.");
  104. }
  105. else if ( split[1].equalsIgnoreCase("animal")){
  106. player.sendMessage(Colors.Yellow + "There are " + Colors.Rose + _server.getAnimalList().size() + Colors.Yellow + " animals.");
  107. }
  108. else if ( split[1].equalsIgnoreCase("all")){
  109. int mobAll = _server.getAnimalList().size() + _server.getMobList().size();
  110. player.sendMessage(Colors.Yellow + "There are " + Colors.Rose + mobAll + Colors.Yellow + " mobs and animals.");
  111. }
  112. else if ( split[1].equalsIgnoreCase("killmob")){
  113. int killed = 0;
  114. for (Mob mob : _server.getMobList()) {
  115. if (mob.getHealth() > 0) {
  116. mob.setHealth(0);
  117. killed++;
  118. }
  119. }
  120. _server.messageAll(Colors.Red + player.getName() + Colors.Yellow + " has slain: " + Colors.Red + killed + Colors.Yellow + " mobs.");
  121. return true;
  122. }
  123. else if ( split[1].equalsIgnoreCase("killanimal")){
  124. int killed = 0;
  125. for (Mob mob : _server.getAnimalList()) {
  126. if (mob.getHealth() > 0) {
  127. mob.setHealth(0);
  128. killed++;
  129. }
  130. }
  131. _server.messageAll(Colors.Red + player.getName() + Colors.Yellow + " has slain: " + Colors.Red + killed + Colors.Yellow + " animals.");
  132. return true;
  133. }
  134. else if ( split[1].equalsIgnoreCase("killall")){
  135. int killed = 0;
  136. int killed2 = 0;
  137. int killed3 = 0;
  138. for (Mob mob : _server.getMobList()) {
  139. if (mob.getHealth() > 0) {
  140. mob.setHealth(0);
  141. killed++;
  142. }
  143. }
  144. for (Mob mob : _server.getAnimalList()) {
  145. if (mob.getHealth() > 0) {
  146. mob.setHealth(0);
  147. killed2++;
  148. }
  149. }
  150. killed3 = killed + killed2;
  151. _server.messageAll(Colors.Red + player.getName() + Colors.Yellow + " has slain: " + Colors.Red + killed3 + Colors.Yellow + " mobs and animals.");
  152. return true;
  153. }
  154. else {
  155. return false;
  156. }
  157. }
  158. }
  159. else if (split[0].equalsIgnoreCase("/god")) {
  160. if (split.length == 1){
  161. if (godmodeEnabled.contains(player.getName()))
  162. {
  163. player.sendMessage("You are vulnerable!");
  164. godmodeEnabled.remove(godmodeEnabled.indexOf(player.getName()));
  165. return true;
  166. }
  167. else
  168. {
  169. player.sendMessage("You are now invincible!");
  170. godmodeEnabled.add(player.getName());
  171. player.setHealth(30);
  172. return true;
  173. }
  174. }
  175. else {
  176. Player targetPlayer = etc.getServer().matchPlayer(split[1]);
  177. if(targetPlayer==null)
  178. {
  179. player.sendMessage("The user "+split[1]+" does not exist or is not currently logged in.");
  180. return true;
  181. }
  182. else if (godmodeEnabled.contains(targetPlayer.getName()))
  183. {
  184. player.sendMessage(targetPlayer.getName() + " is no longer invincible.");
  185. godmodeEnabled.remove(godmodeEnabled.indexOf(targetPlayer.getName()));
  186. targetPlayer.sendMessage(player.getName() + " has made you vulnerable.");
  187. return true;
  188. }
  189. else
  190. {
  191. player.sendMessage(targetPlayer.getName() + " has been given godmode.");
  192. godmodeEnabled.add(targetPlayer.getName());
  193. targetPlayer.sendMessage("Admin:, " + player.getName() + " has given you godmode!");
  194. return true;
  195. }
  196. }
  197. }
  198. return false;
  199. }
  200. }
Add Comment
Please, Sign In to add comment