scrow-monorepo/README.md
2026-08-19 02:15:15 +02:00

54 lines
No EOL
2.1 KiB
Markdown

# 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 `<msg> -- <raw input>`: `player not online -- kento2`,
`you can't add yourself as friend: kento2` -- this is weird again
- or similarly `illegal argument <raw input>: <msg>`: `illegal argument kento2:
you can't add yourself`. this is good lwk
- or just completely leave it up to the type: `<msg>` 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 `<arg-id>: <msg>`: `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.