kyoripowered / adventure-docs Goto Github PK
View Code? Open in Web Editor NEWDocumentation for the Adventure projects.
Home Page: https://docs.advntr.dev/
License: Creative Commons Attribution Share Alike 4.0 International
Documentation for the Adventure projects.
Home Page: https://docs.advntr.dev/
License: Creative Commons Attribution Share Alike 4.0 International
Like a lil feature comparison table with cute ticks and crosses.
Should include an example of how to use/setup the library, in addition to how to integrate it with the ANSI serializer
Platform builds don't use this version, so it's just confusing to have that version there, plus it's not really needed?
As was discussed in discord, it'd be nice to have some sort of form that's like I want to use adventure on [platform] on minecraft [version]
and it gives you the correct repo/dependency to add.
So we can save manually trying to find typos :)
https://sphinxcontrib-spelling.readthedocs.io/en/latest/
We could probably set up a problem matcher for the output, if one doesn't already exist
Perhaps with a generic template for artifact information
Taking Paper as an example, it's not immediately obvious that you can use the Sound
enum in place of a key when construction a sound. The documentation for native implementations could be improved to include more information about the standard implementations of various Adventure types.
Adventure has grown quite a few SPIs that platforms should be implementing. We should have a consolidated location where these are documented. So far, these are:
Provider
s for component serializers, to customize optionsDataComponentValueConverter.Provider
interface, for controlling conversions between different data component value typesClickCallback
provider, to implement callbacksComponentLoggerProvider
to provide appropriate serializers for component loggingThis issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates are awaiting their schedule. Click on a checkbox to get an update now.
.devcontainer/devcontainer.json
ghcr.io/devcontainers/features/git 1
ghcr.io/devcontainers/features/github-cli 1
ghcr.io/devcontainers/features/java 1
.devcontainer/Dockerfile
mcr.microsoft.com/vscode/devcontainers/python 0-3.10-bullseye
.github/workflows/build-artifact.yaml
actions/checkout v4
actions/setup-python v5
actions/upload-artifact v4
.github/workflows/build-pr.yaml
actions/upload-artifact v4
.github/workflows/build.yaml
actions/download-artifact v4
actions/upload-pages-artifact v3
actions/deploy-pages v4
.github/workflows/check-spelling.yaml
actions/checkout v4
actions/setup-python v5
.github/workflows/preview.yaml
actions/checkout v4
dawidd6/action-download-artifact v6
dawidd6/action-download-artifact v6
actions/github-script v7
JamesIves/github-pages-deploy-action v4.6.3
actions/github-script v7
Pipfile
It would be nice to split pointer docs into it's own page(s) with the following aspects:
Probably not worth visiting until our docs are more thorough, but we should preserve a history of docs for different versions. The sphinxcontrib-versioning
plugin might work for that.
https://sphinxcontrib-versioning.readthedocs.io/en/latest/index.html
Or, to phrase it another way, Component
s sent as messages to the server console (FabricServerAudiences#console()
) are not rendered through the GlobalTranslator, but instead are rendered just as their language key. This differs from the behavior of other platforms like Paper and Sponge 7 that do perform this rendering.
MinecraftServer server = /* ... */;
FabricServerAudiences adventure = FabricServerAudiences.of(server);
TranslationRegistry registry = TranslationRegistry.create(Key.key("kyori", "test"));
registry.defaultLocale(Locale.ROOT);
registry.register("kyori.test", Locale.ROOT, new MessageFormat("Hello, world!"));
adventure.console().sendMessage(Component.translatable("kyori.test"));
// Expected output: "Hello, world!"
// Actual output: "kyori.test"
I did poke around at the library code but I'm not sure what's causing this. Implementation looks pretty similar to Paper's and I don't immediately see any logical errors. Could be related to using the mod as jar-in-jar but then, the global translator works for other purposes like sending actual chat messages to players, so ๐คท๐ปโโ๏ธ
Using adventure 4.13.1, adventure-platform-fabric 5.8.0, fabric-api 0.78.0+1.19.4, & fabric-server-mc.1.19.4-loader.0.14.19-launcher.0.11.2.jar
On this page in the example you're unable to see the
5
in Formatter.choice("choice", 5));
due to the Copy to clipboard covering it
There's currently nothing on adventure-nbt
, so everything needs to be covered
Possible examples:
The alias <r>
for <reset>
remains in its literal form.
We currently reference a bunch of Adventure classes, which have additional context in the JD. It would be helpful to link directly to those classes. There are a couple extensions for that:
These both have some limitations that make them a bit awkward -- but we could tweak whichever one to produce something fully suited to our needs.
Our current approach for documentation works okay, but once we begin development on (and release) 5.0.0 we will need to have two versions of documentation live - 4.x and 5.x. How can/should we do this?
.Single
public class GameTeam implements ForwardingAudience {
private final List<GamePlayer> players = new ArrayList<>();
// ....
@Override
public @NonNull Iterable<? extends GamePlayer> audiences() {
return this.players;
}
}
The <reset>
tag for MiniMessage
s has an alias r
in the docs, which was most likely removed.
We have a basic localization system within Adventure, using TranslationRegistry
There should be a documentation page explaining it, how it interacts with vanilla translations, and its limitations.
Limitations include:
This could mention moonshine, and potentially whatever is added to MiniMessage for localization
It seems like there is a big gap in understanding with a lot of users new to adventure, who have trouble with the concepts of chat components, having only been familiar with the legacy section-symbol system. It would be helpful to explain what components are and some of their key characteristics, ideally with some graphics. Here's a rough outline of what I'm imagining:
font
or RGB colourRight now, users report that there isn't really a clear 'getting started' guide that provides an overview of how to dive into the API.
It would be nice to provide some sort of linear guide, targeting only native platforms, explaining how to:
How much of this can be done in our own docs without making too many assumptions about platforms? How much should be, we link to platforms for their dogumentation instead?
According to MC-146721, stereo sounds won't drop off whereas mono sounds will. This should be mentioned in the docs for sounds in order to prevent confusion with the new emitter system.
Currently, the examples for each MiniMessage tag are produced manually by entering the MiniMessage string into a game instance and taking a screenshot.
We should be able to rig something up to generate this automatically, taking in a properties file of IDs and MiniMessage strings to generate and running the Minecraft client's font renderer headlessly to produce images from this file.
There are some commonly asked questions relating to specific implementation choices and common applications of adventure that don't currently fit anywhere better. As much as I've historically been a bit against an FAQ page as a dumping ground for mismatched topics, it would be useful to cover a few things:
x
not exist? it's not been contributed/community libraryA declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.