farming-weight 0.2.13 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/dist/classes/farmingaccessory.d.ts +15 -0
  2. package/dist/classes/farmingaccessory.js +42 -0
  3. package/dist/classes/farmingaccessory.js.map +1 -0
  4. package/dist/classes/farmingarmor.d.ts +6 -5
  5. package/dist/classes/farmingarmor.js +38 -36
  6. package/dist/classes/farmingarmor.js.map +1 -1
  7. package/dist/classes/farmingpet.d.ts +18 -3
  8. package/dist/classes/farmingpet.js +75 -9
  9. package/dist/classes/farmingpet.js.map +1 -1
  10. package/dist/classes/farmingtool.d.ts +13 -9
  11. package/dist/classes/farmingtool.js +51 -35
  12. package/dist/classes/farmingtool.js.map +1 -1
  13. package/dist/classes/item.d.ts +1 -1
  14. package/dist/classes/item.js +1 -2
  15. package/dist/classes/lotusgear.d.ts +5 -5
  16. package/dist/classes/lotusgear.js +19 -21
  17. package/dist/classes/lotusgear.js.map +1 -1
  18. package/dist/classes/player.d.ts +33 -9
  19. package/dist/classes/player.js +140 -28
  20. package/dist/classes/player.js.map +1 -1
  21. package/dist/classes/weightcalc.d.ts +1 -1
  22. package/dist/classes/weightcalc.js +27 -31
  23. package/dist/classes/weightcalc.js.map +1 -1
  24. package/dist/constants/accessories.d.ts +14 -0
  25. package/dist/constants/accessories.js +36 -0
  26. package/dist/constants/accessories.js.map +1 -0
  27. package/dist/constants/armor.js +125 -128
  28. package/dist/constants/armor.js.map +1 -1
  29. package/dist/constants/crops.d.ts +2 -0
  30. package/dist/constants/crops.js +20 -7
  31. package/dist/constants/crops.js.map +1 -1
  32. package/dist/constants/enchants.js +67 -70
  33. package/dist/constants/enchants.js.map +1 -1
  34. package/dist/constants/lotus.js +26 -29
  35. package/dist/constants/lotus.js.map +1 -1
  36. package/dist/constants/personalbests.d.ts +1 -1
  37. package/dist/constants/personalbests.js +17 -21
  38. package/dist/constants/personalbests.js.map +1 -1
  39. package/dist/constants/pests.d.ts +2 -2
  40. package/dist/constants/pests.js +10 -15
  41. package/dist/constants/pests.js.map +1 -1
  42. package/dist/constants/pets.d.ts +21 -3
  43. package/dist/constants/pets.js +37 -23
  44. package/dist/constants/pets.js.map +1 -1
  45. package/dist/constants/reforges.js +8 -11
  46. package/dist/constants/reforges.js.map +1 -1
  47. package/dist/constants/skills.js +2 -5
  48. package/dist/constants/skills.js.map +1 -1
  49. package/dist/constants/specialcrops.js +16 -19
  50. package/dist/constants/specialcrops.js.map +1 -1
  51. package/dist/constants/specific.d.ts +3 -0
  52. package/dist/constants/specific.js +5 -5
  53. package/dist/constants/specific.js.map +1 -1
  54. package/dist/constants/tools.js +121 -124
  55. package/dist/constants/tools.js.map +1 -1
  56. package/dist/constants/weight.js +15 -18
  57. package/dist/constants/weight.js.map +1 -1
  58. package/dist/crops/melon.d.ts +1 -1
  59. package/dist/crops/melon.js +3 -7
  60. package/dist/crops/melon.js.map +1 -1
  61. package/dist/crops/pumpkin.d.ts +1 -1
  62. package/dist/crops/pumpkin.js +3 -7
  63. package/dist/crops/pumpkin.js.map +1 -1
  64. package/dist/crops/special.d.ts +1 -1
  65. package/dist/crops/special.js +6 -10
  66. package/dist/crops/special.js.map +1 -1
  67. package/dist/index.d.ts +3 -0
  68. package/dist/index.js +25 -38
  69. package/dist/index.js.map +1 -1
  70. package/dist/util/itemstats.d.ts +3 -3
  71. package/dist/util/itemstats.js +48 -53
  72. package/dist/util/itemstats.js.map +1 -1
  73. package/dist/util/jacob.d.ts +3 -3
  74. package/dist/util/jacob.js +10 -11
  75. package/dist/util/jacob.js.map +1 -1
  76. package/dist/util/lore.d.ts +1 -1
  77. package/dist/util/lore.js +1 -5
  78. package/dist/util/lore.js.map +1 -1
  79. package/dist/util/names.d.ts +5 -4
  80. package/dist/util/names.js +102 -78
  81. package/dist/util/names.js.map +1 -1
  82. package/dist/util/ratecalc.d.ts +7 -7
  83. package/dist/util/ratecalc.js +65 -75
  84. package/dist/util/ratecalc.js.map +1 -1
  85. package/dist/util/skyblocktime.d.ts +1 -0
  86. package/dist/util/skyblocktime.js +8 -5
  87. package/dist/util/skyblocktime.js.map +1 -1
  88. package/package.json +1 -1
