Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.53 KB | None | 0 0
  1. package org.kingdoms.manager.external;
  2.  
  3. import org.bukkit.Location;
  4. import org.bukkit.entity.Entity;
  5. import org.bukkit.entity.Player;
  6. import org.bukkit.event.EventHandler;
  7. import org.bukkit.plugin.Plugin;
  8. import org.kingdoms.constants.StructureType;
  9. import org.kingdoms.constants.kingdom.Kingdom;
  10. import org.kingdoms.constants.land.Land;
  11. import org.kingdoms.constants.land.SimpleChunkLocation;
  12. import org.kingdoms.constants.land.SimpleLocation;
  13. import org.kingdoms.constants.player.KingdomPlayer;
  14. import org.kingdoms.main.Kingdoms;
  15. import org.kingdoms.main.LanguageSupport.Languages;
  16. import org.kingdoms.manager.Manager;
  17. import org.kingdoms.manager.game.GameManagement;
  18.  
  19.  
  20. public class VehiclesManager extends Manager {
  21.  
  22. protected VehiclesManager(Plugin plugin) {
  23. super(plugin);
  24.  
  25. Plugin vehicles = (VehiclesMain) plugin.getServer().getPluginManager().getPlugin("Vehicles");
  26. if(vehicles != null){
  27. Kingdoms.logInfo("Vehicles Hooked!");
  28. Kingdoms.logInfo("Version: " + vehicles.getDescription().getVersion());
  29. }
  30.  
  31. }
  32.  
  33. @EventHandler
  34. public void onVehiclePlace(CarPlaceEvent event){
  35. Player p = event.getOwner();
  36. Location bukkitLoc = event.getLocation();
  37.  
  38. SimpleLocation loc = new SimpleLocation(bukkitLoc);
  39. SimpleChunkLocation chunk = loc.toSimpleChunk();
  40.  
  41. Land land = GameManagement.getLandManager().getOrLoadLand(chunk);
  42. if(land.getOwner() == null) return;
  43.  
  44. KingdomPlayer kp = GameManagement.getPlayerManager().getSession(p);
  45. if(kp.isAdminMode()) return;
  46. if(kp.getKingdom() == null){//not in kingdom
  47. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Cannot_Break_In_Other_Land));
  48.  
  49. event.setCancelled(true);
  50. }else{//in kingdom
  51. Kingdom kingdom = kp.getKingdom();
  52. String kingdomName = kingdom.getKingdomName();
  53.  
  54. if(!kingdomName.equals(land.getOwner())){
  55. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Cannot_Break_In_Other_Land));
  56.  
  57. event.setCancelled(true);
  58. return;
  59. }
  60. if(land.getStructure() != null &&
  61. land.getStructure().getType() == StructureType.NEXUS &&
  62. !kp.getRank().isHigherOrEqualTo(kingdom.getPermissionsInfo().getBuildInNexus())){
  63. event.setCancelled(true);
  64. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Rank_Too_Low_NexusBuild).replaceAll("%rank%", kingdom.getPermissionsInfo().getBuildInNexus().toString()));
  65. return;
  66. }
  67. }
  68.  
  69. }
  70. @EventHandler
  71. public void onVehiclePlace(BikePlaceEvent event){
  72. Player p = event.getOwner();
  73. Location bukkitLoc = event.getLocation();
  74.  
  75. SimpleLocation loc = new SimpleLocation(bukkitLoc);
  76. SimpleChunkLocation chunk = loc.toSimpleChunk();
  77.  
  78. Land land = GameManagement.getLandManager().getOrLoadLand(chunk);
  79. if(land.getOwner() == null) return;
  80.  
  81. KingdomPlayer kp = GameManagement.getPlayerManager().getSession(p);
  82. if(kp.isAdminMode()) return;
  83. if(kp.getKingdom() == null){//not in kingdom
  84. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Cannot_Break_In_Other_Land));
  85.  
  86. event.setCancelled(true);
  87. }else{//in kingdom
  88. Kingdom kingdom = kp.getKingdom();
  89. String kingdomName = kingdom.getKingdomName();
  90.  
  91. if(!kingdomName.equals(land.getOwner())){
  92. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Cannot_Break_In_Other_Land));
  93.  
  94. event.setCancelled(true);
  95. return;
  96. }
  97. if(land.getStructure() != null &&
  98. land.getStructure().getType() == StructureType.NEXUS &&
  99. !kp.getRank().isHigherOrEqualTo(kingdom.getPermissionsInfo().getBuildInNexus())){
  100. event.setCancelled(true);
  101. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Rank_Too_Low_NexusBuild).replaceAll("%rank%", kingdom.getPermissionsInfo().getBuildInNexus().toString()));
  102. return;
  103. }
  104. }
  105.  
  106. }
  107. @EventHandler
  108. public void onVehiclePlace(TrainPlaceEvent event){
  109. Player p = event.getOwner();
  110. Location bukkitLoc = event.getLocation();
  111.  
  112. SimpleLocation loc = new SimpleLocation(bukkitLoc);
  113. SimpleChunkLocation chunk = loc.toSimpleChunk();
  114.  
  115. Land land = GameManagement.getLandManager().getOrLoadLand(chunk);
  116. if(land.getOwner() == null) return;
  117.  
  118. KingdomPlayer kp = GameManagement.getPlayerManager().getSession(p);
  119. if(kp.isAdminMode()) return;
  120. if(kp.getKingdom() == null){//not in kingdom
  121. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Cannot_Break_In_Other_Land));
  122.  
  123. event.setCancelled(true);
  124. }else{//in kingdom
  125. Kingdom kingdom = kp.getKingdom();
  126. String kingdomName = kingdom.getKingdomName();
  127.  
  128. if(!kingdomName.equals(land.getOwner())){
  129. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Cannot_Break_In_Other_Land));
  130.  
  131. event.setCancelled(true);
  132. return;
  133. }
  134. if(land.getStructure() != null &&
  135. land.getStructure().getType() == StructureType.NEXUS &&
  136. !kp.getRank().isHigherOrEqualTo(kingdom.getPermissionsInfo().getBuildInNexus())){
  137. event.setCancelled(true);
  138. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Rank_Too_Low_NexusBuild).replaceAll("%rank%", kingdom.getPermissionsInfo().getBuildInNexus().toString()));
  139. return;
  140. }
  141. }
  142.  
  143. }
  144.  
  145.  
  146. @EventHandler
  147. public void onVehiclePlace(RaftPlaceEvent event){
  148. Player p = event.getOwner();
  149. Location bukkitLoc = event.getLocation();
  150.  
  151. SimpleLocation loc = new SimpleLocation(bukkitLoc);
  152. SimpleChunkLocation chunk = loc.toSimpleChunk();
  153.  
  154. Land land = GameManagement.getLandManager().getOrLoadLand(chunk);
  155. if(land.getOwner() == null) return;
  156.  
  157. KingdomPlayer kp = GameManagement.getPlayerManager().getSession(p);
  158. if(kp.isAdminMode()) return;
  159. if(kp.getKingdom() == null){//not in kingdom
  160. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Cannot_Break_In_Other_Land));
  161.  
  162. event.setCancelled(true);
  163. }else{//in kingdom
  164. Kingdom kingdom = kp.getKingdom();
  165. String kingdomName = kingdom.getKingdomName();
  166.  
  167. if(!kingdomName.equals(land.getOwner())){
  168. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Cannot_Break_In_Other_Land));
  169.  
  170. event.setCancelled(true);
  171. return;
  172. }
  173. if(land.getStructure() != null &&
  174. land.getStructure().getType() == StructureType.NEXUS &&
  175. !kp.getRank().isHigherOrEqualTo(kingdom.getPermissionsInfo().getBuildInNexus())){
  176. event.setCancelled(true);
  177. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Rank_Too_Low_NexusBuild).replaceAll("%rank%", kingdom.getPermissionsInfo().getBuildInNexus().toString()));
  178. return;
  179. }
  180. }
  181.  
  182. }
  183.  
  184. @EventHandler
  185. public void onVehiclePlace(PlanePlaceEvent event){
  186. Player p = event.getOwner();
  187. Location bukkitLoc = event.getLocation();
  188.  
  189. SimpleLocation loc = new SimpleLocation(bukkitLoc);
  190. SimpleChunkLocation chunk = loc.toSimpleChunk();
  191.  
  192. Land land = GameManagement.getLandManager().getOrLoadLand(chunk);
  193. if(land.getOwner() == null) return;
  194.  
  195. KingdomPlayer kp = GameManagement.getPlayerManager().getSession(p);
  196. if(kp.isAdminMode()) return;
  197. if(kp.getKingdom() == null){//not in kingdom
  198. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Cannot_Break_In_Other_Land));
  199.  
  200. event.setCancelled(true);
  201. }else{//in kingdom
  202. Kingdom kingdom = kp.getKingdom();
  203. String kingdomName = kingdom.getKingdomName();
  204.  
  205. if(!kingdomName.equals(land.getOwner())){
  206. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Cannot_Break_In_Other_Land));
  207.  
  208. event.setCancelled(true);
  209. return;
  210. }
  211. if(land.getStructure() != null &&
  212. land.getStructure().getType() == StructureType.NEXUS &&
  213. !kp.getRank().isHigherOrEqualTo(kingdom.getPermissionsInfo().getBuildInNexus())){
  214. event.setCancelled(true);
  215. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Rank_Too_Low_NexusBuild).replaceAll("%rank%", kingdom.getPermissionsInfo().getBuildInNexus().toString()));
  216. return;
  217. }
  218. }
  219.  
  220. }
  221.  
  222.  
  223. @EventHandler
  224. public void onVehiclePlace(ParachutePlaceEvent event){
  225. Player p = event.getOwner();
  226. Location bukkitLoc = event.getLocation();
  227.  
  228. SimpleLocation loc = new SimpleLocation(bukkitLoc);
  229. SimpleChunkLocation chunk = loc.toSimpleChunk();
  230.  
  231. Land land = GameManagement.getLandManager().getOrLoadLand(chunk);
  232. if(land.getOwner() == null) return;
  233.  
  234. KingdomPlayer kp = GameManagement.getPlayerManager().getSession(p);
  235. if(kp.isAdminMode()) return;
  236. if(kp.getKingdom() == null){//not in kingdom
  237. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Cannot_Break_In_Other_Land));
  238.  
  239. event.setCancelled(true);
  240. }else{//in kingdom
  241. Kingdom kingdom = kp.getKingdom();
  242. String kingdomName = kingdom.getKingdomName();
  243.  
  244. if(!kingdomName.equals(land.getOwner())){
  245. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Cannot_Break_In_Other_Land));
  246.  
  247. event.setCancelled(true);
  248. return;
  249. }
  250. if(land.getStructure() != null &&
  251. land.getStructure().getType() == StructureType.NEXUS &&
  252. !kp.getRank().isHigherOrEqualTo(kingdom.getPermissionsInfo().getBuildInNexus())){
  253. event.setCancelled(true);
  254. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Rank_Too_Low_NexusBuild).replaceAll("%rank%", kingdom.getPermissionsInfo().getBuildInNexus().toString()));
  255. return;
  256. }
  257. }
  258.  
  259. }
  260.  
  261. @EventHandler
  262. public void onVehiclePlace(TankPlaceEvent event){
  263. Player p = event.getOwner();
  264. Location bukkitLoc = event.getLocation();
  265.  
  266. SimpleLocation loc = new SimpleLocation(bukkitLoc);
  267. SimpleChunkLocation chunk = loc.toSimpleChunk();
  268.  
  269. Land land = GameManagement.getLandManager().getOrLoadLand(chunk);
  270. if(land.getOwner() == null) return;
  271.  
  272. KingdomPlayer kp = GameManagement.getPlayerManager().getSession(p);
  273. if(kp.isAdminMode()) return;
  274. if(kp.getKingdom() == null){//not in kingdom
  275. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Cannot_Break_In_Other_Land));
  276.  
  277. event.setCancelled(true);
  278. }else{//in kingdom
  279. Kingdom kingdom = kp.getKingdom();
  280. String kingdomName = kingdom.getKingdomName();
  281.  
  282. if(!kingdomName.equals(land.getOwner())){
  283. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Cannot_Break_In_Other_Land));
  284.  
  285. event.setCancelled(true);
  286. return;
  287. }
  288. if(land.getStructure() != null &&
  289. land.getStructure().getType() == StructureType.NEXUS &&
  290. !kp.getRank().isHigherOrEqualTo(kingdom.getPermissionsInfo().getBuildInNexus())){
  291. event.setCancelled(true);
  292. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Rank_Too_Low_NexusBuild).replaceAll("%rank%", kingdom.getPermissionsInfo().getBuildInNexus().toString()));
  293. return;
  294. }
  295. }
  296.  
  297. }
  298.  
  299.  
  300. @EventHandler
  301. public void onVehiclePlace(HelicopterPlaceEvent event){
  302. Player p = event.getOwner();
  303. Location bukkitLoc = event.getLocation();
  304.  
  305. SimpleLocation loc = new SimpleLocation(bukkitLoc);
  306. SimpleChunkLocation chunk = loc.toSimpleChunk();
  307.  
  308. Land land = GameManagement.getLandManager().getOrLoadLand(chunk);
  309. if(land.getOwner() == null) return;
  310.  
  311. KingdomPlayer kp = GameManagement.getPlayerManager().getSession(p);
  312. if(kp.isAdminMode()) return;
  313. if(kp.getKingdom() == null){//not in kingdom
  314. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Cannot_Break_In_Other_Land));
  315.  
  316. event.setCancelled(true);
  317. }else{//in kingdom
  318. Kingdom kingdom = kp.getKingdom();
  319. String kingdomName = kingdom.getKingdomName();
  320.  
  321. if(!kingdomName.equals(land.getOwner())){
  322. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Cannot_Break_In_Other_Land));
  323.  
  324. event.setCancelled(true);
  325. return;
  326. }
  327. if(land.getStructure() != null &&
  328. land.getStructure().getType() == StructureType.NEXUS &&
  329. !kp.getRank().isHigherOrEqualTo(kingdom.getPermissionsInfo().getBuildInNexus())){
  330. event.setCancelled(true);
  331. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Rank_Too_Low_NexusBuild).replaceAll("%rank%", kingdom.getPermissionsInfo().getBuildInNexus().toString()));
  332. return;
  333. }
  334. }
  335.  
  336. }
  337.  
  338.  
  339. @EventHandler
  340. public void onVehiclePlace(BroomPlaceEvent event){
  341. Player p = event.getOwner();
  342. Location bukkitLoc = event.getLocation();
  343.  
  344. SimpleLocation loc = new SimpleLocation(bukkitLoc);
  345. SimpleChunkLocation chunk = loc.toSimpleChunk();
  346.  
  347. Land land = GameManagement.getLandManager().getOrLoadLand(chunk);
  348. if(land.getOwner() == null) return;
  349.  
  350. KingdomPlayer kp = GameManagement.getPlayerManager().getSession(p);
  351. if(kp.isAdminMode()) return;
  352. if(kp.getKingdom() == null){//not in kingdom
  353. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Cannot_Break_In_Other_Land));
  354.  
  355. event.setCancelled(true);
  356. }else{//in kingdom
  357. Kingdom kingdom = kp.getKingdom();
  358. String kingdomName = kingdom.getKingdomName();
  359.  
  360. if(!kingdomName.equals(land.getOwner())){
  361. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Cannot_Break_In_Other_Land));
  362.  
  363. event.setCancelled(true);
  364. return;
  365. }
  366. if(land.getStructure() != null &&
  367. land.getStructure().getType() == StructureType.NEXUS &&
  368. !kp.getRank().isHigherOrEqualTo(kingdom.getPermissionsInfo().getBuildInNexus())){
  369. event.setCancelled(true);
  370. kp.sendMessage(Kingdoms.getLang().parseFirstString(Languages.Misc_Rank_Too_Low_NexusBuild).replaceAll("%rank%", kingdom.getPermissionsInfo().getBuildInNexus().toString()));
  371. return;
  372. }
  373. }
  374.  
  375. }
  376.  
  377. @Override
  378. public void onDisable() {
  379. // TODO Auto-generated method stub
  380.  
  381. }
  382.  
  383. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement