# 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 ## 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-impl:bukkit-impl_deploy.jar ``` This produces `bazel-bin/core-bukkit-impl/bukkit-impl.jar` with all dependencies built-in except for LuckPerms.