#docs

1 messages ยท Page 2 of 1

worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#
[PaperMC/docs] New branch created: chore/improve-basic-command-docs
#
[PaperMC/docs] branch deleted: chore/improve-basic-command-docs
#
[PaperMC/docs] branch deleted: feat/menu-type-api
#
[PaperMC/docs] branch deleted: feat/signed-message
#

Generally just because it is good practice to try and catch NPEs as soon as possible so that you reduce the time it takes for you to debug something if something should go wrong anyways.
Just imagine you do the call at the start of a method, then you do some unrelated work, and only then you try to toURI it. That's really all there is to it.

Do you think it is unnecessary and should I remove it? I was just wanted to promote good practice.

#

I think the docs could benefit from certain pages having some way to check the page's perquisites. This way, if a page is linked to a new user, they do not get confused about some used API, which is explained on a different page. This would also remove the need to give a brief explanation on some slightly niche, but still documented API if it is used on another page.

Currently not sure how that would look. It could be on the side bar, just like the 'written-for' label?

<img width="1715" height="775" alt="Image" src="https://github.com/user-attachments/assets/f59053cf-37d6-4f13-9f82-6372d0c95a2d" />

worthy trellisBOT
worthy trellisBOT
#
[PaperMC/docs] New branch created: chore/aggressive-caching
#
[PaperMC/docs] branch deleted: chore/aggressive-caching
#
[PaperMC/docs] New branch created: fix/caching
#
[PaperMC/docs] branch deleted: chore/group-inventory-pages
worthy trellisBOT
#
[PaperMC/docs] New branch created: fix/only-cache-sharp
#
[PaperMC/docs] branch deleted: fix/only-cache-sharp
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#
[PaperMC/docs] New branch created: chore/cleanup-configs
#

Description

This PR cleans up the config files shown on the docs in order to be in-sync with the current ones. Including:

  • Sorting entries to be in-sync with how the server generates the config.
  • Adding and removing various changed/removed entries.

Goal

The goal of this PR is to ease a users orientation between actual server files and the documentation.

worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#

Not sure if people need a Permissions documentation, but since there are multiple ways to manage your plugin's permission I thought it could be useful to know what way could suit you needs best. Also a brief explanation on how permissions are handled on the server side could be nice.

worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#

https://docs.papermc.io/misc/tools/start-script-gen/
https://docs.papermc.io/paper/aikars-flags/

https://mcflags.emc.gs
If you are using an Xmx value greater than 12G
If you have and use more than 12GB of memory, adjust the following:
-XX:G1NewSizePercent=40
-XX:G1MaxNewSizePercent=50
-XX:G1HeapRegionSize=16M
-XX:G1ReservePercent=15
-XX:InitiatingHeapOccupancyPercent=20
NOTICE: If you see increase in old generation collections after this, revert back to the base flags!

If the ideas on the webpage are now outdated, feel free to close this issue.

worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#
[PaperMC/docs] New branch created: feat/paper-command
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#

This PR bump the version of Written Version of Dialog API just to be sure that developers have all the specified methods on the documentation.

On 09-21-2025, I asked on the PaperMC discord server about Audience#closeDialog method specified in the docs and the version needed to be able to use it which you can find here : #paper-help message

And the PaperMC Developer @jpenilla told me that it was better to bump the Written Version of that page instead of adding a warning about this method.

worthy trellisBOT
worthy trellisBOT
#

If a user leaves during configuration phase...

  1. the thread will be blocked forever if the user leaves the server
  2. the awaitingResponse map will leak memory if the user leaves the server

I think the example should be updated accordingly to be clearer on how you handle resource clean up.

One way (recommended by emily) is by using the PlayerConnectionCloseEvent, however there isn't a easy to bind a connection in the AsyncPlayerConnectionConfigureEvent to the PlayerConnectionCloseEvent (the only way would be via the Player's UUID, however the only way to get the player's UUID in AsyncPlayerConnectionConfigureEvent is deprecated)

By the way: When testing this, DO NOT use the "warning icon" -> "Disconnect" option, it seems that there's a client bug that does not close the server connection when using that feature.