@@ -1,57 +1,53 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GetCropInfo = exports.GetNPCProfit = exports.GetFortuneRequiredForCollection = exports.CalculateDetailedDrops = exports.CalculateExpectedDrops = exports.CalculateDetailedAverageDrops = exports.CalculateAverageDrops = void 0;
4
- const crops_1 = require("../constants/crops");
5
- const reforges_1 = require("../constants/reforges");
6
- const tools_1 = require("../constants/tools");
7
- const melon_1 = require("../crops/melon");
8
- const pumpkin_1 = require("../crops/pumpkin");
9
- const special_1 = require("../crops/special");
1
+ import { CROP_INFO, Crop, MAX_CROP_FORTUNE } from '../constants/crops';
2
+ import { REFORGES, Rarity, Stat } from '../constants/reforges';
3
+ import { BEST_FARMING_TOOLS } from '../constants/tools';
4
+ import { calculateMelonPerkBonus } from '../crops/melon';
5
+ import { calculatePumpkinPerkBonus } from '../crops/pumpkin';
6
+ import { calculateAverageSpecialCrops } from '../crops/special';
10
7
  const crops = [
11
- crops_1.Crop.Cactus,
12
- crops_1.Crop.Carrot,
13
- crops_1.Crop.CocoaBeans,
14
- crops_1.Crop.Melon,
15
- crops_1.Crop.Mushroom,
16
- crops_1.Crop.NetherWart,
17
- crops_1.Crop.Potato,
18
- crops_1.Crop.Pumpkin,
19
- crops_1.Crop.SugarCane,
20
- crops_1.Crop.Wheat,
21
- crops_1.Crop.Seeds,
8
+ Crop.Cactus,
9
+ Crop.Carrot,
10
+ Crop.CocoaBeans,
11
+ Crop.Melon,
12
+ Crop.Mushroom,
13
+ Crop.NetherWart,
14
+ Crop.Potato,
15
+ Crop.Pumpkin,
16
+ Crop.SugarCane,
17
+ Crop.Wheat,
18
+ Crop.Seeds,
22
19
  ];
23
- function CalculateAverageDrops(options) {
20
+ export function calculateAverageDrops(options) {
24
21
  const result = {};
25
22
  for (const crop of crops) {
26
- result[crop] = CalculateExpectedDrops({
23
+ result[crop] = calculateExpectedDrops({
27
24
  crop: crop,
28
25
  ...options,
29
26
  });
30
27
  }
31
28
  return result;
32
29
  }
33
- exports.CalculateAverageDrops = CalculateAverageDrops;
34
- function CalculateDetailedAverageDrops(options) {
30
+ export function calculateDetailedAverageDrops(options) {
35
31
  const result = {};
36
32
  for (const crop of crops) {
37
- result[crop] = CalculateDetailedDrops({
33
+ result[crop] = calculateDetailedDrops({
38
34
  crop: crop,
39
35
  ...options,
40
36
  });
41
37
  }
42
- const wheat = result[crops_1.Crop.Wheat];
43
- const seeds = result[crops_1.Crop.Seeds];
38
+ const wheat = result[Crop.Wheat];
39
+ const seeds = result[Crop.Seeds];
44
40
  // Combine seeds into wheat
45
41
  const seedCollection = seeds.collection - options.blocksBroken;
46
42
  wheat.otherCollection['Seeds'] = seedCollection;
47
- wheat.coinSources['Seeds'] = seedCollection * crops_1.CROP_INFO[crops_1.Crop.Seeds].npc;
43
+ wheat.coinSources['Seeds'] = seedCollection * CROP_INFO[Crop.Seeds].npc;
48
44
  if (options.bountiful) {
49
45
  wheat.coinSources['Bountiful (Seeds)'] = seeds.coinSources['Bountiful'] ?? 0;
50
46
  }
51
47
  wheat.npcCoins = Object.values(wheat.coinSources).reduce((a, b) => a + b, 0);
52
48
  // Count mooshroom mushrooms as normal mushroom collection
53
49
  if (options.mooshroom) {
54
- const mushroom = result[crops_1.Crop.Mushroom];
50
+ const mushroom = result[Crop.Mushroom];
55
51
  const mooshroom = mushroom.otherCollection['Mushroom'] ?? 0;
56
52
  mushroom.collection += mooshroom;
57
53
  mushroom.otherCollection['Mooshroom'] = mooshroom;
@@ -59,38 +55,36 @@ function CalculateDetailedAverageDrops(options) {
59
55
  }
60
56
  return result;
61
57
  }
62
- exports.CalculateDetailedAverageDrops = CalculateDetailedAverageDrops;
63
- function CalculateExpectedDrops(options) {
58
+ export function calculateExpectedDrops(options) {
64
59
  const { farmingFortune, blocksBroken, crop } = options;
65
- const fortune = farmingFortune ?? crops_1.MAX_CROP_FORTUNE[crop] ?? 0;
60
+ const fortune = farmingFortune ?? MAX_CROP_FORTUNE[crop] ?? 0;
66
61
  if (fortune <= 0 || blocksBroken < 0)
67
62
  return 0;
68
- const { drops } = GetCropInfo(crop);
63
+ const { drops } = getCropInfo(crop);
69
64
  if (!drops)
70
65
  return 0;
71
66
  const baseDrops = blocksBroken * drops * ((fortune + 100) * 0.01);
72
67
  switch (crop) {
73
- case crops_1.Crop.Cactus:
74
- case crops_1.Crop.Wheat:
75
- case crops_1.Crop.Mushroom:
76
- case crops_1.Crop.SugarCane:
68
+ case Crop.Cactus:
69
+ case Crop.Wheat:
70
+ case Crop.Mushroom:
71
+ case Crop.SugarCane:
77
72
  return Math.round(baseDrops);
78
- case crops_1.Crop.Carrot:
79
- case crops_1.Crop.CocoaBeans:
80
- case crops_1.Crop.NetherWart:
81
- case crops_1.Crop.Potato:
82
- case crops_1.Crop.Seeds:
73
+ case Crop.Carrot:
74
+ case Crop.CocoaBeans:
75
+ case Crop.NetherWart:
76
+ case Crop.Potato:
77
+ case Crop.Seeds:
83
78
  return Math.round(baseDrops - blocksBroken); // Replenish takes away one drop per block broken
84
- case crops_1.Crop.Pumpkin:
85
- return Math.round(baseDrops + (0, pumpkin_1.CalculatePumpkinPerkBonus)(blocksBroken));
86
- case crops_1.Crop.Melon:
87
- return Math.round(baseDrops + (0, melon_1.CalculateMelonPerkBonus)(blocksBroken));
79
+ case Crop.Pumpkin:
80
+ return Math.round(baseDrops + calculatePumpkinPerkBonus(blocksBroken));
81
+ case Crop.Melon:
82
+ return Math.round(baseDrops + calculateMelonPerkBonus(blocksBroken));
88
83
  default:
89
84
  return 0;
90
85
  }
91
86
  }
92
- exports.CalculateExpectedDrops = CalculateExpectedDrops;
93
- function CalculateDetailedDrops(options) {
87
+ export function calculateDetailedDrops(options) {
94
88
  const result = {
95
89
  collection: 0,
96
90
  npcCoins: 0,
@@ -99,18 +93,18 @@ function CalculateDetailedDrops(options) {
99
93
  otherCollection: {},
100
94
  };
101
95
  const { farmingFortune, blocksBroken, crop, bountiful } = options;
102
- let fortune = farmingFortune ?? crops_1.MAX_CROP_FORTUNE[crop] ?? 0;
96
+ let fortune = farmingFortune ?? MAX_CROP_FORTUNE[crop] ?? 0;
103
97
  if (fortune <= 0 || blocksBroken < 0)
104
98
  return result;
105
99
  if (!bountiful && !farmingFortune) {
106
100
  // Add the difference in farming fortune if the user has blessed instead of bountiful
107
- const maxRarity = tools_1.BEST_FARMING_TOOLS[crop]?.maxRarity ?? reforges_1.Rarity.Mythic;
108
- const bountifulFortune = reforges_1.REFORGES.bountiful?.tiers[maxRarity]?.stats?.[reforges_1.Stat.FarmingFortune] ?? 0;
109
- const blessedFortune = reforges_1.REFORGES.blessed?.tiers[maxRarity]?.stats?.[reforges_1.Stat.FarmingFortune] ?? 0;
101
+ const maxRarity = BEST_FARMING_TOOLS[crop]?.maxRarity ?? Rarity.Mythic;
102
+ const bountifulFortune = REFORGES.bountiful?.tiers[maxRarity]?.stats?.[Stat.FarmingFortune] ?? 0;
103
+ const blessedFortune = REFORGES.blessed?.tiers[maxRarity]?.stats?.[Stat.FarmingFortune] ?? 0;
110
104
  fortune += blessedFortune - bountifulFortune;
111
105
  }
112
106
  result.fortune = fortune;
113
- const { drops, npc, breaks = 1, replenish = false } = GetCropInfo(crop);
107
+ const { drops, npc, breaks = 1, replenish = false } = getCropInfo(crop);
114
108
  if (!drops)
115
109
  return result;
116
110
  const baseDrops = blocksBroken * drops * ((fortune + 100) * 0.01);
@@ -121,24 +115,24 @@ function CalculateDetailedDrops(options) {
121
115
  }
122
116
  if (options.mooshroom) {
123
117
  const mushroomDrops = Math.round(blocksBroken * breaks);
124
- result.coinSources['Mooshroom'] = mushroomDrops * crops_1.CROP_INFO[crops_1.Crop.Mushroom].npc;
118
+ result.coinSources['Mooshroom'] = mushroomDrops * CROP_INFO[Crop.Mushroom].npc;
125
119
  result.otherCollection['Mushroom'] = mushroomDrops;
126
120
  }
127
- const armorPieces = crop === crops_1.Crop.Cactus ? 3 : 4;
128
- const specialCrops = (0, special_1.CalculateAverageSpecialCrops)(blocksBroken, crop, armorPieces);
121
+ const armorPieces = crop === Crop.Cactus ? 3 : 4;
122
+ const specialCrops = calculateAverageSpecialCrops(blocksBroken, crop, armorPieces);
129
123
  result.otherCollection[specialCrops.type] = Math.round(specialCrops.amount);
130
124
  result.coinSources[specialCrops.type] = Math.round(specialCrops.npc);
131
125
  let extraDrops = 0;
132
126
  switch (crop) {
133
- case crops_1.Crop.Pumpkin:
134
- extraDrops = Math.round((0, pumpkin_1.CalculatePumpkinPerkBonus)(blocksBroken));
127
+ case Crop.Pumpkin:
128
+ extraDrops = Math.round(calculatePumpkinPerkBonus(blocksBroken));
135
129
  result.coinSources['Dicer RNG'] = Math.round(extraDrops * npc);
136
130
  result.coinSources['Collection'] = Math.round(baseDrops * npc);
137
131
  result.otherCollection['RNG Pumpkin'] = Math.round(extraDrops);
138
132
  result.collection = Math.round(baseDrops + extraDrops);
139
133
  break;
140
- case crops_1.Crop.Melon:
141
- extraDrops = Math.round((0, melon_1.CalculateMelonPerkBonus)(blocksBroken));
134
+ case Crop.Melon:
135
+ extraDrops = Math.round(calculateMelonPerkBonus(blocksBroken));
142
136
  result.coinSources['Dicer RNG'] = Math.round(extraDrops * npc);
143
137
  result.coinSources['Collection'] = Math.round(baseDrops * npc);
144
138
  result.otherCollection['RNG Melon'] = Math.round(extraDrops);
@@ -159,36 +153,32 @@ function CalculateDetailedDrops(options) {
159
153
  result.npcCoins = Object.values(result.coinSources).reduce((a, b) => a + b, 0);
160
154
  return result;
161
155
  }
162
- exports.CalculateDetailedDrops = CalculateDetailedDrops;
163
- function GetFortuneRequiredForCollection(options) {
156
+ export function getFortuneRequiredForCollection(options) {
164
157
  const { blocksBroken, crop, useDicers, useMooshroom } = options;
165
158
  let { collection } = options;
166
- const { drops } = GetCropInfo(options.crop);
159
+ const { drops } = getCropInfo(options.crop);
167
160
  if (useDicers)
168
161
  switch (crop) {
169
- case crops_1.Crop.Pumpkin:
170
- collection -= (0, pumpkin_1.CalculatePumpkinPerkBonus)(blocksBroken);
162
+ case Crop.Pumpkin:
163
+ collection -= calculatePumpkinPerkBonus(blocksBroken);
171
164
  break;
172
- case crops_1.Crop.Melon:
173
- collection -= (0, melon_1.CalculateMelonPerkBonus)(blocksBroken);
165
+ case Crop.Melon:
166
+ collection -= calculateMelonPerkBonus(blocksBroken);
174
167
  break;
175
168
  }
176
- if (useMooshroom && crop === crops_1.Crop.Mushroom) {
169
+ if (useMooshroom && crop === Crop.Mushroom) {
177
170
  collection -= blocksBroken; // "* breaks" not needed because it's always 1 for mushroom
178
171
  }
179
172
  const fortune = (collection * 100) / (drops * blocksBroken) - 100;
180
173
  return Math.ceil(fortune);
181
174
  }
182
- exports.GetFortuneRequiredForCollection = GetFortuneRequiredForCollection;
183
- function GetNPCProfit(crop, amount) {
184
- const { npc } = GetCropInfo(crop);
175
+ export function getNPCProfitFromCrops(crop, amount) {
176
+ const { npc } = getCropInfo(crop);
185
177
  if (!npc)
186
178
  return 0;
187
179
  return npc * amount;
188
180
  }
189
- exports.GetNPCProfit = GetNPCProfit;
190
- function GetCropInfo(crop) {
191
- return crops_1.CROP_INFO[crop] ?? {};
181
+ export function getCropInfo(crop) {
182
+ return CROP_INFO[crop] ?? {};
192
183
  }
193
- exports.GetCropInfo = GetCropInfo;
194
184
  //# sourceMappingURL=ratecalc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ratecalc.js","sourceRoot":"","sources":["../../src/util/ratecalc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ratecalc.js","sourceRoot":"","sources":["../../src/util/ratecalc.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export declare class SkyBlockTime {
9
9
  constructor(unixMs: number);
10
10
  static from(sbYear: number, sbMonth?: number, sbDay?: number): SkyBlockTime;
11
11
  static fromZeroIndexed(sbYear: number, sbMonth?: number, sbDay?: number): SkyBlockTime;
12
+ static fromContestKey(contestKey: string): SkyBlockTime;
12
13
  get monthName(): "Early Spring" | "Spring" | "Late Spring" | "Early Summer" | "Summer" | "Late Summer" | "Early Autumn" | "Autumn" | "Late Autumn" | "Early Winter" | "Winter" | "Late Winter" | undefined;
13
14
  isSpring(): boolean;
14
15
  isSummer(): boolean;
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SkyBlockTime = void 0;
4
- class SkyBlockTime {
1
+ export class SkyBlockTime {
5
2
  static SkyBlockEpochSeconds = 1560275700;
6
3
  static MonthNames = [
7
4
  'Early Spring',
@@ -36,6 +33,13 @@ class SkyBlockTime {
36
33
  const elapsedSeconds = elapsedDays * 1200;
37
34
  return new SkyBlockTime((elapsedSeconds + SkyBlockTime.SkyBlockEpochSeconds) * 1000);
38
35
  }
36
+ static fromContestKey(contestKey) {
37
+ // Contest keys are in this format: '160:6_30:CROP_ID'
38
+ // Year counts from zero, month and day start at 1 (for some reason)
39
+ const [year, monthDay] = contestKey.split(':') ?? [];
40
+ const [month, day] = monthDay?.split('_').map(Number) ?? [];
41
+ return this.fromZeroIndexed(+(year ?? 0), (month ?? 0) - 1, (day ?? 0) - 1);
42
+ }
39
43
  get monthName() {
40
44
  return SkyBlockTime.MonthNames[this.month - 1];
41
45
  }
@@ -55,7 +59,6 @@ class SkyBlockTime {
55
59
  return `${this.monthName} ${appendOrdinalSuffix(this.day)}, Year ${this.year}`;
56
60
  }
57
61
  }
58
- exports.SkyBlockTime = SkyBlockTime;
59
62
  function appendOrdinalSuffix(number) {
60
63
  const j = number % 10;
61
64
  const k = number % 100;
@@ -1 +1 @@
1
- {"version":3,"file":"skyblocktime.js","sourceRoot":"","sources":["../../src/util/skyblocktime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skyblocktime.js","sourceRoot":"","sources":["../../src/util/skyblocktime.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "farming-weight",
3
- "version": "0.2.13",
3
+ "version": "0.3.1",
4
4
  "description": "Tools for calculating farming weight and fortune in Hypixel Skyblock",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",