Getting the config from another class

Discussion in 'Plugin Help/Development/Requests' started by DivinanceMC, Dec 7, 2014.

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

    DivinanceMC

    Hello,

    I'm trying to make a shop GUI that takes away 75 points from the player's config when the click on the compass in the shop GUI. I have set everything up, but I am having errors trying to get the config from the Shop class (the config is set up in the Main class).

    I am getting errors on getConfig and saveConfig.

    Also, I was wondering if I was doing this correctly to remove 75 points from them.

    Code:java
    1. getConfig().set(player.getDisplayName() + ".Tokens", Integer.valueOf(".Tokens" + -75));


    Shop Class

    Code:java
    1. package DivinanceMC.MelonKits;
    2.  
    3. import org.bukkit.*;
    4. import org.bukkit.entity.Player;
    5. import org.bukkit.inventory.Inventory;
    6. import org.bukkit.inventory.ItemStack;
    7. import org.bukkit.inventory.meta.ItemMeta;
    8.  
    9. import java.util.Arrays;
    10.  
    11. public class Shop {
    12. public static Inventory shop = Bukkit.createInventory(null, 18, ChatColor.GOLD + "" + ChatColor.BOLD + "Shop");
    13.  
    14. public static void setupShopItems() {
    15. ItemStack spawn = new ItemStack(Material.COMPASS, 1);
    16. ItemMeta spawnMeta = spawn.getItemMeta();
    17. spawnMeta.setDisplayName(ChatColor.GOLD + "Spawn Teleport");
    18. spawnMeta.setLore(Arrays.asList(ChatColor.GRAY + "Need to get back to", ChatColor.GRAY + "spawn fast? Buy this!", ChatColor.GOLD + "75 Points"));
    19. spawn.setItemMeta(spawnMeta);
    20. shop.setItem(0, spawn);
    21. }
    22.  
    23. public static void spawnTeleport(Player player) {
    24. if (getConfig().getInt(new StringBuilder(String.valueOf(player.getDisplayName())).append(".Tokens").toString()) >= 75) {
    25. player.sendMessage(ChatColor.GRAY + "You have spent 75 VenomRewards points to teleport back to the origin of the current dimension that you are in.");
    26. int groundLevel = 255;
    27. boolean isGround = false;
    28. while (!isGround) {
    29. if ((new Location(player.getWorld(), 0, groundLevel, 0)).getBlock().getType() != Material.AIR) {
    30. isGround = true;
    31. }
    32. if (groundLevel <= 0) {
    33. isGround = true;
    34. }
    35. groundLevel--;
    36. }
    37. player.teleport(new Location(player.getWorld(), 0.5, groundLevel + 2, 0.5));
    38. getConfig().set(player.getDisplayName() + ".Tokens", Integer.valueOf(".Tokens" + -75));
    39. saveConfig();
    40. player.sendMessage(ChatColor.RED + "" + ChatColor.ITALIC + "-75 points: purchase spawn teleport");
    41. player.playSound(player.getLocation(), Sound.ANVIL_LAND, 10, 1);
    42. } else {
    43. player.sendMessage(ChatColor.RED + "You need at least 75 VenomRewards points to spend to go to spawn!");
    44. }
    45.  
    46. }
    47.  
    48. }


    Main Class

    Code:java
    1. package DivinanceMC.MelonKits;
    2.  
    3. import java.util.ArrayList;
    4. import java.util.Arrays;
    5.  
    6. import net.minecraft.server.v1_7_R4.ChatSerializer;
    7. import net.minecraft.server.v1_7_R4.IChatBaseComponent;
    8. import net.minecraft.server.v1_7_R4.PlayerConnection;
    9.  
    10. import org.bukkit.ChatColor;
    11. import org.bukkit.Location;
    12. import org.bukkit.Material;
    13. import org.bukkit.Sound;
    14. import org.bukkit.block.Sign;
    15. import org.bukkit.command.Command;
    16. import org.bukkit.command.CommandSender;
    17. import org.bukkit.craftbukkit.v1_7_R4.entity.CraftPlayer;
    18. import org.bukkit.entity.Entity;
    19. import org.bukkit.entity.Player;
    20. import org.bukkit.event.EventHandler;
    21. import org.bukkit.event.Listener;
    22. import org.bukkit.event.block.Action;
    23. import org.bukkit.event.entity.EntityDeathEvent;
    24. import org.bukkit.event.entity.PlayerDeathEvent;
    25. import org.bukkit.event.player.AsyncPlayerChatEvent;
    26. import org.bukkit.event.player.PlayerInteractEvent;
    27. import org.bukkit.event.player.PlayerJoinEvent;
    28. import org.bukkit.plugin.java.JavaPlugin;
    29. import org.spigotmc.ProtocolInjector;
    30.  
    31. public class MelonKits extends JavaPlugin implements Listener {
    32. ArrayList<String> Kit = new ArrayList<String>();
    33.  
    34. public static String Prefix = ChatColor.GRAY + "[" + ChatColor.DARK_PURPLE + "\u2726" + ChatColor.GRAY + "] " + ChatColor.GRAY + "";
    35.  
    36. public void onEnable() {
    37. getServer().getPluginManager().registerEvents(this, this);
    38.  
    39. this.getCommand("pvp").setExecutor(new PvP());
    40. this.getCommand("clear").setExecutor(new Clear());
    41. }
    42.  
    43. public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
    44.  
    45. if (!(sender instanceof Player)) {
    46. sender.sendMessage(MelonKits.Prefix + "This command is disabled for " + ChatColor.YELLOW + "Console" + ChatColor.GRAY + ".");
    47. return true;
    48. }
    49.  
    50. Player player = (Player) sender;
    51.  
    52. if (cmd.getName().equalsIgnoreCase("tokens")) {
    53. if (args.length == 0) {
    54. player.sendMessage(MelonKits.Prefix + ChatColor.DARK_PURPLE + player.getDisplayName() + ChatColor.GRAY + " has " + ChatColor.DARK_PURPLE + getConfig().getInt(new StringBuilder(String.valueOf(player.getDisplayName())).append(".Tokens").toString()) + ChatColor.GRAY + " tokens.");
    55. return true;
    56. }
    57. if (args.length != 0) {
    58. player.sendMessage(MelonKits.Prefix + ChatColor.DARK_PURPLE + args[0] + ChatColor.GRAY + " has " + ChatColor.DARK_PURPLE + getConfig().getInt(new StringBuilder(String.valueOf(args[0])).append(".Tokens").toString()) + ChatColor.GRAY + " tokens.");
    59. return true;
    60. }
    61.  
    62. }
    63. return true;
    64.  
    65. }
    66. @EventHandler
    67. public void onPlayerDeath(PlayerDeathEvent event) {
    68. event.getDrops().clear();
    69. }
    70.  
    71. @EventHandler
    72. public boolean onPlayerJoin(PlayerJoinEvent event){
    73. Player player = event.getPlayer();
    74.  
    75. PlayerConnection connection = ((CraftPlayer) player).getHandle().playerConnection;
    76. IChatBaseComponent top = ChatSerializer.a("{'extra': [{text: 'Kits', color: 'yellow'}],'color': 'gray', 'text': 'Melon'}");
    77. IChatBaseComponent bottom = ChatSerializer.a("{'extra': [{text: '" + getConfig().getInt(new StringBuilder(String.valueOf(player.getDisplayName())).append(".Tokens").toString()) + "', color: 'gold'}],'color': 'gray', 'text': 'Tokens: '}");
    78.  
    79. connection.sendPacket(new ProtocolInjector.PacketTabHeader(top, bottom));
    80. return true;
    81. }
    82.  
    83. @EventHandler
    84. public void onEntityDeath(EntityDeathEvent event) {
    85. Entity death = event.getEntity();
    86. Entity kill = event.getEntity().getKiller().getPlayer();
    87. Player player = (Player)kill;
    88. Location location = player.getLocation();
    89. int Tokens = getConfig().getInt(player.getDisplayName() + ".Tokens");
    90. if (((death instanceof Player)) && ((kill instanceof Player)))
    91. {
    92. getConfig().set(player.getDisplayName() + ".Tokens", Integer.valueOf(Tokens + 1));
    93. saveConfig();
    94. player.sendMessage(MelonKits.Prefix + "You have gained " + ChatColor.GREEN + "1" + ChatColor.GRAY + " token." + ChatColor.WHITE + " (" + ChatColor.DARK_PURPLE + getConfig().getInt(new StringBuilder(String.valueOf(player.getDisplayName())).append(".Tokens").toString()) + ChatColor.GRAY + " total" + ChatColor.WHITE + ")");
    95. player.playSound(location, Sound.ORB_PICKUP, 1.0F, 0.0F);
    96. return;
    97. }
    98.  
    99. }
    100. @EventHandler
    101. public void AsyncPlayerChat(AsyncPlayerChatEvent event) {
    102. Player player = event.getPlayer();
    103. String message = event.getMessage();
    104. event.setFormat(ChatColor.DARK_GRAY + "[" + ChatColor.GREEN + getConfig().getInt(new StringBuilder(String.valueOf(player.getDisplayName())).append(".Tokens").toString()) + ChatColor.DARK_GRAY + "] " + ChatColor.GRAY + player.getDisplayName() + ChatColor.DARK_GRAY + ": " + ChatColor.WHITE + message);
    105. if (Arrays.asList("-").contains(player.getName())) {
    106. event.setFormat(ChatColor.DARK_GRAY + "[" + ChatColor.GREEN + getConfig().getInt(new StringBuilder(String.valueOf(player.getDisplayName())).append(".Tokens").toString()) + ChatColor.DARK_GRAY + "] " + ChatColor.DARK_GRAY + "[" + ChatColor.BLUE + "Media" + ChatColor.DARK_GRAY + "] " + ChatColor.GRAY + player.getDisplayName() + ChatColor.DARK_GRAY + ": " + ChatColor.WHITE + message);
    107. }
    108. if (Arrays.asList("drdrebeats195").contains(player.getName())) {
    109. event.setFormat(ChatColor.DARK_GRAY + "[" + ChatColor.GREEN + getConfig().getInt(new StringBuilder(String.valueOf(player.getDisplayName())).append(".Tokens").toString()) + ChatColor.DARK_GRAY + "] " + ChatColor.DARK_GRAY + "[" + ChatColor.LIGHT_PURPLE + "Helper" + ChatColor.DARK_GRAY + "] " + ChatColor.GRAY + player.getDisplayName() + ChatColor.DARK_GRAY + ": " + ChatColor.WHITE + message);
    110. }
    111. if (player.hasPermission("meloncore.staff")) {
    112. event.setFormat(ChatColor.DARK_GRAY + "[" + ChatColor.GREEN + getConfig().getInt(new StringBuilder(String.valueOf(player.getDisplayName())).append(".Tokens").toString()) + ChatColor.DARK_GRAY + "] " + ChatColor.DARK_GRAY + "[" + ChatColor.DARK_PURPLE + "Moderator" + ChatColor.DARK_GRAY + "] " + ChatColor.GRAY + player.getDisplayName() + ChatColor.DARK_GRAY + ": " + ChatColor.WHITE + message);
    113. }
    114. if (Arrays.asList("XVenom17","iron768","68pingy").contains(player.getName())) {
    115. event.setFormat(ChatColor.DARK_GRAY + "[" + ChatColor.GREEN + getConfig().getInt(new StringBuilder(String.valueOf(player.getDisplayName())).append(".Tokens").toString()) + ChatColor.DARK_GRAY + "] " + ChatColor.DARK_GRAY + "[" + ChatColor.RED + "Administrator" + ChatColor.DARK_GRAY + "] " + ChatColor.GRAY + player.getDisplayName() + ChatColor.DARK_GRAY + ": " + ChatColor.WHITE + message);
    116. }
    117.  
    118. }
    119.  
    120. @EventHandler
    121. public void onPlayerInteract(PlayerInteractEvent event) {
    122. if(event.getAction() == Action.RIGHT_CLICK_BLOCK) {
    123. if(event.getClickedBlock().getType() == Material.SIGN_POST || event.getClickedBlock().getType() == Material.WALL_SIGN) {
    124. Sign sign = (Sign) event.getClickedBlock().getState();
    125. String[] lines = sign.getLines();
    126. if(lines[0].equalsIgnoreCase("-=-")) {
    127. if(lines[1].equalsIgnoreCase("[Kit]")) {
    128. if(lines[2].equalsIgnoreCase("PvP")) {
    129. if(lines[3].equalsIgnoreCase("-=-")) {
    130. event.getPlayer().chat("/pvp");
    131. }
    132.  
    133. }
    134.  
    135. }
    136.  
    137. }
    138.  
    139. }
    140.  
    141. }
    142.  
    143. }
    144.  
    145. }
     
  2. Offline

    WesJD

  3. Moved thread, Bukkit is for Bukkit, Bukkit Alternates is for alternatives like Spigot.
     
Thread Status:
Not open for further replies.

Share This Page