worthy trellisBOT
#

This PR improves the documentation for the dialog API example, as several issues were noticed after reading it. The PR includes the following fixes:

  • Using UUID instead of PlayerCommonConnection
  • Using ConcurrentHashMap, since events are triggered in different threads
  • One-minute timeout to prevent the player connection from hanging indefinitely
  • Manually closing the dialog using Audience#closeDialog, as the client sometimes doesn't do this if no button was pressed (e.g., in case of a timeout)
  • All of this includes a bit of adherence to best practices ;)
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#

ae63684 Add Adventure docs - Strokkur424
8a16fae pnpm format - Strokkur424
f5d5a5b Refactor spell checking - Strokkur424
4cb359a Add fallback json if stuff is broken - Strokkur424
f4417ce Try to fix compile errors - Strokkur424
6467ca3 Cleanup releases.ts - Strokkur424
30e71f3 Add more debug logging - Strokkur424
8bd7a6c pnpm format - Strokkur424
c2d7e78 Update to be up-to-date with latest Adventure docs - Strokkur424
7bb1944 Add/improve dynamic mod version fetching - Strokkur424
4729af3 Move adventure changelogs to pages section for man... - Strokkur424...

worthy trellisBOT
#

For once there is an issue with the original, which this PR is trying to fix, where this almost seems like an accident in the sword recipe. But then again, as it was pointed out, remaking a Vanilla recipe is maybe a bit weird. Thereby I suggest that we maybe find a more custom recipe. Could be something simple like a "Television" with like 8 white concrete surrounding a piece of black stained glass pane and out comes a piece of wool called "Television". I am not the most creative person, but you get the idea. I think that would clear up any misconceptions here. (Please, feel free to have your own idea here.)

Furthermore, as lulu already pointed out, this segment here is worded weirdly:

The diamond sword would be in the middle column of
the bottom row.

I am not entirely certain what this was meant to describe, but seeing as, if you remove that sentence entirely, it would still make sense, I think we can just omit it.

worthy trellisBOT
#
[PaperMC/docs] branch deleted: convert-functions
worthy trellisBOT
#

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:

  1. What is a component?
    1. structured representation: the text form represents the data structure, rather than being marked-up text
    2. different types of content
    3. tree structure: see style
    4. appending: children in the tree (visual here?)
  2. Where did components come from?/Why do we want to use components?
    1. history: 1.7.2 introduction, 1.13 most of the server converted to use them, 1.16 client text renderer converted
    2. originally: a way to be more explicit about links and other rich styling
    3. references:
#

Right 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:

  • Create a component
  • Send the component to a user
  • Create a component from a configuration using MiniMessage
  • maybe some other things?

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?

_Migrated from https://github.com/KyoriPowered/adventure-docs/issues/150_

#

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:

  • the Providers for component serializers, to customize options
  • the JSONComponentSerializer providers, for different component serializer implementations
  • the DataComponentValueConverter.Provider interface, for controlling conversions between different data component value types
  • the ClickCallback provider, to implement callbacks
  • ComponentLoggerProvider to provide appropriate serializers for component logging

_Migrated from https://github.com/KyoriPowered/adventure-docs/issues/167_

worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#

This is the first time I'm hearing about this new way of setting meta data and tbh I'm a little confused. Would this be the better way?

item.setData(DataComponentTypes.ITEM_NAME, "Television");

Also I can't check if this is the proper way and/or if this works because my IDE doesn't even know the DataComponentTypes enum and apparently is the function outdated since 1.13(?)

worthy trellisBOT
#

It's API added in, I believe, 1.21.3. You'd need to update your Paper API dependency in your test project for it to show up. That's almost correct except that the second parameter would require a Component.

Data components are basically the replacement of NBT, which items switched to in 1.20.5. Paper added API for setting them in 1.21.3 and it is basically a much more performant and direct way of modifying items.

worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#

