Need help with config

Discussion in 'Plugin Development' started by glory_fades, Nov 23, 2014.

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

    glory_fades

    so i have been trying to make it where i can edit the messages into console but sadly im stuck. the messages due appear in the config but when I try to change the messages after i hit save file it goes directly back to what it was before i changed it. Here is my code:
    Code:java
    1. package me.glory_fades.duel;
    2.  
    3. import java.io.PrintStream;
    4. import java.util.ArrayList;
    5. import java.util.HashMap;
    6.  
    7. import org.bukkit.Bukkit;
    8. import org.bukkit.ChatColor;
    9. import org.bukkit.GameMode;
    10. import org.bukkit.Location;
    11. import org.bukkit.Material;
    12. import org.bukkit.Server;
    13. import org.bukkit.World;
    14. import org.bukkit.command.Command;
    15. import org.bukkit.command.CommandSender;
    16. import org.bukkit.configuration.file.FileConfiguration;
    17. import org.bukkit.configuration.file.FileConfigurationOptions;
    18. import org.bukkit.enchantments.Enchantment;
    19. import org.bukkit.entity.Player;
    20. import org.bukkit.event.EventHandler;
    21. import org.bukkit.event.Listener;
    22. import org.bukkit.event.entity.EntityDamageByEntityEvent;
    23. import org.bukkit.event.entity.PlayerDeathEvent;
    24. import org.bukkit.inventory.ItemStack;
    25. import org.bukkit.inventory.PlayerInventory;
    26. import org.bukkit.inventory.meta.ItemMeta;
    27. import org.bukkit.plugin.PluginManager;
    28. import org.bukkit.plugin.java.JavaPlugin;
    29. import org.bukkit.potion.PotionEffect;
    30.  
    31. import com.avaje.ebeaninternal.server.core.Message;
    32.  
    33. public class Duel
    34. extends JavaPlugin
    35. implements Listener
    36. {
    37. private HashMap<Player, Player> hit = new HashMap();
    38. private HashMap<Player, Player> rank = new HashMap();
    39. public ArrayList<String> on = new ArrayList();
    40. public ArrayList<String> invincible = new ArrayList();
    41. public ArrayList<String> challenged = new ArrayList();
    42.  
    43. public void onEnable()
    44. {
    45. this.getConfig().set("Message", "you have sent your request to duel!");
    46. this.getConfig().set("Message2", "You have a duel request");
    47. this.getConfig().set("Message3", "Do /duel accept (players name) to accept the duel!");
    48. this.getConfig().set("Message4", "you cannot request to duel this player at this time");
    49. this.getConfig().set("Message5", "you cannot duel this player because they are offline");
    50. this.getConfig().set("Message6", "You have set the first spawn point for the duel");
    51. this.getConfig().set("Message7", "You have set the second spawn point for the duel");
    52. this.getConfig().set("Message8", "You have won the duel");
    53. saveConfig();
    54. saveDefaultConfig();
    55. System.out.println(" *****************************************");
    56. System.out.println("ยง1* [Duel] Enabled Created by glory_Fades *");
    57. System.out.println(" *****************************************");
    58. Bukkit.getServer().getPluginManager().registerEvents(this, this);
    59. }
    60.  
    61. public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
    62. {
    63. Player p = (Player)sender;
    64. if (commandLabel.equalsIgnoreCase("Duel"))
    65. {
    66. if (args.length == 0)
    67. {
    68. p.sendMessage(ChatColor.DARK_PURPLE + "/Duel (player) to request a Duel with a player");
    69. p.sendMessage(ChatColor.DARK_PURPLE + "/Duel accept (player) to accept a Duel");
    70. p.sendMessage(ChatColor.DARK_PURPLE + "/duelset Sets the 1st spawn point");
    71. p.sendMessage(ChatColor.DARK_PURPLE + "/duelset2 Sets the 2nd spawn point");
    72. }
    73. else if (args.length == 1)
    74. {
    75. Player player1 = getServer().getPlayer(args[0]);
    76. if (!this.challenged.contains(player1))
    77. {
    78. if (player1 != null)
    79. {
    80. String ps = p.getName().toString();
    81. String player1s = player1.getName().toString();
    82. if (ps.equals(player1s)) {
    83. p.sendMessage(ChatColor.RED + "You can't Duel yourself!");
    84. }
    85. if (ps.equalsIgnoreCase("accept")) {
    86. p.sendMessage(ChatColor.RED + "use /duel accept (playername)");
    87. }
    88. this.on.add(p.getName());
    89. this.challenged.add(player1.getName());
    90. p.sendMessage(ChatColor.translateAlternateColorCodes('&', this.getConfig().getString("Message")));
    91. player1.sendMessage(ChatColor.translateAlternateColorCodes('&', this.getConfig().getString("Message2")));
    92. player1.sendMessage(ChatColor.translateAlternateColorCodes('&', this.getConfig().getString("Message3")));
    93. }
    94. else
    95. {
    96. p.sendMessage(ChatColor.translateAlternateColorCodes('&', this.getConfig().getString("Message4")));
    97. }
    98. }
    99. else {
    100. p.sendMessage(ChatColor.translateAlternateColorCodes('&', this.getConfig().getString("Message5")));
    101. }
    102. }
    103. else if ((args.length == 2) &&
    104. (args[0].equalsIgnoreCase("accept")))
    105. {
    106. Player pa = getServer().getPlayer(args[1]);
    107. if ((pa != null) &&
    108. (this.on.contains(pa.getName())))
    109. {
    110. int i = 8;
    111. Player p1 = p;
    112. Player p2 = pa;
    113. String p1s = p.getName();
    114. String p2s = pa.getName();
    115. this.hit.put(p1, p2);
    116. this.hit.put(p2, p1);
    117. this.rank.put(p1, p2);
    118. this.rank.put(p2, p1);
    119. this.invincible.add(p1s);
    120. this.invincible.add(p2s);
    121. ItemStack dsword = new ItemStack(Material.DIAMOND_SWORD);
    122. ItemStack soup = new ItemStack(Material.MUSHROOM_SOUP);
    123. ItemMeta meta = dsword.getItemMeta();
    124. meta.addEnchant(Enchantment.DAMAGE_ALL, 1, true);
    125. dsword.setItemMeta(meta);
    126. p.setGameMode(GameMode.SURVIVAL);
    127. p.getInventory().clear();
    128. p.getInventory().setHelmet(null);
    129. p.getInventory().setChestplate(null);
    130. p.getInventory().setLeggings(null);
    131. p.getInventory().setBoots(null);
    132. p.getInventory().addItem(new ItemStack[] { dsword });
    133. p.getInventory().setHelmet(new ItemStack(Material.IRON_HELMET));
    134. p.getInventory().setChestplate(new ItemStack(Material.IRON_CHESTPLATE));
    135. p.getInventory().setLeggings(new ItemStack(Material.IRON_LEGGINGS));
    136. p.getInventory().setBoots(new ItemStack(Material.IRON_BOOTS));
    137. for (; i > 0; i--) {
    138. p.getInventory().addItem(new ItemStack[] { soup });
    139. }
    140. for (PotionEffect effect : p.getActivePotionEffects()) {
    141. p.removePotionEffect(effect.getType());
    142. }
    143. pa.setGameMode(GameMode.SURVIVAL);
    144. pa.getInventory().clear();
    145. pa.getInventory().setHelmet(null);
    146. pa.getInventory().setChestplate(null);
    147. pa.getInventory().setLeggings(null);
    148. pa.getInventory().setBoots(null);
    149. pa.getInventory().addItem(new ItemStack[] { dsword });
    150. pa.getInventory().setHelmet(new ItemStack(Material.IRON_HELMET));
    151. pa.getInventory().setChestplate(new ItemStack(Material.IRON_CHESTPLATE));
    152. pa.getInventory().setLeggings(new ItemStack(Material.IRON_LEGGINGS));
    153. pa.getInventory().setBoots(new ItemStack(Material.IRON_BOOTS));
    154. for (int i1 = 8; i1 > 0; i1--) {
    155. pa.getInventory().addItem(new ItemStack[] { soup });
    156. }
    157. for (PotionEffect effect : pa.getActivePotionEffects()) {
    158. pa.removePotionEffect(effect.getType());
    159. }
    160. int X = getConfig().getInt("duel.p1.X");
    161. int Y = getConfig().getInt("duel.p1.Y");
    162. int Z = getConfig().getInt("duel.p1.Z");
    163. World world = Bukkit.getWorld(getConfig().getString(
    164. "duel.world"));
    165. Location loc = new Location(world, X, Y, Z);
    166. p.teleport(loc);
    167. int X1 = getConfig().getInt("duel.p2.X");
    168. int Y1 = getConfig().getInt("duel.p2.Y");
    169. int Z1 = getConfig().getInt("duel.p2.Z");
    170. Location loc1 = new Location(world, X1, Y1, Z1);
    171. pa.teleport(loc1);
    172. this.on.remove(pa.getName());
    173. this.challenged.remove(p.getName());
    174. }
    175. }
    176. }
    177. else if (cmd.getName().equalsIgnoreCase("duelset"))
    178. {
    179. if (p.hasPermission("duel.set"))
    180. {
    181. String World = p.getWorld().getName();
    182. int X = (int)p.getLocation().getX();
    183. int Y = (int)p.getLocation().getY();
    184. int Z = (int)p.getLocation().getZ();
    185. getConfig().set("duel.world", World);
    186. getConfig().set("duel.p1.X", Integer.valueOf(X));
    187. getConfig().set("duel.p1.Y", Integer.valueOf(Y));
    188. getConfig().set("duel.p1.Z", Integer.valueOf(Z));
    189. saveConfig();
    190. p.sendMessage(ChatColor.translateAlternateColorCodes('&', this.getConfig().getString("Message6")));
    191. }
    192. else
    193. {
    194. p.sendMessage(ChatColor.RED +
    195. "You don't have permission to execute this command");
    196. }
    197. }
    198. else if (cmd.getName().equalsIgnoreCase("duelset2")) {
    199. if (p.hasPermission("duel.set2"))
    200. {
    201. String World = p.getWorld().getName();
    202. int X = (int)p.getLocation().getX();
    203. int Y = (int)p.getLocation().getY();
    204. int Z = (int)p.getLocation().getZ();
    205. getConfig().set("duel.world", World);
    206. getConfig().set("duel.p2.X", Integer.valueOf(X));
    207. getConfig().set("duel.p2.Y", Integer.valueOf(Y));
    208. getConfig().set("duel.p2.Z", Integer.valueOf(Z));
    209. saveConfig();
    210. p.sendMessage(ChatColor.translateAlternateColorCodes('&', this.getConfig().getString("Message7")));
    211. }
    212. else
    213. {
    214. p.sendMessage(ChatColor.RED +
    215. "You don't have permission to execute this command");
    216. }
    217. }
    218. return true;
    219. }
    220.  
    221. @EventHandler
    222. public void onEntityDamage(EntityDamageByEntityEvent e)
    223. {
    224. if (((e.getEntity() instanceof Player)) &&
    225. ((e.getDamager() instanceof Player)) &&
    226. (this.rank.containsKey(e.getEntity())))
    227. {
    228. Player hit = (Player)e.getEntity();
    229. Player damager = (Player)e.getDamager();
    230. Player hit1 = (Player)this.hit.get(hit);
    231. if (hit1 != damager) {
    232. e.setCancelled(true);
    233. }
    234. }
    235. }
    236.  
    237. @EventHandler
    238. public void onDeath(PlayerDeathEvent event)
    239. {
    240. Player dead = event.getEntity();
    241. Player killer = event.getEntity().getKiller();
    242. Player hit1 = (Player)this.hit.get(dead);
    243. if (hit1 == killer)
    244. {
    245. killer.sendMessage(ChatColor.translateAlternateColorCodes('&', this.getConfig().getString("Message8")));
    246. killer.teleport(killer.getWorld().getSpawnLocation());
    247. killer.getInventory().clear();
    248. killer.getInventory().setHelmet(null);
    249. killer.getInventory().setChestplate(null);
    250. killer.getInventory().setLeggings(null);
    251. killer.getInventory().setBoots(null);
    252. }
    253. if (this.hit.containsKey(event.getEntity())) {
    254. this.hit.remove(event.getEntity());
    255. }
    256. if (this.hit.containsKey(killer)) {
    257. this.hit.remove(killer);
    258. }
    259. if (this.rank.containsKey(event.getEntity())) {
    260. this.rank.remove(event.getEntity());
    261. }
    262. if (this.rank.containsKey(killer)) {
    263. this.rank.remove(killer);
    264. }
    265. if (this.invincible.contains(event.getEntity())) {
    266. this.invincible.remove(event.getEntity());
    267. }
    268. if (this.invincible.contains(killer)) {
    269. this.invincible.remove(killer);
    270. }
    271. }
    272. public void onDisable() {
    273. saveConfig();
    274. saveDefaultConfig();
    275. }
    276. }
     
  2. Offline

    TGRHavoc

    They go back to the original values because you're setting them back every time the plugin is reloaded.
    To stop this, just check to see if the config already exists. If it doesn't then, and only then, set the values.
     
Thread Status:
Not open for further replies.

Share This Page