Not accurate anymore too
#docs
1 messages ยท Page 2 of 1
Not accurate, it's not slow now
That's not accurate anymore you changed the time to 40 ticks
Is that really needed? the visual is already shown on the other video so people can imagine what this will do
Your particle videos don't loop, maybe you wanna fix that ๐
@Strokkur424 wdym by that? Are the clouds twitching a problem?
Oh wait I see it now. Works on my machine tm. I have no idea why the preview doesn't loop them? I view them in the same browser
That api is experimental, need the flag + warning
Menus created using this API **follow the same logic as Vanilla**, meaning they are fully
That's fair tho all the view don't have their own sub type, so might mention InventoryView#getMenuType for more control depending on the use case.
A bit too redundant on "the server"
Should probably be static just for the example, same for the map
I wonder if it's worth to have like a list of the things people are required to know before each guide especially when it's already available on the docs, a bit like this note but more generalized across the site.
Missing the experimental warning
Any reason to use the component logger for plain message?
Get the server from your plugin (this#getServer)
That looks weird (paper-plugin.yml plugin)
What's the alternative though? Calling it "Paper plugin" is confusing, and the migration to "lifecycle plugins" is not at all official. Whilst it does look a bit weird, this is the most unconfusing phrasing I could come up with.
I've never really thought about it much, but does it actually make a difference in any way? (I will change it, but I am just curious).
Maybe some 'perquisites' sidebar label for each page could be cool? Will have to poke scorp about it.
Right, ignore this i think there was a whole discussion about renaming "paper plugins" and all, i personally disagree with the lifecycle plugins term too.
Not really, just to not encourage static abuse especially when it's not required too, the fact that Bukkit hold the whole Server methods is a bit messy imo.
Generally a nice guide, couple of things to add but nice work! :)
Pretty sure itโs a typo, if it isnโt it needs changing cause Iโve never seen it in my life :P
This bracket makes this sentence quite hard to read, needs some more punctuation or something after it.
It's supposed to be an abbreviation for 'as example', but yeah might not be a good fit if most people are unfamiliar with it ๐
Not a trailing slash. Its a preceding slash.
is plaintext usually one word or is it hyphenated or something?
Lets also document the behavior of Audience#closeDialog. It's got some quirks with how it behaves afaik.
can this be configured in the astro.config.ts file instead, so the EC configuration is in one place?
Didn't know you could do that. It's in the astro config now.
According to Google it is two words, so I will take their word for it.
idk maybe it could useful for people because its features
I did give a try at documenting the closeDialogs, but I couldn't really figure out the weird quirks. It just worked basically exactly as I would expect, but in normal gameplay and during the config phase. If you have something specific in mind, I would appreciate a follow-up message.
[PaperMC/docs] New branch created: chore/improve-basic-command-docs
3918d18 feat: Improve basic commands page and advertise th... - Strokkur424
- Improves the basic commands page by suggesting the simpler way of registering commands.
- Adds a tip aside in the introductory page to slightly advertise their use for people not wanting to jump into the hell that is Brigadier.
Add in big scary text that says Brigadier is better for a more sorted command tree
lgtm except for one minor grammar mistake
Because you only have to override one method, you can directly pass in a lambda statement. This is not recommended for styling
4d065c7 Fix grammar mistake - Strokkur424
9cddda8 Add note on overriding the canUse method - Strokkur424
f1ad231 Various smaller changes - Strokkur424
[PaperMC/docs] branch deleted: chore/improve-basic-command-docs
[PaperMC/docs] branch deleted: feat/menu-type-api
I am merging this so that we have something to link to people instead of always just linking the preview. If there are any further issues with it, fixup PRs can always be made.
625d825 Remove unused config value - Strokkur424
08aef6b fix(menu-type-api): invalid javadocs link - Strokkur424
[PaperMC/docs] branch deleted: feat/signed-message
there's a reasonable expectation that a static classpath resource, such as a datapack or plugin config file, will exist, worst case it fails with a NPE at toURI, so why is this specially pointed out
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.
teaching fail-fast error handling is not in the scope of this page, especially when it's not relevant in the context of the example
having the requireNotNull call is just fine to emphasize the nullability, but this aside is unnecessary in my opinion
Very well, I will remove it ๐
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" />
I would reword this to something in the lines of "should output something similar to:"
4a0ac84 feat: datapack discovery lifecycle API docs (#631) - Strokkur424
[PaperMC/docs] branch deleted: feat/datapack-discovery
ac289cb Group together inventory-themed pages - Strokkur424
[PaperMC/docs] New branch created: chore/group-inventory-pages
1471ef1 chore: add more aggressive caching - Strokkur424
[PaperMC/docs] New branch created: chore/aggressive-caching
e8234d5 fix incorrect path value - Strokkur424
9e6f1d5 Do a random commit because I need to test out the... - Strokkur424
4288f83 Also cache .astro folder - Strokkur424
9e322cc I hate love gh actions - Strokkur424
b08b861 chore: Add more aggressive GitHub actions caching... - Strokkur424
[PaperMC/docs] branch deleted: chore/aggressive-caching
[PaperMC/docs] New branch created: fix/caching
c6c0f2a let's try putting it after the setup node step - Strokkur424
[PaperMC/docs] branch deleted: fix/caching
0056111 chore: group together inventory-themed pages (#636... - Strokkur424
[PaperMC/docs] branch deleted: chore/group-inventory-pages
[PaperMC/docs] New branch created: fix/only-cache-sharp
9e2f5dd fix: only cache sharp output - Strokkur424
[PaperMC/docs] branch deleted: fix/only-cache-sharp
Checking the JavaDocs for that interface, it seems the only place where the RegionAccessor is used is the World interface. There are no methods which return a raw RegionAccessor or a LimitedRegion (its second subinterface).
Documenting the World API sounds logical though.
LimitedRegion is used in BlockPopulator
It is used there, but I don't see any way how you could retrieve a LimitedRegion
you extend BlockPopulator and the ChunkGenerator supplies it to your populator
I'd like to get rid of the black bar at the front but I'm no webdev and couldn't figure it out.
description: The delay before retrying POI acquisition when entity navigation is stuck. This will reduce pathfinding performance impact. Measured in seconds.
I have been messing with projectiles, It has potential, you could put in in the Entity Api category
[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.
This got lost (should be part of disable-chorus-plant-updates)
Can you fix the escape and formatting here while you're at it?
Maybe note what happens in relation to the new gamerule (applies to the other similar option)
[PaperMC/docs] Pull request opened: #643 Fix name mismatch between rising particles list and chapter
This PR fixes a name mismatch between the Rising particles chapter's name and its list
ccc76a0 fix: name mismatch between rising particles list a... - Privatech38
I assume you meant the globalSoundEvents gamerule
4b01a7d chore: apply Lulu's suggestions - Strokkur424
680a1cc fix: rephrase description - Strokkur424
fd64e8a feat: Document allow-remote-ender-dragon-respawnin... - Strokkur424
[PaperMC/docs] branch deleted: chore/document-dragon-spawn-performance-improvements-setting
Bad copy paste, same below and the gamerule is set by default to true so the wording could be improved a bit.
Looks good one last thing i just noticed but setting to 0 (or less btw) doesn't mean global/cross dimension (= gamerule -> true), it just means it will use the vanilla range (which is 64 blocks atm).
Is 64 blocks the same for all sounds? Including dragon deaths, wither spawns, and end portal openings?
Note that it can be used for folia's schedulers
<img width="821" height="306" alt="Image" src="https://github.com/user-attachments/assets/e200fec3-f514-4292-9be6-8bf1a3be2786" />
<img width="779" height="182" alt="Image" src="https://github.com/user-attachments/assets/67572158-a05f-4b8e-a7a5-0b9ebcd8cf31" />
This PR close https://github.com/PaperMC/docs/issues/645 where the order/priority docs for events are outdated with the current behaviour
- PostOrder.CUSTOM not necesary since https://github.com/PaperMC/Velocity/commit/7392cd6574fcc5b1496fe4c3ac2b6fa7c8e993d7
- order field for Subscribe deprecated since https://github.com/PaperMC/Velocity/commit/4f227badc20dc30b0f6d84b5349c8809481dcbb1
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.
Two things:
-
Looking at the source code, it seems that
0is the new defaultpriority. Could you maybe change the value here to reflect that? -
More generally, I think we should rephrase this part around here a bit, considering in this example we don't use any order at all, rather we should refer to it as priority. (Also true for L38).
Seeing as the priority is 0 to default, could we not just remove the explicit mapping here entirely?
okay.. maybe add two methods with diff priority.. this can help to understand this part i hope.
You would want to keep the indentations in-sync. You got 4 spaces at top and only two here. I also dislike the use of the word 'other' here. Generally this whole "do stuff" thing feels oddly worded.
Perhaps rephrase both of these to something like this?
// this method fires first
...
// this method fires after the one above
This system property was introduced in https://github.com/PaperMC/Velocity/pull/560 but was never documented.
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.
It would be nice to add a section for the Paper built-in commands with a description and/or an explanation of the output, for example /paper chunkinfo - explain the usage and the output (what are inactive/total/full etc)
This PR updates docs to match changes to particles in 1.21.9. As of writing this comment 1.21.9 is not out yet and therefore JD links are missing for SpellColorOptions and whatever will be used for dragon breath's power argument.
[PaperMC/docs] New branch created: feat/paper-command
9ef710b feat: document the /paper command - Strokkur424
I am closing this for being stale. If the rebrand ever goes through, it should be a new PR; no point rebasing this one.
Closing this as stale.
Grammar correction. Incorrect indefinite article.
I think the page should be generalized to commands, because there are also other noteworthy commands inherited from Spigot
[PaperMC/docs] Pull request opened: #654 bump(dialogs): bump written version of dialog API to 1.21.8
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.
If a user leaves during configuration phase...
- the thread will be blocked forever if the user leaves the server
- the
awaitingResponsemap 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.
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 ;)
Whilst we are at the topic of cleaning this up, perhaps adding handling for when this happens would be good? Because if nothing has been done after two minutes, a dangling reference will be left in the map.
Reflect changes from Velocity#1422.
Prequirement:
- [ ] This PR requires Velocity#1422 to be merged before this one can be finalized.
Updated diamond sword crafting recipe details.
omg i did it wrong...
Iโm not sure what happened here, idk if this was on purpose but makes sense to changeโฆ
Maybe it would make sense to switch from a sword to a pickaxe? The current version doesn't clearly show that there are spaces before and after the letters.
The only nitpack that I have is that it would be nice to show how you can also clean up the map using the PlayerConnectionCloseEvent event too.
As the related PR has been merged, can we get this merged now too?
I think this was done on purpose (not the description), it's useless to add a craft that already exists in the game. Maybe the method could be written as:
recipe.shape(
" A ",
"AAA",
" B "
);
The diamond sword would be in the middle column of the bottom row
That part is weird too it should be in the result slot?
Might also mention the tinted_leaves case to clear any confusion (the codec require you to write it with the alpha in the particle command yet not used in the client).
Minor changes, but otherwise LGTM! Thank you :D
Can these link to the JIRA? In the old docs we had a placeholder that could do it for us just with the bug id
Can we bring this to above the TOC?
Can we move this to above Migrating from other APIs?
Can this be info rather than danger?
This doesn't link to the page
Are you referring to the version history category? Everything else already is above it.
title: MiniMessage API
I am confused, is this supposed to be a table?
FFTI: Would be nice to have a divider between each release
methodologies. This page goes over some notable differences.
In the original it isn't, but I think having this as a table would be fine, which is why I am gonna do that.
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...
48f324f chore: improve code example for the Dialog API (#6... - novitpw
Thank you for the pull request!
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.
[PaperMC/docs] branch deleted: convert-functions
Points to cover
- extend
.Single - how only the terminal methods are overridden
- Use in cross-platform plugins
Example use cases
public class GameTeam implements ForwardingAudience {
private final List<GamePlayer> players = new ArrayList<>();
// ....
@Override
public @NonNull Iterable<? extends GamePlayer> audiences() {
return this.players;
}
}
_Migrated from https://github.com/KyoriPowered/adventure-docs/issues/8_
There's currently nothing on adventure-nbt, so everything needs to be covered
Key points
- Immutability
- Serializing to binary format
- Working with string format -- in its various iterations
_Migrated from https://github.com/KyoriPowered/adventure-docs/issues/9_
Like a lil feature comparison table with cute ticks and crosses.
_Migrated from https://github.com/KyoriPowered/adventure-docs/issues/36_
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:
- What is a component?
- structured representation: the text form represents the data structure, rather than being marked-up text
- different types of content
- tree structure: see style
- appending: children in the tree (visual here?)
- Where did components come from?/Why do we want to use components?
- history: 1.7.2 introduction, 1.13 most of the server converted to use them, 1.16 client text renderer converted
- originally: a way to be more explicit about links and other rich styling
- references:
It would be nice to split pointer docs into it's own page(s) with the following aspects:
- [ ] Usage of the API
- [ ] Standard, Adventure-provided pointers
- [ ] Community additions (if any, open for additions for platforms/etc) - is this even something we should encourage?
_Migrated from https://github.com/KyoriPowered/adventure-docs/issues/87_
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 with a component/something.
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_
Should include an example of how to use/setup the library, in addition to how to integrate it with the ANSI serializer
_Migrated from https://github.com/KyoriPowered/adventure-docs/issues/163_
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.Providerinterface, for controlling conversions between different data component value types - the
ClickCallbackprovider, to implement callbacks ComponentLoggerProviderto provide appropriate serializers for component logging
_Migrated from https://github.com/KyoriPowered/adventure-docs/issues/167_
Answering the same questions over and over about newlines in lore is a bit of a bore, we should give info in the docs about good solutions that don't involve splitting the component after creation.
_Migrated from https://github.com/KyoriPowered/adventure-docs/issues/206_
I will note that a similar set of misunderstands occured over the command system and we had a fair amount of good results with adding a lot of pretty diagrams, etc; to explain basic trees
These links lead to a 404
Was also mentioned here but seems to have been forgotten: https://github.com/PaperMC/docs/pull/573#discussion_r2097747453
f8552f9 fix(adventure): community library links (#671) - Siebrenvde
Thank you! That was indeed an oversight.
I don't know about naming them prerequisites. Maybe "See also" or something.
This just replace the mentions for the Wiki RAW-JSON to the new article for avoid the unnecesary redirection.
a0192b6 chore: raw JSON -> text component format wiki link... - Doc94
| 1.21.6-1.21.8 | 4.23.0 | 6.6.0 |
pretty sure 6.6 supported the same mc versions
true i think... but that also move the adventure to 4.24.0 no?
A tag like <pride[:flag]> follows the convention while sprite and head do not.
The format is written as:
<sprite:[atlas]:<sprite>>, should be<sprite[:atlas]:_sprite_><head:<name|uuid|texture>:[outer_layer]>, should be<head:name|uuid|texture[:outer_layer]>
If pride tag doesn't match a flag it will attempt to parse the argument to a double used as a phase.
I believe we want to discourage people from using ItemMeta. Could you change this to instead use the ITEM_NAME data component?
And whilst we are at it, I believe it is good practice to keep keys in lower snake case. The previous example did not do that either. Just lowercasing the value here should be fine.
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(?)
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.
The javadocs are still broken
Almost every interface/class that was annotated with `@ApiStatus.NonExtendable` has now been made sealed.
This PR replaces the mentions to the docs.advntr.dev to the migrated docs in docs.papermc.io
Not sure about use static reference to github
Not sure about use static reference to github
I was considering permalinks but it would get outdated if they were to change the classes, if you're fine with that then I'll just change those into permalinks. Should be fine unless they were to move the class around or change the branch name honestly
b2d947a chore(adventure): add source links for dynamic rep... - JavierFlores09
lgtm from an editorial standpoint, going to merge this once 1.21.10 becomes stable
b60db31 fix(adventure): include phase in pride tag argumen... - Privatech38
6c553ea fix(adventure): use existing convention for head a... - Privatech38
Assuming the content is correct, looks fine style wise
Do we maybe want to revert this before merge?
once 1.21.10 is stable and can be resolved by that call, yes
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...
04c93c6 fix(spigot-config): setting sound radius to 0 uses... - Strokkur424
6a7a698 fix(spigot-config): setting sound radius to 0 uses... - Strokkur424
[PaperMC/docs] New branch created: feat/paperweight-javalauncher
63cc27e chore(paper/dev): add javaLauncher property docume... - Strokkur424
I think you can leave this out as you describe what people need to do above.
a794a53 chore: another rephrase - Strokkur424
setting paperweight's `javaLauncher` property to a different Java version.
lgtm from an editorial standpoint, also this page is admonition galore
Corrected wording for clarity in documentation.
[PaperMC/docs] New branch created: feat/debug-invalid-ids-prop
c84f286 Document debugEntitiesWithInvalidIds system prop - Warriorrrr
the MW dictionary supports using below as an attributive adjective, but the general consensus seems to be that it's wrong, so lgtm
A given dev bundle may not always support the Java toolchain Gradle is configured to use (whether configured explicitly or inherited from the Gradle runtime).
:::note[Configuring the Java toolchain for userdev setup]
If you are getting an error during the execution of `paperweightUserdevSetup` (especially patch application failures), you can try
For example, with 1.17.1:
The multi-project branch on the userdev test project also makes use of this feature
lgtm from an editorial standpoint, also this page is admonition galore
Maybe a future project could be splitting it into multiple pages
bedb789 feat: apply jmp's suggestions - Strokkur424
I think userdev has grown big enough that it warrants more than just one page. It could also include all documentation currently "documented" in https://github.com/PaperMC/paperweight-test-plugin.
Another reason would be because the userdev page has a lot of asides, which should be split up/improved (https://github.com/PaperMC/docs/pull/681#issuecomment-3448010168)
[PaperMC/docs] New branch created: fix/lighthouse
fixes some stuff I found while looking at the Lighthouse report; the logo on the root page will be a tad bit larger, but I don't think it's worth overriding all that Hero stuff to change it
9a08270 Document debugEntitiesWithInvalidIds system prop (... - Warriorrrr
[PaperMC/docs] branch deleted: feat/debug-invalid-ids-prop
fba345e feat: add MiniMessage language specification - Strokkur424
[PaperMC/docs] New branch created: feat/minimessage-format-specs
e8c574c fix: dash is also a valid identifier character - Strokkur424
bb9a4eb fix: minor issue in mm tmLanguage scopeName - Strokkur424
const info: CommitterInfo = { name, href: `mailto:${email}` };
should probably be in a class
That part was added because of typecheck complaining on my modified fork of paper's docs so i feel like it's best to stay
should work fine without it if you make the property optional
e9ec614 feat: include commiter's avatar in LastUpdated foo... - Toffikk
c675ee8 chore: allow beta versions as latest, remove versi... - zlataovce
I pushed a commit into main that should just bump version references to the latest beta and allow your PR to build without the patch, I'm going to just merge it since it doesn't really make sense to wait for stable this long
68d5526 chore: update particles for 1.21.9/10 (#651) - Privatech38
[PaperMC/docs] New branch created: chore/pretty-jd
9d150ac feat: generate Javadoc link text automatically - zlataovce
Got a little frustrated over the inconsistency of these, so added a way to have it be generated from the reference.
It is demoed on the "Chat events" page.
I think here just showing render without the parameters is cleaner, as the method is shown above and the params are explained below
I feel like this is important enough to keep for the people developing for older versions, so maybe put an aside that it's no longer applicable (and add a version tag to the page please)
- The [`render`](jd:paper:io.papermc.paper.chat.ChatRenderer#render(org.bukkit.entity.Player,net.kyori.adventure.text.Component,net.kyori.adventure.text.Component,net.kyori.adventure.audience.Audience)) method is called when a chat message is sent to the player.
dbcca4a feat: generate Javadoc link text automatically (#6... - zlataovce
[PaperMC/docs] branch deleted: chore/pretty-jd
presuming the comments have been resolved since no additional review has been given
1d9e1fc chore: add javaLauncher property documentation (#6... - Strokkur424
[PaperMC/docs] branch deleted: feat/paperweight-javalauncher
the casing is a bit wonky in several places beyond my comments, but otherwise lgtm
As far as I'm aware of that's just the grammatical rules of titles in English. Basically everything but "a" should be uppercase if I'm not mistaken?
As far as I'm aware of that's just the grammatical rules of titles in English. Basically everything but "a", "the", etc. should be uppercase if I'm not mistaken?
See Title case (but Wikipedia itself doesn't use that but sentence casing, which imo. Is easier to read but can feel unnatural in headings)
we use sentence case in most places throughout the site
Since 1.21.10, this flag does not do anything, as it's been made the default behavior when teleporting entities.
This PR fix an issue in the example for Display Entity setTeleportDuration use where the value is out of the valid range.
ref:
5 is still outside the allowed range no?
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)
if we're handing out code examples of stuff this really should follow the safe standard practices, such as using TWR to ensure that we clean up
Not ultra familiar with jooq but this doesn't appear to be valid?
Should I add a catch block as well? Or that throws signature is enough?
I used that syntax to avoid bloating the example
Will have to see what the others say, I'm just not fond of truncated code examples where it's not clear that they're truncated
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
set() does not exist on the object returned from selectFrom
I just saw what you meant, I made an error there and dragged the error here.
My Snap project was until now only mentioned on the comparison page but people might be looking at the FAQ too to find out about what kind of plugins Velocity can run. This adds a note to the FAQ alongside (imo) amble warnings about it being a last resort and the same disclaimer as on the comparison page.
90bf979 fix(adventure): JSON serializer page typo (#693) - jacklak-redstone
5a5de22 feat(misc/databases): expand PreparedStatement sec... - Biquaternions
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.
1f9fb12 Document paper.maxChatCommandInputSize - Warriorrrr
[PaperMC/docs] New branch created: feat/max-command-length-prop
- **description**: The maximum length a chat command may have. A Vanilla client cannot send more than 256 characters.
6c1762b Update src/content/docs/paper/admin/reference/syst... - Warriorrrr
da4f638 feat(paper): document paper.maxChatCommandInputSiz... - Warriorrrr
[PaperMC/docs] branch deleted: feat/max-command-length-prop
Would wanna set vanilla to false too so it show up in https://docs.papermc.io/paper/vanilla/
Would wanna set
vanillato false too so it show up in https://docs.papermc.io/paper/vanilla/
done
I was abit confused when I first read the snippet "setproxies.velocity.online-mode to the online-mode setting". At first, thinking it was to set the value of that config option to online-mode. I ultermately figured out it was to match the config option, but I figure it's probably a good idea to just explicitly put the word "to match the".
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...
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.
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
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.
Enchantments can be added using the registry, which makes PDC-based enchantments obsolete. Closing this in favor of the data-driven way, which has already been documented on the registries page.
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.
Get latest stable build script will now always retrieve the latest stable build.
GraphQL examples now use pagination.
[PaperMC/docs] New branch created: fix/fonts
[PaperMC/docs] branch deleted: fix/fonts
[PaperMC/docs] New branch created: chore/deps
[PaperMC/docs] branch deleted: chore/deps
d603c60 [ci skip] chore: move Cloudflare configuration fil... - zlataovce
This adds documentation for several missing keys of Velocity's config
489b045 fix: add missing documentation of advanced Velocit... - Phoenix616
lgtm provided nothing changes
timer as if they were stuck in the ground, after a delay (in ticks).
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_ADDITIONSandQUICK_ACTIONSto 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-nbtlibrary, inclu...
looks good apart from a couple of nitpicks
would probably dedent this
ActionButton.create(
Component.text("Confirm", TextColor.color(0xAEFFC1)),
Component.text("Click to confirm your input."),
100,
DialogAction.customClick(Key.key("papermc:user_input/confirm"), null)
)
### Pause Screen Additions and Quick Actions
#### Creating payloads with `adventure-nbt`
The `BinaryTagHolder.binaryTagHolder` factory method requires an SNBT-formatted string. We can either construct this string manually, or use
Throwing this here so it can be tracked... t
The current incoming-packet-threshold recommendation is not ideal and should be revisited when possible.
Not sure about the rest of the config but this is the one people are having issue with...!
:3
On the system properties page, paper.log-level is used as an example property to show how you work with them. It would be better to replace this with an existing property or show more clearly that it's purely for example, to prevent people from thinking it's a real flag and asking what the other values for it are.
ec2b571 Use disabled for vanilla incoming-packet-threshold - Warriorrrr
[PaperMC/docs] New branch created: fix/packet-threshold-vanilla-default
Closes #704 and also fixes something I missed in #627
Blocked by https://github.com/PaperMC/Paper/pull/13477
This setting defines which item data components shouldn't be sanitized in oversized item obfuscation.
Changing this re-enables exploits, but may be needed for certain resource packs.
Possible values: `minecraft:container`, `minecraft:charged_projectiles` , `minecraft:bundle_contents`
5921384 fix(paper): misleading system property example - zlataovce
de5064d fix: use disabled for vanilla incoming-packet-thre... - Warriorrrr
[PaperMC/docs] branch deleted: fix/packet-threshold-vanilla-default
[PaperMC/docs] New branch created: update-checker
1383098 feat: document the update checker - MiniDigger
Sorry, didn't see this, handled in #707
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.
The JVM argument documentation is incomplete. It only shows the flag name without a value assignment. The documentation should clarify whether this should be set as -Dpaper.disableStartupVersionCheck=true or if the flag alone (without a value) is sufficient to disable the checker.
-Dpaper.disableStartupVersionCheck=true
Missing period at the end of this sentence. The sentence should end with punctuation for consistency with the rest of the documentation.
Additionally, you can manually check for updates at any time by running the `version` command in the server console (or in-game with appropriate `minecraft.command.version` permissions).
i feel this sounds more "the person IP" rather than the "the server IP"
I had server IP before but that is also missleading, as its not your hostname or whatever.
how do you feel about "Your servers client IP"?
hmm still feel strange the servers client, or maybe its just how i read
d70a8a6 Apply suggestions from code review - MiniDigger
- Your servers client IP (as for any http request)
1cc965c Update src/content/docs/paper/admin/misc/update-ch... - MiniDigger
[PaperMC/docs] branch deleted: update-checker
Would be nice to have it also there. Not sure why it's even missing.
Also a proper documentation what it actually does would be nice, because i think it can be confuising for people.
We do note it briefly: https://docs.papermc.io/paper/reference/commands/#restart
So only the permission is missing then
9dfc0fb chore(paper): document restart command permission... - Strokkur424
Needs to change the vanilla page too.
what page is that?
Needs to change the vanilla page too.
what page is that?
add a vanilla value alongside the default
e08375d feat(paper): add oversized-item-sanitizer configur... - Doc94
[PaperMC/docs] New branch created: fix/velocity-anno-processor
9fcb829 fix(velocity): explicitly add the annotation proce... - zlataovce
Apparently with JDK 23 the main classpath is no longer scanned, so it wouldn't find the annotation processor.
Those caution are not really usefull they are already shown in the javadoc, same below.
Should be a caution, tip would be something optional.
The last parameter, currently `null`, is an optional `BinaryTagHolder` payload. If we wanted to, we could put custom NBT data in there.
iirc we intentionally not documented that because the tag lifecycle event was not documented in the registries page.
iirc we intentionally not documented that because the tag lifecycle event was not documented in the registries page.
What would the recommend alternative be?
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```...
When people ask about this bug we often link them this page, but it doesn't currently doesn't contain any info on the tripwire hook duplication option. It would also be great if the docs could explain that not all duplicator designs work, even with the option enabled, see lynx's comment and also the design that was tested with the original pr for the design that does work.
[PaperMC/docs] Issue opened: #713 Documentation Improvement: Clarify Entity Activation Range Effects
๐ก 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...
This bumps adventure versions to match the latest releases (and makes the -modded dependency information a bit stronger)
Questions about hotswapping are pretty common, it would be great to have a docs page dedicated to it, with both remote debugging (as in discord dev channel pins) as well as using the run task plugin
[PaperMC/docs] New branch created: fix/j22-velocity-dependency-maven
e228d56 Explicitly add velocity-api as an AP in maven exam... - Warriorrrr
Somewhere in between java 21 and 25 the compiler was changed to no longer automatically run annotation processors on the compile classpath by default, so this part is now necessary in the maven example.
[PaperMC/docs] branch deleted: fix/j22-velocity-dependency-maven
some users (2) came confused in the velocity channels because they didn't understand this example so this should be more self-explanatory
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.
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
ec07107 fix: split Maven versions - zlataovce
9ea4338 fix(velocity): explicitly add the annotation proce... - zlataovce
[PaperMC/docs] branch deleted: fix/velocity-anno-processor
I added an explanation on how to automatically update a projects Resource Page and therefore changed the order of sections on misc/hangar-publishing a bit.
Feel free to further edit it/make suggestions.
This PR fix a few JDK Recommendation for Minecraft Releases
3303341 chore: document Velocity's 'velocity.legacyChatMax... - Timongcraft
are these versions artificially limited to Java 16 or are there any bugs if you run on anything newer? because if this isn't the case, we should just recommend 17
1.16.5 with JDK 17 throw a "Unsupported Java detected (61.0). Only up to Java 16 is supported."
1db59ae fix(paper/admin): update recommended Java versions... - Doc94
A fast fix for https://github.com/PaperMC/docs/pull/720 where i forget put a version...
This PR includes a mention of adventure-platfrom-hytale by ArikSquad in community libraries
7f66cc1 fix(paper/admin): missing 1.19 JDK version (#721) - Doc94
50b9219 feat(adventure): adventure-platform-hytale communi... - ArikSquad
bb263a8 chore(velocity): better explain async handling (#7... - Timongcraft
Noticed in https://github.com/PaperMC/Velocity/commit/7d0c002f89d1cc916fd7525bcb4f2a0f4bc31649 the docs still contains mentions for the old adventure docs this PR replace that for point to paper docs
The Adventure community libraries section is supposed to be used for libraries made by the community which directly utilize Adventure. It is not a place to put your command framework.
The Adventure community libraries section is supposed to be used for libraries made by the community which directly utilize Adventure. It is not a place to put your command framework.
it does indeed utilize adventure and has direct support for it on Velocity, Bukkit and Bungeecord
Splits the libraries up into more sensible groupings and removes outdated and/or unmaintained libraries.
either I am blind or we dont have stuff for these:
https://github.com/PaperMC/Paper/blob/main/paper-server/src/main/java/org/bukkit/craftbukkit/Main.java#L48
should prolly go into the reference category next to the system props and stuff?
easiest way prolly is to just print the joptsimple help and make it pretty
@kashike Would you be so kind to provide a reason to why this was closed?
you're gonna be updating it to Java 25 soon enough lmao
Not necessarily. Velocity is independent from Minecraft's Java versions, and the existing libraries still throw errors in Java 25. This would require another version bump, which could take some time.
Updates the forgotton Velocity Java requirements in the development section.
not sure about if this need changes too https://github.com/PaperMC/docs/blob/main/src/content/docs/velocity/admin/getting-started/getting-started.md
it's really everywhere
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.
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.
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...
We won't support this, the SPI is for platforms only.
yeah considering it's annotated internal and platform api, I don't think it should be added into the user-facing documentation
maybe into the Implementing platforms article, but I don't know how useful that would be
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...
[PaperMC/docs] New branch created: feat/paper-cli-args
a38fbbd feat(paper): document CLI arguments - Strokkur424
[PaperMC/docs] New branch created: feat/velocity-plugin-json
cecc7e0 feat(velocity): document velocity-plugin.json file - Strokkur424
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.
This doesn't seems to render the warning
##### `--recreateRegionFiles`
I don't think this exists in the current version of velocity:
https://github.com/PaperMC/Velocity/blob/7d0c002f89d1cc916fd7525bcb4f2a0f4bc31649/api/src/ap/java/com/velocitypowered/api/plugin/ap/SerializedPluginDescription.java#L207
Oh yeah, you're right. The reason I still had it there is because I originally was looking at a different class, where the version field is present. But it's not part of the velocity-plugin.json spec
efc739c fix: remove version dependency field - Strokkur424
Additional plugin JAR file to load. May be specified multiple times for multiple plugin JARs.
The directory to look in for plugin JARs. Defaults to `plugins`.
what is the format of the format ๐
Whether to enable JFR (Java Flight Recorder) profiling.
3ca736f chore: apply suggestions from code review - Strokkur424
The flag's unused anyways. I guess I will remove it
Also unused, will remove it.
a79c678 chore(velocity): add mention of Snap to FAQ entry... - Phoenix616
Same here, it's unused
That's the identifier of the server used mainly in the crash files.
Apparently that's just an additional field, which is added to the crash log server information. Has no other uses.
4f848fd chore: remove unused options and clarify serverId... - Strokkur424
This doesn't seems to include some vanilla argument like bonusChest etc (documented in https://minecraft.wiki/w/Server.jar). I guess these are missing from the parser so if you want to PR on paper feel free.
de95a0f feat: add option in preparation of it being added... - Strokkur424
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.
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
starlight doesn't serve anything, so it doesn't control the headers
you probably want to do this in the public/_headers file
but also is there a measurable difference between pages serving it and the cache serving it? it's a static site and they should be both running at cloudflare's edge
In the future documenting the data generator and the test framework might be interesting once paper hook in them.
maybe adds a warning that this is just to migrate the legacy config to the new format and should never be used for new server.
This is only for initial worlds not for plugins-made world
##### `--serverId <id>`
766bd48 chore: apply review suggestions - Strokkur424
2f8f228 feat(paper): document CLI arguments (#734) - Strokkur424
[PaperMC/docs] branch deleted: feat/paper-cli-args
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:
- 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.
- 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.
We generally decided in the past not to deal with translations/maintaining multiple versions of the docs as we don't have the capacity to deal with maintaining them, especially as translation tools are generally more than good enough to understand stuff even if they can suffer due to the niche contexts, etc.
Thanks for the reply! I totally get it.
Just wanted to say โ translation tools still struggle with terms and sentence order, so I think a manual translation would still help Chinese users.
I'll go ahead and maintain a separate fork myself, following the CC BY-SA 4.0 license with proper credit. Thanks!
Improve clarity / fix typo in why velocity
Is fine, but these small PRs often donโt warrant a change IMO
c18fbc0 Clarity in Velocity Description (#738) - jacklak-redstone
The upcoming 26.1 release is going to require java 25, so the current java install guide will need updating for that
Now we can create our own channel instead of using Bungeecord's, so implementing it in the docs is necessary for cases with personal channels.
you've always been able to use your own channel, the API side of stuff on the server doesn't change at all, you would just use your channel name instead; The only real thing is that whatever is sending messages to the backend server needs to ensure that it sends a registration method to the backend, otherwise the bukkit plugin messaging logic will silently ignore it
[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.
From Minecraft version **26.1** onwards, Paper no longer supports obfuscated plugins due to Mojang themselves
removing obfuscation of their server JAR. As Minecraft now ships unobfuscated, there are no 26.1 Spigot mappings
to obfuscate to. For this reason, the reobfuscation function no longer works for dev bundles for 26.1+.
Me and writing JAR in lowercase have always been an issue lol
Added instructions for enabling Folia support in plugins.
The correct field name is folia-supported
I put it like this because I have it in my plugin too, lol
Also, sorry, I don't really know how pull requests work, so I may do something wrong :/
I feel like this section should be last and emphasize that just marking the plugin with folia-supported: true is not enough to support Folia
# Mark plugin as Folia-supporting
Plugins can't run on Folia if you don't have this field in your paper-plugin.yml (or plugin.yml, respectively):
Add a note about the CrossStitch mod for Fabric.
6da747a feat(folia): document Folia support requirement in... - Chamogelastos
[PaperMC/docs] New branch created: chore/deps
doesn't actually work right now, blocked on @ascorbic/feed-loader
[PaperMC/docs] New branch created: feat/velocity-safeguard-props
3b0124a Document new velocity system properties - Warriorrrr
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)
5622e6f feat: document new Velocity system properties (#74... - Warriorrrr
[PaperMC/docs] branch deleted: feat/velocity-safeguard-props
09c34d1 chore: Astro 6, remove D2 requirement, bump depend... - zlataovce
[PaperMC/docs] branch deleted: chore/deps
This PR documents the two entity growth particles added in Minecraft 26.1.
This is to allow for the possibility of custom click events without NBT and to be more in line with Vanilla Minecraft behavior.
- Corrected "Do not" to "Do note"
2681747 chore(paper): fix spelling mistake in reference/co... - ThatGuyJustin
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...
abf6277 feat: add name/id documentation, made example use... - Strokkur424
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...
Looks like this doesn't work?
<img width="1057" height="176" alt="Image" src="https://github.com/user-attachments/assets/09095592-e9da-43e3-98d1-5c9e0c6cf7ee" />
Also I'm not sure how to address that but the fields are kinda duplicated now:
https://papermc-feat-velocity-plugin.papermc-docs.pages.dev/velocity/dev/creating-your-first-plugin/#setting-up-a-velocity-project
and
https://papermc-feat-velocity-plugin.papermc-docs.pages.dev/velocity/dev/velocity-plugin-json/#fields
where the latter doesn't have as much info though.
958afa4 chore: fix incorrect aside identifier - Strokkur424
I don't think the Velocity plugin file is JSONC to allow comments and I expect some people will copy-paste the code block and wonder why it doesn't work; using line markers from EC might be the way to go: https://expressive-code.com/key-features/text-markers/#adding-long-labels-on-their-own-lines
Oh yeah, that's a thing. Thank you for the suggestion!
fbc45ca chore: replace comments with line markers from EC - Strokkur424
2bf24f0 chore: refactor project setup page - Strokkur424
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
73bac23 chore: update system properties for 26.1 - Strokkur424
67f2c40 fix: invalidate assets cache if configuration or i... - zlataovce
9157034 chore: minor rephrase in migration.md - Strokkur424
Merging this. If anything comes up later, it can always be edited.
[PaperMC/docs] branch deleted: update/26.1
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:
<hover:show_item:(namespaced key)>, as in<hover:show_item:dirt><hover:show_item:(namespaced key):(item amount)>, as in<hover:show_item:dirt:5><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
tagkey as documented on minecraft.wiki. - This format will no longer be supported in Adventure v5.
- Example:
<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...
- Example:
Oh yeah, I missed that. Thanks!
ded3b45 Update paperDevBundle dependency format in userdev... - Wuason6x9
b774723 chore(paper): document dynamic build version fetch... - Strokkur424
b9850ff chore(paper): include .build in Maven version rang... - Strokkur424
This PR should also adress https://github.com/PaperMC/docs/issues/749 since v5 throws an error if SNBT is used instead of a list of data components
This PR replace the use of bugs-legacy and comments from mojang to mojira, the idea its avoid use a legacy domain who can be just removed or shutdown (or forget renew the SSL cert)
d32dbba chore(paper): replace bugs-legacy.mojang.com with... - Doc94
This PR should also adress #749 since v5 throws an error if SNBT is used instead of a list of data components
If you are aware of issues or bugs in Adventure, please report them there.
4896db9 Rephrase finding-plugins section - Strokkur424
[PaperMC/docs] New branch created: chore/finding-plugins
5784c5c chore(paper): rephrase finding-plugins section (#7... - Strokkur424
[PaperMC/docs] branch deleted: chore/finding-plugins
e7e687f chore(paper): remove paper.disableGameRuleLimits s... - Strokkur424
Also updates all javadoc links to the automatic format and pointing to the new hosting location
You removed this import, but it's still being used. What about it?
Maybe you should also update this usage, since 4.14.0 doesn't exist in the PaperMC JD.
Perhaps we want to directly route to /adventure?
And here too (the whole page, really)
Seems like you forgot to use the jd url thingy
This PR updates the MiniMessage format documentation, specifically for the hover tag by changing the following:
- adding missing documentation for
show_itemaction'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_itemargument format.
Closes #749
Related to https://github.com/PaperMC/Paper/pull/13800
This PR remove the compression-format from unsupported-settings in paper-global.yml, also add a new option to region-file-compression in server.properties
Not really sure how to mention this new custom option...
This closes #665 right?
Not really. There are still a ton of referenced classes/methods which don't link to their Javadocs. This PR simply updates the existing Javadoc links to the new format, it doesn't specifically add links to unlinked references.
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 !