You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Panel template upgrades:** Files under `panels/` are copied to the addon's data folder (`plugins/BentoBox/addons/Level/panels/`) on first run and are **not** overwritten on upgrade. If a release modifies a panel template (new tabs, buttons, slots, etc.), the release notes/changelog must explicitly instruct users to delete the affected on-disk panel file so it regenerates — otherwise existing servers will silently keep the old layout.
93
+
94
+
**Current upgrade-sensitive example:** If `src/main/resources/panels/detail_panel.yml` changes (for example by adding a new `DONATED` tab), existing servers must delete/regenerate `plugins/BentoBox/addons/Level/panels/detail_panel.yml` after upgrading or they will continue using the old panel definition and the new tab will not appear.
92
95
## Code Conventions
93
96
94
97
- Null safety via Eclipse JDT annotations (`@NonNull`, `@Nullable`) — honour these on public APIs
95
98
- BentoBox framework patterns: `CompositeCommand` for commands, `@ConfigEntry`/`@ConfigComment` for config, `@StoreAt` for database objects
96
99
- Pre- and post-events (`IslandPreLevelEvent`, `IslandLevelCalculatedEvent`) follow BentoBox's cancellable event pattern — fire both when adding new calculation triggers
100
+
101
+
## Dependency Source Lookup
102
+
103
+
When you need to inspect source code for a dependency (e.g., BentoBox, addons):
104
+
105
+
1.**Check local Maven repo first**: `~/.m2/repository/` — sources jars are named `*-sources.jar`
106
+
2.**Check the workspace**: Look for sibling directories or Git submodules that may contain the dependency as a local project (e.g., `../bentoBox`, `../addon-*`)
107
+
3.**Check Maven local cache for already-extracted sources** before downloading anything
108
+
4. Only download a jar or fetch from the internet if the above steps yield nothing useful
109
+
110
+
Prefer reading `.java` source files directly from a local Git clone over decompiling or extracting a jar.
111
+
112
+
In general, the latest version of BentoBox should be targeted.
113
+
114
+
## Project Layout
115
+
116
+
Related projects are checked out as siblings under `~/git/`:
0 commit comments