Skip to content

Commit 26a052d

Browse files
tastybentoclaude
andauthored
docs: add IslandStats addon page for 1.0.0 (#112)
No tracked repo has a new release since 2026-10-03. IslandStats 1.0.0 is a new addon, so add its page, nav entry, placeholders and tracker entry. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
1 parent d91bae3 commit 26a052d

5 files changed

Lines changed: 184 additions & 34 deletions

File tree

‎data/placeholders.csv‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,3 +148,9 @@ TradeWinds,tradewinds_rank,The player's Seafarer rank name (Deck Hand ... Mythic
148148
TradeWinds,tradewinds_charted,How many islands the player has charted (including any admin adjustment),0.1.0
149149
TradeWinds,tradewinds_top_name_<1-10>,Name of the sailor at this position on the charted-islands top ten,0.1.0
150150
TradeWinds,tradewinds_top_charted_<1-10>,Charted-island count of the sailor at this position on the top ten,0.1.0
151+
IslandStats,[gamemode]_island_kill_entity_total,Total mobs killed by players on the player's island,1.0.0
152+
IslandStats,[gamemode]_island_kill_entity_<entity>,Count of one mob type (mobs killed by players) on the player's island,1.0.0
153+
IslandStats,[gamemode]_visited_island_kill_entity_total,Total mobs killed by players on the island the player is standing on,1.0.0
154+
IslandStats,[gamemode]_island_entity_death_total,Total all mob deaths on the player's island,1.0.0
155+
IslandStats,[gamemode]_island_entity_death_<entity>,Count of one mob type (all mob deaths) on the player's island,1.0.0
156+
IslandStats,[gamemode]_visited_island_entity_death_total,Total all mob deaths on the island the player is standing on,1.0.0

‎data/release-tracker.json‎

Lines changed: 40 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,203 +1,209 @@
11
{
2-
"last_run": "2026-10-03T15:44:01Z",
2+
"last_run": "2026-10-10T14:56:40Z",
33
"repos": {
44
"BentoBox": {
5-
"last_checked": "2026-10-03T15:44:01Z",
5+
"last_checked": "2026-10-10T14:56:40Z",
66
"last_release": "3.23.3",
77
"doc_path": "BentoBox/",
88
"category": "core"
99
},
1010
"AcidIsland": {
11-
"last_checked": "2026-10-03T15:44:01Z",
11+
"last_checked": "2026-10-10T14:56:40Z",
1212
"last_release": "2.1.2",
1313
"doc_path": "gamemodes/AcidIsland/index.md",
1414
"category": "gamemode"
1515
},
1616
"AOneBlock": {
17-
"last_checked": "2026-10-03T15:44:01Z",
17+
"last_checked": "2026-10-10T14:56:40Z",
1818
"last_release": "1.28.0",
1919
"doc_path": "gamemodes/AOneBlock/index.md",
2020
"category": "gamemode"
2121
},
2222
"Boxed": {
23-
"last_checked": "2026-10-03T15:44:01Z",
23+
"last_checked": "2026-10-10T14:56:40Z",
2424
"last_release": "3.4.1",
2525
"doc_path": "gamemodes/Boxed/index.md",
2626
"category": "gamemode"
2727
},
2828
"BSkyBlock": {
29-
"last_checked": "2026-10-03T15:44:01Z",
29+
"last_checked": "2026-10-10T14:56:40Z",
3030
"last_release": "1.20.0",
3131
"doc_path": "gamemodes/BSkyBlock/index.md",
3232
"category": "gamemode"
3333
},
3434
"CaveBlock": {
35-
"last_checked": "2026-10-03T15:44:01Z",
35+
"last_checked": "2026-10-10T14:56:40Z",
3636
"last_release": "1.23.1",
3737
"doc_path": "gamemodes/CaveBlock/index.md",
3838
"category": "gamemode"
3939
},
4040
"poseidon": {
41-
"last_checked": "2026-10-03T15:44:01Z",
41+
"last_checked": "2026-10-10T14:56:40Z",
4242
"last_release": "1.1.1",
4343
"doc_path": "gamemodes/Poseidon/index.md",
4444
"category": "gamemode"
4545
},
4646
"RaftMode": {
47-
"last_checked": "2026-10-03T15:44:01Z",
47+
"last_checked": "2026-10-10T14:56:40Z",
4848
"last_release": "",
4949
"doc_path": "gamemodes/RaftMode/index.md",
5050
"category": "gamemode"
5151
},
5252
"SkyGrid": {
53-
"last_checked": "2026-10-03T15:44:01Z",
53+
"last_checked": "2026-10-10T14:56:40Z",
5454
"last_release": "",
5555
"doc_path": "gamemodes/SkyGrid/index.md",
5656
"category": "gamemode"
5757
},
5858
"StrangerRealms": {
59-
"last_checked": "2026-10-03T15:44:01Z",
59+
"last_checked": "2026-10-10T14:56:40Z",
6060
"last_release": "1.0.6",
6161
"doc_path": "gamemodes/StrangerRealms/index.md",
6262
"category": "gamemode"
6363
},
6464
"Bank": {
65-
"last_checked": "2026-10-03T15:44:01Z",
65+
"last_checked": "2026-10-10T14:56:40Z",
6666
"last_release": "1.10.1",
6767
"doc_path": "addons/Bank/index.md",
6868
"category": "addon"
6969
},
7070
"Biomes": {
71-
"last_checked": "2026-10-03T15:44:01Z",
71+
"last_checked": "2026-10-10T14:56:40Z",
7272
"last_release": "2.3.2",
7373
"doc_path": "addons/Biomes/index.md",
7474
"category": "addon"
7575
},
7676
"Border": {
77-
"last_checked": "2026-10-03T15:44:01Z",
77+
"last_checked": "2026-10-10T14:56:40Z",
7878
"last_release": "4.8.5",
7979
"doc_path": "addons/Border/index.md",
8080
"category": "addon"
8181
},
8282
"Challenges": {
83-
"last_checked": "2026-10-03T15:44:01Z",
83+
"last_checked": "2026-10-10T14:56:40Z",
8484
"last_release": "1.8.1",
8585
"doc_path": "addons/Challenges/index.md",
8686
"category": "addon"
8787
},
8888
"Chat": {
89-
"last_checked": "2026-10-03T15:44:01Z",
89+
"last_checked": "2026-10-10T14:56:40Z",
9090
"last_release": "1.4.1",
9191
"doc_path": "addons/Chat/index.md",
9292
"category": "addon"
9393
},
9494
"CheckMeOut": {
95-
"last_checked": "2026-10-03T15:44:01Z",
95+
"last_checked": "2026-10-10T14:56:40Z",
9696
"last_release": "",
9797
"doc_path": "addons/CheckMeOut/index.md",
9898
"category": "addon"
9999
},
100100
"ControlPanel": {
101-
"last_checked": "2026-10-03T15:44:01Z",
101+
"last_checked": "2026-10-10T14:56:40Z",
102102
"last_release": "1.16.1",
103103
"doc_path": "addons/ControlPanel/index.md",
104104
"category": "addon"
105105
},
106106
"DimensionalTrees": {
107-
"last_checked": "2026-10-03T15:44:01Z",
107+
"last_checked": "2026-10-10T14:56:40Z",
108108
"last_release": "1.9.0",
109109
"doc_path": "addons/DimensionalTrees/index.md",
110110
"category": "addon"
111111
},
112112
"ExtraMobs": {
113-
"last_checked": "2026-10-03T15:44:01Z",
113+
"last_checked": "2026-10-10T14:56:40Z",
114114
"last_release": "1.15.0",
115115
"doc_path": "addons/ExtraMobs/index.md",
116116
"category": "addon"
117117
},
118118
"FarmersDance": {
119-
"last_checked": "2026-10-03T15:44:01Z",
119+
"last_checked": "2026-10-10T14:56:40Z",
120120
"last_release": "",
121121
"doc_path": "addons/FarmersDance/index.md",
122122
"category": "addon"
123123
},
124124
"Greenhouses": {
125-
"last_checked": "2026-10-03T15:44:01Z",
125+
"last_checked": "2026-10-10T14:56:40Z",
126126
"last_release": "1.10.2",
127127
"doc_path": "addons/Greenhouses/index.md",
128128
"category": "addon"
129129
},
130130
"InvSwitcher": {
131-
"last_checked": "2026-10-03T15:44:01Z",
131+
"last_checked": "2026-10-10T14:56:40Z",
132132
"last_release": "1.19.3",
133133
"doc_path": "addons/InvSwitcher/index.md",
134134
"category": "addon"
135135
},
136136
"IslandFly": {
137-
"last_checked": "2026-10-03T15:44:01Z",
137+
"last_checked": "2026-10-10T14:56:40Z",
138138
"last_release": "",
139139
"doc_path": "addons/IslandFly/index.md",
140140
"category": "addon"
141141
},
142142
"Level": {
143-
"last_checked": "2026-10-03T15:44:01Z",
143+
"last_checked": "2026-10-10T14:56:40Z",
144144
"last_release": "2.29.0",
145145
"doc_path": "addons/Level/index.md",
146146
"category": "addon"
147147
},
148148
"Likes": {
149-
"last_checked": "2026-10-03T15:44:01Z",
149+
"last_checked": "2026-10-10T14:56:40Z",
150150
"last_release": "",
151151
"doc_path": "addons/Likes/index.md",
152152
"category": "addon"
153153
},
154154
"Limits": {
155-
"last_checked": "2026-10-03T15:44:01Z",
155+
"last_checked": "2026-10-10T14:56:40Z",
156156
"last_release": "1.30.2",
157157
"doc_path": "addons/Limits/index.md",
158158
"category": "addon"
159159
},
160160
"MagicCobblestoneGenerator": {
161-
"last_checked": "2026-10-03T15:44:01Z",
161+
"last_checked": "2026-10-10T14:56:40Z",
162162
"last_release": "2.10.0",
163163
"doc_path": "addons/MagicCobblestoneGenerator/index.md",
164164
"category": "addon"
165165
},
166166
"TopBlock": {
167-
"last_checked": "2026-10-03T15:44:01Z",
167+
"last_checked": "2026-10-10T14:56:40Z",
168168
"last_release": "2.1.2",
169169
"doc_path": "addons/TopBlock/index.md",
170170
"category": "addon"
171171
},
172172
"TwerkingForTrees": {
173-
"last_checked": "2026-10-03T15:44:01Z",
173+
"last_checked": "2026-10-10T14:56:40Z",
174174
"last_release": "1.6.0",
175175
"doc_path": "addons/TwerkingForTrees/index.md",
176176
"category": "addon"
177177
},
178178
"Upgrades": {
179-
"last_checked": "2026-10-03T15:44:01Z",
179+
"last_checked": "2026-10-10T14:56:40Z",
180180
"last_release": "1.0.5",
181181
"doc_path": "addons/Upgrades/index.md",
182182
"category": "addon"
183183
},
184184
"Visit": {
185-
"last_checked": "2026-10-03T15:44:01Z",
185+
"last_checked": "2026-10-10T14:56:40Z",
186186
"last_release": "",
187187
"doc_path": "addons/Visit/index.md",
188188
"category": "addon"
189189
},
190190
"Warps": {
191-
"last_checked": "2026-10-03T15:44:01Z",
191+
"last_checked": "2026-10-10T14:56:40Z",
192192
"last_release": "1.19.1",
193193
"doc_path": "addons/Warps/index.md",
194194
"category": "addon"
195195
},
196196
"VoidPortals": {
197-
"last_checked": "2026-10-03T15:44:01Z",
197+
"last_checked": "2026-10-10T14:56:40Z",
198198
"last_release": "1.6.1",
199199
"doc_path": "addons/VoidPortals/index.md",
200200
"category": "addon"
201+
},
202+
"IslandStats": {
203+
"last_checked": "2026-10-10T14:56:40Z",
204+
"last_release": "1.0.0",
205+
"doc_path": "addons/IslandStats/index.md",
206+
"category": "addon"
201207
}
202208
}
203209
}

‎docs/BentoBox/Placeholders.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ Gamemodes and Addons can also bring their own placeholders. We highly recommend
112112
- Addons
113113
- [Bank](../../addons/Bank/#placeholders)
114114
- [Challenges](../../addons/Challenges/#placeholders)
115+
- [IslandStats](../../addons/IslandStats/#placeholders)
115116
- [Level](../../addons/Level/#placeholders)
116117
- [Likes](../../addons/Likes/#placeholders)
117118
- [Limits](../../addons/Limits/#placeholders)

‎docs/addons/IslandStats/index.md‎

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
# IslandStats
2+
3+
**IslandStats** keeps statistics for each island rather than for each player. It starts with mob deaths: how many of each mob has died on an island, and how many of those a player killed. It works with every game mode.
4+
5+
Created and maintained by [tastybento](https://github.com/tastybento).
6+
7+
{{ addon_description("IslandStats") }}
8+
9+
## Installation
10+
11+
1. Place the IslandStats addon jar in the addons folder of the BentoBox plugin.
12+
2. Restart the server.
13+
3. The addon will create a data folder and inside the folder will be a config.yml.
14+
4. Edit the config.yml how you want.
15+
5. Restart the server if you make a change.
16+
17+
IslandStats requires BentoBox 3.23.0 or later, Minecraft 26.2 or later and Java 25.
18+
19+
!!! warning "Counting starts when the addon is installed"
20+
IslandStats does not read old player statistics, so every island starts at zero.
21+
22+
## Statistics
23+
24+
The addon keeps two counts for each mob type:
25+
26+
| Stat | Counts |
27+
|---|---|
28+
| `KILL_ENTITY` | Mobs killed by a player on the island. Same meaning as the vanilla `KILL_ENTITY` player statistic. |
29+
| `ENTITY_DEATH` | Mobs that died on the island from any cause: players, mob farms, fall damage, lava. |
30+
31+
A death counts for the island whose protected area it happened in. Players and armor stands are not counted. Kills by visitors count toward `KILL_ENTITY` unless `count-visitor-kills` is turned off. Every death on the island always counts toward `ENTITY_DEATH`.
32+
33+
The addon doesn't use vanilla player statistics, because they only record kills where a player gets the credit and they don't record where the mob was. That would miss mob farms and credit the killer's island rather than the island the mob died on.
34+
35+
### Stats dialog
36+
37+
`/[player_command] stats` opens a dialog:
38+
39+
- The summary page shows a total for each stat, with a button to open it.
40+
- Each stat page lists mobs from most to fewest, with Previous, Next, Back and Close buttons.
41+
- Mob names are sent as translatable text, so each player sees them in their own client language.
42+
43+
### Storage
44+
45+
Stats are stored through the BentoBox database API, so they go into whatever database BentoBox is set up to use. There is one record per island. With the JSON database these are in `plugins/BentoBox/database/IslandStatsData/`. Counting happens in memory, and changed islands are saved on a timer (`save-interval`) and when the server stops. When an island is deleted or reset, its stats are deleted too.
46+
47+
## Configuration
48+
49+
The latest `config.yml` can be found [here](https://github.com/BentoBoxWorld/IslandStats/blob/develop/src/main/resources/config.yml).
50+
51+
??? note "disabled-gamemodes"
52+
Game modes listed here are ignored by IslandStats.
53+
54+
Default: `[]`
55+
56+
```yaml
57+
disabled-gamemodes:
58+
- BSkyBlock
59+
```
60+
61+
??? note "count-visitor-kills"
62+
Count mobs killed on an island by players who are not members of it, such as visitors or coops. This only affects the 'killed by players' stat. Every mob death on the island is always counted in the 'all mob deaths' stat.
63+
64+
Default: `true`
65+
66+
??? note "ignored-entities"
67+
Entity types that are never counted. Use the Bukkit entity type names. Armor stands are living entities to the server, so they are ignored by default.
68+
69+
Default: `ARMOR_STAND`
70+
71+
??? note "save-interval"
72+
How often, in minutes, changed stats are written to the database. Stats are counted in memory and always saved when the server stops. Minimum 1.
73+
74+
Default: `5`
75+
76+
??? note "dialog.page-size"
77+
How many mob lines to show on each page of the stats dialog. Range 1 to 50.
78+
79+
Default: `15`
80+
81+
## Commands
82+
83+
!!! tip
84+
`[player_command]` and `[admin_command]` are commands that differ depending on the gamemode you are running.
85+
The Gamemodes' `config.yml` file contains options that allows you to modify these values.
86+
As an example, on BSkyBlock, the default `[player_command]` is `island`, and the default `[admin_command]` is `bsbadmin`.
87+
88+
=== "Player commands"
89+
- `/[player_command] stats`: opens your island's stats dialog.
90+
91+
=== "Admin commands"
92+
- `/[admin_command] stats <player>`: shows that player's island stats. A player sees the dialog, and the console gets the stats as chat lines.
93+
- `/[admin_command] stats <player> reset`: erases the island's stats after asking for confirmation.
94+
95+
!!! warning "Use the command for the world you're in"
96+
`/[player_command] stats` only works in that game mode's world. For example, in the OneBlock world use the OneBlock command, not `/is`, so players who have islands in several game modes see the right one.
97+
98+
## Permissions
99+
100+
!!! tip
101+
`[gamemode]` is a prefix that differs depending on the gamemode you are running.
102+
103+
| Permission | Default | What it allows |
104+
|---|---|---|
105+
| `[gamemode].island.stats` | true | `/[player_command] stats`, which opens your island's stats |
106+
| `[gamemode].admin.stats` | op | `/[admin_command] stats <player> [reset]` |
107+
108+
## Placeholders
109+
110+
{{ placeholders_source("IslandStats") }}
111+
112+
`<entity>` is the lower case mob type, such as `zombie` or `iron_golem`. With PlaceholderAPI the placeholders look like `%IslandStats_bskyblock_island_kill_entity_zombie%`.
113+
114+
## For addon developers
115+
116+
Other addons can read counts through the manager:
117+
118+
```java
119+
IslandStats stats = (IslandStats) BentoBox.getInstance().getAddonsManager().getAddonByName("IslandStats").orElseThrow();
120+
long zombies = stats.getManager().getCount(island, IslandStat.KILL_ENTITY, EntityType.ZOMBIE);
121+
long allDeaths = stats.getManager().getTotal(island, IslandStat.ENTITY_DEATH);
122+
```
123+
124+
??? note "What's new in v1.0.0 — first release"
125+
**Released:** 2026-10-04
126+
127+
First release. Compatibility: BentoBox API 3.23.0 · Minecraft 26.2 and later · Java 25. [Release 1.0.0](https://github.com/BentoBoxWorld/IslandStats/releases/tag/1.0.0)
128+
129+
- Mob kill and death counts per island (`KILL_ENTITY` and `ENTITY_DEATH`).
130+
- Stats dialog with `/[player_command] stats`, and an admin view and reset with `/[admin_command] stats <player> [reset]`.
131+
- Placeholders for island totals, per-mob counts and the island the player is standing on.
132+
- 🔡 Only the `en-US` locale ships in this release. Translations are welcome.
133+
134+
## Translations
135+
136+
{{ translations("IslandStats") }}

0 commit comments

Comments
 (0)