001/* This file is part of Vault. 002 003 Vault is free software: you can redistribute it and/or modify 004 it under the terms of the GNU Lesser General Public License as published by 005 the Free Software Foundation, either version 3 of the License, or 006 (at your option) any later version. 007 008 Vault is distributed in the hope that it will be useful, 009 but WITHOUT ANY WARRANTY; without even the implied warranty of 010 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 011 GNU Lesser General Public License for more details. 012 013 You should have received a copy of the GNU Lesser General Public License 014 along with Vault. If not, see <http://www.gnu.org/licenses/>. 015*/ 016package net.milkbowl.vault.chat; 017 018import net.milkbowl.vault.permission.Permission; 019 020import org.bukkit.OfflinePlayer; 021import org.bukkit.World; 022import org.bukkit.entity.Player; 023 024/** 025 * The main Chat API - allows for Prefix/Suffix nodes along with generic Info nodes if the linked Chat system supports them 026 * 027 */ 028public abstract class Chat { 029 030 private Permission perms; 031 032 public Chat(Permission perms) { 033 this.perms = perms; 034 } 035 /** 036 * Gets name of permission method 037 * @return Name of Permission Method 038 */ 039 abstract public String getName(); 040 041 /** 042 * Checks if permission method is enabled. 043 * @return Success or Failure 044 */ 045 abstract public boolean isEnabled(); 046 047 /** 048 * @deprecated As of VaultAPI 1.4 use {{@link #getPlayerPrefix(String, OfflinePlayer)} instead. 049 * 050 * Get players prefix 051 * @param world World name 052 * @param player Player name 053 * @return Prefix 054 */ 055 @Deprecated 056 abstract public String getPlayerPrefix(String world, String player); 057 058 /** 059 * Get a players prefix in the given world 060 * Use NULL for world if requesting a global prefix 061 * 062 * @param world World name 063 * @param player OfflinePlayer 064 * @return Prefix 065 */ 066 public String getPlayerPrefix(String world, OfflinePlayer player) { 067 return getPlayerPrefix(world, player.getName()); 068 } 069 070 /** 071 * @deprecated As of VaultAPI 1.4 use {{@link #getPlayerPrefix(String, OfflinePlayer)} instead. 072 * 073 * Get players prefix 074 * @param world World Object 075 * @param player Player name 076 * @return Prefix 077 */ 078 @Deprecated 079 public String getPlayerPrefix(World world, String player) { 080 return getPlayerPrefix(world.getName(), player); 081 } 082 083 /** 084 * Get players prefix from the world they are currently in. 085 * May or may not return the global prefix depending on implementation. 086 * 087 * @param player Player Object 088 * @return Prefix 089 */ 090 public String getPlayerPrefix(Player player) { 091 return getPlayerPrefix(player.getWorld().getName(), player); 092 } 093 094 /** 095 * @deprecated As of VaultAPI 1.4 use {{@link #setPlayerPrefix(String, OfflinePlayer, String)} instead. 096 * 097 * Set players prefix 098 * @param world World name 099 * @param player Player name 100 * @param prefix Prefix 101 */ 102 @Deprecated 103 abstract public void setPlayerPrefix(String world, String player, String prefix); 104 105 /** 106 * Sets players prefix in the given world. 107 * Use NULL for world for setting in the Global scope. 108 * 109 * @param world World name 110 * @param player OfflinePlayer 111 * @param prefix Prefix 112 */ 113 public void setPlayerPrefix(String world, OfflinePlayer player, String prefix) { 114 setPlayerPrefix(world, player.getName(), prefix); 115 } 116 117 /** 118 * @deprecated As of VaultAPI 1.4 use {{@link #setPlayerPrefix(String, OfflinePlayer, String)} instead. 119 * 120 * Set players prefix in the given world. 121 * 122 * @param world World Object 123 * @param player Player name 124 * @param prefix Prefix 125 */ 126 @Deprecated 127 public void setPlayerPrefix(World world, String player, String prefix) { 128 setPlayerPrefix(world.getName(), player, prefix); 129 } 130 131 /** 132 * Set players prefix in the world they are currently in. 133 * 134 * @param player Player Object 135 * @param prefix Prefix 136 */ 137 public void setPlayerPrefix(Player player, String prefix) { 138 setPlayerPrefix(player.getWorld().getName(), player, prefix); 139 } 140 141 /** 142 * @deprecated As of VaultAPI 1.4 use {{@link #getPlayerSuffix(String, OfflinePlayer)} instead. 143 * 144 * Get players suffix 145 * @param world World name 146 * @param player Player name 147 * @return Suffix 148 */ 149 @Deprecated 150 abstract public String getPlayerSuffix(String world, String player); 151 152 /** 153 * Get players suffix in the specified world. 154 * 155 * @param world World name 156 * @param player OfflinePlayer name 157 * @return Suffix 158 */ 159 public String getPlayerSuffix(String world, OfflinePlayer player) { 160 return getPlayerSuffix(world, player.getName()); 161 } 162 163 /** 164 * @deprecated As of VaultAPI 1.4 use {{@link #getPlayerSuffix(String, OfflinePlayer)} instead. 165 * 166 * Get players suffix 167 * @param world World Object 168 * @param player Player name 169 * @return Suffix 170 */ 171 @Deprecated 172 public String getPlayerSuffix(World world, String player) { 173 return getPlayerSuffix(world.getName(), player); 174 } 175 176 /** 177 * Get players suffix in the world they are currently in. 178 * 179 * @param player Player Object 180 * @return Suffix 181 */ 182 public String getPlayerSuffix(Player player) { 183 return getPlayerSuffix(player.getWorld().getName(), player); 184 } 185 186 /** 187 * @deprecated As of VaultAPI 1.4 use {{@link #setPlayerSuffix(String, OfflinePlayer, String)} instead. 188 * 189 * Set players suffix 190 * @param world World name 191 * @param player Player name 192 * @param suffix Suffix 193 */ 194 @Deprecated 195 abstract public void setPlayerSuffix(String world, String player, String suffix); 196 197 /** 198 * Set players suffix for the world specified 199 * 200 * @param world World name 201 * @param player OfflinePlayer 202 * @param suffix Suffix 203 */ 204 public void setPlayerSuffix(String world, OfflinePlayer player, String suffix) { 205 setPlayerSuffix(world, player.getName(), suffix); 206 } 207 208 /** 209 * @deprecated As of VaultAPI 1.4 use {{@link #setPlayerSuffix(String, OfflinePlayer, String)} instead. 210 * 211 * Set players suffix 212 * @param world World Object 213 * @param player Player name 214 * @param suffix Suffix 215 */ 216 @Deprecated 217 public void setPlayerSuffix(World world, String player, String suffix) { 218 setPlayerSuffix(world.getName(), player, suffix); 219 } 220 221 /** 222 * Set players suffix in the world they currently occupy. 223 * 224 * @param player Player Object 225 * @param suffix Suffix 226 */ 227 public void setPlayerSuffix(Player player, String suffix) { 228 setPlayerSuffix(player.getWorld().getName(), player, suffix); 229 } 230 231 /** 232 * Get group prefix 233 * @param world World name 234 * @param group Group name 235 * @return Prefix 236 */ 237 abstract public String getGroupPrefix(String world, String group); 238 239 /** 240 * Get group prefix 241 * @param world World Object 242 * @param group Group name 243 * @return Prefix 244 */ 245 public String getGroupPrefix(World world, String group) { 246 return getGroupPrefix(world.getName(), group); 247 } 248 249 /** 250 * Set group prefix 251 * @param world World name 252 * @param group Group name 253 * @param prefix Prefix 254 */ 255 abstract public void setGroupPrefix(String world, String group, String prefix); 256 257 /** 258 * Set group prefix 259 * @param world World Object 260 * @param group Group name 261 * @param prefix Prefix 262 */ 263 public void setGroupPrefix(World world, String group, String prefix) { 264 setGroupPrefix(world.getName(), group, prefix); 265 } 266 267 /** 268 * Get group suffix 269 * @param world World name 270 * @param group Group name 271 * @return Suffix 272 */ 273 abstract public String getGroupSuffix(String world, String group); 274 275 /** 276 * Get group suffix 277 * @param world World Object 278 * @param group Group name 279 * @return Suffix 280 */ 281 public String getGroupSuffix(World world, String group) { 282 return getGroupSuffix(world.getName(), group); 283 } 284 285 /** 286 * Set group suffix 287 * @param world World name 288 * @param group Group name 289 * @param suffix Suffix 290 */ 291 abstract public void setGroupSuffix(String world, String group, String suffix); 292 293 /** 294 * Set group suffix 295 * @param world World Object 296 * @param group Group name 297 * @param suffix Suffix 298 */ 299 public void setGroupSuffix(World world, String group, String suffix) { 300 setGroupSuffix(world.getName(), group, suffix); 301 } 302 303 /** 304 * Get a players informational node (Integer) value 305 * @param world World name 306 * @param player OfflinePlayer 307 * @param node Permission node 308 * @param defaultValue Default value 309 * @return Value 310 */ 311 public int getPlayerInfoInteger(String world, OfflinePlayer player, String node, int defaultValue) { 312 return getPlayerInfoInteger(world, player.getName(), node, defaultValue); 313 } 314 315 /** 316 * @deprecated As of VaultAPI 1.4 use {{@link #getPlayerInfoInteger(String, OfflinePlayer, String, int)} instead. 317 * Get a players informational node (Integer) value 318 * @param world World name 319 * @param player Player name 320 * @param node Permission node 321 * @param defaultValue Default value 322 * @return Value 323 */ 324 @Deprecated 325 abstract public int getPlayerInfoInteger(String world, String player, String node, int defaultValue); 326 327 /** 328 * @deprecated As of VaultAPI 1.4 use {{@link #getPlayerInfoInteger(String, OfflinePlayer, String, int)} instead. 329 * 330 * Get a players informational node (Integer) value 331 * @param world World Object 332 * @param player Player name 333 * @param node Permission node 334 * @param defaultValue Default value 335 * @return Value 336 */ 337 @Deprecated 338 public int getPlayerInfoInteger(World world, String player, String node, int defaultValue) { 339 return getPlayerInfoInteger(world.getName(), player, node, defaultValue); 340 } 341 342 /** 343 * Get a players informational node (Integer) value 344 * @param player Player Object 345 * @param node Permission node 346 * @param defaultValue Default value 347 * @return Value 348 */ 349 public int getPlayerInfoInteger(Player player, String node, int defaultValue) { 350 return getPlayerInfoInteger(player.getWorld().getName(), player, node, defaultValue); 351 } 352 353 /** 354 * Set a players informational node (Integer) value 355 * @param world World name 356 * @param player OfflinePlayer 357 * @param node Permission node 358 * @param value Value to set 359 */ 360 public void setPlayerInfoInteger(String world, OfflinePlayer player, String node, int value) { 361 setPlayerInfoInteger(world, player.getName(), node, value); 362 } 363 364 /** 365 * @deprecated As of VaultAPI 1.4 use {{@link #setPlayerInfoInteger(String, OfflinePlayer, String, int)} instead. 366 * 367 * Set a players informational node (Integer) value 368 * @param world World name 369 * @param player Player name 370 * @param node Permission node 371 * @param value Value to set 372 */ 373 @Deprecated 374 abstract public void setPlayerInfoInteger(String world, String player, String node, int value); 375 376 /** 377 * @deprecated As of VaultAPI 1.4 use {{@link #setPlayerInfoInteger(String, OfflinePlayer, String, int)} instead. 378 * 379 * Set a players informational node (Integer) value 380 * @param world World Object 381 * @param player Player name 382 * @param node Permission node 383 * @param value Value to set 384 */ 385 @Deprecated 386 public void setPlayerInfoInteger(World world, String player, String node, int value) { 387 setPlayerInfoInteger(world.getName(), player, node, value); 388 } 389 390 /** 391 * Set a players informational node (Integer) value 392 * @param player Player Object 393 * @param node Permission node 394 * @param value Value to set 395 */ 396 public void setPlayerInfoInteger(Player player, String node, int value) { 397 setPlayerInfoInteger(player.getWorld().getName(), player, node, value); 398 } 399 400 /** 401 * Get a groups informational node (Integer) value 402 * @param world World name 403 * @param group Group name 404 * @param node Permission node 405 * @param defaultValue Default value 406 * @return Value 407 */ 408 abstract public int getGroupInfoInteger(String world, String group, String node, int defaultValue); 409 410 /** 411 * Get a groups informational node (Integer) value 412 * @param world World Object 413 * @param group Group name 414 * @param node Permission node 415 * @param defaultValue Default value 416 * @return Value 417 */ 418 public int getGroupInfoInteger(World world, String group, String node, int defaultValue) { 419 return getGroupInfoInteger(world.getName(), group, node, defaultValue); 420 } 421 422 /** 423 * Set a groups informational node (Integer) value 424 * @param world World name 425 * @param group Group name 426 * @param node Permission node 427 * @param value Value to set 428 */ 429 abstract public void setGroupInfoInteger(String world, String group, String node, int value); 430 431 /** 432 * Set a groups informational node (Integer) value 433 * @param world World Object 434 * @param group Group name 435 * @param node Permission node 436 * @param value Value to set 437 */ 438 public void setGroupInfoInteger(World world, String group, String node, int value) { 439 setGroupInfoInteger(world.getName(), group, node, value); 440 } 441 442 /** 443 * Get a players informational node (Double) value 444 * @param world World name 445 * @param player OfflinePlayer 446 * @param node Permission node 447 * @param defaultValue Default value 448 * @return Value 449 */ 450 public double getPlayerInfoDouble(String world, OfflinePlayer player, String node, double defaultValue) { 451 return getPlayerInfoDouble(world, player.getName(), node, defaultValue); 452 } 453 454 /** 455 * @deprecated As of VaultAPI 1.4 use {{@link #getPlayerInfoDouble(String, OfflinePlayer, String, double)} instead. 456 * 457 * Get a players informational node (Double) value 458 * @param world World name 459 * @param player Player name 460 * @param node Permission node 461 * @param defaultValue Default value 462 * @return Value 463 */ 464 @Deprecated 465 abstract public double getPlayerInfoDouble(String world, String player, String node, double defaultValue); 466 467 /** 468 * @deprecated As of VaultAPI 1.4 use {{@link #getPlayerInfoDouble(String, OfflinePlayer, String, double)} instead 469 * 470 * Get a players informational node (Double) value 471 * @param world World Object 472 * @param player Player name 473 * @param node Permission node 474 * @param defaultValue Default value 475 * @return Value 476 */ 477 @Deprecated 478 public double getPlayerInfoDouble(World world, String player, String node, double defaultValue) { 479 return getPlayerInfoDouble(world.getName(), player, node, defaultValue); 480 } 481 482 /** 483 * Get a players informational node (Double) value 484 * @param player Player Object 485 * @param node Permission node 486 * @param defaultValue Default value 487 * @return Value 488 */ 489 public double getPlayerInfoDouble(Player player, String node, double defaultValue) { 490 return getPlayerInfoDouble(player.getWorld().getName(), player, node, defaultValue); 491 } 492 493 /** 494 * Set a players informational node (Double) value 495 * @param world World name 496 * @param player OfflinePlayer 497 * @param node Permission node 498 * @param value Value to set 499 */ 500 public void setPlayerInfoDouble(String world, OfflinePlayer player, String node, double value) { 501 setPlayerInfoDouble(world, player.getName(), node, value); 502 } 503 504 /** 505 * @deprecated As of VaultAPI 1.4 use {{@link #setPlayerInfoDouble(String, OfflinePlayer, String, double)} instead. 506 * Set a players informational node (Double) value 507 * @param world World name 508 * @param player Player name 509 * @param node Permission node 510 * @param value Value to set 511 */ 512 @Deprecated 513 abstract public void setPlayerInfoDouble(String world, String player, String node, double value); 514 515 /** 516 * @deprecated As of VaultAPI 1.4 use {{@link #setPlayerInfoDouble(String, OfflinePlayer, String, double)} instead. 517 * Set a players informational node (Double) value 518 * @param world World Object 519 * @param player Player name 520 * @param node Permission node 521 * @param value Value to set 522 */ 523 @Deprecated 524 public void setPlayerInfoDouble(World world, String player, String node, double value) { 525 setPlayerInfoDouble(world.getName(), player, node, value); 526 } 527 528 /** 529 * Set a players informational node (Double) value 530 * @param player Player Object 531 * @param node Permission node 532 * @param value Value to set 533 */ 534 public void setPlayerInfoDouble(Player player, String node, double value) { 535 setPlayerInfoDouble(player.getWorld().getName(), player, node, value); 536 } 537 538 /** 539 * Get a groups informational node (Double) value 540 * @param world World name 541 * @param group Group name 542 * @param node Permission node 543 * @param defaultValue Default value 544 * @return Value 545 */ 546 abstract public double getGroupInfoDouble(String world, String group, String node, double defaultValue); 547 548 /** 549 * Get a groups informational node (Double) value 550 * @param world World Object 551 * @param group Group name 552 * @param node Permission node 553 * @param defaultValue Default value 554 * @return Value 555 */ 556 public double getGroupInfoDouble(World world, String group, String node, double defaultValue) { 557 return getGroupInfoDouble(world.getName(), group, node, defaultValue); 558 } 559 560 /** 561 * Set a groups informational node (Double) value 562 * @param world World name 563 * @param group Group name 564 * @param node Permission node 565 * @param value Value to set 566 */ 567 abstract public void setGroupInfoDouble(String world, String group, String node, double value); 568 569 /** 570 * Set a groups informational node (Double) value 571 * @param world World Object 572 * @param group Group name 573 * @param node Permission node 574 * @param value Value to set 575 */ 576 public void setGroupInfoDouble(World world, String group, String node, double value) { 577 setGroupInfoDouble(world.getName(), group, node, value); 578 } 579 580 /** 581 * Get a players informational node (Boolean) value 582 * @param world World name 583 * @param player OfflinePlayer 584 * @param node Permission node 585 * @param defaultValue Default value 586 * @return Value 587 */ 588 public boolean getPlayerInfoBoolean(String world, OfflinePlayer player, String node, boolean defaultValue) { 589 return getPlayerInfoBoolean(world, player.getName(), node, defaultValue); 590 } 591 592 /** 593 * @deprecated As of VaultAPI 1.4 use {{@link #getPlayerInfoBoolean(String, OfflinePlayer, String, boolean)} instead. 594 * 595 * Get a players informational node (Boolean) value 596 * @param world World name 597 * @param player Player name 598 * @param node Permission node 599 * @param defaultValue Default value 600 * @return Value 601 */ 602 @Deprecated 603 abstract public boolean getPlayerInfoBoolean(String world, String player, String node, boolean defaultValue); 604 605 /** 606 * @deprecated As of VaultAPI 1.4 use {{@link #getPlayerInfoBoolean(String, OfflinePlayer, String, boolean)} instead. 607 * 608 * Get a players informational node (Boolean) value 609 * @param world World Object 610 * @param player Player name 611 * @param node Permission node 612 * @param defaultValue Default value 613 * @return Value 614 */ 615 @Deprecated 616 public boolean getPlayerInfoBoolean(World world, String player, String node, boolean defaultValue) { 617 return getPlayerInfoBoolean(world.getName(), player, node, defaultValue); 618 } 619 620 /** 621 * Get a players informational node (Boolean) value 622 * @param player Player Object 623 * @param node Permission node 624 * @param defaultValue Default value 625 * @return Value 626 */ 627 public boolean getPlayerInfoBoolean(Player player, String node, boolean defaultValue) { 628 return getPlayerInfoBoolean(player.getWorld().getName(), player, node, defaultValue); 629 } 630 631 /** 632 * Set a players informational node (Boolean) value 633 * @param world World name 634 * @param player OfflinePlayer 635 * @param node Permission node 636 * @param value Value to set 637 */ 638 public void setPlayerInfoBoolean(String world, OfflinePlayer player, String node, boolean value) { 639 setPlayerInfoBoolean(world, player.getName(), node, value); 640 } 641 642 /** 643 * @deprecated As of VaultAPI 1.4 use {{@link #setPlayerInfoBoolean(String, OfflinePlayer, String, boolean)} instead. 644 * Set a players informational node (Boolean) value 645 * @param world World name 646 * @param player Player name 647 * @param node Permission node 648 * @param value Value to set 649 */ 650 @Deprecated 651 abstract public void setPlayerInfoBoolean(String world, String player, String node, boolean value); 652 653 /** 654 * @deprecated As of VaultAPI 1.4 use {{@link #setPlayerInfoBoolean(String, OfflinePlayer, String, boolean)} instead. 655 * Set a players informational node (Boolean) value 656 * @param world World Object 657 * @param player Player name 658 * @param node Permission node 659 * @param value Value to set 660 */ 661 @Deprecated 662 public void setPlayerInfoBoolean(World world, String player, String node, boolean value) { 663 setPlayerInfoBoolean(world.getName(), player, node, value); 664 } 665 666 /** 667 * Set a players informational node (Boolean) value 668 * @param player Player Object 669 * @param node Permission node 670 * @param value Value to set 671 */ 672 public void setPlayerInfoBoolean(Player player, String node, boolean value) { 673 setPlayerInfoBoolean(player.getWorld().getName(), player, node, value); 674 } 675 676 /** 677 * Get a groups informational node (Boolean) value 678 * @param world Name of World 679 * @param group Name of Group 680 * @param node Permission node 681 * @param defaultValue Default value 682 * @return Value 683 */ 684 abstract public boolean getGroupInfoBoolean(String world, String group, String node, boolean defaultValue); 685 686 /** 687 * Set a players informational node (Boolean) value 688 * @param world World Object 689 * @param group Group name 690 * @param node Permission node 691 * @param defaultValue Default value 692 * @return Value 693 */ 694 public boolean getGroupInfoBoolean(World world, String group, String node, boolean defaultValue) { 695 return getGroupInfoBoolean(world.getName(), group, node, defaultValue); 696 } 697 698 /** 699 * Set a groups informational node (Boolean) value 700 * @param world World name 701 * @param group Group name 702 * @param node Permission node 703 * @param value Value to set 704 */ 705 abstract public void setGroupInfoBoolean(String world, String group, String node, boolean value); 706 707 /** 708 * Set a players informational node (Boolean) value 709 * @param world World Object 710 * @param group Group name 711 * @param node Permission node 712 * @param value Value to set 713 */ 714 public void setGroupInfoBoolean(World world, String group, String node, boolean value) { 715 setGroupInfoBoolean(world.getName(), group, node, value); 716 } 717 718 /** 719 * Get a players informational node (String) value 720 * @param world World name 721 * @param player OfflinePlayer 722 * @param node Permission node 723 * @param defaultValue Default value 724 * @return Value 725 */ 726 public String getPlayerInfoString(String world, OfflinePlayer player, String node, String defaultValue) { 727 return getPlayerInfoString(world, player.getName(), node, defaultValue); 728 } 729 730 /** 731 * @deprecated As of VaultAPI 1.4 use {{@link #getPlayerInfoString(String, OfflinePlayer, String, String)} instead. 732 * 733 * Get a players informational node (String) value 734 * @param world World name 735 * @param player Player name 736 * @param node Permission node 737 * @param defaultValue Default value 738 * @return Value 739 */ 740 @Deprecated 741 abstract public String getPlayerInfoString(String world, String player, String node, String defaultValue); 742 743 /** 744 * @deprecated As of VaultAPI 1.4 use {{@link #getPlayerInfoString(String, OfflinePlayer, String, String)} instead. 745 * Get a players informational node (String) value 746 * @param world World Object 747 * @param player Player name 748 * @param node Permission node 749 * @param defaultValue Default value 750 * @return Value 751 */ 752 @Deprecated 753 public String getPlayerInfoString(World world, String player, String node, String defaultValue) { 754 return getPlayerInfoString(world.getName(), player, node, defaultValue); 755 } 756 757 /** 758 * Get a players informational node (String) value 759 * @param player Player Object 760 * @param node Permission node 761 * @param defaultValue Default value 762 * @return Value 763 */ 764 public String getPlayerInfoString(Player player, String node, String defaultValue) { 765 return getPlayerInfoString(player.getWorld().getName(), player, node, defaultValue); 766 } 767 768 /** 769 * Set a players informational node (String) value 770 * @param world World name 771 * @param player OfflinePlayer 772 * @param node Permission node 773 * @param value Value to set 774 */ 775 public void setPlayerInfoString(String world, OfflinePlayer player, String node, String value) { 776 setPlayerInfoString(world, player.getName(), node, value); 777 } 778 779 /** 780 * @deprecated As of VaultAPI 1.4 use {{@link #setPlayerInfoString(String, OfflinePlayer, String, String)} instead. 781 * Set a players informational node (String) value 782 * @param world World name 783 * @param player Player name 784 * @param node Permission node 785 * @param value Value to set 786 */ 787 @Deprecated 788 abstract public void setPlayerInfoString(String world, String player, String node, String value); 789 790 /** 791 * @deprecated As of VaultAPI 1.4 use {{@link #setPlayerInfoString(String, OfflinePlayer, String, String)} instead. 792 * Set a players informational node (String) value 793 * @param world World name 794 * @param player Player name 795 * @param node Permission node 796 * @param value Value to set 797 */ 798 @Deprecated 799 public void setPlayerInfoString(World world, String player, String node, String value) { 800 setPlayerInfoString(world.getName(), player, node, value); 801 } 802 803 /** 804 * Set a players informational node (String) value 805 * @param player Player Object 806 * @param node Permission node 807 * @param value Value ot set 808 */ 809 public void setPlayerInfoString(Player player, String node, String value) { 810 setPlayerInfoString(player.getWorld().getName(), player, node, value); 811 } 812 813 /** 814 * Get a groups informational node (String) value 815 * @param world Name of World 816 * @param group Name of Group 817 * @param node Permission node 818 * @param defaultValue Default value 819 * @return Value 820 */ 821 abstract public String getGroupInfoString(String world, String group, String node, String defaultValue); 822 823 /** 824 * Set a players informational node (String) value 825 * @param world World Object 826 * @param group Group name 827 * @param node Permission node 828 * @param defaultValue Default value 829 * @return Value 830 */ 831 public String getGroupInfoString(World world, String group, String node, String defaultValue) { 832 return getGroupInfoString(world.getName(), group, node, defaultValue); 833 } 834 835 /** 836 * Set a groups informational node (String) value 837 * @param world World name 838 * @param group Group name 839 * @param node Permission node 840 * @param value Value to set 841 */ 842 abstract public void setGroupInfoString(String world, String group, String node, String value); 843 844 /** 845 * Set a groups informational node (String) value 846 * @param world World name 847 * @param group Group name 848 * @param node Permission node 849 * @param value Value to set 850 */ 851 public void setGroupInfoString(World world, String group, String node, String value) { 852 setGroupInfoString(world.getName(), group, node, value); 853 } 854 855 /** 856 * Check if player is member of a group. 857 * @param world World name 858 * @param player OfflinePlayer 859 * @param group Group name 860 * @return Success or Failure 861 */ 862 public boolean playerInGroup(String world, OfflinePlayer player, String group) { 863 return perms.playerInGroup(world, player, group); 864 } 865 866 /** 867 * @deprecated As of VaultAPI 1.4 use {{@link #playerInGroup(String, OfflinePlayer, String)} instead. 868 * Check if player is member of a group. 869 * @param world World name 870 * @param player Player name 871 * @param group Group name 872 * @return Success or Failure 873 */ 874 @Deprecated 875 public boolean playerInGroup(String world, String player, String group) { 876 return perms.playerInGroup(world, player, group); 877 } 878 879 /** 880 * @deprecated As of VaultAPI 1.4 use {{@link #playerInGroup(String, OfflinePlayer, String)} instead. 881 * Check if player is member of a group. 882 * @param world World Object 883 * @param player Player name 884 * @param group Group name 885 * @return Success or Failure 886 */ 887 @Deprecated 888 public boolean playerInGroup(World world, String player, String group) { 889 return playerInGroup(world.getName(), player, group); 890 } 891 892 /** 893 * Check if player is member of a group. 894 * @param player Player Object 895 * @param group Group name 896 * @return Success or Failure 897 */ 898 public boolean playerInGroup(Player player, String group) { 899 return playerInGroup(player.getWorld().getName(), player, group); 900 } 901 902 /** 903 * Gets the list of groups that this player has 904 * @param world World name 905 * @param player OfflinePlayer 906 * @return Array of groups 907 */ 908 public String[] getPlayerGroups(String world, OfflinePlayer player) { 909 return perms.getPlayerGroups(world, player); 910 } 911 912 /** 913 * @deprecated As of VaultAPI 1.4 use {{@link #getPlayerGroups(String, OfflinePlayer)} instead. 914 * Gets the list of groups that this player has 915 * @param world World name 916 * @param player Player name 917 * @return Array of groups 918 */ 919 @Deprecated 920 public String[] getPlayerGroups(String world, String player) { 921 return perms.getPlayerGroups(world, player); 922 } 923 924 /** 925 * @deprecated As of VaultAPI 1.4 use {{@link #getPlayerGroups(String, OfflinePlayer)} instead. 926 * Gets the list of groups that this player has 927 * @param world World Object 928 * @param player Player name 929 * @return Array of groups 930 */ 931 @Deprecated 932 public String[] getPlayerGroups(World world, String player) { 933 return getPlayerGroups(world.getName(), player); 934 } 935 936 /** 937 * Gets the list of groups that this player has 938 * @param player Player Object 939 * @return Array of groups 940 */ 941 public String[] getPlayerGroups(Player player) { 942 return getPlayerGroups(player.getWorld().getName(), player); 943 } 944 945 /** 946 * Gets players primary group 947 * @param world World name 948 * @param player OfflinePlayer 949 * @return Players primary group 950 */ 951 public String getPrimaryGroup(String world, OfflinePlayer player) { 952 return perms.getPrimaryGroup(world, player); 953 } 954 955 /** 956 * @deprecated As of VaultAPI 1.4 use {{@link #getPrimaryGroup(String, OfflinePlayer)} instead. 957 * Gets players primary group 958 * @param world World name 959 * @param player Player name 960 * @return Players primary group 961 */ 962 @Deprecated 963 public String getPrimaryGroup(String world, String player) { 964 return perms.getPrimaryGroup(world, player); 965 } 966 967 /** 968 * @deprecated As of VaultAPI 1.4 use {{@link #getPrimaryGroup(String, OfflinePlayer)} instead. 969 * Gets players primary group 970 * @param world World Object 971 * @param player Player name 972 * @return Players primary group 973 */ 974 @Deprecated 975 public String getPrimaryGroup(World world, String player) { 976 return getPrimaryGroup(world.getName(), player); 977 } 978 979 /** 980 * Get players primary group 981 * @param player Player Object 982 * @return Players primary group 983 */ 984 public String getPrimaryGroup(Player player) { 985 return getPrimaryGroup(player.getWorld().getName(), player); 986 } 987 988 /** 989 * Returns a list of all known groups 990 * @return an Array of String of all groups 991 */ 992 public String[] getGroups() { 993 return perms.getGroups(); 994 } 995}