68138bc chore: minor dialog API JavaDocs cleanup - Strokkur424
8b3c18c feat: update Velocity docs for event priorities (#... - Doc94
00dd174 feat: stuckEntityPoiRetryDelay (#640) - MC-XiaoHei
677fb3c feat: document mojang.sessionserver system propert... - evan-goode
c5d000c chore: update pdc docs (#620) - Timongcraft
5f8b24a enhancement: add solution for forced hosts not wor... - szymon-off
6d2b70f chore: fix grammar mistake (#653) - thorbm1500
f5852ed chore: bump dependencies - zlataovce
099ecbd fix: only versions with stable builds can be lates... - zlataovce
479df86 fix: bump written version of dialog API to 1.21.8... - tgbhy...

worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#
[PaperMC/docs] New branch created: feat/paperweight-javalauncher
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#
[PaperMC/docs] New branch created: fix/lighthouse
worthy trellisBOT
#
[PaperMC/docs] branch deleted: fix/lighthouse
worthy trellisBOT
#
[PaperMC/docs] branch deleted: feat/debug-invalid-ids-prop
worthy trellisBOT
#
[PaperMC/docs] New branch created: feat/minimessage-format-specs
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#
[PaperMC/docs] New branch created: chore/pretty-jd
worthy trellisBOT
worthy trellisBOT
#
[PaperMC/docs] branch deleted: chore/pretty-jd
#
[PaperMC/docs] branch deleted: feat/paperweight-javalauncher
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#

Added a section that would've been incredibly useful when I started and will for sure be as well for new developers.
This PR adds a small section talking about lightweight tools like JDBI and JOOQ to handle SQL statements in plugins.

For comparison, I also added an example on the PreparedStatement section showing how the example code provided in the Security would look like using it.

To prevent bloating the section, I avoided any unnecessary details (at least to my criteria), added links to the documentation of the two mentioned projects and minimized the code examples (like not using try/catch statements)

worthy trellisBOT
#

It is valid, but since I tried to keep the code as minimal as possible, I added a this.jooq variable and called it a day.
Given your other comment about using real appropriate examples, I will expand this one as well.

For reference I'm using this project I recently updated from plain jdbc to jooq:
https://github.com/SerlithNetwork/Nascraft/blob/master/src/main/java/me/bounser/nascraft/database/commands/PlayerStats.java#L48

worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#

This long part is a single sentence and thus a bit hard to follow. I would suggest simplifying it up a bit.

If no Velocity port or alternative is available, the third-party project [Snap](https://hangar.papermc.io/Phoenix616/Snap)
offers an experimental way to run BungeeCord/Waterfall plugins on Velocity.
Note that not all plugins may work correctly, so you should always do your own testing.
Snap is not maintained by or affiliated with the Velocity project.
worthy trellisBOT
worthy trellisBOT
#
[PaperMC/docs] New branch created: feat/max-command-length-prop
#
[PaperMC/docs] branch deleted: feat/max-command-length-prop
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#

Every time I link the project setup guide, I have to recommend ignoring the mcdev part as that plugin serves little to no purpose for plugin development, the gradle build script it does some non-standard things in regard to setting the Java source/target compat and it generates plugins with paper-plugin.yml by default (which isn't as much of an issue as before, but they're still experimental so it being the default when everything else uses plugin.yml has been quite confusing for some users). Overall the whole MCDev part is rather redundant as it explains how to click the buttons in the wizard, which I don't believe is necessary for people who might want to use their generator as it should be plenty straight-forward.

There's also the simple fact that for this kind of guide which people will inevitably skim through, the fact that it shows two ways to achieve the project setup isn't immediately clear unless you're carefully reading the content. People expect some linearity in a guide li...

worthy trellisBOT
#

I think I have never manually set up a project and always used the plugin. I personally don't see an issue here. Paper got hardforked a year ago so having it default to paper plugins isn't really a problem.

unless you're carefully reading the content

You should always carefully read the documentation. And it literally says in note admonition below the first paragraph (barely to miss if you read from the heading - which you should do regardless - that it is only an alternative if you are using IntelliJ, which is what Paper recommends.

Just as another example: Spring documentation also usually has 2 methods of getting the project set up with downloading a template or going through spring initializer. They don't even have a manual setup guide at all.

worthy trellisBOT
#

I think mcdev as a quick get started is great, especially as navigating build tools on day 0 is pretty complex, even with the guides we've got some do fail in the process; I think that the real issue is that we need better templates here, I think that for the most part the default generated files make sense in terms of ensuring that they set some stuff up as expected, but the way they do it is maybe less relevant now that legacy versions were dropped;

only real thing is that the templates aren't kotlin scripts, which kinda sucks a bunch

worthy trellisBOT
#

Both Gradle and Maven can be very overwhelming to a beginner dev. A lot of people looking at that page will realistically have very little, if not zero, experience with Java.
But I rather have people use suboptimal templates than being too overwhelmed and ending up not using a build tool at all.

I wouldn't be against structuring the page a bit differently or splitting it up into a separate one though, the current structure switching back and forth between the mcdev plugin and the manual way is not optimal.

worthy trellisBOT
worthy trellisBOT
#

There was a discussion on the #docs-webiste channel in Discord about what to do about this, and it feels like the consensus was to just update the templates, so this isn't as much of an issue instead. While I still think it'd be better off outside of the Paper documentation, if templates are updated then this will be much less of an issue so it would be fine either way. Will keep the issue open in case people in charge of updating these change their mind.

worthy trellisBOT
worthy trellisBOT
#
[PaperMC/docs] New branch created: fix/fonts
#
[PaperMC/docs] branch deleted: fix/fonts
worthy trellisBOT
#
[PaperMC/docs] New branch created: chore/deps
#
[PaperMC/docs] branch deleted: chore/deps
worthy trellisBOT
worthy trellisBOT
#

This pull request adds new documentation explaining how to use dialog tags for pause screen and quick actions integration, and introduces a new section on using NBT payloads with dialogs in the API. The changes provide detailed code examples and best practices for both registering dialogs with special tags and handling custom NBT data using the adventure-nbt library.

Dialog Tag Registration Enhancements:

  • Added documentation on tagging dialogs with PAUSE_SCREEN_ADDITIONS and QUICK_ACTIONS to integrate custom dialogs into the game's pause screen and quick actions menu, including a full code example for registering these tags in a plugin bootstrapper.

NBT Payload Support for Dialogs:

  • Introduced a new section describing how to attach and read NBT payloads to dialog actions, covering both sending custom NBT data with dialog buttons and handling it with PlayerCustomClickEvent.
  • Provided guidance and code samples for creating NBT payloads using the adventure-nbt library, inclu...
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#
[PaperMC/docs] New branch created: fix/packet-threshold-vanilla-default
worthy trellisBOT
worthy trellisBOT
#
[PaperMC/docs] branch deleted: fix/packet-threshold-vanilla-default
worthy trellisBOT
#
[PaperMC/docs] New branch created: update-checker
#

Pull request overview

This PR adds comprehensive documentation for Paper's built-in automatic update checker feature, which notifies server administrators when new versions are available.

Key Changes

  • Created new documentation page explaining the update checker feature, how it works, what data is transmitted, and configuration options
  • Added system property reference for the JVM argument to disable the update checker
  • Updated configuration schema to document the YAML-based configuration option

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.

File Description
src/content/docs/paper/admin/misc/update-checker.md New documentation page explaining the update checker feature, data collection, and configuration methods
src/content/docs/paper/admin/reference/system-properties.md Added documentation for the paper.disableStartupVersionCheck JVM system property
src/config/paper/p...
#

The version number format "1.21.11" may be ambiguous to readers. If this refers to Minecraft 1.21 build 11 of Paper, consider clarifying the format (e.g., "Paper 1.21 build 11" or "Paper 1.21-11") to avoid confusion with semantic versioning.

Since Paper 1.21 build 11, Paper includes a built-in update checker that notifies server administrators on startup when a new version of Paper is available.
#

The phrasing "Currently none of that is stored or analyzed" is unclear and could be confusing to readers. Consider rephrasing to something more precise, such as "This information is not currently stored or analyzed by PaperMC, though requests pass through CloudFlare" to improve clarity.

This information is not currently stored or analyzed by PaperMC, though requests pass through CloudFlare.
#
[PaperMC/docs] branch deleted: update-checker
worthy trellisBOT
worthy trellisBOT
#
[PaperMC/docs] New branch created: fix/velocity-anno-processor
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#

In the Custom configuration files section, it says the config file must exist else an error will be thrown. This doesn't match the real behavior of Bukkit configuration API.

YamlConfiguration.java
    @Override
    public void loadFromString(@NotNull String contents) throws InvalidConfigurationException {
        Preconditions.checkArgument(contents != null, "Contents cannot be null");
        yamlLoaderOptions.setProcessComments(options().parseComments());
        yamlLoaderOptions.setCodePointLimit(options().codePointLimit()); // Paper

        MappingNode node;
        try (Reader reader = new UnicodeReader(new ByteArrayInputStream(contents.getBytes(StandardCharsets.UTF_8)))) {
            Node rawNode = yaml.compose(reader);
            try {
                node = (MappingNode) rawNode;
            } catch (ClassCastException e) {
                throw new InvalidConfigurationException("Top level is not a Map.");
            }
        } catch (YAMLException | IOException | Class```...
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#

๐Ÿ’ก Summary and Context

While troubleshooting item lag and rubber-banding behavior during water transport on a Paper server, the root cause was identified as the entity-activation-range configuration - specifically for miscellaneous entities (items). Although the configuration works as intended, the current documentation is unclear for users who are not already familiar with Paper's internal mechanics, making it difficult to understand the impact of this setting and diagnose related issues.

For reference: #paper-help message

โœจ Core Features / Desired Solution

  • Improve the documentation description for entity-activation-range.
  • Clearly explain that item entities (e.g., dropped items in water streams) are affected by activation range and may tick at slower rates when outside player proximity.
  • May describe how reduced tick rates can cause visual rubber-banding, lag, or apparent "backward teleportation" of items.
  • P...
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#
[PaperMC/docs] New branch created: fix/j22-velocity-dependency-maven
worthy trellisBOT
#
[PaperMC/docs] branch deleted: fix/j22-velocity-dependency-maven
worthy trellisBOT
worthy trellisBOT
#

Is this really 'explained' better though? The added doSomeAsyncProcession method definitely helps in understanding the code flow, though the continuation method names being pretty descriptive made the original logic almost easier to understand, as there was no if/else involved.

Furthermore, discarding lambda parameters _ are a recent Java feature. I am not entirely certain if we should include that in the docs at this point, as I suspect most code bases still being centered around Java 21.

I personally think that if people really have problems with async handling, the following section, which tries to explain the continuation system, should be improved, if anything. Another possible solution might be to add some comments to actually explain which part is executed when and what the result of it is.

worthy trellisBOT
#

The thing is that the previous example used code used an external lib not well known or was supposed to represent a concept that some users didn't understand this makes it clear and also shows how the resume methods are used.

Also the _ will be highlighted by Intellij if it isn't possible so that shouldn't be a problem. (This is Java 22+, Velocity is Java 17)
Can change this though if desired

worthy trellisBOT
#
[PaperMC/docs] branch deleted: fix/velocity-anno-processor
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#

The annotation processor, which is currently recommended to be used, is not exactly the nicest to use for anything slightly more dynamic (since variable substitution is hard). For this reason, we should document the Velocity plugin JSON file in order to make the manual inclusion possible.

I also think we should remove (or at least inline) any mentions of the AP for generating that file and instead make manually writing the file the preferred way.

worthy trellisBOT
#

Description

Adventureโ€™s SPI system provides powerful extension capabilities that are highly valuable for advanced developers building platforms, middleware, or framework-style plugins. However, practical documentation and real-world examples of SPI usageโ€”especially for MiniMessage providersโ€”are currently limited.

This issue proposes adding a small documentation section demonstrating how a plugin can provide its own MiniMessage.Provider via SPI, enabling controlled customization within a plugin classloader without affecting global behavior.

Real-world example:
https://github.com/OneLiteFeatherNET/Titan/blob/201b087b9e031e41b9fcc917146cfd9803917aaf/common/src/main/java/net/onelitefeather/titan/common/utils/component/TitanMiniMessageImpl.java


Why documenting this would help

Documenting this pattern would:

  • Help advanced developers understand how Adventure can be extended safely via SPI
  • Provide clarity on plugin-classloader-scoped MiniMessage customization
  • R...
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#

0559ed6 [ci skip] fix: only check Javadoc links in CI - zlataovce
e9ec614 feat: include commiter's avatar in LastUpdated foo... - Toffikk
c675ee8 chore: allow beta versions as latest, remove versi... - zlataovce
68d5526 chore: update particles for 1.21.9/10 (#651) - Privatech38
dbcca4a feat: generate Javadoc link text automatically (#6... - zlataovce
1d9e1fc chore: add javaLauncher property documentation (#6... - Strokkur424
d361981 feat(paper): remove mention of deprecated teleport... - Doc94
52c9688 fix(paper/dev): display guide uses wrong setTelepo... - Doc94
92be1e5 fix: a few typos for server.properties - Lulu13022002...

worthy trellisBOT
worthy trellisBOT
#
[PaperMC/docs] New branch created: feat/paper-cli-args
worthy trellisBOT
#
[PaperMC/docs] New branch created: feat/velocity-plugin-json
worthy trellisBOT
worthy trellisBOT
#

I think it should either be mentioned what the name and ID are actually for, because most logging just uses the ID so either that should be refactored, or this behaviour be documented. (The name is also mostly in-game facing)
I'm also not sure why you omitted parts of the spec in your example, because I think the author/url field is a good source indicator, that should be recommended.
Also I think this page could be a bit more compact, like putting a required indicator in your example or in the header of the entries itself and/or not have these giant spaces.
Lastly IMO the page should be under the "Creating your first plugin" page or be a sub-page and be mentioned in the:
https://papermc-feat-velocity-plugin.papermc-docs.pages.dev/velocity/dev/creating-your-first-plugin/#setting-up-the-dependency section, not just the file itself.

worthy trellisBOT
#

right now we have a cache rate of 0% at cf for content pages because they set a cache control max age of 0
we should set it to something sensible, like at least an hour.
I didnt find anything on how to do this with starlight, which is pretty embarrassing, maybe we need to do it at CF

worthy trellisBOT
worthy trellisBOT
#
[PaperMC/docs] branch deleted: feat/paper-cli-args
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#

I'm a Chinese-speaking user and would like to help translate the documentation into Simplified Chinese, so more people in the Chinese Minecraft community can use it.
๏ปฟ
Before I start, I wanted to ask:

  1. Is the documentation open to adding new languages (like zh-Hans)? I saw the docs are built with Starlight, which seems to have great i18n support.
  2. What would be the preferred way to contribute? Should I just maintain a separate fork( If you don't agree to add i18n ), or would you be open to merging translations directly into the official repo (e.g., under src/content/docs/zh/) via PRs?

Thank you very much.

worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#
[PaperMC/docs] New branch created: update/26.1
#

This PR prepares the Paper docs for Paper 26.1. Core aspects include:

  • [x] Update to Java 25.
  • [x] Remove unused system properties (technically part of 1.21.11 as well, but might as well include it here.)
  • [x] Update userdev page in preparation of the removal of obfuscations.
  • [ ] Update registry arguments reference.

More TODO points may follow once the Paper 26.1 update cycle advances.

worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#
[PaperMC/docs] New branch created: chore/deps
worthy trellisBOT
worthy trellisBOT
#

See https://github.com/PaperMC/Velocity/pull/1743#issuecomment-4094336542

Though this change in Velocity aligns it with vanilla MC (~32kb plugin message payload limit), it seems like modded minecraft increases this limit. I think it would be useful to mention this here in the docs; increase this value (velocity.max-plugin-message-payload-size) when you're getting errors and are using server-side mods on the backend servers.

Example error log:

[11:46:06 ERROR]: [server connection] ... -> ...: exception encountered in com.velocitypowered.proxy.connection.backend.BackendPlaySessionHandler@775d12ab
io.netty.handler.codec.CorruptedFrameException: Packet sent for class com.velocitypowered.proxy.protocol.packet.PluginMessagePacket was too big (expected 229378 bytes, got 515269 bytes)
worthy trellisBOT
#
[PaperMC/docs] branch deleted: feat/velocity-safeguard-props
#
[PaperMC/docs] branch deleted: chore/deps
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#

a79c678 chore(velocity): add mention of Snap to FAQ entry... - Phoenix616
2f8f228 feat(paper): document CLI arguments (#734) - Strokkur424
5f52a6a chore(paper): update Spigot migration plugin compa... - Strokkur424
2a85640 feat(misc): automatic Hangar page updates (#718) - Hallo5000
e4d7912 feat: link to non-leaf configuration nodes - zlataovce
c3711af chore: remove unused selector - zlataovce
c18fbc0 Clarity in Velocity Description (#738) - jacklak-redstone
6da747a feat(folia): document Folia support requirement in... - Chamogelastos
c3f886f feat(velocity): note about CrossStitch (#743) - Flix3r...

worthy trellisBOT
#

761a62f feat(adventure): rewrite community library page (#... - kezz
4701836 chore: update Velocity Java requirement (#729) - RealBauHD
af5df29 chore: update Velocity Java requirement in dev (#7... - RealBauHD
4de4a40 --nogui - kashike
a79c678 chore(velocity): add mention of Snap to FAQ entry... - Phoenix616
2f8f228 feat(paper): document CLI arguments (#734) - Strokkur424
5f52a6a chore(paper): update Spigot migration plugin compa... - Strokkur424
2a85640 feat(misc): automatic Hangar page updates (#718) - Hallo5000
e4d7912 feat: link to non-leaf configuration nodes - zlataovce
c3711af chore: remove unused selector - zlataovce...

worthy trellisBOT
worthy trellisBOT
#

6da747a feat(folia): document Folia support requirement in... - Chamogelastos
c3f886f feat(velocity): note about CrossStitch (#743) - Flix3r
5622e6f feat: document new Velocity system properties (#74... - Warriorrrr
09c34d1 chore: Astro 6, remove D2 requirement, bump depend... - zlataovce
2681747 chore(paper): fix spelling mistake in reference/co... - ThatGuyJustin
daebfc4 Merge branch 'main' into update/26.1 - Strokkur424

worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#

Adventure v4.26.1 introduced a new format for the show_item hover action to support the new 1.20.5 data components. Since this is already included in Paper 1.21.11 for example, it would be good to document it.

In v4.26.1, the following formats for show_item are supported:

  1. <hover:show_item:(namespaced key)>, as in <hover:show_item:dirt>
  2. <hover:show_item:(namespaced key):(item amount)>, as in <hover:show_item:dirt:5>
  3. <hover:show_item:(namespaced key):(item amount):(snbt compound tag)>
    • Example: <hover:show_item:'minecraft:stone':6,'{display:{Name:{"text": "Hello from Stone!"}}}'>
    • The compound tag will be the value of the item's tag key as documented on minecraft.wiki.
    • This format will no longer be supported in Adventure v5.
  4. <hover:show_item:(namespaced key):(item amount):(data component key 1):(data component value 1):(data component key 2):(data component value 2):(any number of other key-value pairs)>
    • Example: <hover:show_item:'minecraft:dirt':5:custom_nam...
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#
[PaperMC/docs] New branch created: chore/finding-plugins
#
[PaperMC/docs] branch deleted: chore/finding-plugins
worthy trellisBOT
#

This PR updates the MiniMessage format documentation, specifically for the hover tag by changing the following:

  • adding missing documentation for show_item action's modern approach to argument format,
  • improving the action - argument format table by separating the argument format to a separate column and
  • adding an aside and badge warning the reader of legacy show_item argument format.

Closes #749

worthy trellisBOT
worthy trellisBOT
worthy trellisBOT
#

closes #731

I actually decided against outright removing mentions of the AP, as it is useful for beginners and honestly doesn't really hurt most people. But having the actual file documented seems like a good thing.

I'm grateful I began exploring Velocity yesterday and was pondering, "What exactly is the velocity-plugin.json? Is it similar to the paper-plugin.yml, so what is the purpose of the @Plugin annotation?"
This PR provides me all the information needed, thanks !