# TODO ## BUILD - make sure it doesn't break when using nats - lwk make sure velocity plugin works at runtime - make dev-server use $DOCKER and fallback to docker if podman is not available. - refactor BUILD files: MODULES.bazel ## core - configurator: need to use json nodes for storing data so i can rlly update subfields - convert commands to new api - CommandExecutor now has a style parameter which is always MessageStyle(not ScrowMessageStyle), this kinda sucks. i could merge kencommandapi into core or make it more flexible(but then i need even more generics) need to think about this. ## bukkit - MAKE A MINIGAME FIRST - notification: Friend is now offline/online - maybe lowk make kencommandapi's type's use Result instead of exceptions so we can have cleaner error messages - maybe ` -- `: `player not online -- kento2`, `you can't add yourself as friend: kento2` -- this is weird again - or similarly `illegal argument : `: `illegal argument kento2: you can't add yourself`. this is good lwk - or just completely leave it up to the type: `` but then we'd get inconsistencies or uninformative error messages. maybe the error messages also just get simpler. `you can't add yourself as friend`, `player not online` at /msg, but with more arguments is super confusing. - or `: `: `player: not online` could work. but then we'd get `player: you can't add yourself as friend` which is kinda weird maybe. also these IDs can be confusing. - make `/friend add` use argument requirement for self-check - /ignore command # Project modules ------- - **core-lib**: stateless library - **core-bukkit-api** stateful api, for minecraft development, depends on core-lib - **core-bukkit-api** stateful plugin, same as core-bukkit-api but implements it - **core-velocity-api** stateful api, for proxy development, depends on core-lib - **core-velocity-impl** stateful plugin, same as core-velocity-api but implements it Building -------- compile the bukkit-impl plugin: ```shell bazel build //core/bukkit:plugin ``` This produces `bazel-bin/core/bukkit/plugin.jar` I think.