getip command, help please

Discussion in 'Plugin Development' started by Mathias Eklund, Jul 8, 2013.

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

    Mathias Eklund

    Hey, i added a command, /getip , and it isn't working and i don't know why.

    The section for the command. v
    Show Spoiler
    Code:java
    1. if(cmd.getName().equalsIgnoreCase("getip")) {
    2. Player player = (Player)sender;
    3. if (sender.hasPermission("hammerfall.getip")) {
    4. if(args.length == 0){
    5. sender.sendMessage(ChatColor.GRAY + "Must specify a target.");
    6. }
    7. else if(args.length == 1){
    8. Player targetPlayer = player.getServer().getPlayer(args[0]);
    9. player.sendMessage( ChatColor.GRAY + " IP is " + targetPlayer.getAddress());
    10. }
    11. } else {
    12. sender.sendMessage(ChatColor.RED + "You don't have permissions for this command!");
    13. }
    14. }
    15. return false;
    16. }


    Whole class file. v
    Show Spoiler
    Code:java
    1. package me.dojmgubben.hammerfall;
    2.  
    3. import java.util.ArrayList;
    4. import java.util.HashMap;
    5. import java.util.Iterator;
    6. import java.util.List;
    7. import java.util.logging.Logger;
    8.  
    9. import org.bukkit.Bukkit;
    10. import org.bukkit.ChatColor;
    11. import org.bukkit.command.Command;
    12. import org.bukkit.command.CommandSender;
    13. import org.bukkit.entity.Entity;
    14. import org.bukkit.entity.EntityType;
    15. import org.bukkit.entity.Player;
    16. import org.bukkit.metadata.FixedMetadataValue;
    17. import org.bukkit.metadata.MetadataValue;
    18. import org.bukkit.plugin.PluginDescriptionFile;
    19. import org.bukkit.plugin.java.JavaPlugin;
    20.  
    21. public class Hammerfall extends JavaPlugin {
    22. public final static Logger logger = Logger.getLogger("Minecraft");
    23. public static Hammerfall plugin;
    24. private FlyCommand flycmd;
    25. HashMap<String, String> PS = new HashMap<String, String>();
    26. HashMap<String, Boolean> ToFrom = new HashMap<String, Boolean>();
    27. public final ArrayList<Player> users = new ArrayList<Player>();
    28.  
    29. public void onDisable() {
    30. PluginDescriptionFile pdfFile = getDescription();
    31. Hammerfall.logger.info(pdfFile.getName() + " has been disabled.");
    32. saveConfig();
    33. for (Player p : this.flycmd.flying) {
    34. p.setFlying(false);
    35. p.setAllowFlight(false);
    36. }
    37. }
    38.  
    39. public void onEnable() {
    40. PluginDescriptionFile pdfFile = getDescription();
    41. Hammerfall.logger.info(pdfFile.getName() + " Version: "
    42. + pdfFile.getVersion() + " has been enabled.");
    43. getConfig().options().copyDefaults(true);
    44. saveConfig();
    45. getServer().getPluginManager().registerEvents(new MuteListener(this),
    46. this);
    47. getCommand("mute").setExecutor(new MuteCommand(this));
    48. getCommand("unmute").setExecutor(new UnmuteCommand(this));
    49. this.flycmd = new FlyCommand(this);
    50. getCommand("fly").setExecutor(this.flycmd);
    51.  
    52. }
    53.  
    54. public boolean onCommand(CommandSender sender, Command cmd, String label,
    55. String[] args) {
    56. if (cmd.getName().equalsIgnoreCase("rules")
    57. && sender.hasPermission("hammerfall.rules")) {
    58. if (args.length > 0) {
    59. if (args[0].equalsIgnoreCase(("survival"))) {
    60. Player player = (Player) sender;
    61. if (player.hasPermission("hammerfall.rules"))
    62. sender.sendMessage(ChatColor.GRAY
    63. + getConfig().getString("survival-rules"));
    64. else {
    65. sender.sendMessage(ChatColor.DARK_RED
    66. + "You don't have permission to do this!");
    67. }
    68.  
    69. }
    70. if (args[0].equalsIgnoreCase(("building"))) {
    71. Player player = (Player) sender;
    72. if (player.hasPermission("hammerfall.rules")) {
    73. sender.sendMessage(ChatColor.GRAY
    74. + getConfig().getString("building-rules"));
    75. } else {
    76. sender.sendMessage(ChatColor.DARK_RED
    77. + "You don't have permission to do this!");
    78. }
    79.  
    80. }
    81.  
    82. if (args[0].equalsIgnoreCase(("pvp"))) {
    83. Player player = (Player) sender;
    84. if (player.hasPermission("hammerfall.rules"))
    85. sender.sendMessage(ChatColor.GRAY
    86. + getConfig().getString("pvp-rules"));
    87.  
    88. else {
    89. sender.sendMessage(ChatColor.DARK_RED
    90. + "You don't have permission to do this!");
    91. }
    92.  
    93. }
    94. if (args[0].equalsIgnoreCase(("chat"))) {
    95. Player player = (Player) sender;
    96. if (player.hasPermission("hammerfall.rules"))
    97. sender.sendMessage(ChatColor.GRAY
    98. + getConfig().getString("chat-rules"));
    99.  
    100. else {
    101. sender.sendMessage(ChatColor.DARK_RED
    102. + "You don't have permission to do this!");
    103. }
    104.  
    105. }
    106. if (args[0].equalsIgnoreCase(("roleplay"))) {
    107. Player player = (Player) sender;
    108. if (player.hasPermission("hammerfall.rules"))
    109. sender.sendMessage(ChatColor.GRAY
    110. + getConfig().getString("roleplay-rules"));
    111. else {
    112. sender.sendMessage(ChatColor.DARK_RED
    113. + "You don't have permission to do this!");
    114. }
    115.  
    116. }
    117.  
    118. if (args[0].equalsIgnoreCase("help")
    119. || ((args[0].equalsIgnoreCase("?")))) {
    120. sender.sendMessage(ChatColor.LIGHT_PURPLE
    121. + "Displaying Rules options" + ChatColor.WHITE
    122. + ":");
    123. sender.sendMessage("");
    124. sender.sendMessage(ChatColor.GRAY + "/rules " + "survival");
    125. sender.sendMessage(ChatColor.GRAY + "/rules " + "building");
    126. sender.sendMessage(ChatColor.GRAY + "/rules " + "pvp");
    127. sender.sendMessage(ChatColor.GRAY + "/rules " + "chat");
    128. sender.sendMessage(ChatColor.GRAY + "/rules " + "roleplay");
    129. }
    130. } else {
    131. sender.sendMessage(ChatColor.LIGHT_PURPLE
    132. + "Displaying Rules options" + ChatColor.WHITE + ":");
    133. sender.sendMessage("");
    134. sender.sendMessage(ChatColor.GRAY + "/rules " + "survival");
    135. sender.sendMessage(ChatColor.GRAY + "/rules " + "building");
    136. sender.sendMessage(ChatColor.GRAY + "/rules " + "pvp");
    137. sender.sendMessage(ChatColor.GRAY + "/rules " + "chat");
    138. sender.sendMessage(ChatColor.GRAY + "/rules " + "roleplay");
    139. }
    140. return true;
    141.  
    142. }
    143. if (cmd.getName().equalsIgnoreCase("suicide")) {
    144. Player player = (Player) sender;
    145. if (sender.hasPermission("hammerfall.suicide")) {
    146. player.setHealth(0);
    147. }
    148. }
    149. // insert new commands here v
    150. if (cmd.getName().equalsIgnoreCase("spawn")) {
    151. Player player = (Player) sender;
    152. if (sender.hasPermission("hammerfall.spawn")) {
    153. player.chat("/mv spawn");
    154. }
    155. if (cmd.getName().equalsIgnoreCase("tpa")) {
    156. if (args.length == 0)
    157. return false;
    158. if (args.length == 1)
    159. if ((sender instanceof Player)) {
    160. Player p = (Player) sender;
    161. if (p.hasPermission("Hammerfall.tpa")) {
    162. Player target = Bukkit.getServer().getPlayer(
    163. args[0]);
    164. if (target == null) {
    165. p.sendMessage(ChatColor.GRAY + args[0]
    166. + " is not online!");
    167. return true;
    168. }
    169. if (p.getLocation().getWorld().getName() == target
    170. .getLocation().getWorld().getName()) {
    171. PlayerCooldown pc = Cooldown.getCooldown(
    172. target.getName(), p.getName());
    173. if (pc == null) {
    174. Cooldown.addCooldown(
    175. target.getName(),
    176. p.getName(),
    177. getConfig().getInt("Cooldown") * 1000);
    178. p.sendMessage(ChatColor.GRAY
    179. + "Sending Request!");
    180. target.sendMessage(ChatColor.GRAY
    181. + p.getName()
    182. + " wants to teleport to you!");
    183. target.sendMessage(ChatColor.GRAY
    184. + p.getName()
    185. + " use /tpaccept or /tpdeny");
    186. this.PS.put(target.getName(), p.getName());
    187. this.ToFrom.put(target.getName(),
    188. Boolean.valueOf(true));
    189. return true;
    190. }
    191. if (pc.isOver()) {
    192. Cooldown.addCooldown(
    193. target.getName(),
    194. p.getName(),
    195. getConfig().getInt("Cooldown") * 1000);
    196. p.sendMessage(ChatColor.GRAY
    197. + "Sending Request!");
    198. target.sendMessage(ChatColor.GRAY
    199. + p.getName()
    200. + " wants to teleport to you!");
    201. target.sendMessage(ChatColor.GRAY
    202. + p.getName()
    203. + " use /tpaccept or /tpdeny");
    204. this.PS.put(target.getName(), p.getName());
    205. this.ToFrom.put(target.getName(),
    206. Boolean.valueOf(true));
    207. return true;
    208. }
    209. p.sendMessage(ChatColor.GRAY
    210. + "Please be patient.");
    211. return true;
    212. }
    213.  
    214. target.sendMessage(ChatColor.GRAY
    215. + p.getName()
    216. + args[0]
    217. + " is not in the same world as you! Cannot teleport!");
    218. return true;
    219. }
    220. } else {
    221. getLogger().info("Cannot be run from console!");
    222. return true;
    223. }
    224. } else if (cmd.getName().equalsIgnoreCase("tphere")) {
    225. if (args.length == 0)
    226. return false;
    227. if (args.length == 1)
    228. if ((sender instanceof Player)) {
    229. Player p = (Player) sender;
    230. if (p.hasPermission("Hammerfall.tphere")) {
    231. Player target = Bukkit.getServer().getPlayer(
    232. args[0]);
    233. if (target == null) {
    234. p.sendMessage(ChatColor.GRAY + args[0]
    235. + " is not online!");
    236. return true;
    237. }
    238. if (p.getLocation().getWorld().getName() == target
    239. .getLocation().getWorld().getName()) {
    240. PlayerCooldown pc = Cooldown.getCooldown(
    241. target.getName(), p.getName());
    242. if (pc == null) {
    243. Cooldown.addCooldown(
    244. target.getName(),
    245. p.getName(),
    246. getConfig().getInt("Cooldown") * 1000);
    247. p.sendMessage(ChatColor.GRAY
    248. + "Sending Request!");
    249. target.sendMessage(ChatColor.GRAY
    250. + p.getName()
    251. + " wants you to teleport to them!");
    252. target.sendMessage(ChatColor.GRAY
    253. + p.getName()
    254. + " use /tpaccept or /tpdeny");
    255. this.PS.put(target.getName(), p.getName());
    256. this.ToFrom.put(target.getName(),
    257. Boolean.valueOf(false));
    258. return true;
    259. }
    260. if (pc.isOver()) {
    261. Cooldown.addCooldown(
    262. target.getName(),
    263. p.getName(),
    264. getConfig().getInt("Cooldown") * 1000);
    265. p.sendMessage(ChatColor.GRAY
    266. + "Sending Request!");
    267. target.sendMessage(ChatColor.GRAY
    268. + p.getName()
    269. + " wants to teleport to you!");
    270. target.sendMessage(ChatColor.GRAY
    271. + p.getName()
    272. + " use /tpaccept or /tpdeny");
    273. this.PS.put(target.getName(), p.getName());
    274. this.ToFrom.put(target.getName(),
    275. Boolean.valueOf(false));
    276. return true;
    277. }
    278. p.sendMessage(ChatColor.GRAY
    279. + "Please be patient.");
    280. return true;
    281. }
    282.  
    283. target.sendMessage(ChatColor.GRAY
    284. + p.getName()
    285. + args[0]
    286. + " is not in the same world as you! Cannot teleport!");
    287. return true;
    288. }
    289. } else {
    290. getLogger().info("Cannot be run from console!");
    291. return true;
    292. }
    293. } else if (cmd.getName().equalsIgnoreCase("tpaccept")) {
    294. if (args.length == 0)
    295. if ((sender instanceof Player)) {
    296. Player p = (Player) sender;
    297. if (p.hasPermission("HammerfallTP.tpaccept")) {
    298. PlayerCooldown pc = Cooldown.getCooldown(
    299. p.getName(),
    300. (String) this.PS.get(p.getName()));
    301. if (pc == null) {
    302. p.sendMessage(ChatColor.GRAY
    303. + "You have no TP request!");
    304. return true;
    305. }
    306. if (pc.isOver()) {
    307. p.sendMessage(ChatColor.GRAY
    308. + "You have no TP request!");
    309. return true;
    310. }
    311. Player requester = Bukkit.getServer().getPlayer(
    312. (String) this.PS.get(p.getName()));
    313. if (requester == null) {
    314. p.sendMessage(ChatColor.GRAY + args[0]
    315. + " is no longer online!");
    316. return true;
    317. }
    318. if (p.getLocation().getWorld().getName() == requester
    319. .getLocation().getWorld().getName()) {
    320. if (((Boolean) this.ToFrom.get(p.getName()))
    321. .booleanValue()) {
    322. p.sendMessage(ChatColor.GRAY
    323. + "Teleporting...");
    324. requester.teleport(p);
    325. return true;
    326. }
    327. p.sendMessage(ChatColor.GRAY + "Teleporting...");
    328. p.teleport(requester);
    329. return true;
    330. }
    331.  
    332. p.sendMessage(ChatColor.GRAY
    333. + p.getName()
    334. + args[0]
    335. + " is not in the same world as you! Cannot teleport!");
    336. return true;
    337. }
    338.  
    339. } else {
    340. getLogger().info("Cannot be run from console!");
    341. return true;
    342. }
    343. } else if ((cmd.getName().equalsIgnoreCase("tpdeny"))
    344. && (args.length == 0)) {
    345. if ((sender instanceof Player)) {
    346. Player p = (Player) sender;
    347. if (p.hasPermission("hammerfall.tpdeny")) {
    348. PlayerCooldown pc = Cooldown.getCooldown(p.getName(),
    349. (String) this.PS.get(p.getName()));
    350. if (pc == null) {
    351. p.sendMessage(ChatColor.GRAY
    352. + "You have no TP request!");
    353. return true;
    354. }
    355. if (pc.isOver()) {
    356. p.sendMessage(ChatColor.GRAY
    357. + "You have no TP request!");
    358. return true;
    359. }
    360. Player target = Bukkit.getServer().getPlayer(
    361. (String) this.PS.get(p.getName()));
    362. if (target == null) {
    363. p.sendMessage(ChatColor.GRAY + "Request denied!");
    364. return true;
    365. }
    366. p.sendMessage(ChatColor.GRAY + "Request denied!");
    367. target.sendMessage(ChatColor.GRAY
    368. + "Your request was denied!");
    369. return true;
    370. }
    371. } else {
    372. getLogger().info("Cannot be run from console!");
    373. return true;
    374. }
    375.  
    376. }
    377.  
    378. if ((cmd.getName().equalsIgnoreCase("butcher"))
    379. && (sender.hasPermission("hammerfall.butcher"))) {
    380. String world = getConfig().getString("World");
    381. for (@SuppressWarnings("rawtypes")
    382. Iterator iterator = getServer().getWorld(world).getEntities()
    383. .iterator(); iterator.hasNext();) {
    384. Entity entity = (Entity) iterator.next();
    385. if (entity.getType() != EntityType.PLAYER)
    386. entity.remove();
    387. }
    388. sender.sendMessage(ChatColor.GRAY
    389. + "You killed all the things!");
    390. return true;
    391. }
    392. sender.sendMessage("You do not have permission to use this.");
    393. }
    394. if(cmd.getName().equalsIgnoreCase("getip")) {
    395. Player player = (Player)sender;
    396. if (sender.hasPermission("hammerfall.getip")) {
    397. if(args.length == 0){
    398. sender.sendMessage(ChatColor.GRAY + "Must specify a target.");
    399. }
    400. else if(args.length == 1){
    401. Player targetPlayer = player.getServer().getPlayer(args[0]);
    402. player.sendMessage( ChatColor.GRAY + " IP is " + targetPlayer.getAddress());
    403. }
    404. } else {
    405. sender.sendMessage(ChatColor.RED + "You don't have permissions for this command!");
    406. }
    407. }
    408. return false;
    409. }
    410.  
    411. public void mute(Player player) {
    412. player.setMetadata("mute",
    413. new FixedMetadataValue(this, Boolean.valueOf(true)));
    414. }
    415.  
    416. public void muteForTime(Player player, long seconds) {
    417. mute(player);
    418. new UnmuteTask(this, player).runTaskLater(this, seconds * 20L);
    419. }
    420.  
    421. public void unmute(Player player) {
    422. player.setMetadata("mute",
    423. new FixedMetadataValue(this, Boolean.valueOf(false)));
    424. }
    425.  
    426. public boolean isMuted(Player player) {
    427. List<MetadataValue> values = player.getMetadata("mute");
    428. for (MetadataValue value : values) {
    429. if (value.getOwningPlugin().getDescription().getName()
    430. .equals(getDescription().getName())) {
    431. if (value.asBoolean()) {
    432. return true;
    433. }
    434. return false;
    435. }
    436. }
    437.  
    438. player.setMetadata("mute",
    439. new FixedMetadataValue(this, Boolean.valueOf(false)));
    440. return false;
    441. }
    442.  
    443. public boolean enabled(Player player) {
    444. return this.users.contains(player);
    445. }
    446.  
    447. public void ConfigReload() {
    448. reloadConfig();
    449. }
    450.  
    451. }


    If anyone knows what the fault is, please tell me :)
     
  2. Offline

    macguy8

    Well... what isn't working about it?
     
  3. Offline

    Mathias Eklund

    The command isn't working, just says unknown command.
     
  4. Offline

    macguy8

  5. Offline

    Mathias Eklund

    I've done that
    Code:
      getip:
        description: get an ip off a player
        usage:  /getip <name>
    
     
Thread Status:
Not open for further replies.

Share This Page