@r0cksolid/emerald-cli 0.0.0-stage → 0.1.0

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 R0ck Solid Software
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,81 @@
1
- # Temporary Holding Version
1
+ # @r0cksolid/emerald-cli
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ The `emerald` command answers how to get a Hypixel SkyBlock item from a terminal: it finds items, lists every way to get one, and plans the steps, materials and totals to make it. It reads the item snapshot that ships with `@r0cksolid/emerald-core` and needs no network access.
4
+
5
+ ## Install
6
+
7
+ ```sh
8
+ npm install --global @r0cksolid/emerald-cli
9
+ emerald --help
10
+ ```
11
+
12
+ The package installs one command, `emerald`, and depends on `@r0cksolid/emerald-core` at the same version for its snapshot.
13
+
14
+ ## Commands
15
+
16
+ ```sh
17
+ emerald search refined diamond
18
+ emerald ways REFINED_DIAMOND
19
+ emerald plan REFINED_DIAMOND --count 2
20
+ emerald config levels number
21
+ ```
22
+
23
+ - `emerald search <query>...` finds items by name or id, typos included, and prints each row's id, shown name and category. A pet, minion or enchanted book family prints one line per member, and a variant word such as `leg` in `emerald search leg bee` marks the member it names with `>`. `--limit <n>` (default 25) and `--offset <n>` (default 0) page through the rows.
24
+ - `emerald ways <item-id>` prints every way to get an item, grouped as Obtain (activities, buying, opening containers) and Make (crafting, forging, Kat, shard fusion, the Enchantment Table), each with its costs, notes and tags, such as `[upgrade]` or the event that gates it.
25
+ - `emerald plan <item-id>` prints the steps that make an item, inputs first, then the materials those steps stop at, each with its ways, then the total coins, currencies and station time. `--count <n>` (default 1) plans for that many.
26
+ - `emerald config levels [roman|number]` prints or saves how runes, enchanted books and minions write their level: `Acacia Minion XII` or `Acacia Minion 12`.
27
+
28
+ Every id the commands print can be passed straight to `emerald ways` or `emerald plan`. `emerald <command> --help` lists a command's options. Each command except `config` also takes `--snapshot <dir>`, which loads another snapshot directory instead of the packaged one, and `--levels <roman|number>`, which overrides the saved level style for one run.
29
+
30
+ `emerald plan REFINED_DIAMOND --count 2` prints:
31
+
32
+ ```text
33
+ 2 × REFINED_DIAMOND Refined Diamond
34
+
35
+ Steps
36
+ 1. 640 × ENCHANTED_DIAMOND · Crafting, 640 runs
37
+ 102,400 × DIAMOND
38
+ Requires: Diamond IV
39
+ 2. 4 × ENCHANTED_DIAMOND_BLOCK · Crafting, 4 runs
40
+ 640 × ENCHANTED_DIAMOND
41
+ Requires: Diamond VIII
42
+ 3. 2 × REFINED_DIAMOND · Forging, 2 runs
43
+ 4 × ENCHANTED_DIAMOND_BLOCK · 16h
44
+ Requires: HotM 2
45
+
46
+ Materials
47
+ 102,400 × DIAMOND
48
+ Activities › Gathering
49
+ Mining collection
50
+ Make › Crafting
51
+ 1 × DIAMOND_BLOCK · makes 9
52
+
53
+ Totals, at base values
54
+ Station time: 16h
55
+ ```
56
+
57
+ Bare `emerald` in a terminal opens an interactive mode: type an item's name and it opens as a checklist of its plan, which you tick off as you go. A mob opens a page of its drops, and an NPC a page of what it sells. Without a terminal on both stdin and stdout, bare `emerald` prints usage and exits 2.
58
+
59
+ ## Scripts and agents
60
+
61
+ The commands never prompt, and apart from colour their output does not change when a terminal is attached.
62
+
63
+ - stdout carries only the result, or the help that `--help` asks for. Usage errors and other errors go to stderr, one line per error.
64
+ - `--json` prints one JSON document, exactly the answer of the `@r0cksolid/emerald-core` query behind the command: `ItemCatalog.search`, `itemWays` or `itemPlan`.
65
+ - Text is coloured when stdout is a terminal that supports colour. `NO_COLOR` turns colour off. `FORCE_COLOR` forces it on, even when stdout is piped, and takes precedence over `NO_COLOR`. `--json` is never coloured.
66
+ - The exit code is 0 on success, 1 when the request can't be answered, such as an unknown id or an unreadable snapshot, and 2 on a usage error. A search that matches nothing prints nothing and exits 0.
67
+ - Output follows the saved level style, so pass `--levels` to pin a script's output.
68
+
69
+ ## Settings
70
+
71
+ `emerald config` saves its settings in `emerald/settings.json` under `$XDG_CONFIG_HOME` when that is an absolute path, otherwise under `%APPDATA%` on Windows, otherwise under `~/.config`. `emerald config --help` prints the path. A missing file means the defaults.
72
+
73
+ ## Requirements
74
+
75
+ Node 26 or later (`"engines": { "node": ">=26" }`).
76
+
77
+ ## Licence
78
+
79
+ The code is MIT, copyright R0ck Solid Software (`LICENSE`). The command bundles its JavaScript dependencies, whose licences are in `dist/THIRD-PARTY-NOTICES.txt`. The item data comes from `@r0cksolid/emerald-core`'s snapshot, which stays under its sources' terms; that package's README credits each source.
80
+
81
+ This package is not affiliated with or endorsed by Hypixel or Mojang. It is not an official Minecraft product.
@@ -0,0 +1,141 @@
1
+ @earendil-works/pi-tui@1.5.0 (MIT)
2
+
3
+ MIT License
4
+
5
+ Copyright (c) 2025 Mario Zechner
6
+
7
+ Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ of this software and associated documentation files (the "Software"), to deal
9
+ in the Software without restriction, including without limitation the rights
10
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ copies of the Software, and to permit persons to whom the Software is
12
+ furnished to do so, subject to the following conditions:
13
+
14
+ The above copyright notice and this permission notice shall be included in all
15
+ copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ SOFTWARE.
24
+
25
+ ------------------------------------------------------------------------
26
+
27
+ get-east-asian-width@1.6.0 (MIT)
28
+
29
+ MIT License
30
+
31
+ Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
32
+
33
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
34
+
35
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
36
+
37
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
38
+
39
+ ------------------------------------------------------------------------
40
+
41
+ marked-cjk-friendly@0.1.2 (MIT)
42
+
43
+ Copyright (c) 2024 Tatsunori Uchino, and authors and contributors of original packages
44
+
45
+ Permission is hereby granted, free of charge, to any person
46
+ obtaining a copy of this software and associated documentation
47
+ files (the "Software"), to deal in the Software without
48
+ restriction, including without limitation the rights to use,
49
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
50
+ copies of the Software, and to permit persons to whom the
51
+ Software is furnished to do so, subject to the following
52
+ conditions:
53
+
54
+ The above copyright notice and this permission notice shall be
55
+ included in all copies or substantial portions of the Software.
56
+
57
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
58
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
59
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
60
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
61
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
62
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
63
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
64
+ OTHER DEALINGS IN THE SOFTWARE.
65
+
66
+ ------------------------------------------------------------------------
67
+
68
+ marked@18.0.11 (MIT)
69
+
70
+ # License information
71
+
72
+ ## Contribution License Agreement
73
+
74
+ If you contribute code to this project, you are implicitly allowing your code
75
+ to be distributed under the MIT license. You are also implicitly verifying that
76
+ all code is your original work. `</legalese>`
77
+
78
+ ## Marked
79
+
80
+ Copyright (c) 2018+, MarkedJS (https://github.com/markedjs/)
81
+ Copyright (c) 2011-2018, Christopher Jeffrey (https://github.com/chjj/)
82
+
83
+ Permission is hereby granted, free of charge, to any person obtaining a copy
84
+ of this software and associated documentation files (the "Software"), to deal
85
+ in the Software without restriction, including without limitation the rights
86
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
87
+ copies of the Software, and to permit persons to whom the Software is
88
+ furnished to do so, subject to the following conditions:
89
+
90
+ The above copyright notice and this permission notice shall be included in
91
+ all copies or substantial portions of the Software.
92
+
93
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
94
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
95
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
96
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
97
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
98
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
99
+ THE SOFTWARE.
100
+
101
+ ## Markdown
102
+
103
+ Copyright © 2004, John Gruber
104
+ http://daringfireball.net/
105
+ All rights reserved.
106
+
107
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
108
+
109
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
110
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
111
+ * Neither the name “Markdown” nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
112
+
113
+ This software is provided by the copyright holders and contributors “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
114
+
115
+ ------------------------------------------------------------------------
116
+
117
+ typebox@1.4.3 (MIT)
118
+
119
+ TypeBox
120
+
121
+ The MIT License (MIT)
122
+
123
+ Copyright (c) 2017-2026 Haydn Paterson
124
+
125
+ Permission is hereby granted, free of charge, to any person obtaining a copy
126
+ of this software and associated documentation files (the "Software"), to deal
127
+ in the Software without restriction, including without limitation the rights
128
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
129
+ copies of the Software, and to permit persons to whom the Software is
130
+ furnished to do so, subject to the following conditions:
131
+
132
+ The above copyright notice and this permission notice shall be included in
133
+ all copies or substantial portions of the Software.
134
+
135
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
136
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
137
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
138
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
139
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
140
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
141
+ THE SOFTWARE.