Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.13 KB | None | 0 0
  1. package de.korzhorz.paintball.main;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.util.ArrayList;
  6.  
  7. import org.bukkit.Bukkit;
  8. import org.bukkit.Difficulty;
  9. import org.bukkit.Location;
  10. import org.bukkit.World;
  11. import org.bukkit.command.Command;
  12. import org.bukkit.command.CommandExecutor;
  13. import org.bukkit.command.CommandSender;
  14. import org.bukkit.configuration.file.FileConfiguration;
  15. import org.bukkit.configuration.file.YamlConfiguration;
  16. import org.bukkit.entity.Player;
  17. import org.bukkit.event.EventHandler;
  18. import org.bukkit.event.Listener;
  19. import org.bukkit.event.entity.PlayerDeathEvent;
  20. import org.bukkit.event.player.PlayerJoinEvent;
  21. import org.bukkit.event.player.PlayerQuitEvent;
  22. import org.bukkit.plugin.java.JavaPlugin;
  23.  
  24. import net.md_5.bungee.api.ChatColor;
  25.  
  26. public class main extends JavaPlugin implements CommandExecutor, Listener{
  27.  
  28. ArrayList<String> Ingame = new ArrayList<String>();
  29. ArrayList<Player> IngamePlayers = new ArrayList<Player>();
  30.  
  31. public static File locations;
  32. public static FileConfiguration loc;
  33.  
  34. public static File killstreaks;
  35. public static FileConfiguration ks;
  36.  
  37. public static File ingamelist;
  38. public static FileConfiguration ig;
  39.  
  40. public static File stats;
  41. public static FileConfiguration st;
  42.  
  43. public void onEnable() {
  44. Bukkit.getConsoleSender().sendMessage("[Paintball] Loading contents");
  45.  
  46. for(World w : Bukkit.getWorlds()){
  47. w.setTime(150);
  48. w.setGameRuleValue("doDaylightCycle", "false");
  49. w.setDifficulty(Difficulty.PEACEFUL);
  50. }
  51.  
  52. main.locations = new File("plugins/Paintball", "locations.yml");
  53. main.loc = YamlConfiguration.loadConfiguration(main.locations);
  54.  
  55. main.ingamelist = new File("plugins/Paintball", "ingamelist.yml");
  56. main.ig = YamlConfiguration.loadConfiguration(main.ingamelist);
  57.  
  58. main.stats = new File("plugins/Paintball", "stats.yml");
  59. main.st = YamlConfiguration.loadConfiguration(main.stats);
  60.  
  61. main.killstreaks = new File("plugins/Paintball", "killstreaks.yml");
  62. main.ks = YamlConfiguration.loadConfiguration(main.killstreaks);
  63.  
  64. loadConfig();
  65.  
  66. this.getCommand("Paintball");
  67. this.getCommand("Stats");
  68.  
  69. Bukkit.getPluginManager().registerEvents(this, this);
  70. Bukkit.getPluginManager().registerEvents(this, this);
  71. Bukkit.getPluginManager().registerEvents(this, this);
  72.  
  73. Bukkit.getConsoleSender().sendMessage("[Paintball] Plugin enabled - Version: v" + this.getDescription().getVersion());
  74. Bukkit.getConsoleSender().sendMessage("[Paintball] Developed by KorzHorz");
  75. saveDefaultConfig();
  76. }
  77.  
  78. public void onDisable() {
  79. Bukkit.getConsoleSender().sendMessage("[Paintball] Plugin disabled");
  80. Bukkit.getConsoleSender().sendMessage("[Paintball] Developed by KorzHorz");
  81. }
  82.  
  83. public void loadConfig() {
  84. this.getConfig().options().copyDefaults(true);
  85. }
  86.  
  87.  
  88. // Command: Paintball
  89. @Override
  90. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  91. if(cmd.getName().equalsIgnoreCase("Paintball")) {
  92. if(sender instanceof Player) {
  93. Player p = (Player) sender;
  94. if(args.length == 2) {
  95. if(args[0].equalsIgnoreCase("Setspawn")) {
  96. if(p.hasPermission("paintball.setup")) {
  97. if(args[1].equalsIgnoreCase("Paintballspawn")) {
  98. Location loc = p.getLocation();
  99.  
  100. main.loc.set("Paintballspawn.X", loc.getX());
  101. main.loc.set("Paintballspawn.Y", loc.getY());
  102. main.loc.set("Paintballspawn.Z", loc.getZ());
  103. main.loc.set("Paintballspawn.Yaw", loc.getYaw());
  104. main.loc.set("Paintballspawn.Pitch", loc.getPitch());
  105. main.loc.set("Paintballspawn.World", loc.getWorld().getName());
  106.  
  107. try {
  108. main.loc.save(main.locations);
  109. } catch (IOException e) {
  110. e.printStackTrace();
  111. }
  112.  
  113.  
  114. String SpawnSetMessage = getConfig().getString("Messages.Spawn-Set");
  115. p.sendMessage(ChatColor.translateAlternateColorCodes('&', SpawnSetMessage));
  116. } else {
  117. Location loc = p.getLocation();
  118.  
  119. main.loc.set("Fallbackspawn.X", loc.getX());
  120. main.loc.set("Fallbackspawn.Y", loc.getY());
  121. main.loc.set("Fallbackspawn.Z", loc.getZ());
  122. main.loc.set("Fallbackspawn.Yaw", loc.getYaw());
  123. main.loc.set("Fallbackspawn.Pitch", loc.getPitch());
  124. main.loc.set("Fallbackspawn.World", loc.getWorld().getName());
  125.  
  126. try {
  127. main.loc.save(main.locations);
  128. } catch (IOException e) {
  129. e.printStackTrace();
  130. }
  131.  
  132. String SpawnSetMessage = getConfig().getString("Messages.Fallbackspawn-Set");
  133. p.sendMessage(ChatColor.translateAlternateColorCodes('&', SpawnSetMessage));
  134.  
  135.  
  136. }
  137. }
  138. }
  139. } else {
  140. if(args.length == 1) {
  141. if(args[0].equalsIgnoreCase("Join")) {
  142. if(!(Ingame.contains(p.getName()))) {
  143.  
  144. Location Paintballspawn = p.getLocation();
  145.  
  146. double x = main.loc.getDouble("Paintballspawn.X");
  147. double y = main.loc.getDouble("Paintballspawn.Y");
  148. double z = main.loc.getDouble("Paintballspawn.Z");
  149. Float yaw = (float) main.loc.getDouble("Paintballspawn.Yaw");
  150. Float pitch = (float) main.loc.getDouble("Paintballspawn.Pitch");
  151. World w = Bukkit.getWorld(main.loc.getString("Paintballspawn.World"));
  152.  
  153. Paintballspawn.setX(x);
  154. Paintballspawn.setY(y);
  155. Paintballspawn.setZ(z);
  156. Paintballspawn.setYaw(yaw);
  157. Paintballspawn.setPitch(pitch);
  158. Paintballspawn.setWorld(w);
  159.  
  160. p.teleport(Paintballspawn);
  161.  
  162. Ingame.add(p.getName());
  163. IngamePlayers.add(p);
  164.  
  165. String Join = getConfig().getString("Messages.Join");
  166. p.sendMessage(ChatColor.translateAlternateColorCodes('&', Join));
  167. } else {
  168. String AlreadyIngame = getConfig().getString("Errors.AlreadyIngame");
  169. p.sendMessage(ChatColor.translateAlternateColorCodes('&', AlreadyIngame));
  170. }
  171. } else {
  172. if(args[0].equalsIgnoreCase("Leave")) {
  173. if(Ingame.contains(p.getName())) {
  174. double x = main.loc.getDouble("Fallbackspawn.X");
  175. double y = main.loc.getDouble("Fallbackspawn.Y");
  176. double z = main.loc.getDouble("Fallbackspawn.Z");
  177. Float yaw = (float) main.loc.getDouble("Fallbackspawn.Yaw");
  178. Float pitch = (float) main.loc.getDouble("Fallbackspawn.Pitch");
  179. World w = Bukkit.getWorld(main.loc.getString("Fallbackspawn.World"));
  180.  
  181. Location Fallbackspawn = new Location(w, x, y, z, yaw, pitch);
  182.  
  183. p.getInventory().clear();
  184.  
  185. p.teleport(Fallbackspawn);
  186.  
  187. Ingame.remove(p.getName());
  188. IngamePlayers.remove(p);
  189.  
  190. String Quit = getConfig().getString("Messages.Quit");
  191. p.sendMessage(ChatColor.translateAlternateColorCodes('&', Quit));
  192. } else {
  193. String NotIngame = getConfig().getString("Errors.NotIngame");
  194. p.sendMessage(ChatColor.translateAlternateColorCodes('&', NotIngame));
  195. }
  196. } else {
  197. if(args[0].equalsIgnoreCase("Stats")) {
  198.  
  199. int Kills = st.getInt("Stats." + p + ".Kills");
  200. int Kills1 = Kills / 3;
  201.  
  202. int Deaths = st.getInt("Stats." + p + ".Deaths");
  203. int Deaths1 = Deaths / 3;
  204.  
  205. st.set("Stats." + p + ".Kills", Kills1);
  206. st.set("Stats." + p + ".Deaths", Deaths1);
  207.  
  208. try {
  209. st.save(stats);
  210. } catch (IOException e) {
  211. // TODO Auto-generated catch block
  212. e.printStackTrace();
  213. }
  214.  
  215. String Kills2 = st.getString("Stats." + p + ".Kills");
  216. String Deaths2 = st.getString("Stats." + p + ".Deaths");
  217.  
  218. String DeathsString = st.getString("Stats." + p + ".Deaths");
  219.  
  220. if(DeathsString != null) {
  221.  
  222. } else {
  223. st.addDefault("Stats." + p + ".Deaths", "null");
  224. }
  225.  
  226. String KDR = st.getString("Stats." + p + ".KDR");
  227.  
  228. String Line1 = getConfig().getString("Stats.Line1");
  229. String Line2 = getConfig().getString("Stats.Line2");
  230. String Line3 = getConfig().getString("Stats.Line3");
  231. String Line4 = getConfig().getString("Stats.Line4");
  232. String Line5 = getConfig().getString("Stats.Line5");
  233. String Line6 = getConfig().getString("Stats.Line6");
  234. String Line7 = getConfig().getString("Stats.Line7");
  235.  
  236. String Coins = st.getString("Stats." + p + ".Coins");
  237.  
  238. if(Kills2 !=null) {
  239. Line3 = Line3.replace("%Kills%", Kills2);
  240. } else {
  241. Line3 = Line3.replace("%Kills%", "0");
  242. }
  243.  
  244. if(Deaths2 != null) {
  245. Line4 = Line4.replace("%Deaths%", Deaths2);
  246. } else {
  247. Line4 = Line4.replace("%Deaths%", "0");
  248. }
  249.  
  250. // Line5 = Line5.replace("%KDR%", KDR);
  251. Line6 = Line6.replace("%Coins%", Coins);
  252.  
  253. p.sendMessage(" ");
  254. p.sendMessage(" ");
  255. p.sendMessage(" ");
  256. p.sendMessage(ChatColor.translateAlternateColorCodes('&', Line1));
  257. p.sendMessage(ChatColor.translateAlternateColorCodes('&', Line2));
  258. p.sendMessage(ChatColor.translateAlternateColorCodes('&', Line3));
  259. p.sendMessage(ChatColor.translateAlternateColorCodes('&', Line4));
  260. p.sendMessage(ChatColor.translateAlternateColorCodes('&', Line5));
  261. p.sendMessage(ChatColor.translateAlternateColorCodes('&', Line6));
  262. p.sendMessage(ChatColor.translateAlternateColorCodes('&', Line7));
  263. } else {
  264. String Usage = getConfig().getString("Errors.Usage");
  265. p.sendMessage(ChatColor.translateAlternateColorCodes('&', Usage));
  266. }
  267. }
  268. }
  269. }
  270. }
  271. } else {
  272. String NoPlayer = getConfig().getString("Errors.NoPlayer");
  273. sender.sendMessage(ChatColor.translateAlternateColorCodes('&', NoPlayer));
  274. }
  275.  
  276. }
  277.  
  278.  
  279. return true;
  280. }
  281.  
  282. // Event: JoinEvent
  283. @EventHandler
  284.  
  285. public void onJoin(PlayerJoinEvent e) {
  286. Player p = e.getPlayer();
  287.  
  288. if(p instanceof Player) {
  289.  
  290. ig.addDefault("Player " + p.getName(), "Ingame");
  291. try {
  292. ig.save(main.ingamelist);
  293. } catch (IOException e1) {
  294. String KickMessage = getConfig().getString("Errors.UnableToJoinKick");
  295. p.kickPlayer(KickMessage);
  296. }
  297.  
  298. int Killstreak = 0;
  299.  
  300. ks.addDefault("Killstreak " + p, Killstreak);
  301. try {
  302. ks.save(main.killstreaks);
  303. } catch (IOException e1) {
  304.  
  305. }
  306.  
  307. st.addDefault("Stats." + p + ".Kills", "0");
  308. st.addDefault("Stats." + p + ".Deaths", "0");
  309. st.addDefault("Stats." + p + ".KDR", "0");
  310. st.addDefault("Stats." + p + ".Coins", "0");
  311. try {
  312. st.save(stats);
  313. } catch (IOException e1) {
  314. // TODO Auto-generated catch block
  315. e1.printStackTrace();
  316. }
  317.  
  318. p.getInventory().clear();
  319. p.setLevel(0);
  320. p.setExp(0);
  321.  
  322. String JoinMessage = getConfig().getString("Messages.PaintballJoinMessage");
  323. JoinMessage = JoinMessage.replace("%Player%", p.getName());
  324. e.setJoinMessage(ChatColor.translateAlternateColorCodes('&', JoinMessage));
  325.  
  326. }
  327. }
  328.  
  329.  
  330. // Event: QuitEvent
  331. public void onQuit(PlayerQuitEvent e) {
  332. Player p = e.getPlayer();
  333.  
  334. ig.set("Player " + p.getName(), null);
  335. try {
  336. ig.save(main.ingamelist);
  337. } catch (IOException e1) {
  338.  
  339. }
  340.  
  341. ks.set("Killstreak " + p.getName(), "0");
  342. try {
  343. ks.save(main.killstreaks);
  344. } catch (IOException e1) {
  345.  
  346. }
  347.  
  348. String QuitMessage = getConfig().getString("Messages.PaintballQuitMessage");
  349. e.setQuitMessage(ChatColor.translateAlternateColorCodes('&', QuitMessage));
  350. }
  351.  
  352.  
  353. // Event: DeathEvent
  354. @EventHandler
  355. public void onDeath(PlayerDeathEvent e) {
  356. Player p = e.getEntity();
  357. Player k = p.getKiller();
  358.  
  359. // int PlusCoinsKiller = 2;
  360. // int MinusCoinsKilled = 1;
  361.  
  362. // int PlusKillsKiller = 1;
  363. // int PlusDeathsKilled = 1;
  364.  
  365. int Kills = st.getInt("Stats." + k + ".Kills");
  366. int Deaths = st.getInt("Stats." + p + ".Deaths");
  367.  
  368. // st.set("Stats." + p + ".KDR", KDR);
  369.  
  370. // int NewKills = Kills + PlusKillsKiller;
  371. // int NewDeaths = Deaths + PlusDeathsKilled;
  372.  
  373. st.set("Stats." + k + ".Kills", Kills + 1);
  374. st.set("Stats." + p + ".Deaths", Deaths + 1);
  375.  
  376. int CoinsKilled = st.getInt("Stats." + p + ".Coins");
  377. // int NewCoinsKilled = CoinsKilled - MinusCoinsKilled;
  378. st.set("Stats." + p + ".Coins", CoinsKilled - 1);
  379.  
  380. int CoinsKiller = st.getInt("Stats." + k + ".Coins");
  381. // int NewCoinsKiller = CoinsKiller + PlusCoinsKiller;
  382. st.set("Stats." + k + ".Coins", CoinsKiller + 2);
  383.  
  384. try {
  385. st.save(main.stats);
  386. } catch (IOException e2) {
  387. e2.printStackTrace();
  388. }
  389.  
  390.  
  391. int Killstreak = ks.getInt("Killstreak " + k);
  392.  
  393. int NewKillstreak = Killstreak + 1;
  394. k.setLevel(NewKillstreak / 3);
  395.  
  396. ks.set("Killstreak " + k, + 1);
  397. ks.set("Killstreak " + p, 0);
  398. try {
  399. ks.save(main.killstreaks);
  400. } catch (IOException e1) {
  401.  
  402. }
  403.  
  404. e.getDrops().clear();
  405. e.setDroppedExp(0);
  406.  
  407. String DeathMessage = getConfig().getString("Messages.KillMessage");
  408. DeathMessage = DeathMessage.replace("%Killed%", p.getName());
  409. DeathMessage = DeathMessage.replace("%Killer%", k.getName());
  410. e.setDeathMessage(ChatColor.translateAlternateColorCodes('&', DeathMessage));
  411. }
  412. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement