Solved Replace String with with Double?

Discussion in 'Plugin Development' started by megasaad44, Aug 6, 2014.

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

    megasaad44

    I'm trying to do a motd thing here. s is a String, what i need to do is convert "[BALANCE]" in that String to the balance of a player. I had some help with this by doing .valueOf() but that didn't help much. This is what i have so far:
    Code:java
    1. s = s.replaceAll("[BALANCE]", String.valueOf(Main.econ.getBalance(event.getPlayer())));
    2.  

    Error is a Null Pointer right now from that statement. It uses vault.
     
  2. megasaad44 1. replaceAll() is for regex, use replace() instead.
    2. Something is null, debug the values to see which one.
     
  3. Offline

    megasaad44

    AdamQpzm The console said the error is that line and that line only. I'm gonna try replacing ReplaceAll() with replace() (replaceception) And see what happens.

    EDIT: It didn't work. :( same error.

    megasaad44 paste whole code and say where exactly is the problem at.

    Necrodoom
    Code:java
    1. @EventHandler
    2. public void onPlayerJoin(final PlayerJoinEvent event) {
    3. new BukkitRunnable() {
    4. @Override
    5. public void run() {
    6. for (String s : plugin.getConfig().getStringList("Server ingame motd")) {
    7. s = ChatColor.translateAlternateColorCodes('&', s);
    8. s = s.replaceAll("[PLAYER]", event.getPlayer().getName());
    9. s = s.replaceAll("[DISPLAYNAME]", event.getPlayer().getDisplayName());
    10. s = s.replace("[BALANCE]", String.valueOf(Main.econ.getBalance(event.getPlayer())));
    11. s = s.replaceAll("[ONLINE]", String.valueOf(Main.plugin.getServer().getOnlinePlayers().length));
    12. s = s.replaceAll("[MAX]", String.valueOf(Main.plugin.getServer().getMaxPlayers()));
    13. event.getPlayer().sendMessage(s);
    14. }
    15. }
    16. }.runTaskLater(plugin, 10);
    17. }


    Code:
    2:24:21 PM [WARNING] [Saad] Task #6 for Saad v1.0 generated an exception
    2:24:21 PM java.lang.NullPointerException
    2:24:21 PM    at me.lordsaad44.saad.Motd$1.run(Motd.java:35) ~[?:?]
    2:24:22 PM    at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:53) ~[craftbukkit-1.7.10-R0.1-20140716.024944-5%20(1).jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
    2:24:22 PM    at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345) [craftbukkit-1.7.10-R0.1-20140716.024944-5%20(1).jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
    2:24:22 PM    at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:600) [craftbukkit-1.7.10-R0.1-20140716.024944-5%20(1).jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
    2:24:22 PM    at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:258) [craftbukkit-1.7.10-R0.1-20140716.024944-5%20(1).jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
    2:24:22 PM    at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:558) [craftbukkit-1.7.10-R0.1-20140716.024944-5%20(1).jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
    2:24:22 PM    at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:469) [craftbukkit-1.7.10-R0.1-20140716.024944-5%20(1).jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
    2:24:22 PM    at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit-1.7.10-R0.1-20140716.024944-5%20(1).jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
    
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Aug 1, 2018
  4. megasaad44 Something on that line is null, debug the values to see which one. I feel like I've said this before. :)

    EDIT: You know what, this is sufficient since both points are still relevant
     
  5. Offline

    megasaad44

    AdamQpzm
    If it returns null then my vault method is null somewhere.
    Code:java
    1. private boolean setupEconomy() {
    2. if (getServer().getPluginManager().getPlugin("Vault") == null) {
    3. return false;
    4. }
    5. RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
    6. if (rsp == null) {
    7. return false;
    8. }
    9. econ = rsp.getProvider();
    10. return econ != null;
    11. }

    It has anti-null checks....
    Do you suppose i should debug the entire motd class?
     
  6. megasaad44 Sure, go ahead. Also, can you show me where you call setupEconomy()?
     
  7. Offline

    Necrodoom

    megasaad44 is trying to print the variables involved in the line to see if one of them is null a problem?

    AdamQpzm
    Necrodoom
    Fixed. If Adam hadn't asked for where setupEconomy was, i wouldn't have checked my self! I forgot to call the method onEnable(). Thanks for the help. Thread Solved

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

Share This Page