@breezil/hypixel-parsers 1.0.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 +21 -0
- package/README.md +235 -0
- package/dist/arcade.d.ts +560 -0
- package/dist/arcade.d.ts.map +1 -0
- package/dist/arcade.js +619 -0
- package/dist/arcade.js.map +1 -0
- package/dist/arenabrawl.d.ts +56 -0
- package/dist/arenabrawl.d.ts.map +1 -0
- package/dist/arenabrawl.js +107 -0
- package/dist/arenabrawl.js.map +1 -0
- package/dist/bedwars.d.ts +747 -0
- package/dist/bedwars.d.ts.map +1 -0
- package/dist/bedwars.js +844 -0
- package/dist/bedwars.js.map +1 -0
- package/dist/blitz.d.ts +105 -0
- package/dist/blitz.d.ts.map +1 -0
- package/dist/blitz.js +259 -0
- package/dist/blitz.js.map +1 -0
- package/dist/buildbattle.d.ts +54 -0
- package/dist/buildbattle.d.ts.map +1 -0
- package/dist/buildbattle.js +92 -0
- package/dist/buildbattle.js.map +1 -0
- package/dist/common.d.ts +11 -0
- package/dist/common.d.ts.map +1 -0
- package/dist/common.js +34 -0
- package/dist/common.js.map +1 -0
- package/dist/copsandcrims.d.ts +201 -0
- package/dist/copsandcrims.d.ts.map +1 -0
- package/dist/copsandcrims.js +269 -0
- package/dist/copsandcrims.js.map +1 -0
- package/dist/duels.d.ts +358 -0
- package/dist/duels.d.ts.map +1 -0
- package/dist/duels.js +570 -0
- package/dist/duels.js.map +1 -0
- package/dist/guild.d.ts +49 -0
- package/dist/guild.d.ts.map +1 -0
- package/dist/guild.js +95 -0
- package/dist/guild.js.map +1 -0
- package/dist/housing.d.ts +16 -0
- package/dist/housing.d.ts.map +1 -0
- package/dist/housing.js +34 -0
- package/dist/housing.js.map +1 -0
- package/dist/index.d.ts +50 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +66 -0
- package/dist/index.js.map +1 -0
- package/dist/megawalls.d.ts +363 -0
- package/dist/megawalls.d.ts.map +1 -0
- package/dist/megawalls.js +684 -0
- package/dist/megawalls.js.map +1 -0
- package/dist/murdermystery.d.ts +293 -0
- package/dist/murdermystery.d.ts.map +1 -0
- package/dist/murdermystery.js +349 -0
- package/dist/murdermystery.js.map +1 -0
- package/dist/nbt.d.ts +37 -0
- package/dist/nbt.d.ts.map +1 -0
- package/dist/nbt.js +133 -0
- package/dist/nbt.js.map +1 -0
- package/dist/paintball.d.ts +52 -0
- package/dist/paintball.d.ts.map +1 -0
- package/dist/paintball.js +79 -0
- package/dist/paintball.js.map +1 -0
- package/dist/pit.d.ts +181 -0
- package/dist/pit.d.ts.map +1 -0
- package/dist/pit.js +262 -0
- package/dist/pit.js.map +1 -0
- package/dist/player.d.ts +338 -0
- package/dist/player.d.ts.map +1 -0
- package/dist/player.js +521 -0
- package/dist/player.js.map +1 -0
- package/dist/quakecraft.d.ts +75 -0
- package/dist/quakecraft.d.ts.map +1 -0
- package/dist/quakecraft.js +99 -0
- package/dist/quakecraft.js.map +1 -0
- package/dist/recentgames.d.ts +10 -0
- package/dist/recentgames.d.ts.map +1 -0
- package/dist/recentgames.js +27 -0
- package/dist/recentgames.js.map +1 -0
- package/dist/resources-achievements.d.ts +29 -0
- package/dist/resources-achievements.d.ts.map +1 -0
- package/dist/resources-achievements.js +67 -0
- package/dist/resources-achievements.js.map +1 -0
- package/dist/resources-challenges.d.ts +12 -0
- package/dist/resources-challenges.d.ts.map +1 -0
- package/dist/resources-challenges.js +36 -0
- package/dist/resources-challenges.js.map +1 -0
- package/dist/resources-games.d.ts +10 -0
- package/dist/resources-games.d.ts.map +1 -0
- package/dist/resources-games.js +28 -0
- package/dist/resources-games.js.map +1 -0
- package/dist/resources-guild-achievements.d.ts +23 -0
- package/dist/resources-guild-achievements.d.ts.map +1 -0
- package/dist/resources-guild-achievements.js +56 -0
- package/dist/resources-guild-achievements.js.map +1 -0
- package/dist/resources-quests.d.ts +23 -0
- package/dist/resources-quests.d.ts.map +1 -0
- package/dist/resources-quests.js +53 -0
- package/dist/resources-quests.js.map +1 -0
- package/dist/resources-vanity.d.ts +19 -0
- package/dist/resources-vanity.d.ts.map +1 -0
- package/dist/resources-vanity.js +33 -0
- package/dist/resources-vanity.js.map +1 -0
- package/dist/skyblock-auctions.d.ts +50 -0
- package/dist/skyblock-auctions.d.ts.map +1 -0
- package/dist/skyblock-auctions.js +90 -0
- package/dist/skyblock-auctions.js.map +1 -0
- package/dist/skyblock-bazaar.d.ts +25 -0
- package/dist/skyblock-bazaar.d.ts.map +1 -0
- package/dist/skyblock-bazaar.js +54 -0
- package/dist/skyblock-bazaar.js.map +1 -0
- package/dist/skyblock-bingo.d.ts +8 -0
- package/dist/skyblock-bingo.d.ts.map +1 -0
- package/dist/skyblock-bingo.js +19 -0
- package/dist/skyblock-bingo.js.map +1 -0
- package/dist/skyblock-items.d.ts +150 -0
- package/dist/skyblock-items.d.ts.map +1 -0
- package/dist/skyblock-items.js +247 -0
- package/dist/skyblock-items.js.map +1 -0
- package/dist/skyblock-misc.d.ts +91 -0
- package/dist/skyblock-misc.d.ts.map +1 -0
- package/dist/skyblock-misc.js +159 -0
- package/dist/skyblock-misc.js.map +1 -0
- package/dist/skyblock-museum.d.ts +24 -0
- package/dist/skyblock-museum.d.ts.map +1 -0
- package/dist/skyblock-museum.js +51 -0
- package/dist/skyblock-museum.js.map +1 -0
- package/dist/skyblock-news.d.ts +12 -0
- package/dist/skyblock-news.d.ts.map +1 -0
- package/dist/skyblock-news.js +25 -0
- package/dist/skyblock-news.js.map +1 -0
- package/dist/skyblock-resources.d.ts +94 -0
- package/dist/skyblock-resources.d.ts.map +1 -0
- package/dist/skyblock-resources.js +175 -0
- package/dist/skyblock-resources.js.map +1 -0
- package/dist/skyblock.d.ts +972 -0
- package/dist/skyblock.d.ts.map +1 -0
- package/dist/skyblock.js +1371 -0
- package/dist/skyblock.js.map +1 -0
- package/dist/skywars.d.ts +319 -0
- package/dist/skywars.d.ts.map +1 -0
- package/dist/skywars.js +611 -0
- package/dist/skywars.js.map +1 -0
- package/dist/smashheroes.d.ts +126 -0
- package/dist/smashheroes.d.ts.map +1 -0
- package/dist/smashheroes.js +206 -0
- package/dist/smashheroes.js.map +1 -0
- package/dist/static.d.ts +42 -0
- package/dist/static.d.ts.map +1 -0
- package/dist/static.js +106 -0
- package/dist/static.js.map +1 -0
- package/dist/status.d.ts +9 -0
- package/dist/status.d.ts.map +1 -0
- package/dist/status.js +18 -0
- package/dist/status.js.map +1 -0
- package/dist/tntgames.d.ts +189 -0
- package/dist/tntgames.d.ts.map +1 -0
- package/dist/tntgames.js +283 -0
- package/dist/tntgames.js.map +1 -0
- package/dist/turbokartracers.d.ts +85 -0
- package/dist/turbokartracers.d.ts.map +1 -0
- package/dist/turbokartracers.js +165 -0
- package/dist/turbokartracers.js.map +1 -0
- package/dist/uhc.d.ts +55 -0
- package/dist/uhc.d.ts.map +1 -0
- package/dist/uhc.js +94 -0
- package/dist/uhc.js.map +1 -0
- package/dist/vampirez.d.ts +75 -0
- package/dist/vampirez.d.ts.map +1 -0
- package/dist/vampirez.js +104 -0
- package/dist/vampirez.js.map +1 -0
- package/dist/walls.d.ts +96 -0
- package/dist/walls.d.ts.map +1 -0
- package/dist/walls.js +122 -0
- package/dist/walls.js.map +1 -0
- package/dist/warlords.d.ts +229 -0
- package/dist/warlords.d.ts.map +1 -0
- package/dist/warlords.js +309 -0
- package/dist/warlords.js.map +1 -0
- package/package.json +55 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Breezil
|
|
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
ADDED
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
<img src="docs/logo.png" alt="Breezil-Hypixel-Parsers logo" width="120" />
|
|
4
|
+
|
|
5
|
+
# Breezil-Hypixel-Parsers
|
|
6
|
+
|
|
7
|
+
**Pure, fully-typed parsers that turn raw Hypixel API JSON into rich, readonly objects.**
|
|
8
|
+
|
|
9
|
+
[](https://www.npmjs.com/package/@breezil/hypixel-parsers)
|
|
10
|
+
[](https://breezil.github.io/Breezil-Hypixel-Parsers/)
|
|
11
|
+
[](LICENSE)
|
|
12
|
+
[](https://discord.gg/7SxbNMYQNa)
|
|
13
|
+
|
|
14
|
+
[Documentation](https://breezil.github.io/Breezil-Hypixel-Parsers/)
|
|
15
|
+
|
|
|
16
|
+
[Report a bug](https://github.com/Breezil/Breezil-Hypixel-Parsers/issues/new?template=bug_report.yml)
|
|
17
|
+
|
|
|
18
|
+
[Request a feature](https://github.com/Breezil/Breezil-Hypixel-Parsers/issues/new?template=feature_request.yml)
|
|
19
|
+
|
|
|
20
|
+
[Join the Discord](https://discord.gg/7SxbNMYQNa)
|
|
21
|
+
|
|
22
|
+
</div>
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Table of Contents
|
|
27
|
+
|
|
28
|
+
1. [About](#about)
|
|
29
|
+
2. [Features](#features)
|
|
30
|
+
3. [Tech Stack](#tech-stack)
|
|
31
|
+
4. [Getting Started](#getting-started)
|
|
32
|
+
- [Prerequisites](#prerequisites)
|
|
33
|
+
- [Installation](#installation)
|
|
34
|
+
5. [Quick Start](#quick-start)
|
|
35
|
+
6. [Documentation](#documentation)
|
|
36
|
+
7. [API Reference](#api-reference)
|
|
37
|
+
8. [Project Structure](#project-structure)
|
|
38
|
+
9. [Releases and Deployment](#releases-and-deployment)
|
|
39
|
+
10. [Roadmap](#roadmap)
|
|
40
|
+
11. [Contributing](#contributing)
|
|
41
|
+
12. [Code of Conduct](#code-of-conduct)
|
|
42
|
+
13. [License](#license)
|
|
43
|
+
14. [Support & Community](#support--community)
|
|
44
|
+
15. [Acknowledgements](#acknowledgements)
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## About
|
|
49
|
+
|
|
50
|
+
Breezil-Hypixel-Parsers is a fully open-source TypeScript **library** that turns raw Hypixel API JSON into rich, readonly, fully-typed objects. It gives you one focused parser per domain (player, guild, status, the whole SkyBlock tree, and around twenty game modes) instead of hand-mapping deeply nested response shapes yourself.
|
|
51
|
+
|
|
52
|
+
The parsers are pure: no network calls, no config, no side effects. You hand them the raw JSON, you get a clean typed object back. That makes them easy to test, easy to reason about, and safe to drop anywhere. They power [`@breezil/hypixel-api`](https://github.com/Breezil), but they work standalone on any Hypixel JSON you already have.
|
|
53
|
+
|
|
54
|
+
> Part of [**Breezil**](https://github.com/Breezil), an open-source org building clean,
|
|
55
|
+
> well-documented projects, tools, and bots. No closed blobs, no sketchy builds. Every line
|
|
56
|
+
> is here to read.
|
|
57
|
+
|
|
58
|
+
> **Using a third-party API or platform?** Breezil-Hypixel-Parsers follows the terms of service of
|
|
59
|
+
> anything it integrates with. We do not ship anything designed to abuse a platform or get
|
|
60
|
+
> accounts banned.
|
|
61
|
+
|
|
62
|
+
## Features
|
|
63
|
+
|
|
64
|
+
- 🧩 One focused parser per Hypixel endpoint: player, guild, status, recent games, the full SkyBlock tree, resources, static endpoints, and housing
|
|
65
|
+
- 🎮 Twenty game modes covered in full depth: BedWars, SkyWars, Duels, Arcade, Build Battle, Murder Mystery, TNT Games, The Pit, Mega Walls, Blitz, UHC, and more
|
|
66
|
+
- 🔒 Strict-raw: mirrors the raw API field-for-field with zero computation (no ratios, no levels-from-xp, no derived totals); computed values belong in a wrapper on top
|
|
67
|
+
- 🗜️ Decoded NBT: base64 plus gzipped item NBT is decoded and typed, not left as an opaque blob
|
|
68
|
+
- 📦 Pure and readonly, shipped as a published TypeScript library with full type declarations
|
|
69
|
+
|
|
70
|
+
## Tech Stack
|
|
71
|
+
|
|
72
|
+
| Layer | Choice |
|
|
73
|
+
| ----------- | ---------------------------------------- |
|
|
74
|
+
| Language | TypeScript |
|
|
75
|
+
| Build | `tsc -b` (TypeScript project references) |
|
|
76
|
+
| Package mgr | npm |
|
|
77
|
+
|
|
78
|
+
## Getting Started
|
|
79
|
+
|
|
80
|
+
### Prerequisites
|
|
81
|
+
|
|
82
|
+
Make sure you have these installed before you start.
|
|
83
|
+
|
|
84
|
+
| Requirement | Version | Notes |
|
|
85
|
+
| ----------- | ------- | -------------------------------- |
|
|
86
|
+
| Node.js | `>=20` | [nodejs.org](https://nodejs.org) |
|
|
87
|
+
| npm | `>=10` | Ships with Node.js |
|
|
88
|
+
|
|
89
|
+
This library does not talk to the network and needs no API keys. You bring the raw Hypixel JSON.
|
|
90
|
+
|
|
91
|
+
### Installation
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
# Clone the repo
|
|
95
|
+
git clone https://github.com/Breezil/Breezil-Hypixel-Parsers.git
|
|
96
|
+
cd Breezil-Hypixel-Parsers
|
|
97
|
+
|
|
98
|
+
# Install dependencies and build
|
|
99
|
+
npm install
|
|
100
|
+
npm run build
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Prefer it as a dependency in your own project?
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
npm install @breezil/hypixel-parsers
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Quick Start
|
|
110
|
+
|
|
111
|
+
```ts
|
|
112
|
+
import { parsePlayer, parseBedWars } from "@breezil/hypixel-parsers";
|
|
113
|
+
|
|
114
|
+
// `raw` is the `player` object from a Hypixel /player response.
|
|
115
|
+
const player = parsePlayer(raw);
|
|
116
|
+
|
|
117
|
+
console.log(player.nickname); // "Technoblade"
|
|
118
|
+
console.log(player.networkExp); // raw network XP, not a computed level
|
|
119
|
+
console.log(player.karma); // raw karma
|
|
120
|
+
console.log(player.stats.bedwars?.solo.wins); // raw counters, null if never played
|
|
121
|
+
|
|
122
|
+
// Every parser is standalone. Hand it just the block you care about:
|
|
123
|
+
const bedwars = parseBedWars(rawBedwarsBlock, starLevel);
|
|
124
|
+
console.log(bedwars.solo.wins, bedwars.solo.kills); // raw, no ratios
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Each parser returns a readonly, fully-typed object. Game-mode parsers return `null` when the player has never touched that mode.
|
|
128
|
+
|
|
129
|
+
## Documentation
|
|
130
|
+
|
|
131
|
+
The full reference lives at **[the documentation site](https://breezil.github.io/Breezil-Hypixel-Parsers/)**: every export, its type, every field, and the endpoint-to-parser map, organized by domain. The section below is the overview; the docs leave nothing out.
|
|
132
|
+
|
|
133
|
+
## API Reference
|
|
134
|
+
|
|
135
|
+
Every export is a pure function: raw Hypixel JSON in, a readonly fully-typed object out. There is no client, no config, and no state. The library is strict-raw: it mirrors the API field-for-field and does zero computation (no ratios, no levels-from-xp, no derived totals); computed values belong in a wrapper built on top.
|
|
136
|
+
|
|
137
|
+
There is a parser for every endpoint the Hypixel API exposes:
|
|
138
|
+
|
|
139
|
+
- **Core:** `parsePlayer` (aggregates all game modes), `parseGuild`, `parseStatus`, `parseRecentGames`
|
|
140
|
+
- **Game modes (20):** `parseBedWars`, `parseSkyWars`, `parseDuels`, `parseArcade`, `parseBuildBattle`, `parseMurderMystery`, `parseTNTGames`, `parsePit`, `parseMegaWalls`, `parseBlitz`, `parseUHC`, `parseSmashHeroes`, `parseCopsAndCrims`, `parsePaintball`, `parseQuakecraft`, `parseVampireZ`, `parseWalls`, `parseWarlords`, `parseTurboKartRacers`, `parseArenaBrawl`
|
|
141
|
+
- **SkyBlock:** `parseSkyBlockProfile`, `parseSkyBlockProfiles`, `parseBazaar`, `parseAuction`, `parseAuctionList`, `parseAuctionsPage`, `parseMuseum`, `parseGarden`, `parseSkyBlockNews`, `parseFireSales`, `parsePlayerBingo`, `parseSkyBlockItems`, `parseSkyBlockSkills`, `parseSkyBlockCollections`, `parseSkyBlockElection`, `parseSkyBlockBingo`
|
|
142
|
+
- **Resources:** `parseAchievements`, `parseChallenges`, `parseQuests`, `parseGuildAchievements`, `parseGames`, `parseVanityPets`, `parseVanityCompanions`
|
|
143
|
+
- **Static & housing:** `parseBoosters`, `parseLeaderboards`, `parseGameCounts`, `parseWatchdogStats`, `parseHouse`, `parseHouses`
|
|
144
|
+
- **NBT decoding:** `decodeNbt`, `decodeItemBytes`
|
|
145
|
+
- **Helpers (`common`):** `num`, `str`, `bool`, `obj`, `date`, the small safe readers the parsers are built on
|
|
146
|
+
|
|
147
|
+
Game-mode parsers take the player's `stats` block and return the mode's typed stats, or `null` when the player has never played it (`parseBedWars` also takes the star `level`, passed through verbatim). Every type behind a parser (such as `HypixelPlayer`, `BedWarsStats`, or `SkyBlockProfile`) is exported from the package root too.
|
|
148
|
+
|
|
149
|
+
> **Full reference:** every export, type, field, and endpoint is documented exhaustively at the [documentation site](https://breezil.github.io/Breezil-Hypixel-Parsers/). This README is the overview; the docs leave nothing out.
|
|
150
|
+
|
|
151
|
+
## Project Structure
|
|
152
|
+
|
|
153
|
+
```text
|
|
154
|
+
Breezil-Hypixel-Parsers/
|
|
155
|
+
├─ src/
|
|
156
|
+
│ ├─ index.ts # Public entry point, re-exports every module
|
|
157
|
+
│ ├─ common.ts # Shared, side-effect-free parse helpers
|
|
158
|
+
│ ├─ player.ts # parsePlayer + HypixelPlayer aggregate
|
|
159
|
+
│ ├─ guild.ts # parseGuild
|
|
160
|
+
│ ├─ status.ts # parseStatus
|
|
161
|
+
│ ├─ recentgames.ts # parseRecentGames
|
|
162
|
+
│ ├─ nbt.ts # decodeNbt / decodeItemBytes (base64 + gzip NBT)
|
|
163
|
+
│ ├─ skyblock*.ts # SkyBlock tree (profile, bazaar, auctions, museum, …)
|
|
164
|
+
│ ├─ static.ts # boosters, leaderboards, gamecounts, watchdog
|
|
165
|
+
│ ├─ housing.ts # parseHouse / parseHouses
|
|
166
|
+
│ ├─ resources-*.ts # achievements, challenges, quests, games, vanity
|
|
167
|
+
│ └─ <mode>.ts # one file per game mode (bedwars, skywars, …)
|
|
168
|
+
├─ dist/ # Build output (tsc -b)
|
|
169
|
+
└─ package.json
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## Releases and Deployment
|
|
173
|
+
|
|
174
|
+
Two things ship automatically from this repo, so there is no manual deploy step.
|
|
175
|
+
|
|
176
|
+
**Documentation.** The docs site rebuilds and deploys to GitHub Pages on every push to `main`, via `.github/workflows/docs.yml`. Merge to `main` and the site updates on its own.
|
|
177
|
+
|
|
178
|
+
**npm package.** Publishing to npm is automated by `.github/workflows/publish.yml`, which runs when a GitHub Release is published. Releases follow [Semantic Versioning](https://semver.org). To cut one:
|
|
179
|
+
|
|
180
|
+
1. Bump `version` in `package.json` (for example `1.0.1`).
|
|
181
|
+
2. Merge that change to `main` (via a PR, since `main` is protected).
|
|
182
|
+
3. On GitHub, go to Releases, choose Draft a new release, create a tag like `v1.0.1`, write the notes, and click Publish release.
|
|
183
|
+
|
|
184
|
+
Publishing the release triggers the workflow, which builds the package and runs `npm publish` with provenance. The first publish is done once by a maintainer (`npm publish` locally) so the package exists, after which the Trusted Publisher setup lets the Action handle every release with no token to manage.
|
|
185
|
+
|
|
186
|
+
## Roadmap
|
|
187
|
+
|
|
188
|
+
- [ ] Add an automated test suite covering the core parsers
|
|
189
|
+
- [ ] Expand modelled fields on the SkyBlock profile tree
|
|
190
|
+
|
|
191
|
+
Have an idea? [Open a feature request](https://github.com/Breezil/Breezil-Hypixel-Parsers/issues/new?template=feature_request.yml).
|
|
192
|
+
|
|
193
|
+
## Contributing
|
|
194
|
+
|
|
195
|
+
Contributions are welcome and genuinely appreciated, first timers included. 💙
|
|
196
|
+
|
|
197
|
+
1. Fork the repo and create your branch: `git checkout -b feat/my-feature`
|
|
198
|
+
2. Make your changes and add tests where it makes sense
|
|
199
|
+
3. Run `npm run build` to keep things green
|
|
200
|
+
4. Commit using [Conventional Commits](https://www.conventionalcommits.org): `feat: add pagination`
|
|
201
|
+
5. Open a Pull Request and describe what changed and why
|
|
202
|
+
|
|
203
|
+
New to the project? Look for issues labeled
|
|
204
|
+
[`good first issue`](https://github.com/Breezil/Breezil-Hypixel-Parsers/labels/good%20first%20issue).
|
|
205
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for the full guide.
|
|
206
|
+
|
|
207
|
+
## Code of Conduct
|
|
208
|
+
|
|
209
|
+
This project follows the Breezil [Code of Conduct](CODE_OF_CONDUCT.md). By taking part you
|
|
210
|
+
agree to uphold it. Be kind, be welcoming.
|
|
211
|
+
|
|
212
|
+
## License
|
|
213
|
+
|
|
214
|
+
Distributed under the **MIT License**. See [`LICENSE`](LICENSE) for the full text.
|
|
215
|
+
|
|
216
|
+
## Support & Community
|
|
217
|
+
|
|
218
|
+
- 💬 **Discord:** [Join the Breezil community](https://discord.gg/7SxbNMYQNa)
|
|
219
|
+
- 🐛 **Issues:** [github.com/Breezil/Breezil-Hypixel-Parsers/issues](https://github.com/Breezil/Breezil-Hypixel-Parsers/issues)
|
|
220
|
+
- 💡 **Discussions:** [github.com/Breezil/Breezil-Hypixel-Parsers/discussions](https://github.com/Breezil/Breezil-Hypixel-Parsers/discussions)
|
|
221
|
+
|
|
222
|
+
## Acknowledgements
|
|
223
|
+
|
|
224
|
+
- The [Hypixel Public API](https://api.hypixel.net) and its documented data shapes
|
|
225
|
+
- The [hypixel-api-reborn](https://github.com/Hypixel-API-Reborn/hypixel-api-reborn) project and the wider Hypixel API community, whose work we referenced while building this
|
|
226
|
+
- Everyone in the [Breezil Discord](https://discord.gg/7SxbNMYQNa)
|
|
227
|
+
|
|
228
|
+
Every parser was fact-checked against real, public Hypixel API responses. Thanks to the players whose public profiles made that verification possible: Technoblade 👑, _Wile, acoo398, AsrielDreemurr, Complextual, doi, gewoontoon, GoHawksDoesMC, Hibiikii, huntz, ILOVESKYCLASH, ImReeset, ImVoids, izzebella, jackabussy, Jackel1, JelleOG, KnightRush, kristan100, Lem0n, Lemoh, Melonapplesauce, NEmQnjA, notShaheerGamer, phroops, Skorlex, Slies, StinqRay, StreetRules, Sultanik, Super_RvD, suta060, titi2502, tsm1022, and Verxum_.
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
<div align="center">
|
|
233
|
+
<sub>Built with 💙 by <a href="https://github.com/Breezil">Breezil</a>.</sub>
|
|
234
|
+
</div>
|
|
235
|
+
|