Name Cannot Be Blank

Discussion in 'Plugin Development' started by leet4044, Jun 13, 2014.

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

    leet4044

    So, on my test server. This works perfectly fine. Displays all info. But when I upload it to the live server, it wants to break and put out "Name can not be blank"

    Stack Trace:

    PHP:
    [07:24:32] [Server thread/WARN]: [Grand_Theft_AutoTask #47 for Grand_Theft_Auto v1.0 generated an exception
    java.lang.IllegalArgumentExceptionName cannot be blank
        at com
    .google.common.base.Preconditions.checkArgument(Preconditions.java:88) ~[Spigot.jar:git-Spigot-1487]
        
    at org.bukkit.craftbukkit.v1_7_R3.CraftServer.getOfflinePlayer(CraftServer.java:1324) ~[Spigot.jar:git-Spigot-1487]
        
    at org.bukkit.Bukkit.getOfflinePlayer(Bukkit.java:420) ~[Spigot.jar:git-Spigot-1487]
        
    at code.Young_Explicit.gta.ScoreboardManager.build(ScoreboardManager.java:82) ~[?:?]
        
    at code.Young_Explicit.gta.GTA$1.run(GTA.java:79) ~[?:?]
        
    at org.bukkit.craftbukkit.v1_7_R3.scheduler.CraftTask.run(CraftTask.java:58) ~[Spigot.jar:git-Spigot-1487]
        
    at org.bukkit.craftbukkit.v1_7_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345) [Spigot.jar:git-Spigot-1487]
        
    at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:635) [Spigot.jar:git-Spigot-1487]
        
    at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:283) [Spigot.jar:git-Spigot-1487]
        
    at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:583) [Spigot.jar:git-Spigot-1487]
        
    at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:489) [Spigot.jar:git-Spigot-1487]
        
    at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628) [Spigot.jar:git-Spigot-1487]

    GTA Class:
    Code:java
    1. package code.Young_Explicit.gta;
    2.  
    3. import java.util.ArrayList;
    4. import java.util.HashMap;
    5. import java.util.Iterator;
    6. import java.util.Random;
    7.  
    8. import net.milkbowl.vault.Vault;
    9. import net.milkbowl.vault.economy.Economy;
    10.  
    11. import org.bukkit.Bukkit;
    12. import org.bukkit.GameMode;
    13. import org.bukkit.Location;
    14. import org.bukkit.Material;
    15. import org.bukkit.entity.EntityType;
    16. import org.bukkit.entity.LivingEntity;
    17. import org.bukkit.entity.PigZombie;
    18. import org.bukkit.entity.Player;
    19. import org.bukkit.inventory.ItemStack;
    20. import org.bukkit.plugin.Plugin;
    21. import org.bukkit.plugin.PluginManager;
    22. import org.bukkit.plugin.RegisteredServiceProvider;
    23. import org.bukkit.plugin.java.JavaPlugin;
    24. import org.bukkit.scheduler.BukkitRunnable;
    25.  
    26. import code.Young_Explicit.gta.events.PlayerEvents;
    27. import code.Young_Explicit.gta.utills.Colorizer;
    28. import code.Young_Explicit.gta.utills.Lag;
    29. import code.Young_Explicit.gta.utills.Utills;
    30.  
    31. public class GTA extends JavaPlugin {
    32.  
    33. private HashMap<Player, Integer> wanted = new HashMap<Player, Integer>();
    34. private HashMap<PigZombie, Player> officers = new HashMap<PigZombie, Player>();
    35. private HashMap<Player, Long> lastKill = new HashMap<Player, Long>();
    36. public static Economy economy;
    37. private static GTA plugin;
    38. public static boolean chatOff = false;
    39.  
    40. public void onEnable() {
    41. plugin = this;
    42. getServer().getPluginManager().registerEvents(new PlayerEvents(), this);
    43.  
    44. getServer().getScheduler().scheduleSyncRepeatingTask(this, new Lag(), 100L, 1L);
    45.  
    46. getConfig().addDefault("Wanted.Chance", Integer.valueOf(100));
    47. getConfig().addDefault("Wanted.DecayTime", Integer.valueOf(30));
    48. getConfig().options().copyDefaults(true);
    49. saveConfig();
    50.  
    51. getCommand("gta").setExecutor(new Commands());
    52.  
    53. Bukkit.getScheduler().scheduleSyncRepeatingTask(GTA.getPlugin(), new Runnable() {
    54. public void run() {
    55. for (Player p : Bukkit.getOnlinePlayers()) {
    56. ScoreboardManager scoreboard = new ScoreboardManager("§6§lSpit-Fire");
    57. scoreboard.add("§d§lPlayers");
    58. scoreboard.add("§3" + Bukkit.getServer().getOnlinePlayers().length);
    59. scoreboard.blankLine();
    60. scoreboard.add("§c§lWanted Level");
    61. scoreboard.add("§5" + Utills.gS(0));
    62. scoreboard.blankLine();
    63. scoreboard.add("§6K/D Ratio");
    64. scoreboard.add("§9" + GTA.getPlugin().getPlayerKills(p) + "/" + GTA.getPlugin().getPlayerDeaths(p));
    65. scoreboard.blankLine();
    66. scoreboard.add("§a§lBalance");
    67. scoreboard.add("§e" + GTA.economy.getBalance(p.getName()));
    68. // scoreboard.blankLine();
    69. // scoreboard.add("§a§lSFPoints");
    70. // try {
    71. // scoreboard.add("§e" + SFPoints.getSFPoints(p));
    72. // } catch (SQLException e1) {
    73. // scoreboard.add("§cError");
    74. // e1.printStackTrace();
    75. // }
    76. scoreboard.blankLine();
    77. scoreboard.add("§b§lGang");
    78. scoreboard.add("§cComing Soon");
    79. scoreboard.build();
    80. scoreboard.send(p);
    81. }
    82. }
    83. }, 0L, 3*20);
    84.  
    85. new BukkitRunnable() {
    86. public void run() {
    87. ArrayList<PigZombie> remove = new ArrayList<PigZombie>();
    88. for (PigZombie z : GTA.this.officers.keySet()) {
    89. boolean r = false;
    90. if (z.getTarget() == null) {
    91. r = true;
    92. }
    93. if ((!r) && (!(z.getTarget() instanceof Player))) {
    94. r = true;
    95. }
    96. if ((!r) && (GTA.this.getWanted((Player) z.getTarget()) == 0)) {
    97. r = true;
    98. }
    99. if ((!r) && (((Player) GTA.this.officers.get(z)).getGameMode() == GameMode.CREATIVE)) {
    100. r = true;
    101. }
    102. z.setTarget((LivingEntity) GTA.this.officers.get(z));
    103. z.setAnger(0);
    104. z.setAngry(false);
    105. if (r) {
    106. remove.add(z);
    107. z.remove();
    108. }
    109. }
    110. Iterator<PigZombie> i = remove.iterator();
    111. while (i.hasNext()) {
    112. GTA.this.officers.remove(i.next());
    113. }
    114. }
    115. }.runTaskTimer(this, 20L, 100L);
    116.  
    117. new BukkitRunnable() {
    118. public void run() {
    119. Random r = new Random();
    120. for (Player p : GTA.this.wanted.keySet()) {
    121. if ((((Integer) GTA.this.wanted.get(p)).intValue() > 0) && (r.nextInt(6) <= ((Integer) GTA.this.wanted.get(p)).intValue())) {
    122. GTA.this.spawnOfficer(p);
    123. }
    124. }
    125. }
    126. }.runTaskTimer(this, 50L, 50L);
    127.  
    128. new BukkitRunnable() {
    129. public void run() {
    130. for (Player p : GTA.this.wanted.keySet()) {
    131. if (((Integer) GTA.this.wanted.get(p)).intValue() > 0) {
    132. if (GTA.this.lastKill.containsKey(GTA.this.wanted)) {
    133. if (((Long) GTA.this.lastKill.get(p)).longValue() + 30L < Utills.getTime()) {
    134. GTA.this.setWanted(p, ((Integer) GTA.this.wanted.get(p)).intValue() - 1);
    135. }
    136. } else {
    137. GTA.this.setWanted(p, ((Integer) GTA.this.wanted.get(p)).intValue() - 1);
    138. }
    139. }
    140. }
    141. }
    142. }.runTaskTimer(this, 20L, 20L * getConfig().getInt("Wanted.DecayTime", 30));
    143.  
    144. setupVault(getServer().getPluginManager());
    145. }
    146.  
    147. private void initPlayer(String n) {
    148. getConfig().set("Data." + n + ".Kills", Integer.valueOf(0));
    149. getConfig().set("Data." + n + ".Deaths", Integer.valueOf(0));
    150. }
    151.  
    152. public int getPlayerKills(Player plr) {
    153. if (!getConfig().isSet("Data." + plr.getName())) {
    154. initPlayer(plr.getName());
    155. }
    156. return getConfig().getInt("Data." + plr.getName() + ".Kills");
    157. }
    158.  
    159. public int getPlayerDeaths(Player plr) {
    160. if (!getConfig().isSet("Data." + plr.getName())) {
    161. initPlayer(plr.getName());
    162. }
    163. return getConfig().getInt("Data." + plr.getName() + ".Deaths");
    164. }
    165.  
    166. public void setPlayerKills(Player plr, int kills) {
    167. if (!getConfig().isSet("Data." + plr.getName())) {
    168. initPlayer(plr.getName());
    169. }
    170. getConfig().set("Data." + plr.getName() + ".Kills",
    171. Integer.valueOf(kills));
    172. saveConfig();
    173. }
    174.  
    175. public void setPlayerDeaths(Player plr, int deaths) {
    176. if (!getConfig().isSet("Data." + plr.getName())) {
    177. initPlayer(plr.getName());
    178. }
    179. getConfig().set("Data." + plr.getName() + ".Deaths",
    180. Integer.valueOf(deaths));
    181. saveConfig();
    182. }
    183.  
    184. private void setupVault(PluginManager pm) {
    185. Plugin vault = pm.getPlugin("Vault");
    186. if ((vault != null) && ((vault instanceof Vault))) {
    187. getLogger().info(
    188. "Load Vault v" + vault.getDescription().getVersion());
    189. if (!setupEconomy()) {
    190. getLogger().warning("No economy plugin installed. Scoreboard won't show balance.");
    191. economy = null;
    192. }
    193. } else {
    194. getLogger().warning("Vault not loaded, please check your plugins folder or console.");
    195. economy = null;
    196. }
    197. }
    198.  
    199. private boolean setupEconomy() {
    200. RegisteredServiceProvider<Economy> economyProvider = getServer().getServicesManager().getRegistration(Economy.class);
    201. if (economyProvider != null) {
    202. economy = (Economy) economyProvider.getProvider();
    203. } else {
    204. return false;
    205. }
    206. return economy != null;
    207. }
    208.  
    209. public void onDisable() {
    210. for (PigZombie z : this.officers.keySet()) {
    211. z.remove();
    212. }
    213. saveConfig();
    214. }
    215.  
    216. public void killOfficersFor(Player plr) {
    217. ArrayList<PigZombie> kill = new ArrayList<PigZombie>();
    218. for (PigZombie z : this.officers.keySet()) {
    219. if (((Player) this.officers.get(z)).equals(plr)) {
    220. kill.add(z);
    221. }
    222. }
    223. for (PigZombie z : kill) {
    224. this.officers.remove(z);
    225. z.remove();
    226. }
    227. }
    228.  
    229. public static GTA getPlugin() {
    230. return plugin;
    231. }
    232.  
    233. public void spawnOfficer(Player target) {
    234. if (target.getGameMode() == GameMode.CREATIVE) {
    235. return;
    236. }
    237. Location l = Utills.getRandomLocationAround(target.getLocation(), 10);
    238. int failsafe = 0;
    239. while ((l.getBlock().getType() != Material.AIR) && (failsafe < 5)) {
    240. l = Utills.getRandomLocationAround(target.getLocation(), 10);
    241. failsafe++;
    242. }
    243. if (GTA.this.getWanted(target) == 1) {
    244. PigZombie lv1 = (PigZombie) target.getWorld().spawnEntity(Utills.getRandomLocationAround(target.getLocation(), 5), EntityType.PIG_ZOMBIE);
    245. lv1.setTarget(target);
    246. lv1.getEquipment().setHelmet(Colorizer.setColor(new ItemStack(Material.LEATHER_HELMET), 0, 0, 255));
    247. lv1.getEquipment().setHelmetDropChance(0.3F);
    248. lv1.getEquipment().setChestplate(Colorizer.setColor(new ItemStack(Material.LEATHER_CHESTPLATE), 0, 0, 255));
    249. lv1.getEquipment().setChestplateDropChance(0.3F);
    250. lv1.getEquipment().setLeggings(Colorizer.setColor(new ItemStack(Material.LEATHER_LEGGINGS), 0, 0, 255));
    251. lv1.getEquipment().setLeggingsDropChance(0.3F);
    252. lv1.getEquipment().setBoots(Colorizer.setColor(new ItemStack(Material.LEATHER_BOOTS), 0, 0, 255));
    253. lv1.getEquipment().setBootsDropChance(0.3F);
    254. lv1.setCanPickupItems(false);
    255. lv1.setCustomName("§b§lPolice");
    256. lv1.setMaxHealth(10.0);
    257. lv1.setHealth(10.0);
    258. lv1.setCustomNameVisible(true);
    259. lv1.getRemoveWhenFarAway();
    260. lv1.setRemoveWhenFarAway(true);
    261. this.officers.put(lv1, target);
    262. }
    263.  
    264. else if (GTA.this.getWanted(target) == 2) {
    265. PigZombie lv2 = (PigZombie) target.getWorld().spawnEntity(Utills.getRandomLocationAround(target.getLocation(), 5), EntityType.PIG_ZOMBIE);
    266. lv2.setTarget(target);
    267. lv2.getEquipment().setHelmet(new ItemStack(Material.CHAINMAIL_HELMET, 1));
    268. lv2.getEquipment().setHelmetDropChance(0.3F);
    269. lv2.getEquipment().setChestplate(Colorizer.setColor(new ItemStack(Material.LEATHER_CHESTPLATE), 0, 0, 255));
    270. lv2.getEquipment().setChestplateDropChance(0.3F);
    271. lv2.getEquipment().setLeggings(new ItemStack(Material.CHAINMAIL_LEGGINGS, 1));
    272. lv2.getEquipment().setLeggingsDropChance(0.3F);
    273. lv2.getEquipment().setBoots(Colorizer.setColor(new ItemStack(Material.LEATHER_BOOTS), 0, 0, 255));
    274. lv2.getEquipment().setBootsDropChance(0.3F);
    275. lv2.setCanPickupItems(false);
    276. lv2.setMaxHealth(13.0);
    277. lv2.setHealth(13.0);
    278. lv2.setCustomName("§b§lPolice");
    279. lv2.setCustomNameVisible(true);
    280. lv2.setRemoveWhenFarAway(true);
    281. this.officers.put(lv2, target);
    282. }
    283.  
    284. else if (GTA.this.getWanted(target) == 3) {
    285. PigZombie lv3 = (PigZombie) target.getWorld().spawnEntity(Utills.getRandomLocationAround(target.getLocation(), 5), EntityType.PIG_ZOMBIE);
    286. lv3.setTarget(target);
    287. lv3.getEquipment().setHelmet(new ItemStack(Material.CHAINMAIL_HELMET, 1));
    288. lv3.getEquipment().setHelmetDropChance(0.3F);
    289. lv3.getEquipment().setChestplate(new ItemStack(Material.CHAINMAIL_CHESTPLATE, 1));
    290. lv3.getEquipment().setChestplateDropChance(0.3F);
    291. lv3.getEquipment().setLeggings(new ItemStack(Material.CHAINMAIL_LEGGINGS, 1));
    292. lv3.getEquipment().setLeggingsDropChance(0.3F);
    293. lv3.getEquipment().setBoots(new ItemStack(Material.CHAINMAIL_BOOTS, 1));
    294. lv3.getEquipment().setBootsDropChance(0.3F);
    295. lv3.setMaxHealth(16.0);
    296. lv3.setHealth(16.0);
    297. lv3.setCanPickupItems(false);
    298. lv3.setCustomName("§9§lSwat");
    299. lv3.setCustomNameVisible(true);
    300. lv3.setRemoveWhenFarAway(true);
    301. this.officers.put(lv3, target);
    302. }
    303.  
    304. else if (GTA.this.getWanted(target) == 4) {
    305. PigZombie lv4 = (PigZombie) target.getWorld().spawnEntity(Utills.getRandomLocationAround(target.getLocation(), 5), EntityType.PIG_ZOMBIE);
    306. lv4.setTarget(target);
    307. lv4.getEquipment().setHelmet(new ItemStack(Material.IRON_HELMET, 1));
    308. lv4.getEquipment().setHelmetDropChance(0.3F);
    309. lv4.getEquipment().setChestplate(new ItemStack(Material.CHAINMAIL_CHESTPLATE, 1));
    310. lv4.getEquipment().setChestplateDropChance(0.3F);
    311. lv4.getEquipment().setLeggings(new ItemStack(Material.IRON_LEGGINGS, 1));
    312. lv4.getEquipment().setLeggingsDropChance(0.3F);
    313. lv4.getEquipment().setBoots(new ItemStack(Material.CHAINMAIL_BOOTS, 1));
    314. lv4.getEquipment().setBootsDropChance(0.3F);
    315. lv4.setMaxHealth(19.0);
    316. lv4.setHealth(19.0);
    317. lv4.setCanPickupItems(false);
    318. lv4.setCustomName("§9§lSwat");
    319. lv4.setCustomNameVisible(true);
    320. lv4.setRemoveWhenFarAway(true);
    321. this.officers.put(lv4, target);
    322. }
    323.  
    324. else if (GTA.this.getWanted(target) == 5) {
    325. PigZombie lv5 = (PigZombie) target.getWorld().spawnEntity(Utills.getRandomLocationAround(target.getLocation(), 5), EntityType.PIG_ZOMBIE);
    326. lv5.setTarget(target);
    327. lv5.getEquipment().setHelmet(new ItemStack(Material.DIAMOND_HELMET, 1));
    328. lv5.getEquipment().setHelmetDropChance(0.1F);
    329. lv5.getEquipment().setChestplate(new ItemStack(Material.DIAMOND_CHESTPLATE, 1));
    330. lv5.getEquipment().setChestplateDropChance(0.1F);
    331. lv5.getEquipment().setLeggings(new ItemStack(Material.DIAMOND_LEGGINGS, 1));
    332. lv5.getEquipment().setLeggingsDropChance(0.1F);
    333. lv5.getEquipment().setBoots(new ItemStack(Material.DIAMOND_BOOTS, 1));
    334. lv5.getEquipment().setBootsDropChance(0.1F);
    335. lv5.setMaxHealth(12.0);
    336. lv5.setHealth(12.0);
    337. lv5.setCanPickupItems(false);
    338. lv5.setCustomName("§2§lMilitary");
    339. lv5.setCustomNameVisible(true);
    340. lv5.setRemoveWhenFarAway(true);
    341. this.officers.put(lv5, target);
    342. }
    343. }
    344.  
    345.  
    346. public void updateLastKill(Player player) {
    347. this.lastKill.put(player, Long.valueOf(Utills.getTime()));
    348. }
    349.  
    350.  
    351. public void setWanted(Player player, int level) {
    352. this.wanted.put(player, Integer.valueOf(level));
    353. }
    354.  
    355. public int getWanted(Player player) {
    356. if (!this.wanted.containsKey(player)) {
    357. this.wanted.put(player, Integer.valueOf(0));
    358. }
    359. return ((Integer) this.wanted.get(player)).intValue();
    360. }
    361.  
    362. public int getWantedChance() {
    363. return getConfig().getInt("Wanted.Chance", 100);
    364. }
    365. }
    366.  


    ScoreboardManager Class:
    Code:java
    1. package code.Young_Explicit.gta;
    2.  
    3. import java.util.AbstractMap;
    4. import java.util.Iterator;
    5. import java.util.List;
    6. import java.util.Map;
    7.  
    8. import org.bukkit.Bukkit;
    9. import org.bukkit.OfflinePlayer;
    10. import org.bukkit.entity.Player;
    11. import org.bukkit.scoreboard.DisplaySlot;
    12. import org.bukkit.scoreboard.Objective;
    13. import org.bukkit.scoreboard.Scoreboard;
    14. import org.bukkit.scoreboard.Team;
    15.  
    16. import com.google.common.base.Preconditions;
    17. import com.google.common.base.Splitter;
    18. import com.google.common.collect.Lists;
    19. import com.google.common.collect.Maps;
    20.  
    21. public class ScoreboardManager {
    22.  
    23. private Scoreboard scoreboard;
    24.  
    25. private String title;
    26. private Map<String, Integer> scores;
    27. private List<Team> teams;
    28.  
    29. public ScoreboardManager(String title) {
    30. this.scoreboard = Bukkit.getScoreboardManager().getNewScoreboard();
    31. this.title = title;
    32. this.scores = Maps.newLinkedHashMap();
    33. this.teams = Lists.newArrayList();
    34. }
    35.  
    36. public void blankLine() {
    37. add(" ");
    38. }
    39.  
    40. public void add(String text) {
    41. add(text, null);
    42. }
    43.  
    44. public void add(String text, Integer score) {
    45. Preconditions.checkArgument(text.length() < 48, "text cannot be over 48 characters in length");
    46. text = fixDuplicates(text);
    47. scores.put(text, score);
    48. }
    49.  
    50. private String fixDuplicates(String text) {
    51. while (scores.containsKey(text))
    52. text += "§r";
    53. if (text.length() > 48)
    54. text = text.substring(0, 47);
    55. return text;
    56. }
    57.  
    58. private Map.Entry<Team, String> createTeam(String text) {
    59. String result = "";
    60. if (text.length() <= 16)
    61. return new AbstractMap.SimpleEntry<>(null, text);
    62. Team team = scoreboard.registerNewTeam("text-" + scoreboard.getTeams().size());
    63. Iterator<String> iterator = Splitter.fixedLength(16).split(text).iterator();
    64. team.setPrefix(iterator.next());
    65. result = iterator.next();
    66. if (text.length() > 32)
    67. team.setSuffix(iterator.next());
    68. teams.add(team);
    69. return new AbstractMap.SimpleEntry<>(team, result);
    70. }
    71.  
    72. public void build() {
    73. Objective obj = scoreboard.registerNewObjective((title.length() > 16 ? title.substring(0, 15) : title), "dummy");
    74. obj.setDisplayName(title);
    75. obj.setDisplaySlot(DisplaySlot.SIDEBAR);
    76.  
    77. int index = scores.size();
    78.  
    79. for (Map.Entry<String, Integer> text : scores.entrySet()) {
    80. Map.Entry<Team, String> team = createTeam(text.getKey());
    81. Integer score = text.getValue() != null ? text.getValue() : index;
    82. OfflinePlayer player = Bukkit.getOfflinePlayer(team.getValue());
    83. if (team.getKey() != null)
    84. team.getKey().addPlayer(player);
    85. obj.getScore(player).setScore(score);
    86. index -= 1;
    87. }
    88. }
    89.  
    90. public void reset() {
    91. title = null;
    92. scores.clear();
    93. for (Team t : teams)
    94. t.unregister();
    95. teams.clear();
    96. }
    97.  
    98. public Scoreboard getScoreboard() {
    99. return scoreboard;
    100. }
    101.  
    102. public void send(Player... players) {
    103. for (Player p : players)
    104. p.setScoreboard(scoreboard);
    105. }
    106.  
    107. }
    108.  
     
  2. leet4044 I dont think theres support for Spigot in here
     
  3. Offline

    JaguarJo

    Locked. I'm sorry but you are not using our software. Please seek support from the makers of your build.
     
Thread Status:
Not open for further replies.

Share This Page