Guest User

WoodcuttingStyle

a guest
Jan 4th, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.00 KB | None | 0 0
  1. package me.wonderfulmang.aow.styles;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import org.osbot.rs07.api.map.Area;
  7. import org.osbot.rs07.api.model.Item;
  8. import org.osbot.rs07.api.model.NPC;
  9. import org.osbot.rs07.utility.ConditionalSleep;
  10.  
  11. import me.wonderfulmang.aow.Main;
  12. import me.wonderfulmang.aow.TreeType;
  13. import me.wonderfulmang.aow.WoodcuttingState;
  14.  
  15. public class WoodcuttingStyle {
  16.  
  17. protected Area woodCuttingArea;
  18. protected String areaName;
  19. protected Area bank;
  20. public Main main;
  21. protected TreeType selectedTree;
  22.  
  23. protected List<TreeType> treeList = new ArrayList<TreeType>();
  24.  
  25.  
  26. public WoodcuttingStyle(String areaName, Area bank,Main main) {
  27. this.areaName = areaName;
  28. this.bank = bank;
  29. }
  30.  
  31. public WoodcuttingState getState() {
  32.  
  33. if(main == null)
  34. {
  35. return WoodcuttingState.UNKNOWN;
  36. }else{
  37. main.log("main is not null");
  38. }
  39.  
  40. if(main.inventory.isFull()){
  41. if(bank == null)
  42. {
  43. main.log("Bank is null");
  44. return WoodcuttingState.UNKNOWN;
  45. }
  46.  
  47. if(bank.contains(main.myPlayer()))
  48. return WoodcuttingState.BANKING;
  49.  
  50. return WoodcuttingState.WALKING_TO_BANK;
  51. }
  52.  
  53. if(getWoodCuttingArea() == null)
  54. {
  55. main.log("WoodcuttingArea is null");
  56. return WoodcuttingState.UNKNOWN;
  57. }
  58.  
  59. if(!getWoodCuttingArea().contains(main.myPlayer()))
  60. return WoodcuttingState.WALKING_TO_TREES;
  61.  
  62. if(main.myPlayer().getInteracting() != null)
  63. {
  64. if(selectedTree == null)
  65. {
  66. main.log("Selected tree is null...");
  67. return WoodcuttingState.UNKNOWN;
  68. }
  69. if(main.myPlayer().getInteracting().getName().equalsIgnoreCase(selectedTree.getName()))
  70. {
  71. return WoodcuttingState.CHOPPING;
  72. }else{
  73. return WoodcuttingState.UNKNOWN;
  74. }
  75. }else{
  76. return WoodcuttingState.WAITING;
  77. }
  78. }
  79.  
  80. public String getAreaName() {
  81. return areaName;
  82. }
  83.  
  84. public Area getWoodCuttingArea() {
  85. return woodCuttingArea;
  86. }
  87.  
  88. public TreeType getSelectedTreeType() {
  89. return selectedTree;
  90. }
  91.  
  92. public void setSelectedTree(TreeType selectedTree) {
  93. this.selectedTree = selectedTree;
  94. }
  95.  
  96. public Area getBank() {
  97. return bank;
  98. }
  99.  
  100. public List<TreeType> getTreeList() {
  101. return treeList;
  102. }
  103.  
  104. public int runStyle()
  105. {
  106. switch(getState())
  107. {
  108. case BANKING:
  109. if(!main.getBank().isOpen())
  110. {
  111. try {
  112. if(main.getBank().open())
  113. {
  114. new ConditionalSleep(5000,6000)
  115. {
  116. @Override
  117. public boolean condition() throws InterruptedException {
  118. return main.getBank().isOpen();
  119. }
  120. }.sleep();
  121. if(main.selectedHatchet == null)
  122. {
  123. main.log("Selected hatchet is null...");
  124. return Main.random(200,300);
  125. }
  126.  
  127. main.getBank().depositAll(selectedTree.getLogName());
  128. for(Item item : main.getInventory().getItems())
  129. {
  130. if(item == null)
  131. continue;
  132.  
  133. if(!item.getName().equalsIgnoreCase(main.selectedHatchet.getName()))
  134. {
  135. main.getBank().depositAll(item.getName());
  136. }
  137. }
  138. main.getBank().close();
  139. }
  140. } catch (InterruptedException e) {
  141. e.printStackTrace();
  142. }
  143. }
  144. return Main.random(300,1500);
  145. case CHOPPING:
  146. break;
  147. case UNKNOWN:
  148. main.getWalking().webWalk(bank.getRandomPosition());
  149. return Main.random(200,300);
  150. case WAITING:
  151. NPC tree = main.npcs.closest(selectedTree.getName());
  152.  
  153. if(tree == null)
  154. return Main.random(500,1500);
  155.  
  156. if(!main.myPlayer().isInteracting(tree))
  157. {
  158. tree.interact("Chop down");
  159. return Main.random(1100,3000);
  160. }
  161.  
  162. return Main.random(1000,1500);
  163. case WALKING_TO_BANK:
  164. main.getWalking().webWalk(bank.getRandomPosition());
  165. break;
  166. case WALKING_TO_TREES:
  167.  
  168.  
  169. main.getWalking().webWalk(getWoodCuttingArea().getRandomPosition());
  170. return Main.random(200,500);
  171. default:
  172. main.getWalking().webWalk(bank.getRandomPosition());
  173. break;
  174. }
  175.  
  176. return Main.random(200,300);
  177. }
  178.  
  179.  
  180.  
  181. }
Add Comment
Please, Sign In to add comment