From fca38492131c957daebaa8c46e6342ac0dbc9936 Mon Sep 17 00:00:00 2001 From: maskarauder Date: Fri, 19 Dec 2025 14:33:40 -0500 Subject: [PATCH] Update tree run (#2492) * WIP: Adds new trees, new patches, and calquats. * Fixes erroneous import. * Updates calquat patch tab to match FRUIT_TREE from PatchImplementation * WIP: adds new farm regions * Adds updated farmrun files from RuneLite. * Bug fix, fix issues with some plots. * Fixes bug with Anglers Retreat not updating. * Updates sidebar steps * Adds missing comma. * Adds more commas. --- .../mischelpers/farmruns/FarmingUtils.java | 51 +- .../mischelpers/farmruns/FarmingWorld.java | 260 ++-- .../farmruns/PatchImplementation.java | 1090 ++++++++++------- .../helpers/mischelpers/farmruns/TreeRun.java | 412 +++++-- 4 files changed, 1161 insertions(+), 652 deletions(-) diff --git a/src/main/java/com/questhelper/helpers/mischelpers/farmruns/FarmingUtils.java b/src/main/java/com/questhelper/helpers/mischelpers/farmruns/FarmingUtils.java index e4e9c9f40..15da4cb34 100644 --- a/src/main/java/com/questhelper/helpers/mischelpers/farmruns/FarmingUtils.java +++ b/src/main/java/com/questhelper/helpers/mischelpers/farmruns/FarmingUtils.java @@ -274,7 +274,10 @@ public class FarmingUtils public enum HardwoodTreeSapling implements PlantableItem { TEAK(ItemID.PLANTPOT_TEAK_SAPLING, ItemID.LIMPWURT_ROOT, 15), - MAHOGANY(ItemID.PLANTPOT_MAHOGANY_SAPLING, ItemID.YANILLIAN_HOPS, 25); + MAHOGANY(ItemID.PLANTPOT_MAHOGANY_SAPLING, ItemID.YANILLIAN_HOPS, 25), + CAMPHOR(ItemID.PLANTPOT_CAMPHOR_SAPLING, ItemID.WHITE_BERRIES, 10), + IRONWOOD(ItemID.PLANTPOT_IRONWOOD_SAPLING, ItemID.CURRY, 10), + ROSEWOOD(ItemID.PLANTPOT_ROSEWOOD_SAPLING, ItemID.DRAGONFRUIT, 8); final int hardwoodTreeSaplingId; final int protectionItemId; @@ -318,6 +321,52 @@ public class FarmingUtils } } + public enum CalquatTreeSapling implements PlantableItem + { + CALQUAT(ItemID.PLANTPOT_CALQUAT_SAPLING, ItemID.POISONIVY_BERRIES, 8); + + final int calquatTreeSaplingId; + final int protectionItemId; + final int protectionItemQuantity; + + CalquatTreeSapling(int calquatTreeSaplingId, int protectionItemId, int protectionItemQuantity) + { + this.calquatTreeSaplingId = calquatTreeSaplingId; + this.protectionItemId = protectionItemId; + this.protectionItemQuantity = protectionItemQuantity; + } + + @Override + public String getConfigKey() + { + return "calquatTreeSaplings"; + } + + @Override + public int getPlantableItemId() + { + return calquatTreeSaplingId; + } + + @Override + public int getProtectionItemId() + { + return protectionItemId; + } + + @Override + public int getProtectionItemQuantity() + { + return protectionItemQuantity; + } + + @Override + public ConfigEnum getDefault() + { + return CalquatTreeSapling.CALQUAT; + } + } + public enum GracefulOrFarming { NONE(), diff --git a/src/main/java/com/questhelper/helpers/mischelpers/farmruns/FarmingWorld.java b/src/main/java/com/questhelper/helpers/mischelpers/farmruns/FarmingWorld.java index dc7806533..9f8efdea2 100644 --- a/src/main/java/com/questhelper/helpers/mischelpers/farmruns/FarmingWorld.java +++ b/src/main/java/com/questhelper/helpers/mischelpers/farmruns/FarmingWorld.java @@ -29,15 +29,21 @@ import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; import com.google.common.collect.Multimaps; import com.google.inject.Singleton; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; +import java.util.TreeSet; +import java.util.stream.Collectors; import lombok.Getter; import net.runelite.api.coords.WorldPoint; import net.runelite.api.gameval.NpcID; import net.runelite.api.gameval.VarbitID; import net.runelite.client.plugins.timetracking.Tab; -import java.util.*; -import java.util.stream.Collectors; - @Singleton class FarmingWorld { @@ -45,12 +51,13 @@ class FarmingWorld private Multimap regions = HashMultimap.create(); @Getter + @SuppressWarnings("PMD.ImmutableField") private Map> tabs = new HashMap<>(); private final Comparator tabSorter = Comparator - .comparing(FarmingPatch::getImplementation) - .thenComparing((FarmingPatch p) -> p.getRegion().getName()) - .thenComparing(FarmingPatch::getName); + .comparing(FarmingPatch::getImplementation) + .thenComparing((FarmingPatch p) -> p.getRegion().getName()) + .thenComparing(FarmingPatch::getName); @Getter private final FarmingRegion farmingGuildRegion; @@ -60,39 +67,48 @@ class FarmingWorld // Some of these patches get updated in multiple regions. // It may be worth it to add a specialization for these patches add(new FarmingRegion("Al Kharid", 13106, false, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.CACTUS, NpcID.FARMING_GARDENER_CACTUS) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.CACTUS, NpcID.FARMING_GARDENER_CACTUS) ), 13362, 13105); add(new FarmingRegion("Aldarin", 5421, false, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HOPS, NpcID.FARMING_GARDENER_HOPS_5) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HOPS, NpcID.FARMING_GARDENER_HOPS_5) ), 5165, 5166, 5422, 5677, 5678); - add(new FarmingRegion("Ardougne", 10290, false, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.BUSH, NpcID.FARMING_GARDENER_BUSH_4) - ), 10546); - add(new FarmingRegion("Ardougne", 10548, false, - new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.KRAGEN, 0), - new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.KRAGEN, 1), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST) + add(new FarmingRegion("Anglers' Retreat", 9770, false, + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HARDWOOD_TREE, NpcID.FARMING_GARDENER_HARDWOOD_TREE_5) )); + add(new FarmingRegion("Ardougne", 10290, false, + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.BUSH, NpcID.FARMING_GARDENER_BUSH_4) + ), 10546); + add(new FarmingRegion("Ardougne", 10548, false, + new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.KRAGEN, 0), + new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.KRAGEN, 1), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST) + )); + + add(new FarmingRegion("Auburnvale", 5427, false, + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_7), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.BELLADONNA) + ), 5428, 5684); + add(new FarmingRegion("Avium Savannah", 6702, true, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HARDWOOD_TREE, NpcID.FROG_QUEST_MARCELLUS) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HARDWOOD_TREE, NpcID.FROG_QUEST_MARCELLUS) ), 6446); add(new FarmingRegion("Brimhaven", 11058, false, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.FRUIT_TREE, NpcID.GARTH), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.SPIRIT_TREE, NpcID.FARMING_GARDENER_SPIRIT_TREE_3) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.FRUIT_TREE, NpcID.GARTH), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.SPIRIT_TREE, NpcID.FARMING_GARDENER_SPIRIT_TREE_3) ), 11057); add(new FarmingRegion("Catherby", 11062, false, - new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.DANTAERA, 0), - new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.DANTAERA, 1), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST) + new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.DANTAERA, 0), + new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.DANTAERA, 1), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST) ) { @Override @@ -107,7 +123,7 @@ class FarmingWorld } }, 11061, 11318, 11317); add(new FarmingRegion("Catherby", 11317, false, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.FRUIT_TREE, NpcID.FARMING_GARDENER_FRUIT_4) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.FRUIT_TREE, NpcID.FARMING_GARDENER_FRUIT_4) ) { //The fruit tree patch is always sent when upstairs in 11317 @@ -119,39 +135,39 @@ class FarmingWorld }); add(new FarmingRegion("Civitas illa Fortis", 6192, false, - new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.FORTIS_GARDENER, 0), - new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.FORTIS_GARDENER, 1), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST) + new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.FORTIS_GARDENER, 0), + new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.FORTIS_GARDENER, 1), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST) ), 6447, 6448, 6449, 6191, 6193); add(new FarmingRegion("Champions' Guild", 12596, true, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.BUSH, NpcID.FARMING_GARDENER_BUSH_1) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.BUSH, NpcID.FARMING_GARDENER_BUSH_1) )); add(new FarmingRegion("Draynor Manor", 12340, false, - new FarmingPatch("Belladonna", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.BELLADONNA) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.BELLADONNA) )); add(new FarmingRegion("Entrana", 11060, false, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HOPS, NpcID.FRANCIS) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HOPS, NpcID.FRANCIS) ), 11316); add(new FarmingRegion("Etceteria", 10300, false, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.BUSH, NpcID.FARMING_GARDENER_BUSH_3), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.SPIRIT_TREE, NpcID.FARMING_GARDENER_SPIRIT_TREE_2) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.BUSH, NpcID.FARMING_GARDENER_BUSH_3), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.SPIRIT_TREE, NpcID.FARMING_GARDENER_SPIRIT_TREE_2) )); add(new FarmingRegion("Falador", 11828, false, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_2) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_2) ), 12084); add(new FarmingRegion("Falador", 12083, false, - new FarmingPatch("North West", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.ELSTAN, 0), - new FarmingPatch("South East", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.ELSTAN, 1), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST) + new FarmingPatch("North West", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.ELSTAN, 0), + new FarmingPatch("South East", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.ELSTAN, 1), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST) ) { @Override @@ -163,9 +179,9 @@ class FarmingWorld }); add(new FarmingRegion("Fossil Island", 14651, false, - new FarmingPatch("East", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HARDWOOD_TREE, NpcID.FOSSIL_SQUIRREL_GARDENER1), - new FarmingPatch("Middle", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.HARDWOOD_TREE, NpcID.FOSSIL_SQUIRREL_GARDENER2), - new FarmingPatch("West", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.HARDWOOD_TREE, NpcID.FOSSIL_SQUIRREL_GARDENER3) + new FarmingPatch("East", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HARDWOOD_TREE, NpcID.FOSSIL_SQUIRREL_GARDENER1), + new FarmingPatch("Middle", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.HARDWOOD_TREE, NpcID.FOSSIL_SQUIRREL_GARDENER2), + new FarmingPatch("West", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.HARDWOOD_TREE, NpcID.FOSSIL_SQUIRREL_GARDENER3) ) { @Override @@ -182,7 +198,7 @@ class FarmingWorld //East and west ladders to rope bridge if ((loc.getX() == 3729 || loc.getX() == 3728 || loc.getX() == 3747 || loc.getX() == 3746) - && loc.getY() <= 3832 && loc.getY() >= 3830) + && loc.getY() <= 3832 && loc.getY() >= 3830) { return false; } @@ -191,71 +207,79 @@ class FarmingWorld } }, 14907, 14908, 15164, 14652, 14906, 14650, 15162, 15163); add(new FarmingRegion("Seaweed", 15008, false, - new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.SEAWEED, NpcID.FOSSIL_GARDENER_UNDERWATER, 0), - new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.SEAWEED, NpcID.FOSSIL_GARDENER_UNDERWATER, 1) + new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.SEAWEED, NpcID.FOSSIL_GARDENER_UNDERWATER, 0), + new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.SEAWEED, NpcID.FOSSIL_GARDENER_UNDERWATER, 1) )); add(new FarmingRegion("Gnome Stronghold", 9781, true, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_GNOME), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.FRUIT_TREE, NpcID.FARMING_GARDENER_FRUIT_1) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_GNOME), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.FRUIT_TREE, NpcID.FARMING_GARDENER_FRUIT_1) ), 9782, 9526, 9525); + add(new FarmingRegion("Great Conch", 12581, true, + new FarmingPatch("East", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.CORAL, NpcID.TORTUGAN_CORAL_FARMER, 0), + new FarmingPatch("West", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.CORAL, NpcID.TORTUGAN_CORAL_FARMER, 1), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.CALQUAT, NpcID.FARMING_GARDENER_CALQUAT_3) + ), 12325, 12326, 12327, 12580, 12581, 12582, 12583, 12836, 12837, 12838, 12839, 13092, 13093, 13194); + add(new FarmingRegion("Harmony", 15148, false, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.HERB) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.HERB) )); + add(new FarmingRegion("Kastori", 5423, false, + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.CALQUAT, NpcID.FARMING_GARDENER_CALQUAT_2), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.FRUIT_TREE, NpcID.FARMING_GARDENER_FRUIT_7), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER) + ), 5167, 5424); + add(new FarmingRegion("Kourend", 6967, false, - new FarmingPatch("North East", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.HOSIDIUS_ALLOTMENT_GARDENER, 0), - new FarmingPatch("South West", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.HOSIDIUS_ALLOTMENT_GARDENER, 1), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_F, PatchImplementation.SPIRIT_TREE, NpcID.FARMING_GARDENER_SPIRIT_TREE_4) + new FarmingPatch("North East", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.HOSIDIUS_ALLOTMENT_GARDENER, 0), + new FarmingPatch("South West", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.HOSIDIUS_ALLOTMENT_GARDENER, 1), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_F, PatchImplementation.SPIRIT_TREE, NpcID.FARMING_GARDENER_SPIRIT_TREE_4) ), 6711); add(new FarmingRegion("Kourend", 7223, false, - new FarmingPatch("East 1", VarbitID.FARMING_TRANSMIT_A1, PatchImplementation.GRAPES), - new FarmingPatch("East 2", VarbitID.FARMING_TRANSMIT_A2, PatchImplementation.GRAPES), - new FarmingPatch("East 3", VarbitID.FARMING_TRANSMIT_B1, PatchImplementation.GRAPES), - new FarmingPatch("East 4", VarbitID.FARMING_TRANSMIT_B2, PatchImplementation.GRAPES), - new FarmingPatch("East 5", VarbitID.FARMING_TRANSMIT_C1, PatchImplementation.GRAPES), - new FarmingPatch("East 6", VarbitID.FARMING_TRANSMIT_C2, PatchImplementation.GRAPES), - new FarmingPatch("West 1", VarbitID.FARMING_TRANSMIT_D1, PatchImplementation.GRAPES), - new FarmingPatch("West 2", VarbitID.FARMING_TRANSMIT_D2, PatchImplementation.GRAPES), - new FarmingPatch("West 3", VarbitID.FARMING_TRANSMIT_E1, PatchImplementation.GRAPES), - new FarmingPatch("West 4", VarbitID.FARMING_TRANSMIT_E2, PatchImplementation.GRAPES), - new FarmingPatch("West 5", VarbitID.FARMING_TRANSMIT_F1, PatchImplementation.GRAPES), - new FarmingPatch("West 6", VarbitID.FARMING_TRANSMIT_F2, PatchImplementation.GRAPES) + new FarmingPatch("East 1", VarbitID.FARMING_TRANSMIT_A1, PatchImplementation.GRAPES), + new FarmingPatch("East 2", VarbitID.FARMING_TRANSMIT_A2, PatchImplementation.GRAPES), + new FarmingPatch("East 3", VarbitID.FARMING_TRANSMIT_B1, PatchImplementation.GRAPES), + new FarmingPatch("East 4", VarbitID.FARMING_TRANSMIT_B2, PatchImplementation.GRAPES), + new FarmingPatch("East 5", VarbitID.FARMING_TRANSMIT_C1, PatchImplementation.GRAPES), + new FarmingPatch("East 6", VarbitID.FARMING_TRANSMIT_C2, PatchImplementation.GRAPES), + new FarmingPatch("West 1", VarbitID.FARMING_TRANSMIT_D1, PatchImplementation.GRAPES), + new FarmingPatch("West 2", VarbitID.FARMING_TRANSMIT_D2, PatchImplementation.GRAPES), + new FarmingPatch("West 3", VarbitID.FARMING_TRANSMIT_E1, PatchImplementation.GRAPES), + new FarmingPatch("West 4", VarbitID.FARMING_TRANSMIT_E2, PatchImplementation.GRAPES), + new FarmingPatch("West 5", VarbitID.FARMING_TRANSMIT_F1, PatchImplementation.GRAPES), + new FarmingPatch("West 6", VarbitID.FARMING_TRANSMIT_F2, PatchImplementation.GRAPES) )); add(new FarmingRegion("Lletya", 9265, false, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.FRUIT_TREE, NpcID.FARMING_GARDENER_FRUIT_TREE_5) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.FRUIT_TREE, NpcID.FARMING_GARDENER_FRUIT_TREE_5) ), 11103); add(new FarmingRegion("Lumbridge", 12851, false, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HOPS, NpcID.FARMING_GARDENER_HOPS_3) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HOPS, NpcID.FARMING_GARDENER_HOPS_3) )); add(new FarmingRegion("Lumbridge", 12594, false, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_4) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_4) ), 12850); add(new FarmingRegion("Morytania", 13622, false, - new FarmingPatch("Mushroom", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.MUSHROOM) + new FarmingPatch("Mushroom", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.MUSHROOM) ), 13878); add(new FarmingRegion("Morytania", 14391, false, - new FarmingPatch("North West", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.LYRA, 0), - new FarmingPatch("South East", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.LYRA, 1), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST) + new FarmingPatch("North West", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.LYRA, 0), + new FarmingPatch("South East", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.LYRA, 1), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST) ), 14390); - add(new FarmingRegion("Nemus Retreat", 5427, false, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_7) - )); - add(new FarmingRegion("Port Sarim", 12082, false, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.SPIRIT_TREE, NpcID.FARMING_GARDENER_SPIRIT_TREE_1) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.SPIRIT_TREE, NpcID.FARMING_GARDENER_SPIRIT_TREE_1) ) { @Override @@ -266,71 +290,71 @@ class FarmingWorld }, 12083); add(new FarmingRegion("Rimmington", 11570, false, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.BUSH, NpcID.FARMING_GARDENER_BUSH_2) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.BUSH, NpcID.FARMING_GARDENER_BUSH_2) ), 11826); add(new FarmingRegion("Seers' Village", 10551, false, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HOPS, NpcID.FARMING_GARDENER_HOPS_4) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HOPS, NpcID.FARMING_GARDENER_HOPS_4) ), 10550); add(new FarmingRegion("Tai Bwo Wannai", 11056, false, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.CALQUAT, NpcID.FARMING_GARDENER_CALQUAT) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.CALQUAT, NpcID.FARMING_GARDENER_CALQUAT) )); add(new FarmingRegion("Taverley", 11573, false, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_1) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_1) ), 11829); add(new FarmingRegion("Tree Gnome Village", 9777, true, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.FRUIT_TREE, NpcID.FARMING_GARDENER_FRUIT_2) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.FRUIT_TREE, NpcID.FARMING_GARDENER_FRUIT_2) ), 10033); add(new FarmingRegion("Troll Stronghold", 11321, true, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HERB) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HERB) )); add(new FarmingRegion("Varrock", 12854, false, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_3_02) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_3_02) ), 12853); add(new FarmingRegion("Yanille", 10288, false, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HOPS, NpcID.FARMING_GARDENER_HOPS_1) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HOPS, NpcID.FARMING_GARDENER_HOPS_1) )); add(new FarmingRegion("Weiss", 11325, false, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HERB) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HERB) )); add(new FarmingRegion("Farming Guild", 5021, true, - new FarmingPatch("Hespori", VarbitID.FARMING_TRANSMIT_J, PatchImplementation.HESPORI) + new FarmingPatch("Hespori", VarbitID.FARMING_TRANSMIT_J, PatchImplementation.HESPORI) )); //Full 3x3 region area centered on farming guild add(farmingGuildRegion = new FarmingRegion("Farming Guild", 4922, true, - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_G, PatchImplementation.TREE, NpcID.FARMING_GARDENER_FARMGUILD_T2), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.HERB), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.BUSH, NpcID.FARMING_GARDENER_FARMGUILD_T1, 3), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_H, PatchImplementation.FLOWER), - new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.ALLOTMENT, NpcID.FARMING_GARDENER_FARMGUILD_T1, 1), - new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.ALLOTMENT, NpcID.FARMING_GARDENER_FARMGUILD_T1, 2), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_N, PatchImplementation.BIG_COMPOST), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_F, PatchImplementation.CACTUS, NpcID.FARMING_GARDENER_FARMGUILD_T1, 0), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.SPIRIT_TREE, NpcID.FARMING_GARDENER_SPIRIT_TREE_5), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_K, PatchImplementation.FRUIT_TREE, NpcID.FARMING_GARDENER_FARMGUILD_T3), - new FarmingPatch("Anima", VarbitID.FARMING_TRANSMIT_M, PatchImplementation.ANIMA), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_L, PatchImplementation.CELASTRUS, NpcID.FARMING_GARDENER_FARMGUILD_CELASTRUS), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_I, PatchImplementation.REDWOOD, NpcID.FARMING_GARDENER_FARMGUILD_REDWOOD) + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_G, PatchImplementation.TREE, NpcID.FARMING_GARDENER_FARMGUILD_T2), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.HERB), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.BUSH, NpcID.FARMING_GARDENER_FARMGUILD_T1, 3), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_H, PatchImplementation.FLOWER), + new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.ALLOTMENT, NpcID.FARMING_GARDENER_FARMGUILD_T1, 1), + new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.ALLOTMENT, NpcID.FARMING_GARDENER_FARMGUILD_T1, 2), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_N, PatchImplementation.BIG_COMPOST), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_F, PatchImplementation.CACTUS, NpcID.FARMING_GARDENER_FARMGUILD_T1, 0), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.SPIRIT_TREE, NpcID.FARMING_GARDENER_SPIRIT_TREE_5), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_K, PatchImplementation.FRUIT_TREE, NpcID.FARMING_GARDENER_FARMGUILD_T3), + new FarmingPatch("Anima", VarbitID.FARMING_TRANSMIT_M, PatchImplementation.ANIMA), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_L, PatchImplementation.CELASTRUS, NpcID.FARMING_GARDENER_FARMGUILD_CELASTRUS), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_I, PatchImplementation.REDWOOD, NpcID.FARMING_GARDENER_FARMGUILD_REDWOOD) ), 5177, 5178, 5179, 4921, 4923, 4665, 4666, 4667); //All of Prifddinas, and all of Prifddinas Underground add(new FarmingRegion("Prifddinas", 13151, false, - new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.PRIF_GARDENER, 0), - new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.PRIF_GARDENER, 1), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.CRYSTAL_TREE), - new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.COMPOST) - ), 12895, 12894, 13150, - /* Underground */ 12994, 12993, 12737, 12738, 12126, 12127, 13250); + new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.PRIF_GARDENER, 0), + new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.PRIF_GARDENER, 1), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.CRYSTAL_TREE), + new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.COMPOST) + ), 12895, 12894, 13150, + /* Underground */ 12994, 12993, 12737, 12738, 12126, 12127, 13250); // Finalize this.regions = Multimaps.unmodifiableMultimap(this.regions); @@ -352,15 +376,15 @@ class FarmingWorld for (FarmingPatch p : r.getPatches()) { tabs - .computeIfAbsent(p.getImplementation().getTab(), k -> new TreeSet<>(tabSorter)) - .add(p); + .computeIfAbsent(p.getImplementation().getTab(), k -> new TreeSet<>(tabSorter)) + .add(p); } } Collection getRegionsForLocation(WorldPoint location) { return this.regions.get(location.getRegionID()).stream() - .filter(region -> region.isInBounds(location)) - .collect(Collectors.toSet()); + .filter(region -> region.isInBounds(location)) + .collect(Collectors.toSet()); } } diff --git a/src/main/java/com/questhelper/helpers/mischelpers/farmruns/PatchImplementation.java b/src/main/java/com/questhelper/helpers/mischelpers/farmruns/PatchImplementation.java index 11feafcaa..2ea699003 100644 --- a/src/main/java/com/questhelper/helpers/mischelpers/farmruns/PatchImplementation.java +++ b/src/main/java/com/questhelper/helpers/mischelpers/farmruns/PatchImplementation.java @@ -24,55 +24,16 @@ */ package com.questhelper.helpers.mischelpers.farmruns; +import javax.annotation.Nullable; import lombok.Getter; import lombok.RequiredArgsConstructor; import net.runelite.client.plugins.timetracking.Tab; import net.runelite.client.plugins.timetracking.farming.Produce; -import javax.annotation.Nullable; - @RequiredArgsConstructor @Getter public enum PatchImplementation { - BELLADONNA(Tab.SPECIAL, "", false) - { - @Override - PatchState forVarbitValue(int value) - { - if (value >= 0 && value <= 3) - { - // Belladonna patch[Rake,Inspect,Guide] 7560,7559,7558,7557 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3 - value); - } - if (value >= 4 && value <= 7) - { - // Belladonna[Inspect,Guide] 7561,7562,7563,7564 - return new PatchState(Produce.BELLADONNA, CropState.GROWING, value - 4); - } - if (value == 8) - { - // Belladonna[Pick,Inspect,Guide] 7565 - return new PatchState(Produce.BELLADONNA, CropState.HARVESTABLE, 0); - } - if (value >= 9 && value <= 11) - { - // Diseased Belladonna[Cure,Inspect,Guide] 7566,7567,7568 - return new PatchState(Produce.BELLADONNA, CropState.DISEASED, value - 8); - } - if (value >= 12 && value <= 14) - { - // Dead Belladonna[Clear,Inspect,Guide] 7569,7570,7571 - return new PatchState(Produce.BELLADONNA, CropState.DEAD, value - 11); - } - if (value >= 15 && value <= 255) - { - // Belladonna patch[Rake,Inspect,Guide] 7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); - } - return null; - } - }, MUSHROOM(Tab.SPECIAL, "", false) { @Override @@ -81,7 +42,7 @@ public enum PatchImplementation if (value >= 0 && value <= 3) { // Mushroom patch[Rake,Inspect,Guide] 8314,8313,8312,8311 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3 - value); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3 - value); } if (value >= 4 && value <= 9) { @@ -106,7 +67,7 @@ public enum PatchImplementation if (value >= 26 && value <= 255) { // Mushroom patch[Rake,Inspect,Guide] 8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314,8314 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } return null; } @@ -119,7 +80,7 @@ public enum PatchImplementation if (value >= 0 && value <= 3) { // Hespori patch[Rake,Inspect,Guide] 33722,33723,33724,33725 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3 - value); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3 - value); } if (value >= 4 && value <= 6) { @@ -134,7 +95,7 @@ public enum PatchImplementation if (value == 9) { // Hespori patch[Rake,Inspect,Guide] 33722 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } return null; } @@ -147,12 +108,12 @@ public enum PatchImplementation if (value >= 0 && value <= 3) { // Allotment[Rake,Inspect,Guide] 8576,8575,8574,8573 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3 - value); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3 - value); } if (value >= 4 && value <= 5) { // Allotment[Rake,Inspect,Guide] 8576,8576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 6 && value <= 9) { @@ -237,7 +198,7 @@ public enum PatchImplementation if (value >= 74 && value <= 76) { // Allotment[Rake,Inspect,Guide] 8576,8576,8576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 77 && value <= 80) { @@ -247,7 +208,7 @@ public enum PatchImplementation if (value >= 81 && value <= 83) { // Allotment[Rake,Inspect,Guide] 8576,8576,8576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 84 && value <= 87) { @@ -257,7 +218,7 @@ public enum PatchImplementation if (value >= 88 && value <= 90) { // Allotment[Rake,Inspect,Guide] 8576,8576,8576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 91 && value <= 94) { @@ -267,7 +228,7 @@ public enum PatchImplementation if (value >= 95 && value <= 97) { // Allotment[Rake,Inspect,Guide] 8576,8576,8576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 98 && value <= 103) { @@ -277,7 +238,7 @@ public enum PatchImplementation if (value >= 104 && value <= 106) { // Allotment[Rake,Inspect,Guide] 8576,8576,8576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 107 && value <= 112) { @@ -287,7 +248,7 @@ public enum PatchImplementation if (value >= 113 && value <= 115) { // Allotment[Rake,Inspect,Guide] 8576,8576,8576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 116 && value <= 123) { @@ -297,7 +258,7 @@ public enum PatchImplementation if (value >= 124 && value <= 127) { // Allotment[Rake,Inspect,Guide] 8576,8576,8576,8576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 128 && value <= 134) { @@ -317,7 +278,7 @@ public enum PatchImplementation if (value == 141) { // Allotment[Rake,Inspect,Guide] 8576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 142 && value <= 144) { @@ -327,7 +288,7 @@ public enum PatchImplementation if (value >= 145 && value <= 148) { // Allotment[Rake,Inspect,Guide] 8576,8576,8576,8576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 149 && value <= 151) { @@ -337,7 +298,7 @@ public enum PatchImplementation if (value >= 152 && value <= 155) { // Allotment[Rake,Inspect,Guide] 8576,8576,8576,8576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 156 && value <= 158) { @@ -347,7 +308,7 @@ public enum PatchImplementation if (value >= 159 && value <= 162) { // Allotment[Rake,Inspect,Guide] 8576,8576,8576,8576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 163 && value <= 167) { @@ -357,7 +318,7 @@ public enum PatchImplementation if (value >= 168 && value <= 171) { // Allotment[Rake,Inspect,Guide] 8576,8576,8576,8576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 172 && value <= 176) { @@ -367,7 +328,7 @@ public enum PatchImplementation if (value >= 177 && value <= 180) { // Allotment[Rake,Inspect,Guide] 8576,8576,8576,8576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 181 && value <= 187) { @@ -377,7 +338,7 @@ public enum PatchImplementation if (value >= 188 && value <= 192) { // Allotment[Rake,Inspect,Guide] 8576,8576,8576,8576,8576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 193 && value <= 195) { @@ -402,7 +363,7 @@ public enum PatchImplementation if (value == 205) { // Allotment[Rake,Inspect,Guide] 8576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 206 && value <= 208) { @@ -417,7 +378,7 @@ public enum PatchImplementation if (value == 212) { // Allotment[Rake,Inspect,Guide] 8576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 213 && value <= 215) { @@ -427,7 +388,7 @@ public enum PatchImplementation if (value >= 216 && value <= 219) { // Allotment[Rake,Inspect,Guide] 8576,8576,8576,8576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 220 && value <= 222) { @@ -437,7 +398,7 @@ public enum PatchImplementation if (value >= 223 && value <= 226) { // Allotment[Rake,Inspect,Guide] 8576,8576,8576,8576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 227 && value <= 231) { @@ -447,7 +408,7 @@ public enum PatchImplementation if (value >= 232 && value <= 235) { // Allotment[Rake,Inspect,Guide] 8576,8576,8576,8576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 236 && value <= 240) { @@ -457,7 +418,7 @@ public enum PatchImplementation if (value >= 241 && value <= 244) { // Allotment[Rake,Inspect,Guide] 8576,8576,8576,8576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 245 && value <= 251) { @@ -467,7 +428,7 @@ public enum PatchImplementation if (value >= 252 && value <= 255) { // Allotment[Rake,Inspect,Guide] 8576,8576,8576,8576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } return null; } @@ -480,86 +441,86 @@ public enum PatchImplementation if (value >= 0 && value <= 3) { // Herb patch[Rake,Inspect,Guide] 8135,8134,8133,8132 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3 - value); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3 - value); } if (value >= 4 && value <= 7) { - // Herbs[Inspect,Guide] 8139,8140,8141,8142 + // Herbs[Inspect,Guide] 14209,26825,26826,26827 return new PatchState(Produce.GUAM, CropState.GROWING, value - 4); } if (value >= 8 && value <= 10) { - // Herbs[Pick,Inspect,Guide] 8143,8143,8143 + // Herbs[Pick,Inspect,Guide] 26828,26828,26828 return new PatchState(Produce.GUAM, CropState.HARVESTABLE, 10 - value); } if (value >= 11 && value <= 14) { - // Herbs[Inspect,Guide] 8139,8140,8141,8142 + // Herbs[Inspect,Guide] 26829,39748,39749,39750 return new PatchState(Produce.MARRENTILL, CropState.GROWING, value - 11); } if (value >= 15 && value <= 17) { - // Herbs[Pick,Inspect,Guide] 8143,8143,8143 + // Herbs[Pick,Inspect,Guide] 39751,39751,39751 return new PatchState(Produce.MARRENTILL, CropState.HARVESTABLE, 17 - value); } if (value >= 18 && value <= 21) { - // Herbs[Inspect,Guide] 8139,8140,8141,8142 + // Herbs[Inspect,Guide] 39752,39753,39754,39755 return new PatchState(Produce.TARROMIN, CropState.GROWING, value - 18); } if (value >= 22 && value <= 24) { - // Herbs[Pick,Inspect,Guide] 8143,8143,8143 + // Herbs[Pick,Inspect,Guide] 39756,39756,39756 return new PatchState(Produce.TARROMIN, CropState.HARVESTABLE, 24 - value); } if (value >= 25 && value <= 28) { - // Herbs[Inspect,Guide] 8139,8140,8141,8142 + // Herbs[Inspect,Guide] 39757,39758,39759,39760 return new PatchState(Produce.HARRALANDER, CropState.GROWING, value - 25); } if (value >= 29 && value <= 31) { - // Herbs[Pick,Inspect,Guide] 8143,8143,8143 + // Herbs[Pick,Inspect,Guide] 39761,39761,39761 return new PatchState(Produce.HARRALANDER, CropState.HARVESTABLE, 31 - value); } if (value >= 32 && value <= 35) { - // Herbs[Inspect,Guide] 8139,8140,8141,8142 + // Herbs[Inspect,Guide] 39762,39763,39764,39765 return new PatchState(Produce.RANARR, CropState.GROWING, value - 32); } if (value >= 36 && value <= 38) { - // Herbs[Pick,Inspect,Guide] 8143,8143,8143 + // Herbs[Pick,Inspect,Guide] 39766,39766,39766 return new PatchState(Produce.RANARR, CropState.HARVESTABLE, 38 - value); } if (value >= 39 && value <= 42) { - // Herbs[Inspect,Guide] 8139,8140,8141,8142 + // Herbs[Inspect,Guide] 39777,39778,39779,39780 return new PatchState(Produce.TOADFLAX, CropState.GROWING, value - 39); } if (value >= 43 && value <= 45) { - // Herbs[Pick,Inspect,Guide] 8143,8143,8143 + // Herbs[Pick,Inspect,Guide] 39781,39781,39781 return new PatchState(Produce.TOADFLAX, CropState.HARVESTABLE, 45 - value); } if (value >= 46 && value <= 49) { - // Herbs[Inspect,Guide] 8139,8140,8141,8142 + // Herbs[Inspect,Guide] 39767,39768,39769,39770 return new PatchState(Produce.IRIT, CropState.GROWING, value - 46); } if (value >= 50 && value <= 52) { - // Herbs[Pick,Inspect,Guide] 8143,8143,8143 + // Herbs[Pick,Inspect,Guide] 39771,39771,39771 return new PatchState(Produce.IRIT, CropState.HARVESTABLE, 52 - value); } if (value >= 53 && value <= 56) { - // Herbs[Inspect,Guide] 8139,8140,8141,8142 + // Herbs[Inspect,Guide] 39772,39773,39774,39775 return new PatchState(Produce.AVANTOE, CropState.GROWING, value - 53); } if (value >= 57 && value <= 59) { - // Herbs[Pick,Inspect,Guide] 8143,8143,8143 + // Herbs[Pick,Inspect,Guide] 39776,39776,39776 return new PatchState(Produce.AVANTOE, CropState.HARVESTABLE, 59 - value); } if (value >= 60 && value <= 63) @@ -574,66 +535,67 @@ public enum PatchImplementation } if (value == 67) { - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + // Herb patch[Rake,Inspect,Guide] 8135 + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 68 && value <= 71) { - // Herbs[Inspect,Guide] 8139,8140,8141,8142 + // Herbs[Inspect,Guide] 39782,39783,39784,39785 return new PatchState(Produce.KWUARM, CropState.GROWING, value - 68); } if (value >= 72 && value <= 74) { - // Herbs[Pick,Inspect,Guide] 8143,8143,8143 + // Herbs[Pick,Inspect,Guide] 39786,39786,39786 return new PatchState(Produce.KWUARM, CropState.HARVESTABLE, 74 - value); } if (value >= 75 && value <= 78) { - // Herbs[Inspect,Guide] 8139,8140,8141,8142 + // Herbs[Inspect,Guide] 39807,39808,39809,39810 return new PatchState(Produce.SNAPDRAGON, CropState.GROWING, value - 75); } if (value >= 79 && value <= 81) { - // Herbs[Pick,Inspect,Guide] 8143,8143,8143 + // Herbs[Pick,Inspect,Guide] 39811,39811,39811 return new PatchState(Produce.SNAPDRAGON, CropState.HARVESTABLE, 81 - value); } if (value >= 82 && value <= 85) { - // Herbs[Inspect,Guide] 8139,8140,8141,8142 + // Herbs[Inspect,Guide] 39787,39788,39789,39790 return new PatchState(Produce.CADANTINE, CropState.GROWING, value - 82); } if (value >= 86 && value <= 88) { - // Herbs[Pick,Inspect,Guide] 8143,8143,8143 + // Herbs[Pick,Inspect,Guide] 39791,39791,39791 return new PatchState(Produce.CADANTINE, CropState.HARVESTABLE, 88 - value); } if (value >= 89 && value <= 92) { - // Herbs[Inspect,Guide] 8139,8140,8141,8142 + // Herbs[Inspect,Guide] 39792,39793,39794,39795 return new PatchState(Produce.LANTADYME, CropState.GROWING, value - 89); } if (value >= 93 && value <= 95) { - // Herbs[Pick,Inspect,Guide] 8143,8143,8143 + // Herbs[Pick,Inspect,Guide] 39796,39796,39796 return new PatchState(Produce.LANTADYME, CropState.HARVESTABLE, 95 - value); } if (value >= 96 && value <= 99) { - // Herbs[Inspect,Guide] 8139,8140,8141,8142 + // Herbs[Inspect,Guide] 39797,39798,39799,39800 return new PatchState(Produce.DWARF_WEED, CropState.GROWING, value - 96); } if (value >= 100 && value <= 102) { - // Herbs[Pick,Inspect,Guide] 8143,8143,8143 + // Herbs[Pick,Inspect,Guide] 39801,39801,39801 return new PatchState(Produce.DWARF_WEED, CropState.HARVESTABLE, 102 - value); } if (value >= 103 && value <= 106) { - // Herbs[Inspect,Guide] 8139,8140,8141,8142 + // Herbs[Inspect,Guide] 39802,39803,39804,39805 return new PatchState(Produce.TORSTOL, CropState.GROWING, value - 103); } if (value >= 107 && value <= 109) { - // Herbs[Pick,Inspect,Guide] 8143,8143,8143 + // Herbs[Pick,Inspect,Guide] 39806,39806,39806 return new PatchState(Produce.TORSTOL, CropState.HARVESTABLE, 109 - value); } if (value >= 128 && value <= 130) @@ -711,10 +673,15 @@ public enum PatchImplementation // Dead herbs[Clear,Inspect,Guide] 8147,8148,8149 return new PatchState(Produce.ANYHERB, CropState.DEAD, value - 169); } - if (value >= 173 && value <= 191) + if (value >= 173 && value <= 175) { - // Herb patch[Rake,Inspect,Guide] 8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + // Diseased herbs[Cure,Inspect,Guide] 8144,8145,8146 + return new PatchState(Produce.HUASCA, CropState.DISEASED, value - 172); + } + if (value >= 176 && value <= 191) + { + // Herb patch[Rake,Inspect,Guide] 8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135 + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 192 && value <= 195) { @@ -739,12 +706,12 @@ public enum PatchImplementation if (value >= 204 && value <= 219) { // Herb patch[Rake,Inspect,Guide] 8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 221 && value <= 255) { // Herb patch[Rake,Inspect,Guide] 8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135,8135 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } return null; } @@ -757,12 +724,12 @@ public enum PatchImplementation if (value >= 0 && value <= 3) { // Flower Patch[Rake,Inspect,Guide] 7843,7842,7841,7840 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3 - value); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3 - value); } if (value >= 4 && value <= 7) { // Flower Patch[Rake,Inspect,Guide] 7843,7843,7843,7843 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 8 && value <= 11) { @@ -837,7 +804,7 @@ public enum PatchImplementation if (value >= 42 && value <= 71) { // Flower Patch[Rake,Inspect,Guide] 7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 72 && value <= 75) { @@ -847,7 +814,7 @@ public enum PatchImplementation if (value == 76) { // Flower Patch[Rake,Inspect,Guide] 7843 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 77 && value <= 80) { @@ -857,7 +824,7 @@ public enum PatchImplementation if (value == 81) { // Flower Patch[Rake,Inspect,Guide] 7843 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 82 && value <= 85) { @@ -867,7 +834,7 @@ public enum PatchImplementation if (value == 86) { // Flower Patch[Rake,Inspect,Guide] 7843 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 87 && value <= 90) { @@ -877,7 +844,7 @@ public enum PatchImplementation if (value == 91) { // Flower Patch[Rake,Inspect,Guide] 7843 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 92 && value <= 95) { @@ -887,7 +854,7 @@ public enum PatchImplementation if (value >= 96 && value <= 100) { // Flower Patch[Rake,Inspect,Guide] 7843,7843,7843,7843,7843 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 101 && value <= 104) { @@ -897,7 +864,7 @@ public enum PatchImplementation if (value >= 105 && value <= 136) { // Flower Patch[Rake,Inspect,Guide] 7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 137 && value <= 139) { @@ -907,7 +874,7 @@ public enum PatchImplementation if (value >= 140 && value <= 141) { // Flower Patch[Rake,Inspect,Guide] 7843,7843 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 142 && value <= 144) { @@ -917,7 +884,7 @@ public enum PatchImplementation if (value >= 145 && value <= 146) { // Flower Patch[Rake,Inspect,Guide] 7843,7843 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 147 && value <= 149) { @@ -927,7 +894,7 @@ public enum PatchImplementation if (value >= 150 && value <= 151) { // Flower Patch[Rake,Inspect,Guide] 7843,7843 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 152 && value <= 154) { @@ -937,7 +904,7 @@ public enum PatchImplementation if (value >= 155 && value <= 156) { // Flower Patch[Rake,Inspect,Guide] 7843,7843 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 157 && value <= 159) { @@ -947,7 +914,7 @@ public enum PatchImplementation if (value >= 160 && value <= 165) { // Flower Patch[Rake,Inspect,Guide] 7843,7843,7843,7843,7843,7843 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 166 && value <= 168) { @@ -957,7 +924,7 @@ public enum PatchImplementation if (value >= 169 && value <= 200) { // Flower Patch[Rake,Inspect,Guide] 7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 201 && value <= 204) { @@ -967,7 +934,7 @@ public enum PatchImplementation if (value == 205) { // Flower Patch[Rake,Inspect,Guide] 7843 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 206 && value <= 209) { @@ -977,7 +944,7 @@ public enum PatchImplementation if (value == 210) { // Flower Patch[Rake,Inspect,Guide] 7843 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 211 && value <= 214) { @@ -987,7 +954,7 @@ public enum PatchImplementation if (value == 215) { // Flower Patch[Rake,Inspect,Guide] 7843 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 216 && value <= 219) { @@ -997,7 +964,7 @@ public enum PatchImplementation if (value == 220) { // Flower Patch[Rake,Inspect,Guide] 7843 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 221 && value <= 224) { @@ -1007,7 +974,7 @@ public enum PatchImplementation if (value >= 225 && value <= 229) { // Flower Patch[Rake,Inspect,Guide] 7843,7843,7843,7843,7843 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 230 && value <= 233) { @@ -1017,7 +984,7 @@ public enum PatchImplementation if (value >= 234 && value <= 255) { // Flower Patch[Rake,Inspect,Guide] 7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843,7843 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } return null; } @@ -1030,12 +997,12 @@ public enum PatchImplementation if (value >= 0 && value <= 3) { // Bush Patch[Rake,Inspect,Guide] 7576,7575,7574,7573 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3 - value); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3 - value); } if (value == 4) { // Bush Patch[Rake,Inspect,Guide] 7576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 5 && value <= 9) { @@ -1090,7 +1057,7 @@ public enum PatchImplementation if (value >= 64 && value <= 69) { // Bush Patch[Rake,Inspect,Guide] 7576,7576,7576,7576,7576,7576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 70 && value <= 74) { @@ -1100,7 +1067,7 @@ public enum PatchImplementation if (value >= 75 && value <= 79) { // Bush Patch[Rake,Inspect,Guide] 7576,7576,7576,7576,7576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 80 && value <= 85) { @@ -1110,7 +1077,7 @@ public enum PatchImplementation if (value >= 86 && value <= 90) { // Bush Patch[Rake,Inspect,Guide] 7576,7576,7576,7576,7576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 91 && value <= 97) { @@ -1120,7 +1087,7 @@ public enum PatchImplementation if (value >= 98 && value <= 102) { // Bush Patch[Rake,Inspect,Guide] 7576,7576,7576,7576,7576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 103 && value <= 110) { @@ -1130,7 +1097,7 @@ public enum PatchImplementation if (value >= 111 && value <= 115) { // Bush Patch[Rake,Inspect,Guide] 7576,7576,7576,7576,7576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 116 && value <= 123) { @@ -1140,7 +1107,7 @@ public enum PatchImplementation if (value >= 124 && value <= 133) { // Bush Patch[Rake,Inspect,Guide] 7576,7576,7576,7576,7576,7576,7576,7576,7576,7576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 134 && value <= 138) { @@ -1150,7 +1117,7 @@ public enum PatchImplementation if (value >= 139 && value <= 143) { // Bush Patch[Rake,Inspect,Guide] 7576,7576,7576,7576,7576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 144 && value <= 149) { @@ -1160,7 +1127,7 @@ public enum PatchImplementation if (value >= 150 && value <= 154) { // Bush Patch[Rake,Inspect,Guide] 7576,7576,7576,7576,7576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 155 && value <= 161) { @@ -1170,7 +1137,7 @@ public enum PatchImplementation if (value >= 162 && value <= 166) { // Bush Patch[Rake,Inspect,Guide] 7576,7576,7576,7576,7576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 167 && value <= 174) { @@ -1180,7 +1147,7 @@ public enum PatchImplementation if (value >= 175 && value <= 179) { // Bush Patch[Rake,Inspect,Guide] 7576,7576,7576,7576,7576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 180 && value <= 187) { @@ -1190,7 +1157,7 @@ public enum PatchImplementation if (value >= 188 && value <= 196) { // Bush Patch[Rake,Inspect,Guide] 7576,7576,7576,7576,7576,7576,7576,7576,7576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 197 && value <= 204) { @@ -1220,37 +1187,37 @@ public enum PatchImplementation if (value >= 226 && value <= 249) { // Bush Patch[Rake,Inspect,Guide] 7576,7576,7576,7576,7576,7576,7576,7576,7576,7576,7576,7576,7576,7576,7576,7576,7576,7576,7576,7576,7576,7576,7576,7576 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value == 250) { // Redberry bush[Check-health,Inspect,Guide] 7702 - return new PatchState(Produce.REDBERRIES, CropState.UNCHECKED, Produce.REDBERRIES.getStages() - 1); + return new PatchState(Produce.REDBERRIES, CropState.GROWING, Produce.REDBERRIES.getStages() - 1); } if (value == 251) { // Cadavaberry bush[Check-health,Inspect,Guide] 7592 - return new PatchState(Produce.CADAVABERRIES, CropState.UNCHECKED, Produce.CADAVABERRIES.getStages() - 1); + return new PatchState(Produce.CADAVABERRIES, CropState.GROWING, Produce.CADAVABERRIES.getStages() - 1); } if (value == 252) { // Dwellberry bush[Check-health,Inspect,Guide] 7617 - return new PatchState(Produce.DWELLBERRIES, CropState.UNCHECKED, Produce.DWELLBERRIES.getStages() - 1); + return new PatchState(Produce.DWELLBERRIES, CropState.GROWING, Produce.DWELLBERRIES.getStages() - 1); } if (value == 253) { // Jangerberry bush[Check-health,Inspect,Guide] 7645 - return new PatchState(Produce.JANGERBERRIES, CropState.UNCHECKED, Produce.JANGERBERRIES.getStages() - 1); + return new PatchState(Produce.JANGERBERRIES, CropState.GROWING, Produce.JANGERBERRIES.getStages() - 1); } if (value == 254) { // Whiteberry bush[Check-health,Inspect,Guide] 7726 - return new PatchState(Produce.WHITEBERRIES, CropState.UNCHECKED, Produce.WHITEBERRIES.getStages() - 1); + return new PatchState(Produce.WHITEBERRIES, CropState.GROWING, Produce.WHITEBERRIES.getStages() - 1); } if (value == 255) { // Poison Ivy bush[Check-health,Inspect,Guide] 7675 - return new PatchState(Produce.POISON_IVY, CropState.UNCHECKED, Produce.POISON_IVY.getStages() - 1); + return new PatchState(Produce.POISON_IVY, CropState.GROWING, Produce.POISON_IVY.getStages() - 1); } return null; } @@ -1263,12 +1230,12 @@ public enum PatchImplementation if (value >= 0 && value <= 3) { // Fruit Tree Patch[Rake,Inspect,Guide] 8050,8049,8048,8047 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3 - value); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3 - value); } if (value >= 4 && value <= 7) { // Fruit Tree Patch[Rake,Inspect,Guide] 8050,8050,8050,8050 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 8 && value <= 13) { @@ -1293,12 +1260,12 @@ public enum PatchImplementation if (value == 33) { // Apple tree stump[Clear,Inspect,Guide] 7961 - return new PatchState(Produce.APPLE, CropState.STUMP, 0); + return new PatchState(Produce.APPLE, CropState.HARVESTABLE, 0); } if (value == 34) { // Apple tree[Check-health,Inspect,Guide] 7948 - return new PatchState(Produce.APPLE, CropState.UNCHECKED, Produce.APPLE.getStages() - 1); + return new PatchState(Produce.APPLE, CropState.GROWING, Produce.APPLE.getStages() - 1); } if (value >= 35 && value <= 40) { @@ -1323,17 +1290,17 @@ public enum PatchImplementation if (value == 60) { // Banana tree stump[Clear,Inspect,Guide] 8019 - return new PatchState(Produce.BANANA, CropState.STUMP, 0); + return new PatchState(Produce.BANANA, CropState.HARVESTABLE, 0); } if (value == 61) { // Banana tree[Check-health,Inspect,Guide] 7999 - return new PatchState(Produce.BANANA, CropState.UNCHECKED, Produce.BANANA.getStages() - 1); + return new PatchState(Produce.BANANA, CropState.GROWING, Produce.BANANA.getStages() - 1); } if (value >= 62 && value <= 71) { // Fruit Tree Patch[Rake,Inspect,Guide] 8050,8050,8050,8050,8050,8050,8050,8050,8050,8050 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 72 && value <= 77) { @@ -1363,12 +1330,12 @@ public enum PatchImplementation if (value == 97) { // Orange tree stump[Clear,Inspect,Guide] 8077 - return new PatchState(Produce.ORANGE, CropState.STUMP, 0); + return new PatchState(Produce.ORANGE, CropState.HARVESTABLE, 0); } if (value == 98) { // Orange tree[Check-health,Inspect,Guide] 8064 - return new PatchState(Produce.ORANGE, CropState.UNCHECKED, Produce.ORANGE.getStages() - 1); + return new PatchState(Produce.ORANGE, CropState.GROWING, Produce.ORANGE.getStages() - 1); } if (value >= 99 && value <= 104) { @@ -1393,17 +1360,17 @@ public enum PatchImplementation if (value == 124) { // Curry tree stump[Clear,Inspect,Guide] 8046 - return new PatchState(Produce.CURRY, CropState.STUMP, 0); + return new PatchState(Produce.CURRY, CropState.HARVESTABLE, 0); } if (value == 125) { // Curry tree[Check-health,Inspect,Guide] 8033 - return new PatchState(Produce.CURRY, CropState.UNCHECKED, Produce.CURRY.getStages() - 1); + return new PatchState(Produce.CURRY, CropState.GROWING, Produce.CURRY.getStages() - 1); } if (value >= 126 && value <= 135) { // Fruit Tree Patch[Rake,Inspect,Guide] 8050,8050,8050,8050,8050,8050,8050,8050,8050,8050 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 136 && value <= 141) { @@ -1428,12 +1395,12 @@ public enum PatchImplementation if (value == 161) { // Pineapple plant stump[Clear,Inspect,Guide] 7992 - return new PatchState(Produce.PINEAPPLE, CropState.STUMP, 0); + return new PatchState(Produce.PINEAPPLE, CropState.HARVESTABLE, 0); } if (value == 162) { // Pineapple plant[Check-health,Inspect,Guide] 7979 - return new PatchState(Produce.PINEAPPLE, CropState.UNCHECKED, Produce.PINEAPPLE.getStages() - 1); + return new PatchState(Produce.PINEAPPLE, CropState.GROWING, Produce.PINEAPPLE.getStages() - 1); } if (value >= 163 && value <= 168) { @@ -1458,17 +1425,17 @@ public enum PatchImplementation if (value == 188) { // Papaya tree stump[Clear,Inspect,Guide] 8131 - return new PatchState(Produce.PAPAYA, CropState.STUMP, 0); + return new PatchState(Produce.PAPAYA, CropState.HARVESTABLE, 0); } if (value == 189) { // Papaya tree[Check-health,Inspect,Guide] 8118 - return new PatchState(Produce.PAPAYA, CropState.UNCHECKED, Produce.PAPAYA.getStages() - 1); + return new PatchState(Produce.PAPAYA, CropState.GROWING, Produce.PAPAYA.getStages() - 1); } if (value >= 190 && value <= 199) { // Fruit Tree Patch[Rake,Inspect,Guide] 8050,8050,8050,8050,8050,8050,8050,8050,8050,8050 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 200 && value <= 205) { @@ -1493,12 +1460,12 @@ public enum PatchImplementation if (value == 225) { // Palm tree stump[Clear,Inspect,Guide] 8104 - return new PatchState(Produce.PALM, CropState.STUMP, 0); + return new PatchState(Produce.PALM, CropState.HARVESTABLE, 0); } if (value == 226) { // Palm tree[Check-health,Inspect,Guide] 8091 - return new PatchState(Produce.PALM, CropState.UNCHECKED, Produce.PALM.getStages() - 1); + return new PatchState(Produce.PALM, CropState.GROWING, Produce.PALM.getStages() - 1); } if (value >= 227 && value <= 232) { @@ -1523,17 +1490,17 @@ public enum PatchImplementation if (value == 252) { // Dragonfruit tree stump[Clear,Inspect,Guide] 34034 - return new PatchState(Produce.DRAGONFRUIT, CropState.STUMP, 0); + return new PatchState(Produce.DRAGONFRUIT, CropState.HARVESTABLE, 0); } if (value == 253) { // Dragonfruit tree[Check-health,Inspect,Guide] 34021 - return new PatchState(Produce.DRAGONFRUIT, CropState.UNCHECKED, Produce.DRAGONFRUIT.getStages() - 1); + return new PatchState(Produce.DRAGONFRUIT, CropState.GROWING, Produce.DRAGONFRUIT.getStages() - 1); } if (value >= 254 && value <= 255) { // Fruit Tree Patch[Rake,Inspect,Guide] 8050,8050 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } return null; } @@ -1546,7 +1513,7 @@ public enum PatchImplementation if (value >= 0 && value <= 3) { // Hops Patch[Rake,Inspect,Guide] 8210,8209,8208,8207 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3 - value); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3 - value); } if (value >= 4 && value <= 7) { @@ -1556,287 +1523,312 @@ public enum PatchImplementation if (value >= 8 && value <= 10) { // Hammerstone Hops[Harvest,Inspect,Guide] 8181,8181,8181 - return new PatchState(Produce.HAMMERSTONE, CropState.HARVESTABLE, value - 8); + return new PatchState(Produce.HAMMERSTONE, CropState.HARVESTABLE, 10 - value); } - if (value >= 11 && value <= 15) + if (value >= 11 && value <= 13) + { + // Diseased Hammerstone Hops[Cure,Inspect,Guide] 8186,8187,8188 + return new PatchState(Produce.HAMMERSTONE, CropState.DISEASED, value - 10); + } + if (value >= 14 && value <= 18) { // Asgarnian Hops[Inspect,Guide] 8154,8155,8156,8157,8158 - return new PatchState(Produce.ASGARNIAN, CropState.GROWING, value - 11); + return new PatchState(Produce.ASGARNIAN, CropState.GROWING, value - 14); } - if (value >= 16 && value <= 18) + if (value >= 19 && value <= 21) { // Asgarnian Hops[Harvest,Inspect,Guide] 8159,8159,8159 - return new PatchState(Produce.ASGARNIAN, CropState.HARVESTABLE, value - 16); + return new PatchState(Produce.ASGARNIAN, CropState.HARVESTABLE, 21 - value); } - if (value >= 19 && value <= 24) + if (value >= 22 && value <= 25) + { + // Diseased Asgarnian Hops[Cure,Inspect,Guide] 8165,8166,8167,8168 + return new PatchState(Produce.ASGARNIAN, CropState.DISEASED, value - 21); + } + if (value >= 26 && value <= 31) { // Yanillian Hops[Inspect,Guide] 8288,8289,8290,8291,8292,8293 - return new PatchState(Produce.YANILLIAN, CropState.GROWING, value - 19); + return new PatchState(Produce.YANILLIAN, CropState.GROWING, value - 26); } - if (value >= 25 && value <= 27) + if (value >= 32 && value <= 34) { // Yanillian Hops[Harvest,Inspect,Guide] 8294,8294,8294 - return new PatchState(Produce.YANILLIAN, CropState.HARVESTABLE, value - 25); + return new PatchState(Produce.YANILLIAN, CropState.HARVESTABLE, 34 - value); } - if (value >= 28 && value <= 34) + if (value >= 35 && value <= 39) + { + // Diseased Yanillian Hops[Cure,Inspect,Guide] 8301,8302,8303,8304,8305 + return new PatchState(Produce.YANILLIAN, CropState.DISEASED, value - 34); + } + if (value >= 40 && value <= 46) { // Krandorian Hops[Inspect,Guide] 8211,8212,8213,8214,8215,8216,8217 - return new PatchState(Produce.KRANDORIAN, CropState.GROWING, value - 28); + return new PatchState(Produce.KRANDORIAN, CropState.GROWING, value - 40); } - if (value >= 35 && value <= 37) + if (value >= 47 && value <= 49) { // Krandorian Hops[Harvest,Inspect,Guide] 8218,8218,8218 - return new PatchState(Produce.KRANDORIAN, CropState.HARVESTABLE, value - 35); + return new PatchState(Produce.KRANDORIAN, CropState.HARVESTABLE, 49 - value); } - if (value >= 38 && value <= 45) + if (value >= 50 && value <= 55) + { + // Diseased Krandorian Hops[Cure,Inspect,Guide] 8226,8227,8228,8229,8230,8231 + return new PatchState(Produce.KRANDORIAN, CropState.DISEASED, value - 49); + } + if (value >= 56 && value <= 63) { // Wildblood Hops[Inspect,Guide] 8257,8258,8259,8260,8261,8262,8263,8264 - return new PatchState(Produce.WILDBLOOD, CropState.GROWING, value - 38); + return new PatchState(Produce.WILDBLOOD, CropState.GROWING, value - 56); } - if (value >= 46 && value <= 48) + if (value >= 64 && value <= 66) { // Wildblood Hops[Harvest,Inspect,Guide] 8265,8265,8265 - return new PatchState(Produce.WILDBLOOD, CropState.HARVESTABLE, value - 46); + return new PatchState(Produce.WILDBLOOD, CropState.HARVESTABLE, 66 - value); } - if (value >= 49 && value <= 52) + if (value >= 67 && value <= 73) + { + // Diseased Wildblood Hops[Cure,Inspect,Guide] 8274,8275,8276,8277,8278,8279,8280 + return new PatchState(Produce.WILDBLOOD, CropState.DISEASED, value - 66); + } + if (value >= 74 && value <= 77) { // Barley[Inspect,Guide] 8192,8193,8194,8195 - return new PatchState(Produce.BARLEY, CropState.GROWING, value - 49); + return new PatchState(Produce.BARLEY, CropState.GROWING, value - 74); } - if (value >= 53 && value <= 55) + if (value >= 78 && value <= 80) { // Barley[Harvest,Inspect,Guide] 8196,8196,8196 - return new PatchState(Produce.BARLEY, CropState.HARVESTABLE, value - 53); + return new PatchState(Produce.BARLEY, CropState.HARVESTABLE, 80 - value); } - if (value >= 56 && value <= 60) + if (value >= 81 && value <= 83) + { + // Diseased Barley[Cure,Inspect,Guide] 8201,8202,8203 + return new PatchState(Produce.BARLEY, CropState.DISEASED, value - 80); + } + if (value >= 84 && value <= 88) { // Jute[Inspect,Guide] 8238,8239,8240,8241,8242 - return new PatchState(Produce.JUTE, CropState.GROWING, value - 56); - } - if (value >= 61 && value <= 63) - { - // Jute[Harvest,Inspect,Guide] 8243,8243,8243 - return new PatchState(Produce.JUTE, CropState.HARVESTABLE, value - 61); - } - if (value >= 64 && value <= 67) - { - // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210,8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); - } - if (value >= 68 && value <= 71) - { - // Hammerstone Hops[Inspect,Guide] 8182,8183,8184,8185 - return new PatchState(Produce.HAMMERSTONE, CropState.GROWING, value - 68); - } - if (value >= 72 && value <= 74) - { - // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); - } - if (value >= 75 && value <= 79) - { - // Asgarnian Hops[Inspect,Guide] 8160,8161,8162,8163,8164 - return new PatchState(Produce.ASGARNIAN, CropState.GROWING, value - 75); - } - if (value >= 80 && value <= 82) - { - // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); - } - if (value >= 83 && value <= 88) - { - // Yanillian Hops[Inspect,Guide] 8295,8296,8297,8298,8299,8300 - return new PatchState(Produce.YANILLIAN, CropState.GROWING, value - 83); + return new PatchState(Produce.JUTE, CropState.GROWING, value - 84); } if (value >= 89 && value <= 91) { - // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + // Jute[Harvest,Inspect,Guide] 8243,8243,8243 + return new PatchState(Produce.JUTE, CropState.HARVESTABLE, 91 - value); } - if (value >= 92 && value <= 98) + if (value >= 92 && value <= 95) { - // Krandorian Hops[Inspect,Guide] 8219,8220,8221,8222,8223,8224,8225 - return new PatchState(Produce.KRANDORIAN, CropState.GROWING, value - 92); + // Diseased Jute[Cure,Inspect,Guide] 8249,8250,8251,8252 + return new PatchState(Produce.JUTE, CropState.DISEASED, value - 91); + } + if (value >= 96 && value <= 98) + { + // Flax[Inspect,Guide] 58836,58837,58838 + return new PatchState(Produce.FLAX, CropState.GROWING, value - 96); } if (value >= 99 && value <= 101) { - // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + // Flax[Harvest,Inspect,Guide] 58839,58839,58839 + return new PatchState(Produce.FLAX, CropState.HARVESTABLE, 101 - value); } - if (value >= 102 && value <= 109) + if (value >= 102 && value <= 103) { - // Wildblood Hops[Inspect,Guide] 8266,8267,8268,8269,8270,8271,8272,8273 - return new PatchState(Produce.WILDBLOOD, CropState.GROWING, value - 102); + // Diseased Flax[Cure,Inspect,Guide] 58843,58844 + return new PatchState(Produce.FLAX, CropState.DISEASED, value - 101); } - if (value >= 110 && value <= 112) + if (value >= 104 && value <= 107) + { + // Hemp[Inspect,Guide] 58847,58848,58849,58850 + return new PatchState(Produce.HEMP, CropState.GROWING, value - 104); + } + if (value >= 108 && value <= 110) + { + // Hemp[Harvest,Inspect,Guide] 58851,58851,58851 + return new PatchState(Produce.HEMP, CropState.HARVESTABLE, 110 - value); + } + if (value >= 111 && value <= 113) + { + // Diseased Hemp[Cure,Inspect,Guide] 58856,58857,58858 + return new PatchState(Produce.HEMP, CropState.DISEASED, value - 110); + } + if (value >= 114 && value <= 118) + { + // Cotton[Inspect,Guide] 58862,58863,58864,58865,58866 + return new PatchState(Produce.COTTON, CropState.GROWING, value - 114); + } + if (value >= 119 && value <= 121) + { + // Cotton[Harvest,Inspect,Guide] 58867,58867,58867 + return new PatchState(Produce.COTTON, CropState.HARVESTABLE, 121 - value); + } + if (value >= 122 && value <= 125) + { + // Diseased Cotton[Cure,Inspect,Guide] 58873,58874,58875,58876 + return new PatchState(Produce.COTTON, CropState.DISEASED, value - 121); + } + if (value >= 126 && value <= 131) + { + // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210,8210,8210,8210 + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); + } + if (value >= 132 && value <= 135) + { + // Hammerstone Hops[Inspect,Guide] 8182,8183,8184,8185 + return new PatchState(Produce.HAMMERSTONE, CropState.GROWING, value - 132); + } + if (value >= 136 && value <= 138) { // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } - if (value >= 113 && value <= 116) - { - // Barley[Inspect,Guide] 8197,8198,8199,8200 - return new PatchState(Produce.BARLEY, CropState.GROWING, value - 113); - } - if (value >= 117 && value <= 119) - { - // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); - } - if (value >= 120 && value <= 124) - { - // Jute[Inspect,Guide] 8244,8245,8246,8247,8248 - return new PatchState(Produce.JUTE, CropState.GROWING, value - 120); - } - if (value >= 125 && value <= 132) - { - // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210,8210,8210,8210,8210,8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); - } - if (value >= 133 && value <= 135) - { - // Diseased Hammerstone Hops[Cure,Inspect,Guide] 8186,8187,8188 - return new PatchState(Produce.HAMMERSTONE, CropState.DISEASED, value - 132); - } - if (value >= 136 && value <= 139) - { - // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210,8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); - } - if (value >= 140 && value <= 143) - { - // Diseased Asgarnian Hops[Cure,Inspect,Guide] 8165,8166,8167,8168 - return new PatchState(Produce.ASGARNIAN, CropState.DISEASED, value - 139); - } - if (value >= 144 && value <= 147) - { - // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210,8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); - } - if (value >= 148 && value <= 152) - { - // Diseased Yanillian Hops[Cure,Inspect,Guide] 8301,8302,8303,8304,8305 - return new PatchState(Produce.YANILLIAN, CropState.DISEASED, value - 147); - } - if (value >= 153 && value <= 156) - { - // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210,8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); - } - if (value >= 157 && value <= 162) - { - // Diseased Krandorian Hops[Cure,Inspect,Guide] 8226,8227,8228,8229,8230,8231 - return new PatchState(Produce.KRANDORIAN, CropState.DISEASED, value - 156); - } - if (value >= 163 && value <= 166) - { - // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210,8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); - } - if (value >= 167 && value <= 173) - { - // Diseased Wildblood Hops[Cure,Inspect,Guide] 8274,8275,8276,8277,8278,8279,8280 - return new PatchState(Produce.WILDBLOOD, CropState.DISEASED, value - 166); - } - if (value >= 174 && value <= 177) - { - // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210,8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); - } - if (value >= 178 && value <= 180) - { - // Diseased Barley[Cure,Inspect,Guide] 8201,8202,8203 - return new PatchState(Produce.BARLEY, CropState.DISEASED, value - 177); - } - if (value == 181) - { - // Hops Patch[Rake,Inspect,Guide] 8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); - } - if (value >= 183 && value <= 184) - { - // Hops Patch[Rake,Inspect,Guide] 8210,8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); - } - if (value >= 185 && value <= 188) - { - // Diseased Jute[Cure,Inspect,Guide] 8249,8250,8251,8252 - return new PatchState(Produce.JUTE, CropState.DISEASED, value - 184); - } - if (value >= 189 && value <= 196) - { - // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210,8210,8210,8210,8210,8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); - } - if (value >= 197 && value <= 199) + if (value >= 139 && value <= 141) { // Dead Hammerstone Hops[Clear,Inspect,Guide] 8189,8190,8191 - return new PatchState(Produce.HAMMERSTONE, CropState.DEAD, value - 196); + return new PatchState(Produce.HAMMERSTONE, CropState.DEAD, value - 138); } - if (value >= 200 && value <= 203) + if (value >= 142 && value <= 146) { - // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210,8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + // Asgarnian Hops[Inspect,Guide] 8160,8161,8162,8163,8164 + return new PatchState(Produce.ASGARNIAN, CropState.GROWING, value - 142); } - if (value >= 204 && value <= 207) + if (value >= 147 && value <= 149) + { + // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210 + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); + } + if (value >= 150 && value <= 153) { // Dead Asgarnian Hops[Clear,Inspect,Guide] 8169,8170,8171,8172 - return new PatchState(Produce.ASGARNIAN, CropState.DEAD, value - 203); + return new PatchState(Produce.ASGARNIAN, CropState.DEAD, value - 149); } - if (value >= 208 && value <= 211) + if (value >= 154 && value <= 159) { - // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210,8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + // Yanillian Hops[Inspect,Guide] 8295,8296,8297,8298,8299,8300 + return new PatchState(Produce.YANILLIAN, CropState.GROWING, value - 154); + } + if (value >= 160 && value <= 162) + { + // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210 + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); + } + if (value >= 163 && value <= 167) + { + // Dead Yanillian Hops[Clear,Inspect,Guide] 8306,8307,8308,8309,8310 + return new PatchState(Produce.YANILLIAN, CropState.DEAD, value - 162); + } + if (value >= 168 && value <= 174) + { + // Krandorian Hops[Inspect,Guide] 8219,8220,8221,8222,8223,8224,8225 + return new PatchState(Produce.KRANDORIAN, CropState.GROWING, value - 168); + } + if (value >= 175 && value <= 177) + { + // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210 + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); + } + if (value >= 178 && value <= 183) + { + // Dead Krandorian Hops[Clear,Inspect,Guide] 8232,8233,8234,8235,8236,8237 + return new PatchState(Produce.KRANDORIAN, CropState.DEAD, value - 177); + } + if (value >= 184 && value <= 191) + { + // Wildblood Hops[Inspect,Guide] 8266,8267,8268,8269,8270,8271,8272,8273 + return new PatchState(Produce.WILDBLOOD, CropState.GROWING, value - 184); + } + if (value >= 192 && value <= 194) + { + // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210 + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); + } + if (value >= 195 && value <= 201) + { + // Dead Wildblood Hops[Clear,Inspect,Guide] 8281,8282,8283,8284,8285,8286,8287 + return new PatchState(Produce.WILDBLOOD, CropState.DEAD, value - 194); + } + if (value >= 202 && value <= 205) + { + // Barley[Inspect,Guide] 8197,8198,8199,8200 + return new PatchState(Produce.BARLEY, CropState.GROWING, value - 202); + } + if (value >= 206 && value <= 208) + { + // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210 + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); + } + if (value >= 209 && value <= 211) + { + // Dead Barley[Clear,Inspect,Guide] 8204,8205,8206 + return new PatchState(Produce.BARLEY, CropState.DEAD, value - 208); } if (value >= 212 && value <= 216) { - // Dead Yanillian Hops[Clear,Inspect,Guide] 8306,8307,8308,8309,8310 - return new PatchState(Produce.YANILLIAN, CropState.DEAD, value - 211); + // Jute[Inspect,Guide] 8244,8245,8246,8247,8248 + return new PatchState(Produce.JUTE, CropState.GROWING, value - 212); } - if (value >= 217 && value <= 220) - { - // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210,8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); - } - if (value >= 221 && value <= 226) - { - // Dead Krandorian Hops[Clear,Inspect,Guide] 8232,8233,8234,8235,8236,8237 - return new PatchState(Produce.KRANDORIAN, CropState.DEAD, value - 220); - } - if (value >= 227 && value <= 230) - { - // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210,8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); - } - if (value >= 231 && value <= 237) - { - // Dead Wildblood Hops[Clear,Inspect,Guide] 8281,8282,8283,8284,8285,8286,8287 - return new PatchState(Produce.WILDBLOOD, CropState.DEAD, value - 230); - } - if (value >= 238 && value <= 241) - { - // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210,8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); - } - if (value >= 242 && value <= 244) - { - // Dead Barley[Clear,Inspect,Guide] 8204,8205,8206 - return new PatchState(Produce.BARLEY, CropState.DEAD, value - 241); - } - if (value >= 245 && value <= 248) - { - // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210,8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); - } - if (value >= 249 && value <= 252) - { - // Dead Jute[Clear,Inspect,Guide] 8253,8254,8255,8256 - return new PatchState(Produce.JUTE, CropState.DEAD, value - 248); - } - if (value >= 253 && value <= 255) + if (value >= 217 && value <= 219) { // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); + } + if (value >= 220 && value <= 223) + { + // Dead Jute[Clear,Inspect,Guide] 8253,8254,8255,8256 + return new PatchState(Produce.JUTE, CropState.DEAD, value - 219); + } + if (value >= 224 && value <= 226) + { + // Flax[Inspect,Guide] 58840,58841,58842 + return new PatchState(Produce.FLAX, CropState.GROWING, value - 224); + } + if (value >= 227 && value <= 229) + { + // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210 + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); + } + if (value >= 230 && value <= 231) + { + // Dead Flax[Clear,Inspect,Guide] 58845,58846 + return new PatchState(Produce.FLAX, CropState.DEAD, value - 229); + } + if (value >= 232 && value <= 235) + { + // Hemp[Inspect,Guide] 58852,58853,58854,58855 + return new PatchState(Produce.HEMP, CropState.GROWING, value - 232); + } + if (value >= 236 && value <= 238) + { + // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210 + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); + } + if (value >= 239 && value <= 240) + { + // Dead Hemp[Clear,Inspect,Guide] 58859,58860 + return new PatchState(Produce.HEMP, CropState.DEAD, value - 238); + } + if (value == 241) + { + // Dead Hemp[Inspect,Guide] 58861 + return new PatchState(Produce.HEMP, CropState.DEAD, 3); + } + if (value >= 242 && value <= 246) + { + // Cotton[Inspect,Guide] 58868,58869,58870,58871,58872 + return new PatchState(Produce.COTTON, CropState.GROWING, value - 242); + } + if (value >= 247 && value <= 249) + { + // Hops Patch[Rake,Inspect,Guide] 8210,8210,8210 + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); + } + if (value >= 250 && value <= 253) + { + // Dead Cotton[Clear,Inspect,Guide] 58877,58878,58879,58880 + return new PatchState(Produce.COTTON, CropState.DEAD, value - 249); + } + if (value >= 254 && value <= 255) + { + // Hops Patch[Rake,Inspect,Guide] 8210,8210 + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } return null; } @@ -1849,12 +1841,12 @@ public enum PatchImplementation if (value >= 0 && value <= 3) { // Tree patch[Rake,Inspect,Guide] 8395,8394,8393,8392 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3 - value); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3 - value); } if (value >= 4 && value <= 7) { // Tree patch[Rake,Inspect,Guide] 8395,8395,8395,8395 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 8 && value <= 11) { @@ -1864,7 +1856,7 @@ public enum PatchImplementation if (value == 12) { // Oak[Check-health,Inspect,Guide] 8466 - return new PatchState(Produce.OAK, CropState.UNCHECKED, Produce.OAK.getStages() - 1); + return new PatchState(Produce.OAK, CropState.GROWING, Produce.OAK.getStages() - 1); } if (value == 13) { @@ -1874,7 +1866,7 @@ public enum PatchImplementation if (value == 14) { // Oak tree stump[Clear,Inspect,Guide] 8468 - return new PatchState(Produce.OAK, CropState.STUMP, 0); + return new PatchState(Produce.OAK, CropState.HARVESTABLE, 0); } if (value >= 15 && value <= 20) { @@ -1884,7 +1876,7 @@ public enum PatchImplementation if (value == 21) { // Willow Tree[Check-health,Inspect,Guide] 8487 - return new PatchState(Produce.WILLOW, CropState.UNCHECKED, Produce.WILLOW.getStages() - 1); + return new PatchState(Produce.WILLOW, CropState.GROWING, Produce.WILLOW.getStages() - 1); } if (value == 22) { @@ -1894,7 +1886,7 @@ public enum PatchImplementation if (value == 23) { // Willow tree stump[Clear,Inspect,Guide] 8489 - return new PatchState(Produce.WILLOW, CropState.STUMP, 0); + return new PatchState(Produce.WILLOW, CropState.HARVESTABLE, 0); } if (value >= 24 && value <= 31) { @@ -1904,7 +1896,7 @@ public enum PatchImplementation if (value == 32) { // Maple Tree[Check-health,Inspect,Guide] 8443 - return new PatchState(Produce.MAPLE, CropState.UNCHECKED, Produce.MAPLE.getStages() - 1); + return new PatchState(Produce.MAPLE, CropState.GROWING, Produce.MAPLE.getStages() - 1); } if (value == 33) { @@ -1914,7 +1906,7 @@ public enum PatchImplementation if (value == 34) { // Tree stump[Clear,Inspect,Guide] 8445 - return new PatchState(Produce.MAPLE, CropState.STUMP, 0); + return new PatchState(Produce.MAPLE, CropState.HARVESTABLE, 0); } if (value >= 35 && value <= 44) { @@ -1924,7 +1916,7 @@ public enum PatchImplementation if (value == 45) { // Yew tree[Check-health,Inspect,Guide] 8512 - return new PatchState(Produce.YEW, CropState.UNCHECKED, Produce.YEW.getStages() - 1); + return new PatchState(Produce.YEW, CropState.GROWING, Produce.YEW.getStages() - 1); } if (value == 46) { @@ -1934,7 +1926,7 @@ public enum PatchImplementation if (value == 47) { // Yew tree stump[Clear,Inspect,Guide] 8514 - return new PatchState(Produce.YEW, CropState.STUMP, 0); + return new PatchState(Produce.YEW, CropState.HARVESTABLE, 0); } if (value >= 48 && value <= 59) { @@ -1944,7 +1936,7 @@ public enum PatchImplementation if (value == 60) { // Magic Tree[Check-health,Inspect,Guide] 8408 - return new PatchState(Produce.MAGIC, CropState.UNCHECKED, Produce.MAGIC.getStages() - 1); + return new PatchState(Produce.MAGIC, CropState.GROWING, Produce.MAGIC.getStages() - 1); } if (value == 61) { @@ -1954,12 +1946,12 @@ public enum PatchImplementation if (value == 62) { // Magic Tree Stump[Clear,Inspect,Guide] 8410 - return new PatchState(Produce.MAGIC, CropState.STUMP, 0); + return new PatchState(Produce.MAGIC, CropState.HARVESTABLE, 0); } if (value >= 63 && value <= 72) { // Tree patch[Rake,Inspect,Guide] 8395,8395,8395,8395,8395,8395,8395,8395,8395,8395 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 73 && value <= 75) { @@ -1974,7 +1966,7 @@ public enum PatchImplementation if (value >= 78 && value <= 79) { // Tree patch[Rake,Inspect,Guide] 8395,8395 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 80 && value <= 84) { @@ -1989,7 +1981,7 @@ public enum PatchImplementation if (value >= 87 && value <= 88) { // Tree patch[Rake,Inspect,Guide] 8395,8395 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 89 && value <= 95) { @@ -2004,7 +1996,7 @@ public enum PatchImplementation if (value >= 98 && value <= 99) { // Tree patch[Rake,Inspect,Guide] 8395,8395 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 100 && value <= 108) { @@ -2019,7 +2011,7 @@ public enum PatchImplementation if (value >= 111 && value <= 112) { // Tree patch[Rake,Inspect,Guide] 8395,8395 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 113 && value <= 123) { @@ -2034,7 +2026,7 @@ public enum PatchImplementation if (value >= 126 && value <= 136) { // Tree patch[Rake,Inspect,Guide] 8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 137 && value <= 139) { @@ -2049,7 +2041,7 @@ public enum PatchImplementation if (value >= 142 && value <= 143) { // Tree patch[Rake,Inspect,Guide] 8395,8395 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 144 && value <= 148) { @@ -2064,7 +2056,7 @@ public enum PatchImplementation if (value >= 151 && value <= 152) { // Tree patch[Rake,Inspect,Guide] 8395,8395 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 153 && value <= 159) { @@ -2079,7 +2071,7 @@ public enum PatchImplementation if (value >= 162 && value <= 163) { // Tree patch[Rake,Inspect,Guide] 8395,8395 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 164 && value <= 172) { @@ -2094,7 +2086,7 @@ public enum PatchImplementation if (value >= 175 && value <= 176) { // Tree patch[Rake,Inspect,Guide] 8395,8395 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 177 && value <= 187) { @@ -2109,7 +2101,7 @@ public enum PatchImplementation if (value >= 190 && value <= 191) { // Tree patch[Rake,Inspect,Guide] 8395,8395 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 192 && value <= 197) { @@ -2119,7 +2111,7 @@ public enum PatchImplementation if (value >= 198 && value <= 255) { // Tree patch[Rake,Inspect,Guide] 8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395,8395 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } return null; } @@ -2132,12 +2124,12 @@ public enum PatchImplementation if (value >= 0 && value <= 3) { // Tree patch[Rake,Inspect,Guide] 30479,30478,30477,30476 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3 - value); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3 - value); } if (value >= 4 && value <= 7) { // Tree patch[Rake,Inspect,Guide] 30479,30479,30479,30479 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 8 && value <= 14) { @@ -2147,7 +2139,7 @@ public enum PatchImplementation if (value == 15) { // Teak Tree[Check-health,Inspect,Guide] 30444 - return new PatchState(Produce.TEAK, CropState.UNCHECKED, Produce.TEAK.getStages() - 1); + return new PatchState(Produce.TEAK, CropState.GROWING, Produce.TEAK.getStages() - 1); } if (value == 16) { @@ -2157,7 +2149,7 @@ public enum PatchImplementation if (value == 17) { // Tree stump[Clear,Inspect,Guide] 30446 - return new PatchState(Produce.TEAK, CropState.STUMP, 0); + return new PatchState(Produce.TEAK, CropState.HARVESTABLE, 0); } if (value >= 18 && value <= 23) { @@ -2177,7 +2169,7 @@ public enum PatchImplementation if (value == 38) { // Mahogany tree[Check-health,Inspect,Guide] 30416 - return new PatchState(Produce.MAHOGANY, CropState.UNCHECKED, Produce.MAHOGANY.getStages() - 1); + return new PatchState(Produce.MAHOGANY, CropState.GROWING, Produce.MAHOGANY.getStages() - 1); } if (value == 39) { @@ -2187,7 +2179,7 @@ public enum PatchImplementation if (value == 40) { // Mahogany tree stump[Clear,Inspect,Guide] 30418 - return new PatchState(Produce.MAHOGANY, CropState.STUMP, 0); + return new PatchState(Produce.MAHOGANY, CropState.HARVESTABLE, 0); } if (value >= 41 && value <= 47) { @@ -2199,10 +2191,100 @@ public enum PatchImplementation // Dead Mahogany[Clear,Inspect,Guide] 30428,30429,30430,30431,30432,30433,30434 return new PatchState(Produce.MAHOGANY, CropState.DEAD, value - 47); } - if (value >= 55 && value <= 255) + if (value >= 55 && value <= 62) { - // Tree patch[Rake,Inspect,Guide] 30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + // Camphor sapling,Camphor tree[Inspect,Guide] 58712,58713,58714,58715,58716,58717,58718,58719 + return new PatchState(Produce.CAMPHOR, CropState.GROWING, value - 55); + } + if (value == 63) + { + // Camphor tree[Check-health,Inspect,Guide] 58722 + return new PatchState(Produce.CAMPHOR, CropState.GROWING, Produce.CAMPHOR.getStages() - 1); + } + if (value == 64) + { + // Camphor tree[Chop down,Inspect,Guide] 58723 + return new PatchState(Produce.CAMPHOR, CropState.HARVESTABLE, 0); + } + if (value == 65) + { + // Camphor tree stump[Clear,Inspect,Guide] 58724 + return new PatchState(Produce.CAMPHOR, CropState.HARVESTABLE, 0); + } + if (value >= 66 && value <= 72) + { + // Diseased Camphor[Prune,Inspect,Guide] 58725,58726,58727,58728,58729,58730,58731 + return new PatchState(Produce.CAMPHOR, CropState.DISEASED, value - 65); + } + if (value >= 73 && value <= 79) + { + // Dead Camphor[Clear,Inspect,Guide] 58734,58735,58736,58737,58738,58739,58740 + return new PatchState(Produce.CAMPHOR, CropState.DEAD, value - 72); + } + if (value >= 80 && value <= 87) + { + // Ironwood sapling,Ironwood tree[Inspect,Guide] 58743,58744,58745,58746,58747,58748,58749,58750 + return new PatchState(Produce.IRONWOOD, CropState.GROWING, value - 80); + } + if (value == 88) + { + // Ironwood tree[Check-health,Inspect,Guide] 58753 + return new PatchState(Produce.IRONWOOD, CropState.GROWING, Produce.IRONWOOD.getStages() - 1); + } + if (value == 89) + { + // Ironwood tree[Chop down,Inspect,Guide] 58754 + return new PatchState(Produce.IRONWOOD, CropState.HARVESTABLE, 0); + } + if (value == 90) + { + // Ironwood tree stump[Clear,Inspect,Guide] 58755 + return new PatchState(Produce.IRONWOOD, CropState.HARVESTABLE, 0); + } + if (value >= 91 && value <= 97) + { + // Diseased Ironwood[Prune,Inspect,Guide] 58756,58757,58758,58759,58760,58761,58762 + return new PatchState(Produce.IRONWOOD, CropState.DISEASED, value - 90); + } + if (value >= 98 && value <= 104) + { + // Dead Ironwood[Clear,Inspect,Guide] 58765,58766,58767,58768,58769,58770,58771 + return new PatchState(Produce.IRONWOOD, CropState.DEAD, value - 97); + } + if (value >= 105 && value <= 113) + { + // Rosewood sapling,Rosewood tree[Inspect,Guide] 58774,58775,58776,58777,58778,58779,58780,58781,58782 + return new PatchState(Produce.ROSEWOOD, CropState.GROWING, value - 105); + } + if (value == 114) + { + // Rosewood tree[Check-health,Inspect,Guide] 58784 + return new PatchState(Produce.ROSEWOOD, CropState.GROWING, Produce.ROSEWOOD.getStages() - 1); + } + if (value == 115) + { + // Rosewood tree[Chop down,Inspect,Guide] 58785 + return new PatchState(Produce.ROSEWOOD, CropState.HARVESTABLE, 0); + } + if (value == 116) + { + // Rosewood tree stump[Clear,Inspect,Guide] 58786 + return new PatchState(Produce.ROSEWOOD, CropState.HARVESTABLE, 0); + } + if (value >= 117 && value <= 124) + { + // Diseased Rosewood[Prune,Inspect,Guide] 58787,58788,58789,58790,58791,58792,58793,58794 + return new PatchState(Produce.ROSEWOOD, CropState.DISEASED, value - 116); + } + if (value >= 125 && value <= 132) + { + // Dead Rosewood[Clear,Inspect,Guide] 58796,58797,58798,58799,58800,58801,58802,58803 + return new PatchState(Produce.ROSEWOOD, CropState.DEAD, value - 124); + } + if (value >= 133 && value <= 255) + { + // Tree patch[Rake,Inspect,Guide] 30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479,30479 + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } return null; } @@ -2215,12 +2297,12 @@ public enum PatchImplementation if (value >= 0 && value <= 3) { // Redwood tree patch[Rake,Inspect,Guide] 34050,34049,34048,34047 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3 - value); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3 - value); } if (value >= 4 && value <= 7) { // Redwood tree patch[Rake,Inspect,Guide] 34050,34050,34050,34050 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 8 && value <= 17) { @@ -2245,7 +2327,7 @@ public enum PatchImplementation if (value == 37) { // Redwood tree[Check-health,Inspect,Guide] 34297 - return new PatchState(Produce.REDWOOD, CropState.UNCHECKED, Produce.REDWOOD.getStages() - 1); + return new PatchState(Produce.REDWOOD, CropState.GROWING, Produce.REDWOOD.getStages() - 1); } if (value >= 41 && value <= 55) { @@ -2263,12 +2345,12 @@ public enum PatchImplementation if (value >= 0 && value <= 3) { // Spirit Tree Patch[Rake,Inspect,Guide] 8342,8341,8340,8339 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3 - value); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3 - value); } if (value >= 4 && value <= 7) { // Spirit Tree Patch[Rake,Inspect,Guide] 8342,8342,8342,8342 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 8 && value <= 19) { @@ -2293,12 +2375,12 @@ public enum PatchImplementation if (value == 44) { // Spirit Tree[Check-health,Inspect,Guide] 8356 - return new PatchState(Produce.SPIRIT_TREE, CropState.UNCHECKED, Produce.SPIRIT_TREE.getStages() - 1); + return new PatchState(Produce.SPIRIT_TREE, CropState.GROWING, Produce.SPIRIT_TREE.getStages() - 1); } if (value >= 45 && value <= 63) { // Spirit Tree Patch[Rake,Inspect,Guide] 8342,8342,8342,8342,8342,8342,8342,8342,8342,8342,8342,8342,8342,8342,8342,8342,8342,8342,8342 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } return null; } @@ -2311,12 +2393,12 @@ public enum PatchImplementation if (value >= 0 && value <= 3) { // Anima patch[Rake,Inspect,Guide] 33983,33982,33981,33980 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3 - value); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3 - value); } if (value >= 4 && value <= 7) { // Anima patch[Rake,Inspect,Guide] 33983,33983,33983,33983 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 8 && value <= 16) { @@ -2345,7 +2427,45 @@ public enum PatchImplementation if (value >= 35 && value <= 255) { // Anima patch[Rake,Inspect,Guide] 33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983,33983 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); + } + return null; + } + }, + BELLADONNA(Tab.SPECIAL, "Belladonna", false) + { + @Override + PatchState forVarbitValue(int value) + { + if (value >= 0 && value <= 3) + { + // Belladonna patch[Rake,Inspect,Guide] 7560,7559,7558,7557 + return new PatchState(Produce.WEEDS, CropState.GROWING, 3 - value); + } + if (value >= 4 && value <= 7) + { + // Belladonna[Inspect,Guide] 7561,7562,7563,7564 + return new PatchState(Produce.BELLADONNA, CropState.GROWING, value - 4); + } + if (value == 8) + { + // Belladonna[Pick,Inspect,Guide] 7565 + return new PatchState(Produce.BELLADONNA, CropState.HARVESTABLE, 0); + } + if (value >= 9 && value <= 11) + { + // Diseased Belladonna[Cure,Inspect,Guide] 7566,7567,7568 + return new PatchState(Produce.BELLADONNA, CropState.DISEASED, value - 8); + } + if (value >= 12 && value <= 14) + { + // Dead Belladonna[Clear,Inspect,Guide] 7569,7570,7571 + return new PatchState(Produce.BELLADONNA, CropState.DEAD, value - 11); + } + if (value >= 15 && value <= 255) + { + // Belladonna patch[Rake,Inspect,Guide] 7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560,7560 + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } return null; } @@ -2358,12 +2478,12 @@ public enum PatchImplementation if (value >= 0 && value <= 3) { // Cactus patch[Rake,Inspect,Guide] 7746,7745,7744,7743 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3 - value); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3 - value); } if (value >= 4 && value <= 7) { // Cactus patch[Rake,Inspect,Guide] 7746,7746,7746,7746 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 8 && value <= 14) { @@ -2388,7 +2508,7 @@ public enum PatchImplementation if (value == 31) { // Cactus[Check-health,Inspect,Guide] 7758 - return new PatchState(Produce.CACTUS, CropState.UNCHECKED, Produce.CACTUS.getStages() - 1); + return new PatchState(Produce.CACTUS, CropState.GROWING, Produce.CACTUS.getStages() - 1); } if (value >= 32 && value <= 38) { @@ -2413,12 +2533,90 @@ public enum PatchImplementation if (value == 58) { // Potato cactus[Check-health,Inspect,Guide] 33748 - return new PatchState(Produce.POTATO_CACTUS, CropState.UNCHECKED, Produce.POTATO_CACTUS.getStages() - 1); + return new PatchState(Produce.POTATO_CACTUS, CropState.GROWING, Produce.POTATO_CACTUS.getStages() - 1); } if (value >= 59 && value <= 255) { // Cactus patch[Rake,Inspect,Guide] 7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746,7746 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); + } + return null; + } + }, + CORAL(Tab.SPECIAL, "Coral", false) + { + @Override + PatchState forVarbitValue(int value) + { + if (value >= 0 && value <= 3) + { + // Coral nursery[Inspect,Guide] 58676,58676,58676,58676 + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); + } + if (value >= 4 && value <= 7) + { + // Elkhorn coral[Inspect,Guide] 58677,58678,58679,58680 + return new PatchState(Produce.ELKHORN_CORAL, CropState.GROWING, value - 4); + } + if (value == 8) + { + // Elkhorn coral[Collect,Inspect,Guide] 58681 + return new PatchState(Produce.ELKHORN_CORAL, CropState.GROWING, 4); + } + if (value >= 9 && value <= 11) + { + // Diseased elkhorn coral[Prune,Inspect,Guide] 58692,58693,58694 + return new PatchState(Produce.ELKHORN_CORAL, CropState.DISEASED, value - 8); + } + if (value >= 12 && value <= 14) + { + // Dead coral[Clear,Inspect,Guide] 58701,58702,58703 + return new PatchState(Produce.ELKHORN_CORAL, CropState.DEAD, value - 11); + } + if (value >= 15 && value <= 18) + { + // Pillar coral[Inspect,Guide] 58682,58683,58684,58685 + return new PatchState(Produce.PILLAR_CORAL, CropState.GROWING, value - 15); + } + if (value == 19) + { + // Pillar coral[Collect,Inspect,Guide] 58686 + return new PatchState(Produce.PILLAR_CORAL, CropState.GROWING, 4); + } + if (value >= 20 && value <= 22) + { + // Diseased pillar coral[Prune,Inspect,Guide] 58695,58696,58697 + return new PatchState(Produce.PILLAR_CORAL, CropState.DISEASED, value - 19); + } + if (value >= 23 && value <= 25) + { + // Dead coral[Clear,Inspect,Guide] 58704,58705,58706 + return new PatchState(Produce.PILLAR_CORAL, CropState.DEAD, value - 22); + } + if (value >= 26 && value <= 29) + { + // Umbral coral[Inspect,Guide] 58687,58688,58689,58690 + return new PatchState(Produce.UMBRAL_CORAL, CropState.GROWING, value - 26); + } + if (value == 30) + { + // Umbral coral[Collect,Inspect,Guide] 58691 + return new PatchState(Produce.UMBRAL_CORAL, CropState.GROWING, 4); + } + if (value >= 31 && value <= 33) + { + // Diseased umbral coral[Prune,Inspect,Guide] 58698,58699,58700 + return new PatchState(Produce.UMBRAL_CORAL, CropState.DISEASED, value - 30); + } + if (value >= 34 && value <= 36) + { + // Dead coral[Clear,Inspect,Guide] 58707,58708,58709 + return new PatchState(Produce.UMBRAL_CORAL, CropState.DEAD, value - 33); + } + if (value >= 37 && value <= 255) + { + // Coral nursery[Inspect,Guide] 58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676,58676 + return new PatchState(Produce.WEEDS, CropState.GROWING, 0); } return null; } @@ -2431,7 +2629,7 @@ public enum PatchImplementation if (value >= 0 && value <= 3) { // Seaweed patch[Rake,Inspect,Guide] 30486,30485,30484,30483 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3 - value); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3 - value); } if (value >= 4 && value <= 7) { @@ -2456,7 +2654,7 @@ public enum PatchImplementation if (value >= 17 && value <= 255) { // Seaweed patch[Rake,Inspect,Guide] 30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486,30486 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } return null; } @@ -2469,7 +2667,7 @@ public enum PatchImplementation if (value >= 0 && value <= 3) { // Calquat patch[Rake,Inspect,Guide] 7775,7774,7773,7772 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3 - value); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3 - value); } if (value >= 4 && value <= 11) { @@ -2494,12 +2692,12 @@ public enum PatchImplementation if (value == 34) { // Calquat Tree[Check-health,Inspect,Guide] 7791 - return new PatchState(Produce.CALQUAT, CropState.UNCHECKED, Produce.CALQUAT.getStages() - 1); + return new PatchState(Produce.CALQUAT, CropState.GROWING, Produce.CALQUAT.getStages() - 1); } if (value >= 35 && value <= 255) { // Calquat patch[Rake,Inspect,Guide] 7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775,7775 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } return null; } @@ -2512,12 +2710,12 @@ public enum PatchImplementation if (value >= 0 && value <= 3) { // Celastrus patch[Rake,Inspect,Guide] 33698,33697,33696,33695 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3 - value); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3 - value); } if (value >= 4 && value <= 7) { // Celastrus patch[Rake,Inspect,Guide] 33698,33698,33698,33698 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 8 && value <= 12) { @@ -2527,7 +2725,7 @@ public enum PatchImplementation if (value == 13) { // Celastrus tree[Check-health,Inspect,Guide] 33704 - return new PatchState(Produce.CELASTRUS, CropState.UNCHECKED, Produce.CELASTRUS.getStages() - 1); + return new PatchState(Produce.CELASTRUS, CropState.GROWING, Produce.CELASTRUS.getStages() - 1); } if (value >= 14 && value <= 16) { @@ -2552,12 +2750,12 @@ public enum PatchImplementation if (value == 28) { // Celastrus tree stump[Clear,Inspect,Guide] 33721 - return new PatchState(Produce.CELASTRUS, CropState.STUMP, 0); + return new PatchState(Produce.CELASTRUS, CropState.HARVESTABLE, 0); } if (value >= 29 && value <= 255) { // Celastrus patch[Rake,Inspect,Guide] 33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698,33698 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } return null; } @@ -2570,7 +2768,7 @@ public enum PatchImplementation if (value >= 0 && value <= 1) { // Empty, empty+fertilizer - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3); } if (value >= 2 && value <= 9) { @@ -2595,7 +2793,7 @@ public enum PatchImplementation if (value >= 0 && value <= 3) { // Crystal tree patch[Rake,Inspect,Guide] 34910,34909,34908,34907 - return new PatchState(Produce.WEEDS, CropState.EMPTY, 3 - value); + return new PatchState(Produce.WEEDS, CropState.GROWING, 3 - value); } if (value >= 8 && value <= 13) { @@ -2605,7 +2803,7 @@ public enum PatchImplementation if (value == 14) { // Crystal tree[Check-health,Inspect,Guide] 34917 - return new PatchState(Produce.CRYSTAL_TREE, CropState.UNCHECKED, Produce.CRYSTAL_TREE.getStages() - 1); + return new PatchState(Produce.CRYSTAL_TREE, CropState.GROWING, Produce.CRYSTAL_TREE.getStages() - 1); } if (value == 15) { diff --git a/src/main/java/com/questhelper/helpers/mischelpers/farmruns/TreeRun.java b/src/main/java/com/questhelper/helpers/mischelpers/farmruns/TreeRun.java index 81d06b0b0..dc965a6c5 100644 --- a/src/main/java/com/questhelper/helpers/mischelpers/farmruns/TreeRun.java +++ b/src/main/java/com/questhelper/helpers/mischelpers/farmruns/TreeRun.java @@ -32,6 +32,7 @@ import com.questhelper.helpers.mischelpers.farmruns.FarmingUtils.FruitTreeSaplin import com.questhelper.helpers.mischelpers.farmruns.FarmingUtils.GracefulOrFarming; import com.questhelper.helpers.mischelpers.farmruns.FarmingUtils.HardwoodTreeSapling; import com.questhelper.helpers.mischelpers.farmruns.FarmingUtils.TreeSapling; +import com.questhelper.helpers.mischelpers.farmruns.FarmingUtils.CalquatTreeSapling; import com.questhelper.helpers.mischelpers.farmruns.FarmingUtils.PayOrCut; import com.questhelper.helpers.mischelpers.farmruns.FarmingUtils.PayOrCompost; import com.questhelper.panel.PanelDetails; @@ -90,71 +91,95 @@ public class TreeRun extends ComplexStateQuestHelper DetailedQuestStep waitForTree; // Trees - DetailedQuestStep farmingGuildTreePatchCheckHealth, lumbridgeTreePatchCheckHealth, faladorTreePatchCheckHealth, taverleyTreePatchCheckHealth, varrockTreePatchCheckHealth, - gnomeStrongholdTreePatchCheckHealth, nemusRetreatTreePatchCheckHealth; - DetailedQuestStep farmingGuildTreePatchPlant, lumbridgeTreePatchPlant, faladorTreePatchPlant, taverleyTreePatchPlant, - varrockTreePatchPlant, gnomeStrongholdTreePatchPlant, nemusRetreatTreePatchPlant; + DetailedQuestStep farmingGuildTreePatchCheckHealth, lumbridgeTreePatchCheckHealth, faladorTreePatchCheckHealth, + taverleyTreePatchCheckHealth, varrockTreePatchCheckHealth, gnomeStrongholdTreePatchCheckHealth, + auburnvaleTreePatchCheckHealth; + DetailedQuestStep farmingGuildTreePatchPlant, lumbridgeTreePatchPlant, faladorTreePatchPlant, + taverleyTreePatchPlant, varrockTreePatchPlant, gnomeStrongholdTreePatchPlant, + auburnvaleTreePatchPlant; DetailedQuestStep lumbridgeTreePatchClear, faladorTreePatchClear, taverleyTreePatchClear, varrockTreePatchClear, - gnomeStrongholdTreePatchClear, farmingGuildTreePatchClear, nemusRetreatTreePatchClear; + gnomeStrongholdTreePatchClear, farmingGuildTreePatchClear, auburnvaleTreePatchClear; DetailedQuestStep lumbridgeTreePatchDig, faladorTreePatchDig, taverleyTreePatchDig, varrockTreePatchDig, - gnomeStrongholdTreePatchDig, farmingGuildTreePatchDig, nemusRetreatTreePatchDig; + gnomeStrongholdTreePatchDig, farmingGuildTreePatchDig, auburnvaleTreePatchDig; - DetailedQuestStep farmingGuildTreePayForProtection, lumbridgeTreeProtect, faladorTreeProtect, taverleyTreeProtect, - varrockTreeProtect, strongholdTreeProtect, nemusRetreatTreeProtect; + DetailedQuestStep farmingGuildTreePayForProtection, lumbridgeTreeProtect, + faladorTreeProtect, taverleyTreeProtect, varrockTreeProtect, strongholdTreeProtect, + auburnvaleTreeProtect; // Fruit Trees - DetailedQuestStep farmingGuildFruitTreePatchCheckHealth, gnomeStrongholdFruitTreePatchCheckHealth, gnomeVillageFruitTreePatchCheckHealth, - brimhavenFruitTreePatchCheckHealth, lletyaFruitTreePatchCheckHealth, catherbyFruitTreePatchCheckHealth; - DetailedQuestStep farmingGuildFruitTreePatchPlant, gnomeStrongholdFruitTreePatchPlant, gnomeVillageFruitTreePatchPlant, - brimhavenFruitTreePatchPlant, lletyaFruitTreePatchPlant, catherbyFruitTreePatchPlant; + DetailedQuestStep farmingGuildFruitTreePatchCheckHealth, gnomeStrongholdFruitTreePatchCheckHealth, + gnomeVillageFruitTreePatchCheckHealth, brimhavenFruitTreePatchCheckHealth, lletyaFruitTreePatchCheckHealth, + catherbyFruitTreePatchCheckHealth, taiBwoWannaiCalquatPatchCheckHealth, kastoriFruitTreePatchCheckHealth, + kastoriCalquatPatchCheckHealth, greatConchCalquatPatchCheckHealth; + DetailedQuestStep farmingGuildFruitTreePatchPlant, gnomeStrongholdFruitTreePatchPlant, + gnomeVillageFruitTreePatchPlant, brimhavenFruitTreePatchPlant, lletyaFruitTreePatchPlant, + catherbyFruitTreePatchPlant, taiBwoWannaiCalquatPatchPlant, kastoriFruitTreePatchPlant, + kastoriCalquatPatchPlant, greatConchCalquatPatchPlant; - DetailedQuestStep farmingGuildFruitTreePatchClear, gnomeStrongholdFruitTreePatchClear, gnomeVillageFruitTreePatchClear, - brimhavenFruitTreePatchClear, lletyaFruitTreePatchClear, catherbyFruitTreePatchClear; + DetailedQuestStep farmingGuildFruitTreePatchClear, gnomeStrongholdFruitTreePatchClear, + gnomeVillageFruitTreePatchClear, brimhavenFruitTreePatchClear, lletyaFruitTreePatchClear, + catherbyFruitTreePatchClear, taiBwoWannaiCalquatPatchClear, kastoriFruitTreePatchClear, + kastoriCalquatPatchClear, greatConchCalquatPatchClear; DetailedQuestStep farmingGuildFruitTreePatchDig, gnomeStrongholdFruitTreePatchDig, gnomeVillageFruitTreePatchDig, - brimhavenFruitTreePatchDig, lletyaFruitTreePatchDig, catherbyFruitTreePatchDig; + brimhavenFruitTreePatchDig, lletyaFruitTreePatchDig, catherbyFruitTreePatchDig, + taiBwoWannaiCalquatPatchDig, kastoriFruitTreePatchDig, kastoriCalquatPatchDig, greatConchCalquatPatchDig; DetailedQuestStep guildFruitProtect, strongholdFruitProtect, villageFruitProtect, brimhavenFruitProtect, - lletyaFruitProtect, catherbyFruitProtect; + lletyaFruitProtect, catherbyFruitProtect, taiBwoWannaiCalquatProtect, kastoriFruitProtect, + kastoriCalquatProtect, greatConchCalquatProtect; // Hardwood Trees - DetailedQuestStep eastHardwoodTreePatchCheckHealth, westHardwoodTreePatchCheckHealth, middleHardwoodTreePatchCheckHealth, savannahCheckHealth; - DetailedQuestStep eastHardwoodTreePatchPlant, westHardwoodTreePatchPlant, middleHardwoodTreePatchPlant, savannahPlant; - DetailedQuestStep eastHardwoodTreePatchDig, westHardwoodTreePatchDig, middleHardwoodTreePatchDig, savannahDig; + DetailedQuestStep eastHardwoodTreePatchCheckHealth, westHardwoodTreePatchCheckHealth, + middleHardwoodTreePatchCheckHealth, savannahCheckHealth, anglersCheckHealth; + DetailedQuestStep eastHardwoodTreePatchPlant, westHardwoodTreePatchPlant, middleHardwoodTreePatchPlant, + savannahPlant, anglersPlant; + DetailedQuestStep eastHardwoodTreePatchDig, westHardwoodTreePatchDig, middleHardwoodTreePatchDig, savannahDig, + anglersDig; - DetailedQuestStep eastHardwoodTreePatchClear, westHardwoodTreePatchClear, middleHardwoodTreePatchClear, savannahClear; + DetailedQuestStep eastHardwoodTreePatchClear, westHardwoodTreePatchClear, middleHardwoodTreePatchClear, + savannahClear, anglersClear; - DetailedQuestStep eastHardwoodProtect, westHardwoodProtect, middleHardwoodProtect, savannahProtect; + DetailedQuestStep eastHardwoodProtect, westHardwoodProtect, middleHardwoodProtect, savannahProtect, + anglersProtect; // Farming Items - ItemRequirement coins, spade, rake, allTreeSaplings, treeSapling, allFruitSaplings, fruitTreeSapling, allHardwoodSaplings, hardwoodSapling, compost, axe, - protectionItemTree, allProtectionItemTree, protectionItemFruitTree, allProtectionItemFruitTree, protectionItemHardwood, allProtectionItemHardwood; + ItemRequirement coins, spade, rake, allTreeSaplings, treeSapling, allFruitSaplings, fruitTreeSapling, + allHardwoodSaplings, hardwoodSapling, calquatSapling, allCalquatSaplings, + compost, axe, protectionItemTree, allProtectionItemTree, protectionItemCalquat, allProtectionItemCalquat, + protectionItemFruitTree, allProtectionItemFruitTree, protectionItemHardwood, allProtectionItemHardwood; // Teleport Items // TODO: Add these... - ItemRequirement farmingGuildTeleport, crystalTeleport, catherbyTeleport, varrockTeleport, lumbridgeTeleport, faladorTeleport, fossilIslandTeleport, nemusRetreatTeleport; + ItemRequirement farmingGuildTeleport, crystalTeleport, catherbyTeleport, varrockTeleport, lumbridgeTeleport, + faladorTeleport, fossilIslandTeleport, auburnvaleTeleport, kastoriTeleport; // Graceful Set - ItemRequirement gracefulHood, gracefulTop, gracefulLegs, gracefulGloves, gracefulBoots, gracefulCape, gracefulOutfit; + ItemRequirement gracefulHood, gracefulTop, gracefulLegs, gracefulGloves, gracefulBoots, gracefulCape, + gracefulOutfit; // Farming Set ItemRequirement farmingHat, farmingTop, farmingLegs, farmingBoots, farmersOutfit; // Access Requirements - Requirement accessToFarmingGuildTreePatch, accessToFarmingGuildFruitTreePatch, accessToLletya, accessToFossilIsland, accessToSavannah, accessToVarlamore; + Requirement accessToFarmingGuildTreePatch, accessToFarmingGuildFruitTreePatch, accessToLletya, accessToFossilIsland, + accessToSavannah, accessToVarlamore, accessToAnglersRetreat, accessToGreatConch; Requirement payingForRemoval, payingForProtection, usingCompostorNothing; - PatchStates faladorStates, lumbridgeStates, farmingGuildTreeStates, taverleyStates, varrockStates, gnomeStrongholdTreeStates, nemusRetreatStates; + PatchStates faladorStates, lumbridgeStates, farmingGuildTreeStates, taverleyStates, varrockStates, + gnomeStrongholdTreeStates, auburnvaleStates; - PatchStates gnomeStrongholdFruitStates, gnomeVillageStates, brimhavenStates, catherbyStates, lletyaStates, farmingGuildFruitStates; + PatchStates gnomeStrongholdFruitStates, gnomeVillageStates, brimhavenStates, catherbyStates, lletyaStates, + farmingGuildFruitStates, taiBwoWannaiStates, kastoriStates, greatConchStates; - PatchStates eastHardwoodStates, middleHardwoodStates, westHardwoodStates, savannahStates; + PatchStates eastHardwoodStates, middleHardwoodStates, westHardwoodStates, savannahStates, anglersRetreatStates; Requirement allGrowing; - ConditionalStep farmingGuildStep, lumbridgeStep, varrockStep, faladorStep, taverleyStep, strongholdStep, villageStep, lletyaStep, - catherbyStep, brimhavenStep, fossilIslandStep, savannahStep, nemusRetreatStep; + ConditionalStep farmingGuildStep, lumbridgeStep, varrockStep, faladorStep, taverleyStep, strongholdStep, + villageStep, lletyaStep, catherbyStep, brimhavenStep, fossilIslandStep, savannahStep, auburnvaleStep, + kastoriStep, anglersRetreatStep, greatConchStep; private final String PAY_OR_CUT = "payOrCutTree"; private final String PAY_OR_COMPOST = "payOrCompostTree"; @@ -167,8 +192,8 @@ public class TreeRun extends ComplexStateQuestHelper setupSteps(); farmingHandler = new FarmingHandler(client, configManager); - ReorderableConditionalStep steps = new ReorderableConditionalStep(this, waitForTree, spade, coins, rake, compost - , farmersOutfit, gracefulOutfit); + ReorderableConditionalStep steps = new ReorderableConditionalStep(this, waitForTree, spade, coins, + rake, compost, farmersOutfit, gracefulOutfit); // Farming Guild Tree -> Farming Guild Fruit Tree -> Lumbridge -> Falador -> Taverley // Varrock -> Gnome Stronghold Fruit -> Gnome Stronghold Tree -> Gnome Village -> catherby @@ -266,8 +291,14 @@ public class TreeRun extends ComplexStateQuestHelper brimhavenStep.addStep(brimhavenStates.getIsHarvestable(), brimhavenFruitTreePatchClear); brimhavenStep.addStep(brimhavenStates.getIsStump(), brimhavenFruitTreePatchDig); brimhavenStep.addStep(nor(usingCompostorNothing, brimhavenStates.getIsProtected()), brimhavenFruitProtect); + brimhavenStep.addStep(taiBwoWannaiStates.getIsUnchecked(), taiBwoWannaiCalquatPatchCheckHealth); + brimhavenStep.addStep(taiBwoWannaiStates.getIsEmpty(), taiBwoWannaiCalquatPatchPlant); + brimhavenStep.addStep(taiBwoWannaiStates.getIsHarvestable(), taiBwoWannaiCalquatPatchClear); + brimhavenStep.addStep(taiBwoWannaiStates.getIsStump(), taiBwoWannaiCalquatPatchDig); + brimhavenStep.addStep(nor(usingCompostorNothing, taiBwoWannaiStates.getIsProtected()), + taiBwoWannaiCalquatProtect); - steps.addStep(nor(brimhavenStates.getIsGrowing()), brimhavenStep.withId(8)); + steps.addStep(nand(brimhavenStates.getIsGrowing(), taiBwoWannaiStates.getIsGrowing()), brimhavenStep.withId(8)); lletyaStep = new ConditionalStep(this, lletyaFruitTreePatchCheckHealth); lletyaStep.addStep(lletyaStates.getIsUnchecked(), lletyaFruitTreePatchCheckHealth); @@ -310,14 +341,52 @@ public class TreeRun extends ComplexStateQuestHelper steps.addStep(and(accessToSavannah, nor(savannahStates.getIsGrowing())), savannahStep.withId(11)); - nemusRetreatStep = new ConditionalStep(this, nemusRetreatTreePatchCheckHealth); - nemusRetreatStep.addStep(nemusRetreatStates.getIsUnchecked(), nemusRetreatTreePatchCheckHealth); - nemusRetreatStep.addStep(nemusRetreatStates.getIsEmpty(), nemusRetreatTreePatchPlant); - nemusRetreatStep.addStep(nemusRetreatStates.getIsHarvestable(), nemusRetreatTreePatchClear); - nemusRetreatStep.addStep(nemusRetreatStates.getIsStump(), nemusRetreatTreePatchDig); - nemusRetreatStep.addStep(nor(usingCompostorNothing, nemusRetreatStates.getIsProtected()), nemusRetreatTreeProtect); + auburnvaleStep = new ConditionalStep(this, auburnvaleTreePatchCheckHealth); + auburnvaleStep.addStep(auburnvaleStates.getIsUnchecked(), auburnvaleTreePatchCheckHealth); + auburnvaleStep.addStep(auburnvaleStates.getIsEmpty(), auburnvaleTreePatchPlant); + auburnvaleStep.addStep(auburnvaleStates.getIsHarvestable(), auburnvaleTreePatchClear); + auburnvaleStep.addStep(auburnvaleStates.getIsStump(), auburnvaleTreePatchDig); + auburnvaleStep.addStep(nor(usingCompostorNothing, auburnvaleStates.getIsProtected()), auburnvaleTreeProtect); - steps.addStep(and(accessToVarlamore, nor(nemusRetreatStates.getIsGrowing())), nemusRetreatStep.withId(12)); + steps.addStep(and(accessToVarlamore, nor(auburnvaleStates.getIsGrowing())), auburnvaleStep.withId(12)); + + + //kastoriStep, anglersRetreatStep, greatConchStep; + + kastoriStep = new ConditionalStep(this, kastoriFruitTreePatchCheckHealth); + kastoriStep.addStep(kastoriStates.getIsUnchecked(), kastoriFruitTreePatchCheckHealth); + kastoriStep.addStep(kastoriStates.getIsEmpty(), kastoriFruitTreePatchPlant); + kastoriStep.addStep(kastoriStates.getIsHarvestable(), kastoriFruitTreePatchClear); + kastoriStep.addStep(kastoriStates.getIsStump(), kastoriFruitTreePatchDig); + kastoriStep.addStep(nor(usingCompostorNothing, kastoriStates.getIsProtected()), kastoriFruitProtect); + + kastoriStep.addStep(kastoriStates.getIsUnchecked(), kastoriCalquatPatchCheckHealth); + kastoriStep.addStep(kastoriStates.getIsEmpty(), kastoriCalquatPatchPlant); + kastoriStep.addStep(kastoriStates.getIsHarvestable(), kastoriCalquatPatchClear); + kastoriStep.addStep(kastoriStates.getIsStump(), kastoriCalquatPatchDig); + kastoriStep.addStep(nor(usingCompostorNothing, kastoriStates.getIsProtected()), kastoriCalquatProtect); + + steps.addStep(and(accessToVarlamore, nand(kastoriStates.getIsGrowing(), kastoriStates.getIsGrowing())), kastoriStep.withId(13)); + + anglersRetreatStep = new ConditionalStep(this, anglersCheckHealth); + anglersRetreatStep.addStep(anglersRetreatStates.getIsUnchecked(), anglersCheckHealth); + anglersRetreatStep.addStep(anglersRetreatStates.getIsEmpty(), anglersPlant); + anglersRetreatStep.addStep(anglersRetreatStates.getIsHarvestable(), anglersClear); + anglersRetreatStep.addStep(anglersRetreatStates.getIsStump(), anglersDig); + anglersRetreatStep.addStep(nor(usingCompostorNothing, anglersRetreatStates.getIsProtected()), anglersProtect); + + steps.addStep(and(accessToAnglersRetreat, nor(anglersRetreatStates.getIsGrowing())), + anglersRetreatStep.withId(14)); + + greatConchStep = new ConditionalStep(this, greatConchCalquatPatchCheckHealth); + greatConchStep.addStep(greatConchStates.getIsUnchecked(), greatConchCalquatPatchCheckHealth); + greatConchStep.addStep(greatConchStates.getIsEmpty(), greatConchCalquatPatchPlant); + greatConchStep.addStep(greatConchStates.getIsHarvestable(), greatConchCalquatPatchClear); + greatConchStep.addStep(greatConchStates.getIsStump(), greatConchCalquatPatchDig); + greatConchStep.addStep(nor(usingCompostorNothing, greatConchStates.getIsProtected()), greatConchCalquatProtect); + + steps.addStep(and(accessToGreatConch, nor(greatConchStates.getIsGrowing())), + greatConchStep.withId(15)); return steps; } @@ -339,6 +408,12 @@ public class TreeRun extends ComplexStateQuestHelper accessToSavannah = new QuestRequirement(QuestHelperQuest.THE_RIBBITING_TALE_OF_A_LILY_PAD_LABOUR_DISPUTE, QuestState.FINISHED); accessToVarlamore = new QuestRequirement(QuestHelperQuest.CHILDREN_OF_THE_SUN, QuestState.FINISHED); + accessToAnglersRetreat = new Conditions( + new SkillRequirement(Skill.SAILING, 51) + ); + + accessToGreatConch = new QuestRequirement(QuestHelperQuest.TROUBLED_TORTUGANS, QuestState.FINISHED); + // Trees lumbridgeStates = new PatchStates("Lumbridge"); faladorStates = new PatchStates("Falador"); @@ -346,30 +421,38 @@ public class TreeRun extends ComplexStateQuestHelper varrockStates = new PatchStates("Varrock"); gnomeStrongholdTreeStates = new PatchStates("Gnome Stronghold"); farmingGuildTreeStates = new PatchStates("Farming Guild", accessToFarmingGuildTreePatch); - nemusRetreatStates = new PatchStates("Nemus Retreat", accessToVarlamore); + auburnvaleStates = new PatchStates("Auburnvale", accessToVarlamore); // Fruit trees catherbyStates = new PatchStates("Catherby"); brimhavenStates = new PatchStates("Brimhaven"); + taiBwoWannaiStates = new PatchStates("Tai Bwo Wannai"); gnomeVillageStates = new PatchStates("Tree Gnome Village"); gnomeStrongholdFruitStates = new PatchStates("Gnome Stronghold"); lletyaStates = new PatchStates("Lletya", accessToLletya); farmingGuildFruitStates = new PatchStates("Farming Guild", accessToFarmingGuildFruitTreePatch); + kastoriStates = new PatchStates("Kastori", accessToVarlamore); + greatConchStates = new PatchStates("Great Conch", accessToGreatConch); westHardwoodStates = new PatchStates("Fossil Island", "West"); middleHardwoodStates = new PatchStates("Fossil Island", "Middle"); eastHardwoodStates = new PatchStates("Fossil Island", "East"); savannahStates = new PatchStates("Avium Savannah", accessToSavannah); + anglersRetreatStates = new PatchStates("Anglers' Retreat", accessToAnglersRetreat); - allGrowing = and(lumbridgeStates.getIsGrowing(), faladorStates.getIsGrowing(), taverleyStates.getIsGrowing(), varrockStates.getIsGrowing(), - gnomeStrongholdTreeStates.getIsGrowing(), catherbyStates.getIsGrowing(), brimhavenStates.getIsGrowing(), gnomeVillageStates.getIsGrowing(), + allGrowing = and(lumbridgeStates.getIsGrowing(), faladorStates.getIsGrowing(), taverleyStates.getIsGrowing(), + varrockStates.getIsGrowing(), gnomeStrongholdTreeStates.getIsGrowing(), catherbyStates.getIsGrowing(), + brimhavenStates.getIsGrowing(), taiBwoWannaiStates.getIsGrowing(), gnomeVillageStates.getIsGrowing(), gnomeStrongholdFruitStates.getIsGrowing(), or(not(accessToLletya), lletyaStates.getIsGrowing()), - or(not(accessToVarlamore), nemusRetreatStates.getIsGrowing()), + or(not(accessToVarlamore), auburnvaleStates.getIsGrowing()), + or(not(accessToVarlamore), kastoriStates.getIsGrowing()), or(not(accessToFarmingGuildTreePatch), farmingGuildTreeStates.getIsGrowing()), or(not(accessToFarmingGuildFruitTreePatch), farmingGuildFruitStates.getIsGrowing()), or(not(accessToFossilIsland), and(westHardwoodStates.getIsGrowing(), middleHardwoodStates.getIsGrowing(), eastHardwoodStates.getIsGrowing())), - or(not(accessToSavannah), savannahStates.getIsGrowing()) + or(not(accessToSavannah), savannahStates.getIsGrowing()), + or(not(accessToAnglersRetreat), anglersRetreatStates.getIsGrowing()), + or(not(accessToGreatConch), greatConchStates.getIsGrowing()) ); payingForRemoval = new RuneliteRequirement(configManager, PAY_OR_CUT, PayOrCut.PAY.name()); @@ -417,6 +500,16 @@ public class TreeRun extends ComplexStateQuestHelper protectionItemHardwood.addAlternates(protectionItemHardwood.getId() + 1); allProtectionItemHardwood = protectionItemHardwood.copy(); + CalquatTreeSapling calquatTreeSaplingEnum = (CalquatTreeSapling) FarmingUtils.getEnumFromConfig(configManager, + CalquatTreeSapling.CALQUAT); + calquatSapling = calquatTreeSaplingEnum.getPlantableItemRequirement(itemManager); + calquatSapling.setHighlightInInventory(true); + allCalquatSaplings = calquatSapling.copy(); + + protectionItemCalquat = calquatTreeSaplingEnum.getProtectionItemRequirement(itemManager).showConditioned(payingForProtection); + protectionItemCalquat.addAlternates(protectionItemCalquat.getId() + 1); + allProtectionItemCalquat = protectionItemCalquat.copy(); + compost = new ItemRequirement("Compost", ItemCollections.COMPOST).showConditioned(usingCompostorNothing); compost.setDisplayMatchedItemName(true); @@ -430,8 +523,10 @@ public class TreeRun extends ComplexStateQuestHelper faladorTeleport = new ItemRequirement("Falador teleport", ItemCollections.RING_OF_WEALTHS); faladorTeleport.addAlternates(ItemID.POH_TABLET_FALADORTELEPORT); fossilIslandTeleport = new ItemRequirement("Teleport to Fossil Island", ItemCollections.DIGSITE_PENDANTS); - nemusRetreatTeleport = new ItemRequirement("Nemus Retreat Teleport", ItemID.PENDANT_OF_ATES); - nemusRetreatTeleport.addAlternates(ItemCollections.FAIRY_STAFF); + auburnvaleTeleport = new ItemRequirement("Auburnvale Teleport", ItemID.PENDANT_OF_ATES); + auburnvaleTeleport.addAlternates(ItemCollections.FAIRY_STAFF); + kastoriTeleport = new ItemRequirement("Kastori Teleport", ItemID.PENDANT_OF_ATES); + kastoriTeleport.addAlternates(ItemCollections.FAIRY_STAFF); // Graceful and Farming Outfit gracefulHood = new ItemRequirement( @@ -511,9 +606,9 @@ public class TreeRun extends ComplexStateQuestHelper "Speak to Rosie to clear the patch."); farmingGuildTreePatchClear.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes."); - nemusRetreatTreePatchClear = new NpcStep(this, NpcID.FARMING_GARDENER_TREE_7, new WorldPoint(1367, 3322, 0), + auburnvaleTreePatchClear = new NpcStep(this, NpcID.FARMING_GARDENER_TREE_7, new WorldPoint(1367, 3322, 0), "Speak to Aub to clear the patch."); - nemusRetreatTreePatchClear.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes."); + auburnvaleTreePatchClear.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes."); lumbridgeTreeProtect = new NpcStep(this, NpcID.FARMING_GARDENER_TREE_4, new WorldPoint(3193, 3231, 0), "Speak to Fayeth to protect the patch."); @@ -539,9 +634,9 @@ public class TreeRun extends ComplexStateQuestHelper "Speak to Rosie to protect the patch."); farmingGuildTreePayForProtection.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes."); - nemusRetreatTreeProtect = new NpcStep(this, NpcID.FARMING_GARDENER_TREE_7, new WorldPoint(1367, 3322, 0), + auburnvaleTreeProtect = new NpcStep(this, NpcID.FARMING_GARDENER_TREE_7, new WorldPoint(1367, 3322, 0), "Speak to Aub to protect the patch."); - nemusRetreatTreeProtect.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes."); + auburnvaleTreeProtect.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes."); // Tree Patch Steps lumbridgeTreePatchCheckHealth = new ObjectStep(this, ObjectID.FARMING_TREE_PATCH_4, new WorldPoint(3193, 3231, 0), @@ -566,10 +661,10 @@ public class TreeRun extends ComplexStateQuestHelper farmingGuildTreePatchCheckHealth.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToFarmingGuildTreePatch)); farmingGuildTreePatchCheckHealth.addTeleport(farmingGuildTeleport); - nemusRetreatTreePatchCheckHealth = new ObjectStep(this, ObjectID.FARMING_TREE_PATCH_7, new WorldPoint(1367, 3322, 0), - "Check the health of the tree planted at the Nemus Retreat"); - nemusRetreatTreePatchCheckHealth.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToVarlamore)); - nemusRetreatTreePatchCheckHealth.addTeleport(nemusRetreatTeleport); + auburnvaleTreePatchCheckHealth = new ObjectStep(this, ObjectID.FARMING_TREE_PATCH_7, new WorldPoint(1367, 3322, 0), + "Check the health of the tree planted at Auburnvale"); + auburnvaleTreePatchCheckHealth.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToVarlamore)); + auburnvaleTreePatchCheckHealth.addTeleport(auburnvaleTeleport); // Tree Plant Steps lumbridgeTreePatchPlant = new ObjectStep(this, ObjectID.FARMING_TREE_PATCH_4, new WorldPoint(3193, 3231, 0), @@ -603,11 +698,11 @@ public class TreeRun extends ComplexStateQuestHelper farmingGuildTreePatchPlant.addIcon(treeSapling.getId()); farmingGuildTreePatchCheckHealth.addSubSteps(farmingGuildTreePatchPlant); - nemusRetreatTreePatchPlant = new ObjectStep(this, ObjectID.FARMING_TREE_PATCH_7, new WorldPoint(1367, 3322, 0), - "Plant your sapling in the Nemus Retreat tree patch.", treeSapling); - nemusRetreatTreePatchPlant.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToVarlamore)); - nemusRetreatTreePatchPlant.addIcon(treeSapling.getId()); - nemusRetreatTreePatchCheckHealth.addSubSteps(nemusRetreatTreePatchPlant); + auburnvaleTreePatchPlant = new ObjectStep(this, ObjectID.FARMING_TREE_PATCH_7, new WorldPoint(1367, 3322, 0), + "Plant your sapling in the Auburnvale tree patch.", treeSapling); + auburnvaleTreePatchPlant.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToVarlamore)); + auburnvaleTreePatchPlant.addIcon(treeSapling.getId()); + auburnvaleTreePatchCheckHealth.addSubSteps(auburnvaleTreePatchPlant); // Dig lumbridgeTreePatchDig = new ObjectStep(this, ObjectID.FARMING_TREE_PATCH_4, new WorldPoint(3193, 3231, 0), @@ -622,8 +717,8 @@ public class TreeRun extends ComplexStateQuestHelper "Dig up the tree stump in the Tree Gnome Stronghold."); farmingGuildTreePatchDig = new ObjectStep(this, ObjectID.FARMING_TREE_PATCH_6, new WorldPoint(1232, 3736, 0), "Dig up the tree stump in the Farming Guild tree patch."); - nemusRetreatTreePatchDig = new ObjectStep(this, ObjectID.FARMING_TREE_PATCH_7, new WorldPoint(1367, 3322, 0), - "Dig up the tree stump in the Nemus Retreat tree patch."); + auburnvaleTreePatchDig = new ObjectStep(this, ObjectID.FARMING_TREE_PATCH_7, new WorldPoint(1367, 3322, 0), + "Dig up the tree stump in the Auburnvale tree patch."); faladorTreePatchClear.addSubSteps(faladorTreePatchDig, faladorTreeProtect); taverleyTreePatchClear.addSubSteps(taverleyTreePatchDig, taverleyTreeProtect); @@ -631,7 +726,7 @@ public class TreeRun extends ComplexStateQuestHelper gnomeStrongholdTreePatchClear.addSubSteps(gnomeStrongholdTreePatchDig, strongholdTreeProtect); lumbridgeTreePatchClear.addSubSteps(lumbridgeTreePatchDig, lumbridgeTreeProtect); farmingGuildTreePatchClear.addSubSteps(farmingGuildTreePatchDig, farmingGuildTreePayForProtection); - nemusRetreatTreePatchClear.addSubSteps(nemusRetreatTreePatchDig, nemusRetreatTreeProtect); + auburnvaleTreePatchClear.addSubSteps(auburnvaleTreePatchDig, auburnvaleTreeProtect); // Fruit Tree Steps @@ -662,6 +757,25 @@ public class TreeRun extends ComplexStateQuestHelper farmingGuildFruitTreePatchPlant.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToFarmingGuildFruitTreePatch)); farmingGuildFruitTreePatchPlant.addIcon(fruitTreeSapling.getId()); + kastoriFruitTreePatchPlant = new ObjectStep(this, ObjectID.FARMING_FRUIT_TREE_PATCH_7, new WorldPoint(1350, 3057, 0), + "Plant your sapling in the Kastori patch.", fruitTreeSapling); + kastoriFruitTreePatchPlant.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToVarlamore)); + kastoriFruitTreePatchPlant.addIcon(fruitTreeSapling.getId()); + + taiBwoWannaiCalquatPatchPlant = new ObjectStep(this, ObjectID.FARMING_CALQUAT_TREE_PATCH, new WorldPoint(2795, 3102, 0), + "Plant your sapling in the Tai Bwo Wannai patch.", calquatSapling); + taiBwoWannaiCalquatPatchPlant.addIcon(calquatSapling.getId()); + + kastoriCalquatPatchPlant = new ObjectStep(this, ObjectID.FARMING_CALQUAT_TREE_PATCH_2, new WorldPoint(1366, 3033, 0), + "Plant your sapling in the Kastori Calquat patch.", calquatSapling); + kastoriCalquatPatchPlant.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToVarlamore)); + kastoriCalquatPatchPlant.addIcon(calquatSapling.getId()); + + greatConchCalquatPatchPlant = new ObjectStep(this, ObjectID.FARMING_CALQUAT_TREE_PATCH_3, new WorldPoint(3129, 2406, 0), + "Plant your sapling in the Great Conch patch.", calquatSapling); + greatConchCalquatPatchPlant.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToGreatConch)); + greatConchCalquatPatchPlant.addIcon(calquatSapling.getId()); + // Fruit Tree Check Health Steps gnomeStrongholdFruitTreePatchCheckHealth = new ObjectStep(this, ObjectID.FARMING_FRUIT_TREE_PATCH_1, new WorldPoint(2476, 3446, 0), "Check the health of the fruit tree planted in the Tree Gnome Stronghold."); @@ -700,6 +814,31 @@ public class TreeRun extends ComplexStateQuestHelper farmingGuildFruitTreePatchCheckHealth.addWidgetHighlightWithTextRequirement(187, 3, "Farming Guild", true); farmingGuildFruitTreePatchCheckHealth.addSubSteps(farmingGuildFruitTreePatchPlant); + kastoriFruitTreePatchCheckHealth = new ObjectStep(this, ObjectID.FARMING_FRUIT_TREE_PATCH_7, new WorldPoint(1350, 3057, 0), + "Check the health of the fruit tree planted in Kastori."); + kastoriFruitTreePatchCheckHealth.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToVarlamore)); + kastoriFruitTreePatchCheckHealth.addTeleport(kastoriTeleport); + kastoriFruitTreePatchCheckHealth.addWidgetHighlightWithTextRequirement(187, 3, "Kastori", true); + kastoriFruitTreePatchCheckHealth.addSubSteps(kastoriFruitTreePatchPlant); + + taiBwoWannaiCalquatPatchCheckHealth = new ObjectStep(this, ObjectID.FARMING_CALQUAT_TREE_PATCH, new WorldPoint(2795, 3102, 0), + "Check the health of the calquat tree planted in Tai Bwo Wannai.", calquatSapling); + taiBwoWannaiCalquatPatchCheckHealth.addWidgetHighlightWithTextRequirement(187, 3, "Tai Bwo Wannai", true); + taiBwoWannaiCalquatPatchCheckHealth.addSubSteps(taiBwoWannaiCalquatPatchPlant); + + kastoriCalquatPatchCheckHealth = new ObjectStep(this, ObjectID.FARMING_CALQUAT_TREE_PATCH_2, new WorldPoint(1366, 3033, 0), + "Check the health of the calquat tree planted in Kastori."); + kastoriCalquatPatchCheckHealth.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToVarlamore)); + kastoriCalquatPatchCheckHealth.addTeleport(kastoriTeleport); + kastoriCalquatPatchCheckHealth.addWidgetHighlightWithTextRequirement(187, 3, "Kastori", true); + kastoriCalquatPatchCheckHealth.addSubSteps(kastoriCalquatPatchPlant); + + greatConchCalquatPatchCheckHealth = new ObjectStep(this, ObjectID.FARMING_CALQUAT_TREE_PATCH_3, new WorldPoint(3129, 2406, 0), + "Check the health of the calquat tree planted in Great Conch.", calquatSapling); + greatConchCalquatPatchCheckHealth.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToGreatConch)); + greatConchCalquatPatchCheckHealth.addWidgetHighlightWithTextRequirement(187, 3, "Great Conch", true); + greatConchCalquatPatchCheckHealth.addSubSteps(greatConchCalquatPatchPlant); + // Clear gnomeStrongholdFruitTreePatchClear = new NpcStep(this, NpcID.FARMING_GARDENER_FRUIT_1, new WorldPoint(2476, 3446, 0), "Pay Bolongo 200 coins to clear the fruit tree, or pick all the fruit and cut it down."); @@ -722,6 +861,18 @@ public class TreeRun extends ComplexStateQuestHelper farmingGuildFruitTreePatchClear = new NpcStep(this, NpcID.FARMING_GARDENER_FARMGUILD_T3, new WorldPoint(1243, 3760, 0), "Pay Nikkie 200 coins to clear the fruit tree, or pick all the fruit and cut it down."); farmingGuildFruitTreePatchClear.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes."); + kastoriFruitTreePatchClear = new NpcStep(this, NpcID.FARMING_GARDENER_FRUIT_7, new WorldPoint(1350, 3057, 0), + "Pay Ehecatl 200 coins to clear the fruit tree, or pick all the fruit and cut it down."); + kastoriFruitTreePatchClear.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes."); + taiBwoWannaiCalquatPatchClear = new NpcStep(this, NpcID.FARMING_GARDENER_CALQUAT, new WorldPoint(2795, 3102, 0), + "Pay Imiago 200 coins to clear the calquat tree, or pick all the fruit and cut it down."); + taiBwoWannaiCalquatPatchClear.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes."); + kastoriCalquatPatchClear = new NpcStep(this, NpcID.FARMING_GARDENER_CALQUAT_2, new WorldPoint(1366, 3033, 0), + "Pay Tziuhtla 200 coins to clear the calquat tree, or pick all the fruit and cut it down."); + kastoriCalquatPatchClear.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes."); + greatConchCalquatPatchClear = new NpcStep(this, NpcID.FARMING_GARDENER_CALQUAT_3, new WorldPoint(3129, 2406, 0), + "Pay Guppa 200 coins to clear the calquat tree, or pick all the fruit and cut it down."); + greatConchCalquatPatchClear.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes."); strongholdFruitProtect = new NpcStep(this, NpcID.FARMING_GARDENER_FRUIT_1, new WorldPoint(2476, 3446, 0), "Pay Bolongo to protect the patch."); @@ -743,6 +894,18 @@ public class TreeRun extends ComplexStateQuestHelper "Pay Nikkie to protect the patch."); guildFruitProtect.addDialogSteps("Would you chop my tree down for me?", "I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - " + "chop my tree down please.", "Yes."); + kastoriFruitProtect = new NpcStep(this, NpcID.FARMING_GARDENER_FRUIT_7, new WorldPoint(1350, 3057, 0), + "Pay Ehecatl to protect the patch."); + kastoriFruitProtect.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes."); + taiBwoWannaiCalquatProtect = new NpcStep(this, NpcID.FARMING_GARDENER_CALQUAT, new WorldPoint(2795, 3102, 0), + "Pay Imiago to protect the patch."); + taiBwoWannaiCalquatProtect.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes."); + kastoriCalquatProtect = new NpcStep(this, NpcID.FARMING_GARDENER_CALQUAT_2, new WorldPoint(1366, 3033, 0), + "Pay Tziuhtla to protect the patch."); + kastoriCalquatProtect.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes."); + greatConchCalquatProtect = new NpcStep(this, NpcID.FARMING_GARDENER_CALQUAT_3, new WorldPoint(3129, 2406, 0), + "Pay Guppa to protect the patch."); + greatConchCalquatProtect.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes."); // Dig Fruit Tree Steps gnomeStrongholdFruitTreePatchDig = new ObjectStep(this, ObjectID.FARMING_FRUIT_TREE_PATCH_1, new WorldPoint(2476, 3446, 0), @@ -757,6 +920,14 @@ public class TreeRun extends ComplexStateQuestHelper "Dig up the fruit tree's stump in Lletya."); farmingGuildFruitTreePatchDig = new ObjectStep(this, ObjectID.FARMING_FRUIT_TREE_PATCH_6, new WorldPoint(1242, 3758, 0), "Dig up the fruit tree's stump in the Farming Guild."); + kastoriFruitTreePatchDig = new ObjectStep(this, ObjectID.FARMING_FRUIT_TREE_PATCH_7, new WorldPoint(1350, 3057, 0), + "Dig up the fruit tree's stump in Kastori."); + taiBwoWannaiCalquatPatchDig = new ObjectStep(this, ObjectID.FARMING_CALQUAT_TREE_PATCH, new WorldPoint(2795, 3102, 0), + "Dig up the calquat tree's stump in Tai Bwo Wannai."); + kastoriCalquatPatchDig = new ObjectStep(this, ObjectID.FARMING_CALQUAT_TREE_PATCH_2, new WorldPoint(1366, 3033, 0), + "Dig up the calquat tree's stump in Kastori."); + greatConchCalquatPatchDig = new ObjectStep(this, ObjectID.FARMING_CALQUAT_TREE_PATCH_3, new WorldPoint(3129, 2406, 0), + "Dig up the calquat tree's stump in Great Conch."); gnomeStrongholdFruitTreePatchClear.addSubSteps(gnomeStrongholdFruitTreePatchDig, strongholdFruitProtect); gnomeVillageFruitTreePatchClear.addSubSteps(gnomeVillageFruitTreePatchDig, villageFruitProtect); @@ -764,6 +935,10 @@ public class TreeRun extends ComplexStateQuestHelper catherbyFruitTreePatchClear.addSubSteps(catherbyFruitTreePatchDig, catherbyFruitProtect); lletyaFruitTreePatchClear.addSubSteps(lletyaFruitTreePatchDig, lletyaFruitProtect); farmingGuildFruitTreePatchClear.addSubSteps(farmingGuildFruitTreePatchDig, guildFruitProtect); + kastoriFruitTreePatchClear.addSubSteps(kastoriFruitTreePatchDig, kastoriFruitProtect); + taiBwoWannaiCalquatPatchClear.addSubSteps(taiBwoWannaiCalquatPatchDig, taiBwoWannaiCalquatProtect); + kastoriCalquatPatchClear.addSubSteps(kastoriCalquatPatchDig, kastoriCalquatProtect); + greatConchCalquatPatchClear.addSubSteps(greatConchCalquatPatchDig, greatConchCalquatProtect); // Hardwood Tree Steps westHardwoodTreePatchCheckHealth = new ObjectStep(this, ObjectID.FARMING_HARDWOOD_TREE_PATCH_3, new WorldPoint(3702, 3837, 0), @@ -774,6 +949,8 @@ public class TreeRun extends ComplexStateQuestHelper "Check the health of the eastern hardwood tree on Fossil Island."); savannahCheckHealth = new ObjectStep(this, ObjectID.FARMING_HARDWOOD_TREE_PATCH_4, new WorldPoint(1687, 2972, 0), "Check the health of the hardwood tree in the Avium Savannah."); + anglersCheckHealth = new ObjectStep(this, ObjectID.FARMING_HARDWOOD_TREE_PATCH_5, new WorldPoint(2470, 2704, 0), + "Check the health of the hardwood tree in the Anglers' Retreat."); // Hardwood Tree Plant Steps westHardwoodTreePatchPlant = new ObjectStep(this, ObjectID.FARMING_HARDWOOD_TREE_PATCH_3, new WorldPoint(3702, 3837, 0), @@ -792,7 +969,10 @@ public class TreeRun extends ComplexStateQuestHelper eastHardwoodTreePatchCheckHealth.addSubSteps(eastHardwoodTreePatchPlant); savannahPlant = new ObjectStep(this, ObjectID.FARMING_HARDWOOD_TREE_PATCH_4, new WorldPoint(1687, 2972, 0), - "Plant your sapling into the hardwood tree in the hardwood tree patch in the Avium Savannah.", hardwoodSapling); + "Plant your sapling on the hardwood tree patch in the Avium Savannah.", hardwoodSapling); + + anglersPlant = new ObjectStep(this, ObjectID.FARMING_HARDWOOD_TREE_PATCH_5, new WorldPoint(2470, 2704, 0), + "Plant your sapling on the hardwood tree patch on Anglers' Retreat.", hardwoodSapling); westHardwoodTreePatchClear = new NpcStep(this, NpcID.FOSSIL_SQUIRREL_GARDENER3, new WorldPoint(3702, 3837, 0), "Pay the brown squirrel to remove the west tree."); @@ -812,6 +992,11 @@ public class TreeRun extends ComplexStateQuestHelper savannahClear.addDialogSteps("Would you chop my tree down for me?", "I can't be bothered - I'd rather pay you to do it.", "Here's 200 " + "Coins - chop my tree down please.", "Yes."); + anglersClear = new NpcStep(this, NpcID.FARMING_GARDENER_HARDWOOD_TREE_5, new WorldPoint(2470, 2704, 0), + "Pay Argo to clear the tree."); + anglersClear.addDialogSteps("Would you chop my tree down for me?", "I can't be bothered - I'd rather pay you to do it.", "Here's 200 " + + "Coins - chop my tree down please.", "Yes."); + westHardwoodTreePatchDig = new ObjectStep(this, ObjectID.FARMING_HARDWOOD_TREE_PATCH_3, new WorldPoint(3702, 3837, 0), "Dig up the western hardwood tree's stump on Fossil Island."); middleHardwoodTreePatchDig = new ObjectStep(this, ObjectID.FARMING_HARDWOOD_TREE_PATCH_2, new WorldPoint(3708, 3833, 0), @@ -820,6 +1005,8 @@ public class TreeRun extends ComplexStateQuestHelper "Dig up the eastern hardwood tree's stump on Fossil Island."); savannahDig = new ObjectStep(this, ObjectID.FARMING_HARDWOOD_TREE_PATCH_4, new WorldPoint(1687, 2972, 0), "Dig up the Savannah hardwood tree's stump."); + anglersDig = new ObjectStep(this, ObjectID.FARMING_HARDWOOD_TREE_PATCH_5, new WorldPoint(2470,2704, 0), + "Dig up the Anglers' Retreat hardwood tree's stump."); westHardwoodProtect = new NpcStep(this, NpcID.FOSSIL_SQUIRREL_GARDENER3, new WorldPoint(3702, 3837, 0), "Pay the brown squirrel to protect the west tree."); @@ -829,11 +1016,14 @@ public class TreeRun extends ComplexStateQuestHelper "Pay the grey squirrel to protect the east tree."); savannahProtect = new NpcStep(this, NpcID.FROG_QUEST_MARCELLUS_FARMER, new WorldPoint(1687, 2972, 0), "Pay Marcellus to protect the hardwood tree."); + anglersProtect = new NpcStep(this, NpcID.FARMING_GARDENER_HARDWOOD_TREE_5, new WorldPoint(2470, 2704, 0), + "Pay Argo to protect the hardwood tree."); westHardwoodTreePatchClear.addSubSteps(westHardwoodTreePatchDig, westHardwoodProtect); middleHardwoodTreePatchClear.addSubSteps(middleHardwoodTreePatchDig, middleHardwoodProtect); eastHardwoodTreePatchClear.addSubSteps(eastHardwoodTreePatchDig, eastHardwoodProtect); savannahClear.addSubSteps(savannahDig, savannahProtect); + anglersClear.addSubSteps(anglersDig, anglersProtect); } @Subscribe @@ -843,13 +1033,19 @@ public class TreeRun extends ComplexStateQuestHelper allProtectionItemTree.setQuantity(protectionItemTree.getQuantity()); allProtectionItemFruitTree.setQuantity(protectionItemFruitTree.getQuantity()); allProtectionItemHardwood.setQuantity(protectionItemHardwood.getQuantity()); + allProtectionItemCalquat.setQuantity(protectionItemCalquat.getQuantity()); handleTreePatches(PatchImplementation.TREE, - List.of(farmingGuildTreeStates, varrockStates, faladorStates, taverleyStates, lumbridgeStates, gnomeStrongholdTreeStates, nemusRetreatStates), + List.of(farmingGuildTreeStates, varrockStates, faladorStates, taverleyStates, lumbridgeStates, gnomeStrongholdTreeStates, auburnvaleStates), farmingWorld.getTabs().get(Tab.TREE), allTreeSaplings, allProtectionItemTree); handleTreePatches(PatchImplementation.FRUIT_TREE, - List.of(farmingGuildFruitStates, brimhavenStates, catherbyStates, gnomeStrongholdFruitStates, gnomeVillageStates, lletyaStates), + List.of(farmingGuildFruitStates, brimhavenStates, catherbyStates, gnomeStrongholdFruitStates, gnomeVillageStates, lletyaStates, + kastoriStates), farmingWorld.getTabs().get(Tab.FRUIT_TREE), allFruitSaplings, allProtectionItemFruitTree); - handleTreePatches(PatchImplementation.HARDWOOD_TREE, List.of(westHardwoodStates, middleHardwoodStates, eastHardwoodStates, savannahStates), + handleTreePatches(PatchImplementation.CALQUAT, + List.of(taiBwoWannaiStates, kastoriStates, greatConchStates), + farmingWorld.getTabs().get(Tab.FRUIT_TREE), allCalquatSaplings, allProtectionItemCalquat); + handleTreePatches(PatchImplementation.HARDWOOD_TREE, List.of(westHardwoodStates, middleHardwoodStates, + eastHardwoodStates, savannahStates, anglersRetreatStates), farmingWorld.getTabs().get(Tab.TREE), allHardwoodSaplings, allProtectionItemHardwood); } @@ -916,6 +1112,8 @@ public class TreeRun extends ComplexStateQuestHelper this::updateFruitTreeSapling, FruitTreeSapling.APPLE, configManager, questHelperPlugin); FarmingConfigChangeHandler.handleFarmingEnumConfigChange(event, HARDWOOD_TREE_SAPLING, HardwoodTreeSapling.class, this::updateHardwoodTreeSapling, HardwoodTreeSapling.TEAK, configManager, questHelperPlugin); + FarmingConfigChangeHandler.handleFarmingEnumConfigChange(event, CALQUAT_TREE_SAPLING, CalquatTreeSapling.class, + this::updateCalquatTreeSapling, CalquatTreeSapling.CALQUAT, configManager, questHelperPlugin); if (event.getKey().equals(GRACEFUL_OR_FARMING) || event.getKey().equals(PAY_OR_CUT) || event.getKey().equals(PAY_OR_COMPOST)) { @@ -926,6 +1124,7 @@ public class TreeRun extends ComplexStateQuestHelper private final String TREE_SAPLING = "treeSaplings"; private final String FRUIT_TREE_SAPLING = "fruitTreeSaplings"; private final String HARDWOOD_TREE_SAPLING = "hardwoodTreeSaplings"; + private final String CALQUAT_TREE_SAPLING = "calquatTreeSaplings"; @Override public List getConfigs() @@ -933,16 +1132,17 @@ public class TreeRun extends ComplexStateQuestHelper HelperConfig treesConfig = new HelperConfig("Trees", TREE_SAPLING, TreeSapling.values()); HelperConfig fruitTreesConfig = new HelperConfig("Fruit Trees", FRUIT_TREE_SAPLING, FruitTreeSapling.values()); HelperConfig hardwoodTreesConfig = new HelperConfig("Hardwood Trees", HARDWOOD_TREE_SAPLING, HardwoodTreeSapling.values()); + HelperConfig calquatTreesConfig = new HelperConfig("Calquat Trees", CALQUAT_TREE_SAPLING, CalquatTreeSapling.values()); HelperConfig outfitConfig = new HelperConfig("Outfit", GRACEFUL_OR_FARMING, GracefulOrFarming.values()); HelperConfig payOrCutConfig = new HelperConfig("Pay or cut tree removal", PAY_OR_CUT, PayOrCut.values()); HelperConfig payOrCompostConfig = new HelperConfig("Pay farmer or compost", PAY_OR_COMPOST, PayOrCompost.values()); - return Arrays.asList(treesConfig, fruitTreesConfig, hardwoodTreesConfig, outfitConfig, payOrCutConfig, payOrCompostConfig); + return Arrays.asList(treesConfig, fruitTreesConfig, hardwoodTreesConfig, calquatTreesConfig, outfitConfig, payOrCutConfig, payOrCompostConfig); } @Override public List getItemRequirements() { - return Arrays.asList(spade, rake, compost, coins, allTreeSaplings, allFruitSaplings, allHardwoodSaplings, allProtectionItemTree, allProtectionItemFruitTree, allProtectionItemHardwood); + return Arrays.asList(spade, rake, compost, coins, allTreeSaplings, allFruitSaplings, allHardwoodSaplings, allCalquatSaplings, allProtectionItemTree, allProtectionItemFruitTree, allProtectionItemHardwood, allProtectionItemCalquat); } @Override @@ -960,51 +1160,68 @@ public class TreeRun extends ComplexStateQuestHelper allSteps.add(new PanelDetails("Wait for Herbs", waitForTree).withHideCondition(nor(allGrowing))); PanelDetails farmingGuildPanel = new PanelDetails("Farming Guild", Arrays.asList(farmingGuildTreePatchCheckHealth, farmingGuildTreePatchClear, - farmingGuildFruitTreePatchCheckHealth, farmingGuildFruitTreePatchClear)).withId(0); + farmingGuildTreePatchPlant, farmingGuildFruitTreePatchCheckHealth, farmingGuildFruitTreePatchClear, + farmingGuildTreePatchPlant)).withId(0); farmingGuildPanel.setLockingStep(farmingGuildStep); - PanelDetails lumbridgePanel = new PanelDetails("Lumbridge", Arrays.asList(lumbridgeTreePatchCheckHealth, lumbridgeTreePatchClear)).withId(1); + PanelDetails lumbridgePanel = new PanelDetails("Lumbridge", Arrays.asList(lumbridgeTreePatchCheckHealth, lumbridgeTreePatchClear, lumbridgeTreePatchPlant)).withId(1); lumbridgePanel.setLockingStep(lumbridgeStep); - PanelDetails faladorPanel = new PanelDetails("Falador", Arrays.asList(faladorTreePatchCheckHealth, faladorTreePatchClear)).withId(2); + PanelDetails faladorPanel = new PanelDetails("Falador", Arrays.asList(faladorTreePatchCheckHealth, faladorTreePatchClear, faladorTreePatchPlant)).withId(2); faladorPanel.setLockingStep(faladorStep); - PanelDetails taverleyPanel = new PanelDetails("Taverley", Arrays.asList(taverleyTreePatchCheckHealth, taverleyTreePatchClear)).withId(3); + PanelDetails taverleyPanel = new PanelDetails("Taverley", Arrays.asList(taverleyTreePatchCheckHealth, taverleyTreePatchClear, taverleyTreePatchPlant)).withId(3); taverleyPanel.setLockingStep(taverleyStep); - PanelDetails varrockPanel = new PanelDetails("Varrock", Arrays.asList(varrockTreePatchCheckHealth, varrockTreePatchClear)).withId(4); + PanelDetails varrockPanel = new PanelDetails("Varrock", Arrays.asList(varrockTreePatchCheckHealth, varrockTreePatchClear, varrockTreePatchPlant)).withId(4); varrockPanel.setLockingStep(varrockStep); - PanelDetails gnomeStrongholdPanel = new PanelDetails("Gnome Stronghold", Arrays.asList(gnomeStrongholdFruitTreePatchCheckHealth, gnomeVillageFruitTreePatchClear, - gnomeStrongholdTreePatchCheckHealth, gnomeStrongholdTreePatchClear)).withId(5); + PanelDetails gnomeStrongholdPanel = new PanelDetails("Gnome Stronghold", Arrays.asList(gnomeStrongholdFruitTreePatchCheckHealth, gnomeStrongholdFruitTreePatchClear, gnomeStrongholdFruitTreePatchPlant, + gnomeStrongholdTreePatchCheckHealth, gnomeStrongholdTreePatchClear, gnomeStrongholdFruitTreePatchPlant)).withId(5); gnomeStrongholdPanel.setLockingStep(strongholdStep); PanelDetails villagePanel = new PanelDetails("Tree Gnome Village", Arrays.asList(gnomeVillageFruitTreePatchCheckHealth, - gnomeVillageFruitTreePatchClear)).withId(6); + gnomeVillageFruitTreePatchClear, gnomeVillageFruitTreePatchPlant)).withId(6); villagePanel.setLockingStep(villageStep); - PanelDetails catherbyPanel = new PanelDetails("Catherby", Arrays.asList(catherbyFruitTreePatchCheckHealth, catherbyFruitTreePatchClear)).withId(7); + PanelDetails catherbyPanel = new PanelDetails("Catherby", Arrays.asList(catherbyFruitTreePatchCheckHealth, catherbyFruitTreePatchClear, catherbyFruitTreePatchPlant)).withId(7); catherbyPanel.setLockingStep(catherbyStep); - PanelDetails brimhavenPanel = new PanelDetails("Brimhaven", Arrays.asList(brimhavenFruitTreePatchCheckHealth, brimhavenFruitTreePatchClear)).withId(8); + PanelDetails brimhavenPanel = new PanelDetails("Brimhaven", Arrays.asList(brimhavenFruitTreePatchCheckHealth, brimhavenFruitTreePatchClear, brimhavenFruitTreePatchPlant, + taiBwoWannaiCalquatPatchCheckHealth, taiBwoWannaiCalquatPatchClear, taiBwoWannaiCalquatPatchPlant)).withId(8); brimhavenPanel.setLockingStep(brimhavenStep); - PanelDetails lletyaPanel = new PanelDetails("Lletya", Arrays.asList(lletyaFruitTreePatchCheckHealth, lletyaFruitTreePatchClear)).withId(9); + PanelDetails lletyaPanel = new PanelDetails("Lletya", Arrays.asList(lletyaFruitTreePatchCheckHealth, lletyaFruitTreePatchClear, lletyaFruitTreePatchPlant)).withId(9); lletyaPanel.setLockingStep(lletyaStep); - PanelDetails fossilIslandPanel = new PanelDetails("Fossil Island", Arrays.asList(eastHardwoodTreePatchCheckHealth, eastHardwoodTreePatchClear, - middleHardwoodTreePatchCheckHealth, middleHardwoodTreePatchClear, - westHardwoodTreePatchCheckHealth, westHardwoodTreePatchClear)).withId(10); + PanelDetails fossilIslandPanel = new PanelDetails("Fossil Island", Arrays.asList(eastHardwoodTreePatchCheckHealth, eastHardwoodTreePatchClear, eastHardwoodTreePatchPlant, + middleHardwoodTreePatchCheckHealth, middleHardwoodTreePatchClear, middleHardwoodTreePatchPlant, + westHardwoodTreePatchCheckHealth, westHardwoodTreePatchClear, westHardwoodTreePatchPlant)).withId(10); fossilIslandPanel.setLockingStep(fossilIslandStep); PanelDetails savannahPanel = new PanelDetails("Avium Savannah", Arrays.asList(savannahCheckHealth, savannahClear, savannahPlant)).withId(11); savannahPanel.setLockingStep(savannahStep); - PanelDetails nemusRetreatPanel = new PanelDetails("Nemus Retreat", Arrays.asList(nemusRetreatTreePatchCheckHealth, nemusRetreatTreePatchClear, nemusRetreatTreePatchPlant)).withId(12); - nemusRetreatPanel.setLockingStep(nemusRetreatStep); + PanelDetails auburnvalePanel = new PanelDetails("Auburnvale", Arrays.asList(auburnvaleTreePatchCheckHealth, auburnvaleTreePatchClear, auburnvaleTreePatchPlant)).withId(12); + auburnvalePanel.setLockingStep(auburnvaleStep); + + PanelDetails kastoriPanel = new PanelDetails("Kastori", Arrays.asList(kastoriFruitTreePatchCheckHealth, + kastoriFruitTreePatchClear, kastoriFruitTreePatchPlant, kastoriCalquatPatchCheckHealth, + kastoriCalquatPatchClear, kastoriCalquatPatchPlant)).withId(13); + kastoriPanel.setLockingStep(kastoriStep); + + PanelDetails anglersPanel = new PanelDetails("Anglers' Retreat", Arrays.asList(anglersCheckHealth, + anglersClear, anglersPlant)).withId(14); + anglersPanel.setLockingStep(anglersRetreatStep); + + PanelDetails greatConchPanel = new PanelDetails("Great Conch", + Arrays.asList(greatConchCalquatPatchCheckHealth, greatConchCalquatPatchClear, + greatConchCalquatPatchPlant)).withId(15); + greatConchPanel.setLockingStep(greatConchStep); TopLevelPanelDetails farmRunSidebar = new TopLevelPanelDetails("Tree Run", farmingGuildPanel, lumbridgePanel, faladorPanel, taverleyPanel, - varrockPanel, gnomeStrongholdPanel, villagePanel, catherbyPanel, brimhavenPanel, lletyaPanel, fossilIslandPanel, savannahPanel, nemusRetreatPanel); + varrockPanel, gnomeStrongholdPanel, villagePanel, catherbyPanel, brimhavenPanel, lletyaPanel, fossilIslandPanel, savannahPanel, auburnvalePanel, + kastoriPanel, anglersPanel, greatConchPanel); allSteps.add(farmRunSidebar); return allSteps; @@ -1040,6 +1257,16 @@ public class TreeRun extends ComplexStateQuestHelper updateHardwoodTreePaymentItem(selectedHardwoodTreeSapling); } + private void updateCalquatTreeSapling(CalquatTreeSapling selectedCalquatTreeSapling) + { + calquatSapling.setId(selectedCalquatTreeSapling.calquatTreeSaplingId); + calquatSapling.setName(itemManager.getItemComposition(selectedCalquatTreeSapling.getPlantableItemId()).getName()); + + allCalquatSaplings.setId(selectedCalquatTreeSapling.calquatTreeSaplingId); + allCalquatSaplings.setName(itemManager.getItemComposition(selectedCalquatTreeSapling.getPlantableItemId()).getName()); + updateCalquatPaymentItem(selectedCalquatTreeSapling); + } + private void updateTreePaymentItem(TreeSapling treeSapling) { protectionItemTree.setId(treeSapling.protectionItemId); @@ -1072,4 +1299,15 @@ public class TreeRun extends ComplexStateQuestHelper allProtectionItemHardwood.setName(itemManager.getItemComposition(treeSapling.protectionItemId).getName()); allProtectionItemHardwood.setQuantity(treeSapling.protectionItemQuantity); } + + private void updateCalquatPaymentItem(CalquatTreeSapling treeSapling) + { + protectionItemCalquat.setId(treeSapling.protectionItemId); + protectionItemCalquat.setName(itemManager.getItemComposition(treeSapling.protectionItemId).getName()); + protectionItemCalquat.setQuantity(treeSapling.protectionItemQuantity); + + allProtectionItemCalquat.setId(treeSapling.protectionItemId); + allProtectionItemCalquat.setName(itemManager.getItemComposition(treeSapling.protectionItemId).getName()); + allProtectionItemCalquat.setQuantity(treeSapling.protectionItemQuantity); + } }