RuneHive-Game
Loading...
Searching...
No Matches
Allotment.java
Go to the documentation of this file.
1package com.runehive.content.skill.impl.farming.plants;
2
3import java.util.HashMap;
4import java.util.Map;
5
6public enum Allotment implements Plant {
7 POTATO(5318, 1942, 5096, 3, 1, new int[] {6032, 2}, 40, 8, 9.5, 6, 12, InspectMessage.POTATOES),
8 ONION(5319, 1957, 5096, 3, 5, new int[] {5438, 1}, 40, 9.5, 10.5, 13, 19, InspectMessage.ONIONS),
9 CABBAGE(5324, 1965, 5097, 3, 7, new int[] {5458, 1}, 40, 10, 11.5, 20, 26, InspectMessage.CABBAGES),
10 TOMATO(5322, 1982, 5096, 3, 12, new int[] {5478, 2}, 40, 12.5, 14, 27, 33, InspectMessage.TOMATOES),
11 SWEETCORN(5320, 5986, 6059, 3, 20, new int[] {5931, 10}, 40, 17, 19, 34, 42, InspectMessage.SWEETCORNS),
12 STRAWBERRY(5323, 5504, -1, 3, 31, new int[] {5386, 1}, 40, 26, 29, 43, 49, InspectMessage.STRAWBERRIES),
13 WATERMELON(5321, 5982, 5098, 3, 47, new int[] {5970, 10}, 40, 48.5, 54.5, 52, 60, InspectMessage.WATERMELONS);
14
15 private final int seedId;
16 private final int harvestId;
17 private final int flowerProtect;
18 private final int seedAmount;
19 private final int levelRequired;
20 private final int[] paymentToWatch;
21 private final int growthTime;
22 private final double plantingXp;
23 private final double harvestXp;
24 private final int startingState;
25 private final int endingState;
26 private final InspectMessage inspect;
27
28 private static final Map<Integer, Allotment> ALLOTMENTS = new HashMap<>();
29
30 static {
31 for (Allotment data : Allotment.values()) {
32 ALLOTMENTS.put(data.seedId, data);
33 }
34 }
35
37 this.seedId = seedId;
38 this.harvestId = harvestId;
39 this.flowerProtect = flowerProtect;
40 this.seedAmount = seedAmount;
41 this.levelRequired = levelRequired;
42 this.paymentToWatch = paymentToWatch;
43 this.growthTime = growthTime;
44 this.plantingXp = plantingXp;
45 this.harvestXp = harvestXp;
46 this.startingState = startingState;
47 this.endingState = endingState;
48 this.inspect = inspect;
49 }
50
51 public static Allotment forId(int seedId) {
52 return ALLOTMENTS.get(seedId);
53 }
54
55 @Override
56 public int getSeedId() {
57 return seedId;
58 }
59
60 @Override
61 public int getHarvestId() {
62 return harvestId;
63 }
64
65 @Override
66 public int getFlowerProtect() {
67 return flowerProtect;
68 }
69
70 @Override
71 public int getSeedAmount() {
72 return seedAmount;
73 }
74
75 @Override
76 public int getLevelRequired() {
77 return levelRequired;
78 }
79
80 @Override
81 public int[] getPaymentToWatch() {
82 return paymentToWatch;
83 }
84
85 @Override
86 public int getGrowthTime() {
87 return growthTime;
88 }
89
90
91
92 @Override
93 public double getPlantingXp() {
94 return plantingXp;
95 }
96
97 @Override
98 public double getHarvestXp() {
99 return harvestXp;
100 }
101
102 @Override
103 public int getStartingState() {
104 return startingState;
105 }
106
107 @Override
108 public int getEndingState() {
109 return endingState;
110 }
111
112 @Override
113 public String getProductType() {
114 return name().toLowerCase();
115 }
116
117 @Override
118 public String[][] getInspectMessages() {
119 return inspect.getMessages();
120 }
121
122}
static final Map< Integer, Allotment > ALLOTMENTS
Allotment(int seedId, int harvestId, int flowerProtect, int seedAmount, int levelRequired, int[] paymentToWatch, int growthTime, double plantingXp, double harvestXp, int startingState, int endingState, InspectMessage inspect)
Inspection messages for all plants that grow in farming patches.