Advertisement
Guest User

Fishing.java

a guest
May 24th, 2015
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.46 KB | None | 0 0
  1. //package
  2.  
  3. import server.game.content.skills.impl.SkillTask;
  4. import server.game.player.Player;
  5. import server.task.Stackable;
  6. import server.task.Walkable;
  7.  
  8. /**
  9. * Fishing for fish that live in the sea.
  10. *
  11. * @author Tim
  12. *
  13. */
  14. public class Fishing extends SkillTask {
  15.  
  16. /**
  17. * The data for the fish to be fished.
  18. */
  19. private final FishingData data;
  20.  
  21. /**
  22. * Creates an unwalkable task for the player
  23. *
  24. * @param player
  25. * The player fishing for fish
  26. * @param data
  27. * The data for the fish to be fished
  28. */
  29. public Fishing(Player player, FishingData data) {
  30. super(player, 4, Walkable.NON_WALKABLE, Stackable.NON_STACKABLE, false);
  31. this.data = data;
  32. }
  33.  
  34. /**
  35. * Attempts to fish
  36. *
  37. * @param player
  38. * The player attempting to fish
  39. * @return
  40. */
  41. public static boolean attemptFishing(Player player) {
  42. int spotId = data.getSpotId();
  43.  
  44. FishingData data = FishingData.forId(spotId);
  45. if (!meetsRequirements(player, data)) {
  46. return false;
  47. }
  48. player.getPA().closeAllWindows();
  49. player.setSkillTask(new Fishing(player, data));
  50. return true;
  51. }
  52.  
  53. /**
  54. * Meets the requirements to start fishing
  55. *
  56. * @param player
  57. * The player fishing
  58. * @param data
  59. * The data for fishing
  60. * @return The player can start to fish the spot
  61. */
  62. private static boolean meetsRequirements(Player player, FishingData data) {
  63. if (data == null) {
  64. return false;
  65. }
  66.  
  67. if (player.playerLevel[10] < data.getLevelRequired()) {
  68. player.sendMessage("You need a fishing level of " + data.getLevelRequired() + " to fish here.");
  69. return false;
  70. }
  71.  
  72. if (data.isBaitRequired() && player.getItems().playerHasItem(313)) {
  73. player.sendMessage("You need some fishing bait to fish here.");
  74. return false;
  75. }
  76. return true;
  77. }
  78.  
  79. @Override
  80. public void execute() {
  81.  
  82. if (getPlayer() == null || !getPlayer().isActive()) {
  83. stop();
  84. return;
  85. }
  86. if (!getPlayer().getItems().playerHasItem(data.getToolId(), 1)) {
  87. getPlayer().sendMessage("You need a " + player.getItems().getItemName(data.getToolId()) + " to fish here.");
  88. stop();
  89. return;
  90. }
  91. getPlayer().startAnimation(data.getAnimationId());
  92. getPlayer().getItems().addItem(data.getFishId(), 1);
  93. if (data.isSecondFishAvailable()) {
  94. getPlayer().getItems().addItem(data.getSecondFishId(), 1);
  95. }
  96. getPlayer().getPA().addSkillXP(data.getExperience(), Player.playerFishing);
  97. }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement