Advertisement
Guest User

Untitled

a guest
Nov 28th, 2014
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.54 KB | None | 0 0
  1. package ru.rsc.rscDisguises;
  2. import java.util.logging.Level;
  3. import java.util.logging.Logger;
  4. import me.libraryaddict.disguise.DisguiseAPI;
  5. import me.libraryaddict.disguise.disguisetypes.Disguise;
  6. import me.libraryaddict.disguise.disguisetypes.DisguiseType;
  7. import me.libraryaddict.disguise.disguisetypes.MobDisguise;
  8. import org.bukkit.command.Command;
  9. import org.bukkit.command.CommandSender;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.event.EventHandler;
  12. import org.bukkit.event.Listener;
  13. import org.bukkit.event.player.PlayerJoinEvent;
  14. import org.bukkit.event.player.PlayerKickEvent;
  15. import org.bukkit.event.player.PlayerQuitEvent;
  16. import org.bukkit.plugin.java.JavaPlugin;
  17.  
  18. public final class Plugin extends JavaPlugin implements Listener
  19. {
  20. public static final Logger consoleLog = Logger.getLogger(Minecraft);
  21. private static final String chatPrefix = §8[rscDisguises] §7;
  22. private Disguise disguise = null;
  23. private boolean doDisguises;
  24. @Override
  25. public void onLoad()
  26. {
  27. saveDefaultConfig();
  28. consoleLog.log(Level.INFO, chatPrefix + Plugin has been loaded.);
  29. }
  30. @Override
  31. public void onEnable()
  32. {
  33. getServer().getPluginManager().registerEvents(this, this);
  34. doDisguises = false;
  35. reloadConfig();
  36. consoleLog.log(Level.INFO, chatPrefix + Plugin has been successfully enabled.);
  37. }
  38. @Override
  39. public void onDisable()
  40. {
  41. saveConfig();
  42. getServer().getServicesManager().unregisterAll(this);
  43. consoleLog.info(chatPrefix + Plugin has been disabled.);
  44. }
  45. private void cancelDisguises()
  46. {
  47. for(Player player getServer().getOnlinePlayers())
  48. DisguiseAPI.undisguiseToAll(player);
  49. if(disguise != null)
  50. disguise.removeDisguise();
  51. doDisguises = false;
  52. }
  53. private boolean setupDisguise(String type)
  54. {
  55. Убиваю старую маскировку
  56. cancelDisguises();
  57. Нужна ли новая
  58. if(type == null .equals(type))
  59. return false;
  60. Если нужна, то какая
  61. switch(type.toUpperCase())
  62. {
  63. case BLAZE
  64. disguise = new MobDisguise(DisguiseType.BLAZE);
  65. break;
  66. case CAVE_SPIDER
  67. disguise = new MobDisguise(DisguiseType.CAVE_SPIDER);
  68. break;
  69. case CHICKEN
  70. disguise = new MobDisguise(DisguiseType.CHICKEN);
  71. break;
  72. case COW
  73. disguise = new MobDisguise(DisguiseType.COW);
  74. break;
  75. case CREEPER
  76. disguise = new MobDisguise(DisguiseType.CREEPER);
  77. break;
  78. case DONKEY
  79. disguise = new MobDisguise(DisguiseType.DONKEY);
  80. break;
  81. case ENDER_DRAGON
  82. disguise = new MobDisguise(DisguiseType.ENDER_DRAGON);
  83. break;
  84. case ENDERMAN
  85. disguise = new MobDisguise(DisguiseType.ENDERMAN);
  86. break;
  87. case GHAST
  88. disguise = new MobDisguise(DisguiseType.GHAST);
  89. break;
  90. case GIANT
  91. disguise = new MobDisguise(DisguiseType.GIANT);
  92. break;
  93. case HORSE
  94. disguise = new MobDisguise(DisguiseType.HORSE);
  95. break;
  96. case IRON_GOLEM
  97. disguise = new MobDisguise(DisguiseType.IRON_GOLEM);
  98. break;
  99. case MAGMA_CUBE
  100. disguise = new MobDisguise(DisguiseType.MAGMA_CUBE);
  101. break;
  102. case MULE
  103. disguise = new MobDisguise(DisguiseType.MULE);
  104. break;
  105. case MUSHROOM_COW
  106. disguise = new MobDisguise(DisguiseType.MUSHROOM_COW);
  107. break;
  108. case OCELOT
  109. disguise = new MobDisguise(DisguiseType.OCELOT);
  110. break;
  111. case PIG
  112. disguise = new MobDisguise(DisguiseType.PIG);
  113. break;
  114. case PIG_ZOMBIE
  115. disguise = new MobDisguise(DisguiseType.PIG_ZOMBIE);
  116. break;
  117. case SHEEP
  118. disguise = new MobDisguise(DisguiseType.SHEEP);
  119. break;
  120. case SILVERFISH
  121. disguise = new MobDisguise(DisguiseType.SILVERFISH);
  122. break;
  123. case SKELETON
  124. disguise = new MobDisguise(DisguiseType.SKELETON);
  125. break;
  126. case SKELETON_HORSE
  127. disguise = new MobDisguise(DisguiseType.SKELETON_HORSE);
  128. break;
  129. case SLIME
  130. disguise = new MobDisguise(DisguiseType.SLIME);
  131. break;
  132. case SNOWMAN
  133. disguise = new MobDisguise(DisguiseType.SNOWMAN);
  134. break;
  135. case SPIDER
  136. disguise = new MobDisguise(DisguiseType.SPIDER);
  137. break;
  138. case SQUID
  139. disguise = new MobDisguise(DisguiseType.SQUID);
  140. break;
  141. case UNDEAD_HORSE
  142. disguise = new MobDisguise(DisguiseType.UNDEAD_HORSE);
  143. break;
  144. case VILLAGER
  145. disguise = new MobDisguise(DisguiseType.VILLAGER);
  146. break;
  147. case WITCH
  148. disguise = new MobDisguise(DisguiseType.WITCH);
  149. break;
  150. case WITHER
  151. disguise = new MobDisguise(DisguiseType.WITHER);
  152. break;
  153. case WITHER_SKELETON
  154. disguise = new MobDisguise(DisguiseType.WITHER_SKELETON);
  155. break;
  156. case WOLF
  157. disguise = new MobDisguise(DisguiseType.WOLF);
  158. break;
  159. case ZOMBIE
  160. disguise = new MobDisguise(DisguiseType.ZOMBIE);
  161. break;
  162. case ZOMBIE_VILLAGER
  163. disguise = new MobDisguise(DisguiseType.ZOMBIE_VILLAGER);
  164. break;
  165. case NONE
  166. Отмена всех маскировок
  167. return true;
  168. default
  169. Нет такой маскировки
  170. return false;
  171. }
  172. doDisguises = true;
  173. Применяю её ко всем игрокам на сервере
  174. for(Player player getServer().getOnlinePlayers())
  175. DisguiseAPI.disguiseToAll(player, disguise);
  176. return true;
  177. }
  178. @EventHandler
  179. public void onPlayerJoin(PlayerJoinEvent event)
  180. {
  181. if(doDisguises && disguise != null)
  182. DisguiseAPI.disguiseToAll(event.getPlayer(), disguise);
  183. }
  184. @EventHandler
  185. public void onPlayerQuit(PlayerQuitEvent event)
  186. {
  187. final Player player = event.getPlayer();
  188. if(DisguiseAPI.isDisguised(player))
  189. DisguiseAPI.undisguiseToAll(player);
  190. }
  191. @EventHandler
  192. public void onPlayerKick(PlayerKickEvent event)
  193. {
  194. final Player player = event.getPlayer();
  195. if(DisguiseAPI.isDisguised(player))
  196. DisguiseAPI.undisguiseToAll(player);
  197. }
  198. @Override
  199. public boolean onCommand(CommandSender sender, Command command, String label, String[] args)
  200. {
  201. switch(command.getName().toLowerCase())
  202. {
  203. case rscd
  204. if(args != null && args.length 0)
  205. {
  206. if(!sender.hasPermission(rscd.admin))
  207. {
  208. sender.sendMessage(chatPrefix + §cНедостаточно прав для выполнения этого действия.);
  209. return true;
  210. }
  211. sender.sendMessage(chatPrefix + (setupDisguise(args[0])
  212. §aУспешно
  213. §cНеизвестный тип маскировки));
  214. } else
  215. sender.sendMessage(chatPrefix
  216. + Плагин rscDisguises версии + getDescription().getVersion()
  217. + © + getDescription().getAuthors().get(0) + .);
  218. return true;
  219. }
  220. return false;
  221. }
  222. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement