@rian8337/osu-difficulty-calculator 1.0.0 → 1.0.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.
package/README.md CHANGED
@@ -1,11 +1,106 @@
1
- # `osu-difficulty-calculator`
1
+ # About
2
2
 
3
- > TODO: description
3
+ The difficulty and performance calculator portion of my osu! module that uses the current difficulty and performance algorithm.
4
4
 
5
- ## Usage
5
+ # Features
6
6
 
7
+ This module provides an osu! difficulty and performance calculator that uses the current difficulty and performance algorithm for osu!standard gamemode.
8
+
9
+ An error margin should be expected from difficulty and performance calculator due to differences between C# and TypeScript.
10
+
11
+ # Specific Requirements
12
+
13
+ This module has no specific requirements, however installed modules in installation may have specific requirements. It's advised to check them.
14
+
15
+ # Installation
16
+
17
+ ```
18
+ npm i @rian8337/osu-base @rian8337/osu-difficulty-calculator
19
+ ```
20
+
21
+ or
22
+
23
+ ```
24
+ yarn add @rian8337/osu-base @rian8337/osu-difficulty-calculator
7
25
  ```
8
- const osuDifficultyCalculator = require('osu-difficulty-calculator');
9
26
 
10
- // TODO: DEMONSTRATE API
27
+ # Usage
28
+
29
+ ## General usage
30
+
31
+ ```js
32
+ import { MapInfo } from "@rian8337/osu-base";
33
+ import {
34
+ DroidStarRating,
35
+ MapStars,
36
+ OsuStarRating,
37
+ } from "@rian8337/osu-difficulty-calculator";
38
+
39
+ const beatmapInfo = await MapInfo.getInformation({ beatmapID: 901854 });
40
+
41
+ if (!beatmapInfo.title) {
42
+ return console.log("Beatmap not found");
43
+ }
44
+
45
+ // Calculate osu!droid difficulty
46
+ const droidRating = new DroidStarRating().calculate({
47
+ map: beatmapInfo.map,
48
+ });
49
+
50
+ console.log(droidRating);
51
+
52
+ // Calculate osu!standard difficulty
53
+ const osuRating = new OsuStarRating().calculate({
54
+ map: beatmapInfo.map,
55
+ });
56
+
57
+ console.log(osuRating);
58
+
59
+ // Calculate both osu!droid and osu!standard difficulty
60
+ const rating = new MapStars().calculate({
61
+ map: beatmapInfo.map,
62
+ });
63
+
64
+ // osu!droid difficulty
65
+ console.log(rating.droidStars);
66
+ // osu!standard difficulty
67
+ console.log(rating.pcStars);
68
+ ```
69
+
70
+ ## Specifying parameters
71
+
72
+ Parameters can be applied to alter the result of the calculation:
73
+
74
+ - Mods: Modifications that will be considered when calculating the difficulty of a beatmap. Defaults to none.
75
+ - Custom statistics: Used to apply a custom speed multiplier and force AR. Defaults to none.
76
+
77
+ ```js
78
+ import { MapInfo, MapStats, ModUtil } from "@rian8337/osu-base";
79
+ import { MapStars } from "@rian8337/osu-difficulty-calculator";
80
+
81
+ const beatmapInfo = await MapInfo.getInformation({ beatmapID: 901854 });
82
+
83
+ if (!beatmapInfo.title) {
84
+ return console.log("Beatmap not found");
85
+ }
86
+
87
+ const mods = ModUtil.pcStringToMods("HDHR");
88
+
89
+ const stats = new MapStats({
90
+ ar: 9,
91
+ isForceAR: true,
92
+ speedMultiplier: 1.5,
93
+ });
94
+
95
+ // Also available for `DroidStarRating` and `OsuStarRating`
96
+ const rating = new MapStars().calculate({
97
+ map: beatmapInfo.map,
98
+ mods: mods,
99
+ stats: stats,
100
+ });
101
+
102
+ // osu!droid difficulty
103
+ console.log(rating.droidStars);
104
+ // osu!standard difficulty
105
+ console.log(rating.pcStars);
11
106
  ```
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@rian8337/osu-difficulty-calculator",
3
- "version": "1.0.0",
4
- "description": "A module for calculating osu!standard beatmap difficulty with respect to the current difficulty and performance algorithm.",
3
+ "version": "1.0.1",
4
+ "description": "A module for calculating osu!standard beatmap difficulty and performance value with respect to the current difficulty and performance algorithm.",
5
5
  "keywords": [
6
6
  "osu",
7
7
  "osu-difficulty-calculator"
@@ -28,10 +28,10 @@
28
28
  "url": "https://github.com/Rian8337/osu-droid-module/issues"
29
29
  },
30
30
  "dependencies": {
31
- "@rian8337/osu-base": "^1.0.0"
31
+ "@rian8337/osu-base": "^1.0.1"
32
32
  },
33
33
  "publishConfig": {
34
34
  "access": "public"
35
35
  },
36
- "gitHead": "e4fdb9c1ed6f90e70651c1aedfdb964b61cb240d"
36
+ "gitHead": "8406e60764d46fc30483b95f56a097f2c0245417"
37
37
  }
@@ -945,16 +945,6 @@ declare module "@rian8337/osu-difficulty-calculator" {
945
945
  * Calculates every star rating of the beatmap and stores it in this instance.
946
946
  */
947
947
  abstract calculateAll(): void;
948
- /**
949
- * Generates the strain chart of this beatmap and returns the chart as a buffer.
950
- *
951
- * @param beatmapsetID The beatmapset ID to get background image from. If omitted, the background will be plain white.
952
- * @param color The color of the graph.
953
- */
954
- getStrainChart(
955
- beatmapsetID?: number,
956
- color?: string
957
- ): Promise<Buffer | null>;
958
948
  /**
959
949
  * Returns a string representative of the class.
960
950
  */