datapack-emulator 0.2.0__tar.gz
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.
- datapack_emulator-0.2.0/CONTRIBUTING.md +87 -0
- datapack_emulator-0.2.0/LICENSE +674 -0
- datapack_emulator-0.2.0/MANIFEST.in +15 -0
- datapack_emulator-0.2.0/PKG-INFO +183 -0
- datapack_emulator-0.2.0/docs/README.md +19 -0
- datapack_emulator-0.2.0/docs/agents.md +269 -0
- datapack_emulator-0.2.0/docs/architecture.md +181 -0
- datapack_emulator-0.2.0/docs/cli.md +690 -0
- datapack_emulator-0.2.0/docs/costs.md +50 -0
- datapack_emulator-0.2.0/docs/emulation.md +324 -0
- datapack_emulator-0.2.0/docs/engine.md +103 -0
- datapack_emulator-0.2.0/docs/getting-started.md +82 -0
- datapack_emulator-0.2.0/docs/plans.md +78 -0
- datapack_emulator-0.2.0/docs/projects.md +158 -0
- datapack_emulator-0.2.0/docs/releases.md +165 -0
- datapack_emulator-0.2.0/docs/ui.md +436 -0
- datapack_emulator-0.2.0/docs/vanilla-assets.md +96 -0
- datapack_emulator-0.2.0/docs/versions.md +149 -0
- datapack_emulator-0.2.0/packaging/datapack-emulator.spec +92 -0
- datapack_emulator-0.2.0/pyproject.toml +110 -0
- datapack_emulator-0.2.0/readme.md +141 -0
- datapack_emulator-0.2.0/requirements-dev.txt +2 -0
- datapack_emulator-0.2.0/requirements.txt +6 -0
- datapack_emulator-0.2.0/samples/hat/data/hat/function/load.mcfunction +2 -0
- datapack_emulator-0.2.0/samples/hat/data/hat/function/tick.mcfunction +14 -0
- datapack_emulator-0.2.0/samples/hat/data/hat/functions/load.mcfunction +2 -0
- datapack_emulator-0.2.0/samples/hat/data/hat/functions/tick.mcfunction +14 -0
- datapack_emulator-0.2.0/samples/hat/data/minecraft/tags/function/load.json +5 -0
- datapack_emulator-0.2.0/samples/hat/data/minecraft/tags/function/tick.json +5 -0
- datapack_emulator-0.2.0/samples/hat/data/minecraft/tags/functions/load.json +5 -0
- datapack_emulator-0.2.0/samples/hat/data/minecraft/tags/functions/tick.json +5 -0
- datapack_emulator-0.2.0/samples/hat/pack.mcmeta +33 -0
- datapack_emulator-0.2.0/samples/hat/pack.png +0 -0
- datapack_emulator-0.2.0/samples/hat_v2/data/hat/functions/load.mcfunction +2 -0
- datapack_emulator-0.2.0/samples/hat_v2/data/hat/functions/swap_legacy.mcfunction +15 -0
- datapack_emulator-0.2.0/samples/hat_v2/data/hat/functions/tick.mcfunction +11 -0
- datapack_emulator-0.2.0/samples/hat_v2/data/hat/functions/tick_legacy.mcfunction +6 -0
- datapack_emulator-0.2.0/samples/hat_v2/data/hat/functions/tick_modern.mcfunction +7 -0
- datapack_emulator-0.2.0/samples/hat_v2/data/minecraft/loot_tables/blocks/shulker_box.json +70 -0
- datapack_emulator-0.2.0/samples/hat_v2/data/minecraft/tags/functions/load.json +5 -0
- datapack_emulator-0.2.0/samples/hat_v2/data/minecraft/tags/functions/tick.json +5 -0
- datapack_emulator-0.2.0/samples/hat_v2/overlay_18/data/hat/functions/tick.mcfunction +9 -0
- datapack_emulator-0.2.0/samples/hat_v2/overlay_41/data/minecraft/loot_tables/blocks/shulker_box.json +28 -0
- datapack_emulator-0.2.0/samples/hat_v2/overlay_48/data/hat/function/load.mcfunction +2 -0
- datapack_emulator-0.2.0/samples/hat_v2/overlay_48/data/hat/function/tick.mcfunction +14 -0
- datapack_emulator-0.2.0/samples/hat_v2/overlay_48/data/minecraft/loot_table/blocks/shulker_box.json +28 -0
- datapack_emulator-0.2.0/samples/hat_v2/overlay_48/data/minecraft/tags/function/load.json +5 -0
- datapack_emulator-0.2.0/samples/hat_v2/overlay_48/data/minecraft/tags/function/tick.json +5 -0
- datapack_emulator-0.2.0/samples/hat_v2/pack.mcmeta +64 -0
- datapack_emulator-0.2.0/samples/hat_v2/pack.png +0 -0
- datapack_emulator-0.2.0/setup.cfg +4 -0
- datapack_emulator-0.2.0/src/datapack_emulator/__init__.py +19 -0
- datapack_emulator-0.2.0/src/datapack_emulator/__main__.py +5 -0
- datapack_emulator-0.2.0/src/datapack_emulator/agent.py +758 -0
- datapack_emulator-0.2.0/src/datapack_emulator/app.py +114 -0
- datapack_emulator-0.2.0/src/datapack_emulator/cli/__init__.py +82 -0
- datapack_emulator-0.2.0/src/datapack_emulator/cli/__main__.py +3 -0
- datapack_emulator-0.2.0/src/datapack_emulator/cli/check.py +166 -0
- datapack_emulator-0.2.0/src/datapack_emulator/cli/common.py +406 -0
- datapack_emulator-0.2.0/src/datapack_emulator/cli/debug.py +330 -0
- datapack_emulator-0.2.0/src/datapack_emulator/cli/inspect.py +480 -0
- datapack_emulator-0.2.0/src/datapack_emulator/cli/jars.py +62 -0
- datapack_emulator-0.2.0/src/datapack_emulator/cli/junit.py +91 -0
- datapack_emulator-0.2.0/src/datapack_emulator/cli/projects.py +617 -0
- datapack_emulator-0.2.0/src/datapack_emulator/cli/runs.py +776 -0
- datapack_emulator-0.2.0/src/datapack_emulator/cli/schemas.py +192 -0
- datapack_emulator-0.2.0/src/datapack_emulator/cli/world.py +1134 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/__init__.py +87 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/__main__.py +9 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/analysis/__init__.py +4 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/analysis/completion.py +262 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/analysis/explain.py +413 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/analysis/graph.py +272 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/analysis/inspector.py +226 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/analysis/problems.py +704 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/analysis/profiler.py +611 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/analysis/registry_names.py +200 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/analysis/rename.py +308 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/analysis/schema.py +580 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/analysis/search.py +47 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/analysis/world_view.py +311 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/commands/__init__.py +21 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/commands/blocks.py +456 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/commands/bossbar.py +188 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/commands/chat.py +131 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/commands/conditions.py +251 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/commands/control.py +106 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/commands/data.py +290 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/commands/entities.py +167 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/commands/execute.py +380 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/commands/handlers.py +129 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/commands/helpers.py +107 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/commands/items.py +761 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/commands/living.py +566 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/commands/misc.py +12 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/commands/parser.py +406 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/commands/players.py +469 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/commands/registry.py +96 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/commands/result.py +26 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/commands/scoreboard.py +506 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/commands/state.py +584 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/common.py +560 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/costs.py +169 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/datapack.py +898 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/engine.py +449 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/namespace.py +216 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/resources.py +196 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/runtime/__init__.py +6 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/runtime/advancements.py +208 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/runtime/blocks.py +438 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/runtime/context.py +115 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/runtime/debugger.py +478 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/runtime/emulator.py +556 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/runtime/inventory.py +689 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/runtime/library.py +302 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/runtime/living.py +735 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/runtime/loot.py +709 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/runtime/messages.py +606 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/runtime/output.py +219 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/runtime/predicates.py +673 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/runtime/snapshot.py +264 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/runtime/state.py +138 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/runtime/world.py +647 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/testing.py +564 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/vanilla.py +468 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/version_data.py +215 -0
- datapack_emulator-0.2.0/src/datapack_emulator/emulator/versions.py +270 -0
- datapack_emulator-0.2.0/src/datapack_emulator/project.py +479 -0
- datapack_emulator-0.2.0/src/datapack_emulator/samples/starter/data/minecraft/tags/function/load.json +3 -0
- datapack_emulator-0.2.0/src/datapack_emulator/samples/starter/data/minecraft/tags/function/tick.json +3 -0
- datapack_emulator-0.2.0/src/datapack_emulator/samples/starter/data/starter/function/every_five_seconds.mcfunction +2 -0
- datapack_emulator-0.2.0/src/datapack_emulator/samples/starter/data/starter/function/load.mcfunction +3 -0
- datapack_emulator-0.2.0/src/datapack_emulator/samples/starter/data/starter/function/tick.mcfunction +3 -0
- datapack_emulator-0.2.0/src/datapack_emulator/samples/starter/pack.mcmeta +12 -0
- datapack_emulator-0.2.0/src/datapack_emulator/settings/__init__.py +3 -0
- datapack_emulator-0.2.0/src/datapack_emulator/settings/main.py +79 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/__init__.py +4 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/controllers/__init__.py +40 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/controllers/base.py +29 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/controllers/console.py +138 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/controllers/datapacks.py +330 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/controllers/debug.py +536 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/controllers/editor.py +324 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/controllers/environment.py +365 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/controllers/jars.py +84 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/controllers/logs.py +211 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/controllers/navigation.py +495 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/controllers/notes.py +53 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/controllers/problems.py +215 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/controllers/projects.py +236 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/controllers/runs.py +389 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/controllers/session.py +242 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/controllers/snapshots.py +184 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/controllers/world.py +394 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/download.ui +124 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/download_dialog.py +186 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/engine.ui +467 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/engine_window.py +460 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/main.py +383 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/panels/__init__.py +50 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/panels/explorer.py +97 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/panels/graph.py +237 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/panels/highlight.py +165 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/panels/logs.py +203 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/panels/profile.py +73 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/panels/results.py +121 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/panels/source.py +236 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/panels/uiloader.py +42 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/panels/world.py +250 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/score_graph.py +62 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/score_graph.ui +62 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/search.ui +76 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/search_dialog.py +80 -0
- datapack_emulator-0.2.0/src/datapack_emulator/window/window.ui +2916 -0
- datapack_emulator-0.2.0/src/datapack_emulator.egg-info/PKG-INFO +183 -0
- datapack_emulator-0.2.0/src/datapack_emulator.egg-info/SOURCES.txt +205 -0
- datapack_emulator-0.2.0/src/datapack_emulator.egg-info/dependency_links.txt +1 -0
- datapack_emulator-0.2.0/src/datapack_emulator.egg-info/entry_points.txt +3 -0
- datapack_emulator-0.2.0/src/datapack_emulator.egg-info/requires.txt +16 -0
- datapack_emulator-0.2.0/src/datapack_emulator.egg-info/top_level.txt +1 -0
- datapack_emulator-0.2.0/tests/conftest.py +123 -0
- datapack_emulator-0.2.0/tests/test_agent.py +236 -0
- datapack_emulator-0.2.0/tests/test_blocks.py +455 -0
- datapack_emulator-0.2.0/tests/test_cli.py +1528 -0
- datapack_emulator-0.2.0/tests/test_conditions.py +540 -0
- datapack_emulator-0.2.0/tests/test_datapack.py +169 -0
- datapack_emulator-0.2.0/tests/test_datapack_set.py +162 -0
- datapack_emulator-0.2.0/tests/test_debugger.py +187 -0
- datapack_emulator-0.2.0/tests/test_editing.py +373 -0
- datapack_emulator-0.2.0/tests/test_emulator.py +466 -0
- datapack_emulator-0.2.0/tests/test_engine_and_graph.py +150 -0
- datapack_emulator-0.2.0/tests/test_explain.py +64 -0
- datapack_emulator-0.2.0/tests/test_inventory.py +363 -0
- datapack_emulator-0.2.0/tests/test_living.py +337 -0
- datapack_emulator-0.2.0/tests/test_parser.py +96 -0
- datapack_emulator-0.2.0/tests/test_problems.py +246 -0
- datapack_emulator-0.2.0/tests/test_project.py +277 -0
- datapack_emulator-0.2.0/tests/test_regressions.py +749 -0
- datapack_emulator-0.2.0/tests/test_samples.py +70 -0
- datapack_emulator-0.2.0/tests/test_schema.py +365 -0
- datapack_emulator-0.2.0/tests/test_snapshots.py +156 -0
- datapack_emulator-0.2.0/tests/test_state.py +281 -0
- datapack_emulator-0.2.0/tests/test_testing.py +260 -0
- datapack_emulator-0.2.0/tests/test_vanilla.py +122 -0
- datapack_emulator-0.2.0/tests/test_versions.py +70 -0
- datapack_emulator-0.2.0/tests/test_window.py +2154 -0
- datapack_emulator-0.2.0/tools/generate_version_data.py +184 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
Contributions are welcome — bug reports, new command handlers, UI work, docs.
|
|
4
|
+
|
|
5
|
+
## Setup
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
git clone git@github.com:AnCarsenat/Datapack-Emulator.git && cd Datapack-Emulator
|
|
9
|
+
python -m venv .venv
|
|
10
|
+
.venv/bin/pip install -r requirements-dev.txt # editable install with the gui and dev extras
|
|
11
|
+
.venv/bin/datapack-emulator
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
The package is `datapack_emulator`, in `src/` (the standard src layout).
|
|
15
|
+
Imports are absolute: `from datapack_emulator.emulator import Datapack`. The
|
|
16
|
+
editable install means edits take effect without reinstalling; pytest finds
|
|
17
|
+
the package without it.
|
|
18
|
+
|
|
19
|
+
## Ground rules
|
|
20
|
+
|
|
21
|
+
Read [docs/architecture.md](docs/architecture.md) first. In short:
|
|
22
|
+
|
|
23
|
+
1. **Version logic goes through `src/datapack_emulator/emulator/versions.py`.** Don't compare
|
|
24
|
+
version strings or pack formats anywhere else.
|
|
25
|
+
2. **Don't hardcode base-game facts.** Command availability comes from the
|
|
26
|
+
generated `version_data.py`; ids, tags and message strings come from a
|
|
27
|
+
client jar via `src/datapack_emulator/emulator/vanilla.py`.
|
|
28
|
+
3. **Never edit `src/datapack_emulator/emulator/version_data.py` by hand.** Regenerate it with
|
|
29
|
+
`python tools/generate_version_data.py` and commit the result.
|
|
30
|
+
4. **All layout lives in `src/datapack_emulator/window/*.ui`.** Add widgets and actions in Qt
|
|
31
|
+
Designer, then find them by object name in Python.
|
|
32
|
+
5. **Keep `src/datapack_emulator/emulator` free of Qt.**
|
|
33
|
+
6. **Keep game output and diagnostics apart.** A handler reports what
|
|
34
|
+
Minecraft would say with `context.game_error("<real.translation.key>", …)`;
|
|
35
|
+
what the emulator notices goes through `context.note(…)`.
|
|
36
|
+
7. **Keep the command line as capable as the window.** A window feature
|
|
37
|
+
comes with its `datapack-emulator-cli` subcommand or option; shared logic
|
|
38
|
+
goes in `emulator/` or `project.py`, not in a controller.
|
|
39
|
+
8. **Say when something is a model.** Cost numbers and anything approximated
|
|
40
|
+
must be labelled as such in code and docs.
|
|
41
|
+
|
|
42
|
+
## Adding a command
|
|
43
|
+
|
|
44
|
+
1. Write `cmd_<name>(command, context) -> CommandResult` in the module of
|
|
45
|
+
its group under `src/datapack_emulator/emulator/commands/` (`chat.py`,
|
|
46
|
+
`scoreboard.py`, `entities.py`, `data.py`, `execute.py`, `items.py`, … —
|
|
47
|
+
shared helpers are in `helpers.py`); report failures with vanilla
|
|
48
|
+
translation keys (add missing ones to `runtime/messages.py`).
|
|
49
|
+
2. Register it in `HANDLERS` (`commands/handlers.py`). Availability per
|
|
50
|
+
version is already known.
|
|
51
|
+
3. Give it a cost in `src/datapack_emulator/emulator/costs.py` if the default does not fit.
|
|
52
|
+
4. Document it in [docs/emulation.md](docs/emulation.md).
|
|
53
|
+
|
|
54
|
+
## Before opening a pull request
|
|
55
|
+
|
|
56
|
+
```sh
|
|
57
|
+
.venv/bin/ruff check .
|
|
58
|
+
.venv/bin/ruff format --check .
|
|
59
|
+
.venv/bin/mypy # the Qt-free code (see pyproject.toml)
|
|
60
|
+
.venv/bin/coverage run -m pytest && .venv/bin/coverage report
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
CI runs the same checks (plus the window tests offscreen and a CLI smoke run)
|
|
64
|
+
on every pull request, and puts the coverage table in the run's summary.
|
|
65
|
+
Every Monday a scheduled workflow regenerates `version_data.py` and opens a
|
|
66
|
+
pull request when a release or pre-release changed it (a draft when the
|
|
67
|
+
tests fail on the new table). The generator writes the file exactly as ruff
|
|
68
|
+
would format it, so a refresh differs only where the data did.
|
|
69
|
+
|
|
70
|
+
* lint and format clean, tests green
|
|
71
|
+
* new behaviour comes with a test in `tests/` — the fixtures in
|
|
72
|
+
`tests/conftest.py` build synthetic datapacks and a synthetic client jar,
|
|
73
|
+
so no test needs the network or a Minecraft install
|
|
74
|
+
* if you touched the window, launch it and exercise what you changed
|
|
75
|
+
* update `docs/` and `readme.md` in the same pull request whenever behaviour,
|
|
76
|
+
options or commands change
|
|
77
|
+
* one topic per pull request and per commit; commit messages follow
|
|
78
|
+
[Conventional Commits](https://www.conventionalcommits.org/)
|
|
79
|
+
(`feat`, `fix`, `docs`, `refactor`, `test`, `ci`, `chore`)
|
|
80
|
+
* branch from `main`, open a pull request, fill in the template
|
|
81
|
+
|
|
82
|
+
## Reporting a bug
|
|
83
|
+
|
|
84
|
+
Use the *Bug report* issue template. It asks for the Minecraft version
|
|
85
|
+
selected, whether a client jar was loaded, the smallest datapack that
|
|
86
|
+
reproduces it, and the output of
|
|
87
|
+
`datapack-emulator-cli run <pack> --version <v> --level debug`.
|