I'd like a Scoreboard for my upcoming Op Prison server, I will explain what I'd like the Plugin to four fill. Permissions: The Plugin won't have any Permissions, everything will be controlled by a Runnable. Function: I'd like the Plugin to display the Player's name along with their Prefix as the Objective Title. The scoreboard will feature several simple features that anyone on the Server is able to use, The first Score will be the Player's Balance & the Second and Final Score will display how much is required for the Player to reach their next Rank. I'd like this Plugin to be complete as soon as possible, however I have no problem waiting since I respect that people are spending their own time to four fill the Plugin that I requested.
Yoshlind I could do that. But how do I find out about how much is required for the next level? Do you mean the normal minecraft xp-points or what plugin are your using for economy/ranks?
simolus3 he means like prison Rankup by @mazentheamazing and if you ask him he will give you the API for it !!
I need it the Required Rank Up price to work of PaidRanks, if that's possible simolus3 EDIT by Moderator: merged posts, please use the edit button instead of double posting.
BearstudioMC scoreboard stats don't have what he wants and Yoshlind I don't know if paid ranks has the API needed to do this , prison Rankup is one of the best rank up plugins for a prison server so much that it is the only one I will use on my server. It has a lot of features That some plugins don't have
kxpeep93 I agree, Prison RankUp is great! I'd be using it however every time I attempt to load it I get a really Error.
timtower I finally managed to fix the Error, now I can use PrisonRankUp if it's easier for whoever choses to develop this Plugin for me If someone links be to a documentation of the API I'm possible able to create this myself timtower EDIT by Moderator: merged posts, please use the edit button instead of double posting.
Yoshlind make sure you use the proper imports for it import his main method static so it can be accessible in code !
If the tutorial was right, this should work... Code:java double moneyToNextRank = economy.getBalance(Player) - rank.getPrice(); for the scoreboard Code:java public void refreshScoreboard() {for (Player ap : Bukkit.getOnlinePlayers()) {Scoreboard s = Bukkit.getScoreboardManager().getNewScoreboard();Objective o = s.registerNewObjective("money", "dummy");o.setDisplaySlot(DisplaySlot.SIDEBAR);o.setDisplayName("Balance");o.getScore("Money").setScore(economy.getBalance(ap));o.getScore("To next rank").setScore(economy.getBalance(ap) - rank.getPrice());ap.setScoreboard(s);}
simolus3 You shouldnt refresh scoreboards like that it will crash large servers, update individual stats
[20:20:58 ERROR]: Could not load 'plugins/PrisonRankup_v2.6.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: net/craftservers/prisonrankup/PR : Unsupported major.minor version 51.0 at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[minecraft_server.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:328) ~[minecraft_server.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) [minecraft_server.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at org.bukkit.craftbukkit.v1_7_R3.CraftServer.loadPlugins(CraftServer.java:355) [minecraft_server.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at org.bukkit.craftbukkit.v1_7_R3.CraftServer.reload(CraftServer.java:797) [minecraft_server.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at org.bukkit.Bukkit.reload(Bukkit.java:288) [minecraft_server.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:23) [minecraft_server.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:180) [minecraft_server.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at org.bukkit.craftbukkit.v1_7_R3.CraftServer.dispatchCommand(CraftServer.java:701) [minecraft_server.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at org.bukkit.craftbukkit.v1_7_R3.CraftServer.dispatchServerCommand(CraftServer.java:688) [minecraft_server.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at net.minecraft.server.v1_7_R3.DedicatedServer.aB(DedicatedServer.java:296) [minecraft_server.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:261) [minecraft_server.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:558) [minecraft_server.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:469) [minecraft_server.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628) [minecraft_server.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] Caused by: java.lang.UnsupportedClassVersionError: net/craftservers/prisonrankup/PR : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.6.0_65] at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637) ~[?:1.6.0_65] at java.lang.ClassLoader.defineClass(ClassLoader.java:621) ~[?:1.6.0_65] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) ~[?:1.6.0_65] at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) ~[?:1.6.0_65] at java.net.URLClassLoader.access$000(URLClassLoader.java:58) ~[?:1.6.0_65] at java.net.URLClassLoader$1.run(URLClassLoader.java:197) ~[?:1.6.0_65] at java.security.AccessController.doPrivileged(Native Method) ~[?:1.6.0_65] at java.net.URLClassLoader.findClass(URLClassLoader.java:190) ~[?:1.6.0_65] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:77) ~[minecraft_server.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:62) ~[minecraft_server.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at java.lang.ClassLoader.loadClass(ClassLoader.java:306) ~[?:1.6.0_65] at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ~[?:1.6.0_65] at java.lang.Class.forName0(Native Method) ~[?:1.6.0_65] at java.lang.Class.forName(Class.java:249) ~[?:1.6.0_65] at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:40) ~[minecraft_server.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:127) ~[minecraft_server.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] ... 14 more @simolous3 When I updated my PrisonRankup I got the Error above, do you know how to solve it? simolus3 Onlineids simolus3 Rank can't be a resolved type, I used the import importstatic net.craftservers.prisonrankup.PrisonRankup.*; EDIT by Moderator: merged posts, please use the edit button instead of double posting.
Yoshlind learn basic java before coding a plugin and by the way it's not importstatic it's import static
timtower That is correct, update to Java 7. Yoshlind You should be calling 'getRank' statically. Funny enough that he copied exactly what I said to somebody and basically reposted it.
kxpeep93 I'd give him the benefit of the doubt as to what he said earlier without the spacing was a simple error with applying syntax to his text. <3 :')
Code:java package me.Endermite.Test; import java.io.File;import java.io.IOException; import org.bukkit.Bukkit;import org.bukkit.command.Command;import org.bukkit.command.CommandSender;import org.bukkit.configuration.file.YamlConfiguration;import org.bukkit.entity.Player;import org.bukkit.plugin.java.JavaPlugin; public class Main extends JavaPlugin { @Overridepublic void onEnable() {getPrisonRankup();getPrisonRankupData();Bukkit.getLogger().info("[Test] Succesfully enabled.");super.onEnable();} @Overridepublic void onDisable() {Bukkit.getLogger().info("[Test] Suffesfuly disabled.");super.onDisable();} public void getPrisonRankup() {if (!(Bukkit.getPluginManager().getPlugin("PrisonRankup").isEnabled())) {Bukkit.getLogger().info("[Test] Can't find 'PrisonRankup', Disabling.");}else {Bukkit.getLogger().info("[Test] Found 'PrisonRankup', continuing.");}} public void saveData(YamlConfiguration data, File file) {try {data.save(file);}catch (IOException iOException) {Bukkit.shutdown();}} public void getPrisonRankupData() {File file = new File(Bukkit.getPluginManager().getPlugin("PrisonRankup").getDataFolder(), "data.yml");YamlConfiguration data = YamlConfiguration.loadConfiguration(file); file = new File(this.getDataFolder(), "data.yml");try {data.save(file);}catch (IOException iOException) {Bukkit.shutdown();}} public YamlConfiguration getData() {File file = new File(this.getDataFolder(), "data.yml");YamlConfiguration data = YamlConfiguration.loadConfiguration(file); return data;} @Overridepublic boolean onCommand(CommandSender sender, Command command,String label, String[] args) {if (command.getName().equalsIgnoreCase("rank")) {if (sender instanceof Player) {Player player = (Player) sender;if (player.hasPermission("Test.Rank")) {player.sendMessage(getData().get("users." + player.getUniqueId() + ".group") + " ");}}}return super.onCommand(sender, command, label, args);} } Can someone please tell me why this is sending them the Message 'Null' even tho, in the Data File. They're the Rank that the actually are. Here's what's been stored in the Data file. users: 12b246185b5f4125ba0d6555385f7236: group: P 3c09657448004f909c8e700b7055a6f1: group: I e0c7278a9dc248868de819474ad5c7f5: group: K a052ca54810047509a5310061294d74c: group: Z 3f5b1df24bc04a33b349af849979ef14: group: H fcd3eeed07774fb9ba01f387a916d252: group: F f9e735db7b2545d9b2df09097d1a3089: group: B kxpeep93 mazentheamazin timtower EDIT by Moderator: merged posts, please use the edit button instead of double posting.
Yoshlind Try to use the edit button instead of triple posting please. Server shutdown on an error? Bit overkill if you ask me.
Yoshlind You really should be using the API... Code:java //Getting the players current rankPrisonRankup.getPlayer(name).getCurrentRank() //Get the ranks name (string representation)PrisonRankup.getPlayer(name).getCurrentRank().getName()
Yoshlind this is what your code should look like Code:java import net.craftservers.prisonrankup.PrisonRankup; import org.bukkit.Bukkit;import org.bukkit.ChatColor;import org.bukkit.command.Command;import org.bukkit.command.CommandSender;import org.bukkit.entity.Player;import org.bukkit.plugin.java.JavaPlugin; public class Main extends JavaPlugin { public void onEnable() { Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.GREEN + "test enabled"); } public void onDisable() { Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.GREEN + "test disabled"); } @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if (!(sender instanceof Player)) { sender.sendMessage(ChatColor.RED + "this command is for players only"); return true; } if(label.equalsIgnoreCase("rank")) { Player player = (Player) sender; if(player.hasPermission("Test.Rank")) { String name = player.getName(); player.sendMessage("you current rank is " + PrisonRankup.getPlayer(name).getCurrentRank().getName()); }else{ player.sendMessage(ChatColor.RED + "you don't have permission to perform this command"); } return true; }return true; }}