Any idea on how i can make killstreaks configurable?

Discussion in 'Plugin Development' started by ThePluginMaker, Jul 30, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    ThePluginMaker

    Code:java
    1. @EventHandler(priority = EventPriority.LOW)
    2. public void onPlayerKillstreakRewarded(PlayerKillstreakAwardedEvent evt) {
    3. Player p = evt.getPlayer();
    4. PlayerInventory pInv = p.getInventory();
    5. ArrayList<ItemStack> rewards = evt.getRewards();
    6. PlayerStorage pStorage = SE.getStorage(p.getName());
    7. int killStreak = evt.getKillStreak();
    8. if (!pStorage.isRewarded(killStreak)) {
    9. if (killStreak == 1) {
    10. pInv.remove(Material.IRON_SWORD);
    11. pInv.remove(Material.IRON_AXE);
    12. ItemStack item = new ItemStack(Material.IRON_SWORD, 1);
    13. item.addEnchantment(Enchantment.DAMAGE_ALL, 1);
    14. ItemStack item1 = new ItemStack(Material.IRON_AXE, 1);
    15. item1.addEnchantment(Enchantment.DAMAGE_ALL, 1);
    16. pStorage.rewardKillStreak(killStreak);
    17. } else if (killStreak == 2) {
    18. rewards.add(new ItemStack(Material.BOW, 1));
    19. rewards.add(new ItemStack(Material.ARROW, 64));
    20. pStorage.rewardKillStreak(killStreak);
    21. } else if (killStreak == 3) {
    22. rewards.add(new ItemStack(Material.GOLDEN_APPLE, 1));
    23. rewards.add(new ItemStack(Material.ARROW, 16));
    24. p.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, Integer.MAX_VALUE, 1));
    25. pStorage.rewardKillStreak(killStreak);
    26. } else if (killStreak == 4) {
    27. pInv.remove(Material.IRON_SWORD);
    28. pInv.remove(Material.IRON_AXE);
    29. ItemStack item = new ItemStack(Material.IRON_SWORD, 1);
    30. item.addEnchantment(Enchantment.DAMAGE_ALL, 2);
    31. ItemStack item1 = new ItemStack(Material.IRON_AXE, 1);
    32. item1.addEnchantment(Enchantment.DAMAGE_ALL, 2);
    33. rewards.add(new ItemStack(Material.GOLDEN_APPLE, 1));
    34. pStorage.rewardKillStreak(killStreak);
    35. IE.addArmor(p);
    36. } else if (killStreak == 5) {
    37. rewards.add(new ItemStack(Material.GOLDEN_APPLE, 1));
    38. rewards.add(new ItemStack(Material.ARROW, 16));
    39. pStorage.rewardKillStreak(killStreak);
    40. IE.addArmor(p);
    41. } else if (killStreak == 6) {
    42. rewards.add(new ItemStack(Material.GOLDEN_APPLE, 1));
    43. p.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, Integer.MAX_VALUE, 1));
    44. pStorage.rewardKillStreak(killStreak);
    45. IE.addArmor(p);
    46. } else if (killStreak == 7) {
    47. pInv.remove(Material.IRON_SWORD);
    48. pInv.remove(Material.IRON_AXE);
    49. ItemStack item = new ItemStack(Material.DIAMOND_SWORD, 1);
    50. item.addEnchantment(Enchantment.DAMAGE_ALL, 1);
    51. ItemStack item1 = new ItemStack(Material.DIAMOND_AXE, 1);
    52. item1.addEnchantment(Enchantment.DAMAGE_ALL, 1);
    53. rewards.add(new ItemStack(Material.GOLDEN_APPLE, 1));
    54. rewards.add(new ItemStack(Material.ARROW, 16));
    55. pStorage.rewardKillStreak(killStreak);
    56. IE.addArmor(p);
    57. } else if (killStreak == 8) {
    58. rewards.add(new ItemStack(Material.GOLDEN_APPLE, 1));
    59. pStorage.rewardKillStreak(killStreak);
    60. IE.addArmor1(p);
    61. } else if (killStreak == 9) {
    62. rewards.add(new ItemStack(Material.GOLDEN_APPLE, 1));
    63. rewards.add(new ItemStack(Material.ARROW, 16));
    64. p.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, Integer.MAX_VALUE, 1));
    65. pStorage.rewardKillStreak(killStreak);
    66. IE.addArmor1(p);
    67. } else if (killStreak == 10) {
    68. pInv.remove(Material.DIAMOND_SWORD);
    69. pInv.remove(Material.DIAMOND_AXE);
    70. ItemStack item = new ItemStack(Material.DIAMOND_SWORD, 1);
    71. item.addEnchantment(Enchantment.DAMAGE_ALL, 2);
    72. ItemStack item1 = new ItemStack(Material.DIAMOND_AXE, 1);
    73. item1.addEnchantment(Enchantment.DAMAGE_ALL, 2);
    74. rewards.add(new ItemStack(Material.GOLDEN_APPLE, 1));
    75. pStorage.rewardKillStreak(killStreak);
    76. IE.addArmor1(p);
    77. }


    Sorry forgot to add my config class (reason i didn't edit the description was because it will unspace all of the code and make it hard to read...
    Code:java
    1. package com.division.freeforall.config;
    2.  
    3. import com.division.freeforall.core.FreeForAll;
    4. import com.division.freeforall.regions.HealRegion;
    5. import com.division.freeforall.regions.Region;
    6.  
    7. import java.util.ArrayList;
    8. import java.util.HashMap;
    9. import java.util.Set;
    10.  
    11. import org.bukkit.Bukkit;
    12. import org.bukkit.Location;
    13. import org.bukkit.World;
    14. import org.bukkit.configuration.file.FileConfiguration;
    15. import org.bukkit.configuration.file.YamlConfiguration;
    16. import org.bukkit.util.BlockVector;
    17.  
    18. public class FFAConfig {
    19.  
    20. FileConfiguration ffaconfig = new YamlConfiguration();
    21. FreeForAll FFA;
    22. private static HashMap<String, ArrayList<Location>> spawns = new HashMap<String, ArrayList<Location>>();
    23. private static String mysqlhost;
    24. private static String mysqlport;
    25. private static String mysqluser;
    26. private static String mysqlpass;
    27. private static String mysqldata;
    28. private boolean changed = false;
    29.  
    30. public FFAConfig(FreeForAll instance) {
    31. this.FFA = instance;
    32. instance.saveDefaultConfig();
    33. ffaconfig = instance.getConfig();
    34. }
    35.  
    36. public void load() {
    37. spawns.clear();
    38. System.out.println("[FreeForAll] loading config...");
    39. if (ffaconfig.contains("region")) {
    40. Set<String> arenaList = ffaconfig.getConfigurationSection("region").getKeys(false);
    41. Set<String> spawnList;
    42. for (String arena : arenaList) {
    43. if (!ffaconfig.contains("region." + arena + ".spawn")) {
    44. System.out.println("[FreeForAll] arena " + arena + " has no spawns defined!");
    45. continue;
    46. }
    47.  
    48. spawnList = ffaconfig.getConfigurationSection("region." + arena + ".spawn").getKeys(false);
    49. for (String s : spawnList){
    50. World world = Bukkit.getServer().getWorld(ffaconfig.getString("region." + arena + ".spawn." + s + ".world", "world"));
    51. double x = ffaconfig.getDouble("region." + arena + ".spawn." + s + ".x");
    52. double y = ffaconfig.getDouble("region." + arena + ".spawn." + s + ".y");
    53. double z = ffaconfig.getDouble("region." + arena + ".spawn." + s + ".z");
    54. float yaw = (float) ffaconfig.getDouble("region." + arena + ".spawn." + s + ".yaw");
    55. float pitch = (float) ffaconfig.getDouble("region." + arena + ".spawn." + s + ".pitch");
    56.  
    57. addSpawn(arena, new Location(world, x, y, z, yaw, pitch));
    58. }
    59. }
    60. }
    61. if (!ffaconfig.contains("mysql.host")) {
    62. ffaconfig.set("mysql.host", "localhost");
    63. changed = true;
    64. } else {
    65. mysqlhost = ffaconfig.getString("mysql.host");
    66. }
    67. if (!ffaconfig.contains("mysql.port")) {
    68. ffaconfig.set("mysql.port", "3306");
    69. changed = true;
    70. } else {
    71. mysqlport = ffaconfig.getString("mysql.port");
    72. }
    73. if (!ffaconfig.contains("mysql.username")) {
    74. ffaconfig.set("mysql.username", "root");
    75. changed = true;
    76. } else {
    77. mysqluser = ffaconfig.getString("mysql.username");
    78. }
    79. if (!ffaconfig.contains("mysql.password")) {
    80. ffaconfig.set("mysql.password", "password");
    81. changed = true;
    82. } else {
    83. mysqlpass = ffaconfig.getString("mysql.password");
    84. }
    85. if (!ffaconfig.contains("mysql.database")) {
    86. ffaconfig.set("mysql.database", "ffa");
    87. changed = true;
    88. } else {
    89. mysqldata = ffaconfig.getString("mysql.database");
    90. }
    91. if (changed) {
    92. FFA.saveConfig();
    93. } else {
    94. System.out.println("[FreeForAll] Done loading config!");
    95. }
    96. }
    97.  
    98. public void setSpawn(String arena, String rname, Location loc) {
    99. String name = rname.toLowerCase();
    100. ffaconfig.set("region." + arena + ".spawn." + name + ".world", loc.getWorld().getName());
    101. ffaconfig.set("region." + arena + ".spawn." + name + ".x", loc.getX());
    102. ffaconfig.set("region." + arena + ".spawn." + name + ".y", loc.getY());
    103. ffaconfig.set("region." + arena + ".spawn." + name + ".z", loc.getZ());
    104. ffaconfig.set("region." + arena + ".spawn." + name + ".yaw", loc.getYaw());
    105. ffaconfig.set("region." + arena + ".spawn." + name + ".pitch", loc.getPitch());
    106. FFA.saveConfig();
    107. addSpawn(arena, loc);
    108. }
    109.  
    110. public void setRegion(String arena, World world, BlockVector p1, BlockVector p2) {
    111. ffaconfig.set("region." + arena + ".world", world.getName());
    112. ffaconfig.set("region." + arena + ".p1.x", p1.getX());
    113. ffaconfig.set("region." + arena + ".p1.y", p1.getY());
    114. ffaconfig.set("region." + arena + ".p1.z", p1.getZ());
    115. ffaconfig.set("region." + arena + ".p2.x", p2.getX());
    116. ffaconfig.set("region." + arena + ".p2.y", p2.getY());
    117. ffaconfig.set("region." + arena + ".p2.z", p2.getZ());
    118. FFA.saveConfig();
    119. }
    120.  
    121. public void setHealRegion(String arena, World world, BlockVector p1, BlockVector p2) {
    122. ffaconfig.set("region." + arena + ".healregion.world", world.getName());
    123. ffaconfig.set("region." + arena + ".healregion.p1.x", p1.getX());
    124. ffaconfig.set("region." + arena + ".healregion.p1.y", p1.getY());
    125. ffaconfig.set("region." + arena + ".healregion.p1.z", p1.getZ());
    126. ffaconfig.set("region." + arena + ".healregion.p2.x", p2.getX());
    127. ffaconfig.set("region." + arena + ".healregion.p2.y", p2.getY());
    128. ffaconfig.set("region." + arena + ".healregion.p2.z", p2.getZ());
    129. FFA.saveConfig();
    130. }
    131.  
    132. public void addSpawn(String arena, Location loc){
    133. ArrayList<Location> list = spawns.get(arena);
    134. if (list == null) list = new ArrayList<Location>();
    135. list.add(loc);
    136. spawns.put(arena, list);
    137. }
    138.  
    139. public HealRegion getHealRegion(String arena) {
    140. World world = Bukkit.getServer().getWorld(ffaconfig.getString("region." + arena + "healregion.world", "world"));
    141. double p1x = ffaconfig.getDouble("region." + arena + ".healregion.p1.x");
    142. double p1y = ffaconfig.getDouble("region." + arena + ".healregion.p1.y");
    143. double p1z = ffaconfig.getDouble("region." + arena + ".healregion.p1.z");
    144. double p2x = ffaconfig.getDouble("region." + arena + ".healregion.p2.x");
    145. double p2y = ffaconfig.getDouble("region." + arena + ".healregion.p2.y");
    146. double p2z = ffaconfig.getDouble("region." + arena + ".healregion.p2.z");
    147. BlockVector p1 = new BlockVector(p1x, p1y, p1z);
    148. BlockVector p2 = new BlockVector(p2x, p2y, p2z);
    149. return new HealRegion(world, p1, p2, FFA);
    150. }
    151.  
    152. public Region getRegion(String arena) {
    153. World world = Bukkit.getWorld(ffaconfig.getString("region." + arena + ".world", "world"));
    154. double p1x = ffaconfig.getDouble("region." + arena + ".p1.x");
    155. double p1y = ffaconfig.getDouble("region." + arena + ".p1.y");
    156. double p1z = ffaconfig.getDouble("region." + arena + ".p1.z");
    157. double p2x = ffaconfig.getDouble("region." + arena + ".p2.x");
    158. double p2y = ffaconfig.getDouble("region." + arena + ".p2.y");
    159. double p2z = ffaconfig.getDouble("region." + arena + ".p2.z");
    160. BlockVector p1 = new BlockVector(p1x, p1y, p1z);
    161. BlockVector p2 = new BlockVector(p2x, p2y, p2z);
    162. return new Region(world, p1, p2);
    163. }
    164.  
    165. public ArrayList<Location> getSpawns(String arena) {
    166. return spawns.get(arena);
    167. }
    168.  
    169. public Set<String> getSpawnNames(String arena) {
    170. return ffaconfig.getConfigurationSection("region." + arena + ".spawn").getKeys(false);
    171. }
    172.  
    173. public boolean removeSpawn(String arena, String name) {
    174. if (getSpawnNames(arena).contains(name.toLowerCase())) {
    175. ffaconfig.set("region." + arena + ".spawn." + name.toLowerCase(), null);
    176. FFA.saveConfig();
    177. return true;
    178. }
    179. return false;
    180. }
    181.  
    182. public String getMySQLDatabase() {
    183. return mysqldata;
    184. }
    185.  
    186. public String getMySQLPassword() {
    187. return mysqlpass;
    188. }
    189.  
    190. public String getMySQLUsername() {
    191. return mysqluser;
    192. }
    193.  
    194. public String getMySQLHost() {
    195. return mysqlhost;
    196. }
    197.  
    198. public String getMySQLPort() {
    199. return mysqlport;
    200. }
    201.  
    202. public Set<String> getArenas() {
    203. return ffaconfig.getConfigurationSection("region").getKeys(false);
    204. }
    205. }
    206.  


    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 9, 2016
Thread Status:
Not open for further replies.

Share This Page