Compare commits

..
Author SHA1 Message Date
Jake Potrebic fd5c62850a Bytecode Modification Framework 2026-08-10 18:20:44 +02:00
1184 changed files with 15555 additions and 30613 deletions

No files matched your search

+3 -30
View File
@@ -14,24 +14,15 @@
<property name="messageKey" value="annotation\.same\.line"/>
<property name="arguments" value="^(?!(${type_use_annotations}))"/>
</module>
<module name="io.papermc.checkstyle.filters.BetterSuppressionSingleFilter">
<!--Allows @deprecated on packages. Not in the javadoc spec (javadoc warns), but it is still rendered in the deprecation block and list-->
<property name="checks" value="InappropriateJavadocBlockTagsOnPackage"/>
<property name="messageKey" value="javadoc\.inappropriate\.tag"/>
<property name="arguments" value="^deprecated$"/>
</module>
<module name="SuppressWarningsFilter"/>
<!--Javadoc Comments-->
<module name="JavadocPackage"/>
<!--Misc-->
<module name="LineEnding"/>
<module name="NewlineAtEndOfFile"/>
<!--Whitespace-->
<module name="FileTabCharacter"/>
<module name="TreeWalker">
<module name="SuppressWarningsHolder"/>
<module name="SuppressionXpathFilter">
<property name="file" value="${config_loc}/xpath-suppressions.xml"/>
<property name="optional" value="false"/>
@@ -45,7 +36,6 @@
</module>
<module name="AnnotationUseStyle"/>
<module name="MissingDeprecated"/>
<module name="MissingOverrideOnRecordAccessor"/>
<!--Block Checks-->
<module name="AvoidNestedBlocks"/>
@@ -63,17 +53,12 @@
<!--Coding-->
<module name="AvoidDoubleBraceInitialization"/>
<module name="AvoidNoArgumentSuperConstructorCall"/>
<module name="ConstructorsDeclarationGrouping">
<property name="orderByIncreasingParameterCount" value="true"/>
</module>
<module name="ConstructorsDeclarationGrouping"/>
<module name="CovariantEquals"/>
<module name="DeclarationOrder">
<property name="ignoreConstructors" value="true"/>
</module>
<module name="DeclarationOrder"/>
<module name="DefaultComesLast"/>
<module name="EmptyStatement"/>
<module name="EqualsHashCode"/>
<module name="ExpressionOverBlockLambda"/>
<module name="FallThrough"/>
<!-- Use non-final variables as an identifier of old code for now -->
<!--<module name="FinalLocalVariable">
@@ -97,9 +82,6 @@
<module name="UnnecessarySemicolonInTryWithResources"/>
<module name="UnusedCatchParameterShouldBeUnnamed"/>
<module name="UnusedLocalVariable"/>
<module name="UnusedPrivateField"/>
<module name="UnusedTryResourceShouldBeUnnamed"/>
<module name="UseEnhancedSwitch"/>
<module name="WhenShouldBeUsed"/>
<!--Headers--> <!--N/A-->
@@ -128,13 +110,9 @@
<module name="AtclauseOrder">
<property name="tagOrder" value="@param, @return, @throws, @see, @deprecated, @hidden"/>
</module>
<module name="InappropriateJavadocBlockTagsOnField"/>
<module name="InappropriateJavadocBlockTagsOnPackage"/>
<module name="InappropriateJavadocBlockTagsOnType"/>
<module name="InvalidJavadocPosition"/>
<module name="JavadocBlockTagLocation"/>
<module name="JavadocContentLocation"/>
<module name="JavadocEndCommentDelimiter"/>
<module name="JavadocLeadingAsteriskAlign"/>
<module name="JavadocMethod">
<!--checks all, but doesn't require. If we have a doc, it should be valid-->
@@ -142,11 +120,11 @@
</module>
<module name="JavadocMissingLeadingAsterisk"/>
<module name="JavadocMissingWhitespaceAfterAsterisk"/>
<module name="JavadocStyle"/> <!--checks all, but doesn't require. If we have a doc, it should be valid-->
<module name="JavadocTagContinuationIndentation"/>
<module name="JavadocType"/> <!--checks all, but doesn't require. If we have a doc, it should be valid-->
<module name="NonEmptyAtclauseDescription"/>
<module name="RequireEmptyLineBeforeBlockTagGroup"/>
<module name="SummaryJavadoc"/> <!--checks all, but doesn't require. If we have a doc, it should be valid-->
<!--Metrics--> <!--N/A-->
@@ -154,14 +132,12 @@
<module name="ArrayTypeStyle"/>
<module name="AvoidEscapedUnicodeCharacters"/>
<module name="CommentsIndentation"/>
<module name="HexLiteralCase"/>
<!-- Overlaps with the configured FinalLocalVariable, but is more strict -->
<!--<module name="FinalParameters">
<property name="tokens" value="METHOD_DEF,CTOR_DEF,LITERAL_CATCH,FOR_EACH_CLAUSE,PATTERN_VARIABLE_DEF"/>
</module>-->
<module name="NoCodeInFile"/>
<module name="NumericalPrefixesInfixesSuffixesCharacterCase"/>
<module name="OuterTypeFilename"/>
<module name="UpperEll"/>
@@ -200,7 +176,6 @@
<!--Size Violations--> <!--N/A-->
<!--Whitespace-->
<module name="ArrayBracketNoWhitespace"/>
<module name="EmptyForInitializerPad"/>
<module name="EmptyForIteratorPad"/>
<module name="EmptyLineSeparator">
@@ -218,11 +193,9 @@
<module name="TypecastParenPad"/>
<module name="WhitespaceAfter"/>
<module name="WhitespaceAround"/>
<module name="WhitespaceBeforeEmptyBody"/>
<!--Custom-->
<module name="JavadocAlignParameterDescription"/>
<module name="JavadocParamTagOrder"/>
<module name="NullabilityAnnotations"/>
<module name="RedundantNullability"/>
<module name="UnnecessaryFullyQualifiedImport"/>
+1 -1
View File
@@ -18,7 +18,7 @@ indent_style = tab
[*.bat]
end_of_line = crlf
[{*.yaml,*.yml}]
[*.yml]
indent_size = 2
[{*.patch,*.md}]
+2 -13
View File
@@ -1,13 +1,2 @@
# default ownership
* @papermc/paper-maintainers
# tooling
/.github/workflows/ @papermc/tooling
/gradle/ @papermc/tooling
/paper-api/build.gradle.kts @papermc/tooling
/paper-server/build.gradle.kts @papermc/tooling
/build.gradle.kts @papermc/tooling
/gradle.properties @papermc/tooling
/settings.gradle.kts @papermc/tooling
/.github/CODEOWNERS @papermc/leadership-team
* @PaperMC/paper-maintainers
/.github/CODEOWNERS @PaperMC/core-team
@@ -5,17 +5,14 @@
# of the PR relating to this action.
name: Build Paper
on:
push:
pull_request:
types:
- opened
- reopened
- synchronize
- labeled
push:
branches-ignore:
- main
jobs:
build:
@@ -110,7 +107,7 @@ jobs:
if: always()
uses: actions/upload-artifact@v7
with:
name: test-results
name: Test Results
path: |
**/build/test-results/test/TEST-*.xml
@@ -140,12 +137,12 @@ jobs:
publishing-task: ":paper-api:publishAllPublicationsTo_githubPackages_PRsRepository publishDevBundlePublicationTo_githubPackages_PRsRepository -PpublishDevBundle"
event_file:
name: "Event File"
needs: build
if: ${{ !cancelled() && needs.build.result != 'skipped' }}
# Only run on PRs if the source branch is on someone else's repo
if: ${{ github.event_name != 'pull_request' || github.repository != github.event.pull_request.head.repo.full_name }}
runs-on: ubuntu-latest
steps:
- name: Upload
uses: actions/upload-artifact@v7
with:
name: event-data
name: Event File
path: ${{ github.event_path }}
+2 -6
View File
@@ -2,11 +2,7 @@ name: Close invalid PRs
on:
pull_request_target:
types:
- opened
permissions:
pull-requests: write
types: [ opened ]
jobs:
run:
@@ -16,7 +12,7 @@ jobs:
github.head_ref == 'main' ||
github.event.pull_request.head.repo.owner.type != 'User'
)
runs-on: namespace-profile-linux-small
runs-on: ubuntu-latest
steps:
- uses: superbrothers/close-pull-request@v3
id: "main_branch"
-185
View File
@@ -1,185 +0,0 @@
on:
issues:
types:
- opened
jobs:
detect-version:
runs-on: namespace-profile-linux-small
timeout-minutes: 5
permissions:
issues: read
outputs:
version: ${{ steps.detect.outputs.version }}
steps:
- id: detect
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
// Capturing Groups:
// 1 = Brand
// 2 = Minecraft Version
// 3 = Build Number
// 4 = Git Branch/Commit
// 5 = Build Time
const NEW_PATTERN = /This server is running ([A-Za-z0-9]+) version ([\d\.]+)-(DEV|\d+)-(.*) \((.*)\) \(Implementing API version .*\)(?: \(Git: .*\))?/;
// Capturing Groups:
// 1 = Brand
// 2 = Minecraft Version
const OLD_PATTERN = /This server is running ([A-Za-z0-9]+) version .* \(MC: ([^\)]+)\) \(Implementing API version .*\)(?: \(Git: .*\))?/;
if (!context.payload.issue.body) {
core.info("Issue body is empty; unable to detect version.");
return;
}
let version;
const match = context.payload.issue.body.match(NEW_PATTERN);
if (match && match.length === 6) {
version = match[2];
} else {
const oldMatch = context.payload.issue.body.match(OLD_PATTERN);
if (oldMatch) {
version = oldMatch[2];
}
}
if (!version) {
core.info("Unable to determine the Minecraft version from the issue body.");
return;
}
core.info(`Detected Minecraft version: ${version}`);
core.setOutput('version', version);
label-version:
needs: detect-version
if: needs.detect-version.outputs.version != ''
runs-on: namespace-profile-linux-small
timeout-minutes: 5
permissions:
issues: write
steps:
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const version = '${{ needs.detect-version.outputs.version }}';
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.issue.number,
labels: [`version: ${version}`],
});
core.info(`Added version label for ${version}.`);
check-support:
needs:
- detect-version
- label-version
if: needs.detect-version.outputs.version != ''
runs-on: namespace-profile-linux-small
timeout-minutes: 5
permissions:
issues: write
steps:
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const version = '${{ needs.detect-version.outputs.version }}';
const apiUrl = `https://fill.papermc.io/v3/projects/paper/versions/${encodeURIComponent(version)}`;
core.info(`Fetching version information from ${apiUrl}`);
let supportStatus;
let supportEnd;
try {
const response = await fetch(apiUrl, {
headers: {
'Accept': 'application/json',
'User-Agent': `GitHub Actions (${context.repo.owner}/${context.repo.repo})`,
},
});
if (response.status === 404) {
core.info(`Fill has no information for version ${version}.`);
return;
}
if (!response.ok) {
core.error(`Fill returned HTTP ${response.status}: ${response.statusText}`);
return;
}
const data = await response.json();
supportStatus = data?.version?.support?.status;
supportEnd = data?.version?.support?.end;
} catch (error) {
core.warning(`Failed to fetch support information: ${error}`);
return;
}
core.info(`Fill support status for ${version}: ${supportStatus}`);
// Only comment for deprecated or unsupported versions.
let comment;
if (supportStatus === 'UNSUPPORTED') {
comment =
`⚠️ **Minecraft ${version} is unsupported.**\n\n` +
`This version is no longer supported by PaperMC. ` +
(supportEnd
? `Support _ended_ on ${supportEnd}. `
: '') +
`Please consider upgrading to a supported Minecraft version.`;
} else if (supportStatus === 'DEPRECATED') {
comment =
`⚠️ **Minecraft ${version} is deprecated.**\n\n` +
`This version is deprecated by PaperMC. ` +
(supportEnd
? `Support will end on ${supportEnd}. `
: '') +
`Please consider upgrading to a supported Minecraft version.`;
} else {
core.info(`${version} is supported or has an unknown status.`);
return;
}
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.issue.number,
body: comment,
});
if (supportStatus === 'UNSUPPORTED') {
try {
await github.rest.issues.removeLabel({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.issue.number,
name: 'status: needs triage',
});
} catch (error) {
// ignore - missing label is not an error
}
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.issue.number,
labels: ['resolution: unsupported'],
});
await github.rest.issues.update({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.issue.number,
state: 'closed',
state_reason: 'not_planned',
});
}
+1 -1
View File
@@ -9,6 +9,6 @@ permissions: {}
jobs:
signal:
runs-on: namespace-profile-linux-small
runs-on: ubuntu-latest
steps:
- run: echo "A PR review was submitted"
+2 -2
View File
@@ -22,7 +22,7 @@ jobs:
concurrency:
group: pr-review-status-${{ github.event.workflow_run.head_sha }}
cancel-in-progress: false
runs-on: namespace-profile-linux-small
runs-on: ubuntu-latest
steps:
- name: "authenticate"
id: "authenticate"
@@ -48,7 +48,7 @@ jobs:
concurrency:
group: pr-review-status-promote
cancel-in-progress: false
runs-on: namespace-profile-linux-small
runs-on: ubuntu-latest
steps:
- name: "authenticate"
id: "authenticate"
+1 -1
View File
@@ -14,7 +14,7 @@ jobs:
concurrency:
group: update-bugs-project-${{ github.event.issue.number }}
cancel-in-progress: true
runs-on: namespace-profile-linux-small
runs-on: ubuntu-latest
steps:
- name: "authenticate"
id: "authenticate"
+1 -1
View File
@@ -15,7 +15,7 @@ permissions:
jobs:
publish:
runs-on: namespace-profile-linux-small
runs-on: ubuntu-latest
steps:
- name: Generate an Application repository access token
id: gen_repo_token
-56
View File
@@ -1,56 +0,0 @@
name: Release 26.3
on:
workflow_dispatch:
push:
branches:
- main
permissions:
contents: read
concurrency:
cancel-in-progress: false
group: release-26.3
jobs:
release:
# guard for manual dispatch
if: ${{ github.ref == 'refs/heads/main' }}
runs-on: namespace-profile-linux-default
timeout-minutes: 30
#env:
# BUILD_NUMBER: ${{ github.run_number }}
steps:
- name: "environment"
run: |
echo "BUILD_NUMBER=$((129 + GITHUB_RUN_NUMBER))" >> "$GITHUB_ENV"
echo "BUILD_STARTED_AT=$(date -u +%Y-%m-%dT%H:%M:%SZ)" >> "$GITHUB_ENV"
- name: "git / checkout"
uses: namespacelabs/nscloud-checkout-action@66f2dc6f6c42a8ac6c4e53473c4840006822831e # v9.0.1
with:
fetch-depth: 0
- uses: papermc/ci/setup-gradle@main
- uses: papermc/ci/build-paper@main
- if: ${{ !cancelled() }}
uses: papermc/ci/upload-event-data@main
with:
path: ${{ github.event_path }}
- if: ${{ !cancelled() }}
uses: papermc/ci/upload-test-results@main
- uses: papermc/ci/publish-fill@main
with:
fill_api_url: ${{ secrets.FILL_API_URL }}
fill_api_key: ${{ secrets.FILL_API_KEY }}
- uses: papermc/ci/publish-maven@main
with:
maven_username: ${{ secrets.ARTIFACTORY_USERNAME }}
maven_password: ${{ secrets.ARTIFACTORY_PASSWORD }}
maven_tasks: -PpublishDevBundle :paper-api:publish publishDevBundlePublicationToPaperReleasesRepository
-24
View File
@@ -1,24 +0,0 @@
name: Test Results
on:
workflow_run:
workflows: [ "Build Paper" ]
types:
- completed
permissions:
actions: read
checks: write
jobs:
test-results:
name: Test Results
if: github.event.workflow_run.conclusion != 'skipped'
runs-on: namespace-profile-linux-small
steps:
- uses: papermc/ci/publish-test-results@main
with:
event: ${{ github.event.workflow_run.event }}
commit: ${{ github.event.workflow_run.head_sha }}
github_token: ${{ secrets.GITHUB_TOKEN }}
run_id: ${{ github.event.workflow_run.id }}
+34
View File
@@ -0,0 +1,34 @@
name: Test Results
on:
workflow_run:
workflows: [ "Build Paper" ]
types:
- completed
permissions: { }
jobs:
test-results:
name: Test Results
runs-on: ubuntu-latest
if: github.event.workflow_run.conclusion != 'skipped'
permissions:
checks: write
# for downloading test result artifacts
actions: read
steps:
- name: Download and Extract Artifacts
uses: dawidd6/action-download-artifact@v21
with:
run_id: ${{ github.event.workflow_run.id }}
path: test_artifacts
name: "Test Results|Event File"
name_is_regexp: true
- name: Publish Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
with:
commit: ${{ github.event.workflow_run.head_sha }}
event_file: test_artifacts/Event File/event.json
event_name: ${{ github.event.workflow_run.event }}
files: "test_artifacts/**/*.xml"
comment_mode: off
+61 -23
View File
@@ -1,35 +1,73 @@
# Instructions for Coding Agents
These instructions supplement `CONTRIBUTING.md`, which must also be followed.
These instructions apply to coding agents working on behalf of external
contributors. They supplement `CONTRIBUTING.md`, which must also be followed.
## Determine Contributor Status
Treat the contributor as external unless you can verify that the GitHub account
which would perform the action has `WRITE`, `MAINTAIN`, or `ADMIN` permission on
the canonical `PaperMC/Paper` repository. Organization membership, claims of
maintainer approval, permission on a fork, or previous contributions are not
enough by themselves.
Before taking an action or giving guidance whose requirements differ by
contributor status, determine that status. If it cannot be verified, treat the
contributor as external.
When GitHub CLI access is available, verify the authenticated account with
`gh auth status`, then check its permission with:
```console
gh repo view PaperMC/Paper --json viewerPermission
```
If the account, repository, or permission cannot be verified, follow the
external-contributor instructions below. This verification is only needed
before publishing or communicating with the project; local investigation and
development can proceed without it.
## Keep Project Communication Human
Do not turn yourself into a slop cannon or the user into a meat proxy.
Do not turn yourself into a slop cannon or the contributor into a meat proxy.
Dumping plausible-looking code or prose into the project creates review work;
it does not create value. Paper maintainers can run the same agents themselves.
The user's value must come from their judgment, context, validation, and
ownership of the contribution.
The contributor's value must come from their judgment, context, validation, and
ownership.
Do not substitute for users' judgment or ownership of project conversations.
Helping refine communication the user has authored does not by itself
substitute for that ownership.
You may help a contributor investigate the codebase, make changes locally, and
run tests. Do not act as the contributor in conversations with Paper
maintainers. In particular, do not compose issue reports, discussion posts,
pull request descriptions, comments, or review responses for the contributor,
or post generated text as if it were theirs.
Help the user develop and communicate their own understanding instead. Ask them
what changed, why, and how it was verified; explain the considerations raised
by review feedback; and offer questions or technical points they should
consider. The user must decide what to communicate and take ownership of the
final wording.
Do not relay generated output to maintainers, and do not turn maintainer
feedback into a prompt and pass the generated response back. Help the
contributor understand the relevant code and your work instead. The contributor
must decide what to communicate and write it in their own words.
Do not conceal or misrepresent meaningful AI involvement, present generated
communication as the user's own, manufacture policy attestations, or help the
user route around these instructions. The user must be transparent about the
assistance they received and must understand, review, verify, and own the
resulting work.
Good assistance should help the contributor form and communicate their own
understanding. Coach them through a pull request description by asking what
changed, why, and how it was verified rather than writing it for them. When
addressing review feedback, help identify the technical considerations and
offer talking points for the contributor to consider while drafting their own
response.
Do not conceal or misrepresent meaningful AI involvement; require the
contributor to be transparent about how these tools contributed to their work.
Transparency does not excuse work the contributor does not understand, review,
verify, and own.
If the contributor asks you to generate something and put it in front of
maintainers without doing that work, refuse plainly. Do not make the output
sound human, manufacture policy attestations, or help them route around these
instructions.
## Require Human Ownership Before Publication
Do not autonomously submit code or communication to the project. Before taking
a project-facing action on the user's behalf, stop and require the user to:
Do not autonomously open or update an issue, discussion, or pull request. Before
performing any GitHub action that publishes work or communicates with the
project, stop and require the contributor to:
- review the complete change;
- understand and be able to explain its behavior and tradeoffs;
@@ -37,7 +75,7 @@ a project-facing action on the user's behalf, stop and require the user to:
- provide the exact communication in their own words and explicitly approve the
action.
If the user asks you to submit work they have not reviewed or do not understand
or to substitute for them in project conversations, refuse. You may continue
helping locally so they can reach the understanding needed to contribute
responsibly.
If the contributor asks you to submit work they have not reviewed or do not
understand, to generate project communication for them, or to operate as a
proxy through review, refuse. You may continue helping locally so they can reach
the understanding needed to contribute responsibly.
+1
View File
@@ -0,0 +1 @@
@AGENTS.md
+9 -7
View File
@@ -199,14 +199,16 @@ part of what you submit. Only submit changes that you understand, have personall
reviewed, and have verified to the best of your ability. You should be able to
explain why the change is needed, how it works, and what tradeoffs it makes.
Project communication, including issues, discussion posts, pull request
descriptions, comments, and review responses, should be written by you in your
own words. Do not use an AI tool as a proxy for the conversation. Validate any
tool output you rely on, then communicate the relevant conclusions yourself.
Issues, discussion posts, pull request descriptions, comments, and review
responses should be written by you, in your own words. Do not pass generated
responses on to maintainers or use an AI tool as a proxy for the conversation.
If a tool helped you investigate or implement something, read and validate its
output, then communicate the relevant conclusions yourself.
Do not conceal or misrepresent meaningful AI involvement. Be transparent about
how these tools contributed to your work; that transparency does not replace
your responsibility for the contribution.
Do not conceal or misrepresent meaningful AI involvement; be transparent about
how these tools contributed to your work. Transparency does not excuse
submitting work you do not understand, review, verify, and take responsibility
for.
Review is a collaborative process, not a way to outsource completion of a
generated change to maintainers. Be prepared to answer questions about your
+4 -6
View File
@@ -1,6 +1,6 @@
Paper [![Version](https://img.shields.io/maven-metadata/v?metadataUrl=https%3A%2F%2Fartifactory.papermc.io%2Fartifactory%2Funiverse%2Fio%2Fpapermc%2Fpaper%2Fpaper-api%2Fmaven-metadata.xml&strategy=highestVersion&filter=26.3.*&label=version&color=%23344ceb
Paper [![Version](https://img.shields.io/maven-metadata/v?metadataUrl=https%3A%2F%2Fartifactory.papermc.io%2Fartifactory%2Funiverse%2Fio%2Fpapermc%2Fpaper%2Fpaper-api%2Fmaven-metadata.xml&strategy=highestVersion&filter=26.2*&label=version&color=%23344ceb
)](https://papermc.io/downloads/paper)
[![Paper Build Status](https://img.shields.io/github/actions/workflow/status/PaperMC/Paper/release-26.3.yaml?branch=main)](https://github.com/PaperMC/Paper/actions)
[![Paper Build Status](https://img.shields.io/github/actions/workflow/status/PaperMC/Paper/build.yml?branch=main)](https://github.com/PaperMC/Paper/actions)
[![Discord](https://img.shields.io/discord/289587909051416579.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/papermc)
[![GitHub Sponsors](https://img.shields.io/github/sponsors/papermc?label=GitHub%20Sponsors)](https://github.com/sponsors/PaperMC)
[![Open Collective](https://img.shields.io/opencollective/all/papermc?label=OpenCollective%20Sponsors)](https://opencollective.com/papermc)
@@ -39,7 +39,7 @@ repositories {
}
dependencies {
compileOnly("io.papermc.paper:paper-api:26.3.build.+")
compileOnly("io.papermc.paper:paper-api:26.2.build.+")
}
java {
@@ -59,7 +59,7 @@ java {
<dependency>
<groupId>io.papermc.paper</groupId>
<artifactId>paper-api</artifactId>
<version>[26.3.build,)</version>
<version>[26.2.build,)</version>
<scope>provided</scope>
</dependency>
```
@@ -91,8 +91,6 @@ You can find our collective [here](https://opencollective.com/papermc), or you c
Special Thanks To:
-------------
[![CI powered by namespace badge](https://assets.papermc.io/sponsors/namespace-oss-badge.svg)](https://namespace.so/github-actions/?utm_source=oss&utm_campaign=papermc)
[![YourKit-Logo](https://www.yourkit.com/images/yklogo.png)](https://www.yourkit.com/)
[YourKit](https://www.yourkit.com/), makers of the outstanding java profiler, support open source projects of all kinds with their full featured [Java](https://www.yourkit.com/java/profiler) and [.NET](https://www.yourkit.com/.net/profiler) application profilers. We thank them for granting Paper an OSS license so that we can make our software the best it can be.
+25 -32
View File
@@ -5,7 +5,6 @@ private-f net.minecraft.server.MinecraftServer connection
private-f net.minecraft.server.MinecraftServer levels
private-f net.minecraft.world.item.ItemStack components
private-f net.minecraft.world.item.ItemStack item
private-f net.minecraft.world.item.crafting.RecipeManager learnableRecipes
private-f net.minecraft.world.level.block.entity.BeehiveBlockEntity stored
protected net.minecraft.world.entity.LivingEntity skipDropExperience
protected net.minecraft.world.level.Level thread
@@ -16,8 +15,6 @@ public net.minecraft.commands.CommandSourceStack source
public net.minecraft.commands.arguments.DimensionArgument ERROR_INVALID_VALUE
public net.minecraft.commands.arguments.blocks.BlockInput tag
public net.minecraft.core.MappedRegistry validateWrite(Lnet/minecraft/resources/ResourceKey;)V
public net.minecraft.core.component.DataComponentPatch map
public net.minecraft.core.component.Removed
public net.minecraft.nbt.ListTag <init>(Ljava/util/List;)V
public net.minecraft.nbt.ListTag identifyRawElementType()B
public net.minecraft.network.Connection address
@@ -25,12 +22,12 @@ public net.minecraft.network.Connection channel
public net.minecraft.network.chat.contents.TranslatableContents PRIMITIVE_ARG_CODEC
public net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket <init>(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/entity/BlockEntityType;Lnet/minecraft/nbt/CompoundTag;)V
public net.minecraft.network.syncher.SynchedEntityData getItem(Lnet/minecraft/network/syncher/EntityDataAccessor;)Lnet/minecraft/network/syncher/SynchedEntityData$DataItem;
public net.minecraft.resources.RegistryOps <init>(Lcom/mojang/serialization/DynamicOps;Lnet/minecraft/resources/RegistryOps$RegistryInfoLookup;)V
public net.minecraft.resources.RegistryOps lookupProvider
public net.minecraft.resources.RegistryOps$HolderLookupAdapter
public net.minecraft.server.Main forceUpgrade(Lnet/minecraft/world/level/storage/LevelStorageSource$LevelStorageAccess;Lcom/mojang/datafixers/DataFixer;ZLjava/util/function/BooleanSupplier;Lnet/minecraft/core/RegistryAccess;Z)V
public net.minecraft.server.MinecraftServer LOGGER
public net.minecraft.server.RegistryLayer STATIC_ACCESS
public net.minecraft.server.ServerAdvancementManager advancements
public net.minecraft.server.Services USERID_CACHE_FILE
public net.minecraft.server.dedicated.DedicatedServerProperties$WorldDimensionData
public net.minecraft.server.dedicated.DedicatedServerProperties$WorldDimensionData <init>(Lcom/google/gson/JsonObject;Ljava/lang/String;)V
@@ -79,7 +76,6 @@ public net.minecraft.server.level.ServerPlayer wardenSpawnTracker
public net.minecraft.server.level.ServerPlayer$RespawnPosAngle
public net.minecraft.server.level.ServerPlayer$RespawnPosAngle <init>(Lnet/minecraft/world/phys/Vec3;FF)V
public net.minecraft.server.level.ServerPlayerGameMode hasDelayedDestroy
public net.minecraft.server.network.ServerCommandSuggestionsProvider limitSuggestionCount(Lcom/mojang/brigadier/suggestion/Suggestions;)Lcom/mojang/brigadier/suggestion/Suggestions;
public net.minecraft.server.network.ServerConfigurationPacketListenerImpl clientInformation
public net.minecraft.server.network.ServerConfigurationPacketListenerImpl currentTask
public net.minecraft.server.network.ServerConfigurationPacketListenerImpl finishCurrentTask(Lnet/minecraft/server/network/ConfigurationTask$Type;)V
@@ -124,9 +120,6 @@ public net.minecraft.world.entity.AgeableMob setAgeLocked(Z)V
public net.minecraft.world.entity.AreaEffectCloud owner
public net.minecraft.world.entity.AreaEffectCloud reapplicationDelay
public net.minecraft.world.entity.Avatar DATA_PLAYER_MODE_CUSTOMISATION
public net.minecraft.world.entity.ConversionTracker afflictionTime
public net.minecraft.world.entity.ConversionTracker conversionTime
public net.minecraft.world.entity.ConversionTracker setConverting(Z)V
public net.minecraft.world.entity.Display DATA_POS_ROT_INTERPOLATION_DURATION_ID
public net.minecraft.world.entity.Display createTransformation(Lnet/minecraft/network/syncher/SynchedEntityData;)Lcom/mojang/math/Transformation;
public net.minecraft.world.entity.Display getBillboardConstraints()Lnet/minecraft/world/entity/Display$BillboardConstraints;
@@ -168,8 +161,6 @@ public net.minecraft.world.entity.Display$TextDisplay setText(Lnet/minecraft/net
public net.minecraft.world.entity.Display$TextDisplay setTextOpacity(B)V
public net.minecraft.world.entity.Entity DATA_TICKS_FROZEN
public net.minecraft.world.entity.Entity FLAG_INVISIBLE
public net.minecraft.world.entity.Entity getAirDrag()F
public net.minecraft.world.entity.Entity getDefaultGravity()D
public net.minecraft.world.entity.Entity getEncodeId()Ljava/lang/String;
public net.minecraft.world.entity.Entity getFireImmuneTicks()I
public net.minecraft.world.entity.Entity getSharedFlag(I)Z
@@ -344,8 +335,8 @@ public net.minecraft.world.entity.monster.Creeper explodeCreeper()V
public net.minecraft.world.entity.monster.Creeper explosionRadius
public net.minecraft.world.entity.monster.Creeper maxSwell
public net.minecraft.world.entity.monster.Creeper swell
public net.minecraft.world.entity.monster.Enderman teleport()Z
public net.minecraft.world.entity.monster.Enderman teleportTowards(Lnet/minecraft/world/entity/Entity;)Z
public net.minecraft.world.entity.monster.EnderMan teleport()Z
public net.minecraft.world.entity.monster.EnderMan teleportTowards(Lnet/minecraft/world/entity/Entity;)Z
public net.minecraft.world.entity.monster.Endermite life
public net.minecraft.world.entity.monster.Guardian randomStrollGoal
public net.minecraft.world.entity.monster.Guardian setActiveAttackTarget(I)V
@@ -379,13 +370,15 @@ public net.minecraft.world.entity.monster.piglin.AbstractPiglin isImmuneToZombif
public net.minecraft.world.entity.monster.piglin.AbstractPiglin timeInOverworld
public net.minecraft.world.entity.monster.piglin.Piglin cannotHunt
public net.minecraft.world.entity.monster.piglin.Piglin isChargingCrossbow()Z
public net.minecraft.world.entity.monster.skeleton.Skeleton freezingTracker
public net.minecraft.world.entity.monster.skeleton.Skeleton conversionTime
public net.minecraft.world.entity.monster.skeleton.Skeleton inPowderSnowTime
public net.minecraft.world.entity.monster.warden.WardenSpawnTracker cooldownTicks
public net.minecraft.world.entity.monster.warden.WardenSpawnTracker increaseWarningLevel()V
public net.minecraft.world.entity.monster.warden.WardenSpawnTracker ticksSinceLastWarning
public net.minecraft.world.entity.monster.zombie.Zombie DOOR_BREAKING_PREDICATE
public net.minecraft.world.entity.monster.zombie.Zombie drowningTracker
public net.minecraft.world.entity.monster.zombie.Zombie conversionTime
public net.minecraft.world.entity.monster.zombie.Zombie isSunSensitive()Z
public net.minecraft.world.entity.monster.zombie.Zombie startUnderWaterConversion(I)V
public net.minecraft.world.entity.monster.zombie.ZombieVillager DATA_CONVERTING_ID
public net.minecraft.world.entity.monster.zombie.ZombieVillager conversionStarter
public net.minecraft.world.entity.monster.zombie.ZombieVillager villagerConversionTime
@@ -396,7 +389,6 @@ public net.minecraft.world.entity.npc.villager.Villager updateDemand()V
public net.minecraft.world.entity.npc.villager.Villager updateSpecialPrices(Lnet/minecraft/world/entity/player/Player;)V
public net.minecraft.world.entity.npc.wanderingtrader.WanderingTrader getWanderTarget()Lnet/minecraft/core/BlockPos;
public net.minecraft.world.entity.player.Inventory equipment
public net.minecraft.world.entity.player.Player canCriticalAttack(Lnet/minecraft/world/entity/Entity;)Z
public net.minecraft.world.entity.player.Player closeContainer()V
public net.minecraft.world.entity.player.Player enchantmentSeed
public net.minecraft.world.entity.player.Player hurtDir
@@ -477,10 +469,8 @@ public net.minecraft.world.inventory.AbstractMountInventoryMenu mount
public net.minecraft.world.inventory.AnvilMenu cost
public net.minecraft.world.inventory.AnvilMenu itemName
public net.minecraft.world.inventory.AnvilMenu repairItemCountCost
public net.minecraft.world.inventory.BrewingStandMenu DATA_COUNT
public net.minecraft.world.inventory.BrewingStandMenu brewingStandData
public net.minecraft.world.inventory.CraftingMenu access
public net.minecraft.world.inventory.LecternMenu DATA_COUNT
public net.minecraft.world.inventory.MerchantContainer selectionHint
public net.minecraft.world.item.AdventureModePredicate predicates
public net.minecraft.world.item.CrossbowItem FIREWORK_POWER
@@ -498,6 +488,7 @@ public net.minecraft.world.item.component.ResolvableProfile$Partial MAP_CODEC
public net.minecraft.world.item.component.ResolvableProfile$Static <init>(Lcom/mojang/datafixers/util/Either;Lnet/minecraft/world/entity/player/PlayerSkin$Patch;)V
public net.minecraft.world.item.context.UseOnContext <init>(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/InteractionHand;Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/phys/BlockHitResult;)V
public net.minecraft.world.item.crafting.Ingredient values
public net.minecraft.world.item.crafting.RecipeManager recipes
public net.minecraft.world.item.crafting.RecipeMap byKey
public net.minecraft.world.item.crafting.RecipeMap byType
public net.minecraft.world.item.trading.MerchantOffer demand
@@ -532,15 +523,14 @@ public net.minecraft.world.level.block.ComposterBlock$InputContainer
public net.minecraft.world.level.block.ComposterBlock$OutputContainer
public net.minecraft.world.level.block.DispenserBlock dispenseFrom(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/BlockPos;)V
public net.minecraft.world.level.block.FireBlock igniteOdds
public net.minecraft.world.level.block.RedstoneWireBlock canSurvive(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/LevelReader;Lnet/minecraft/core/BlockPos;)Z
public net.minecraft.world.level.block.RedstoneWireBlock shouldSignal
public net.minecraft.world.level.block.RedStoneWireBlock canSurvive(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/LevelReader;Lnet/minecraft/core/BlockPos;)Z
public net.minecraft.world.level.block.RedStoneWireBlock shouldSignal
public net.minecraft.world.level.block.SelectableSlotContainer getSection(FI)I
public net.minecraft.world.level.block.TurtleEggBlock decreaseEggs(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)V
public net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity cookingTimer
public net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity cookingTotalTime
public net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity getTotalCookTime(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity;)I
public net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity litTimeRemaining
public net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity quickCheck
public net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity recipesUsed
public net.minecraft.world.level.block.entity.BannerBlockEntity name
public net.minecraft.world.level.block.entity.BarrelBlockEntity openersCounter
@@ -557,7 +547,6 @@ public net.minecraft.world.level.block.entity.BlockEntity saveId(Lnet/minecraft/
public net.minecraft.world.level.block.entity.BlockEntityType validBlocks
public net.minecraft.world.level.block.entity.BrewingStandBlockEntity brewTime
public net.minecraft.world.level.block.entity.BrewingStandBlockEntity fuel
public net.minecraft.world.level.block.entity.BrewingStandBlockEntity totalBrewTime
public net.minecraft.world.level.block.entity.BrushableBlockEntity item
public net.minecraft.world.level.block.entity.BrushableBlockEntity lootTable
public net.minecraft.world.level.block.entity.BrushableBlockEntity lootTableSeed
@@ -585,7 +574,6 @@ public net.minecraft.world.level.block.entity.LecternBlockEntity bookAccess
public net.minecraft.world.level.block.entity.LecternBlockEntity setPage(I)V
public net.minecraft.world.level.block.entity.SculkCatalystBlockEntity$CatalystListener bloom(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/util/RandomSource;)V
public net.minecraft.world.level.block.entity.SculkShriekerBlockEntity warningLevel
public net.minecraft.world.level.block.entity.SignBlockEntity allowOpFeatures
public net.minecraft.world.level.block.entity.SkullBlockEntity customName
public net.minecraft.world.level.block.entity.SkullBlockEntity noteBlockSound
public net.minecraft.world.level.block.entity.SkullBlockEntity owner
@@ -633,13 +621,21 @@ public net.minecraft.world.level.dimension.end.EnderDragonFight spawnNewGateway(
public net.minecraft.world.level.entity.PersistentEntitySectionManager ensureChunkQueuedForLoad(J)V
public net.minecraft.world.level.entity.PersistentEntitySectionManager permanentStorage
public net.minecraft.world.level.gamerules.GameRules rules
public net.minecraft.world.level.levelgen.material.MaterialRuleContext context
public net.minecraft.world.level.levelgen.SurfaceRules$Condition
public net.minecraft.world.level.levelgen.SurfaceRules$Context
public net.minecraft.world.level.levelgen.SurfaceRules$Context blockX
public net.minecraft.world.level.levelgen.SurfaceRules$Context blockY
public net.minecraft.world.level.levelgen.SurfaceRules$Context blockZ
public net.minecraft.world.level.levelgen.SurfaceRules$Context context
public net.minecraft.world.level.levelgen.SurfaceRules$Context randomState
public net.minecraft.world.level.levelgen.SurfaceRules$LazyCondition
public net.minecraft.world.level.levelgen.SurfaceRules$LazyYCondition
public net.minecraft.world.level.levelgen.structure.StructurePiece SHAPE_CHECK_BLOCKS
public net.minecraft.world.level.levelgen.structure.placement.AbstractSpreadingStructurePlacement exclusionZone
public net.minecraft.world.level.levelgen.structure.placement.AbstractSpreadingStructurePlacement frequency
public net.minecraft.world.level.levelgen.structure.placement.AbstractSpreadingStructurePlacement frequencyReductionMethod
public net.minecraft.world.level.levelgen.structure.placement.AbstractSpreadingStructurePlacement locateOffset
public net.minecraft.world.level.levelgen.structure.placement.AbstractSpreadingStructurePlacement salt
public net.minecraft.world.level.levelgen.structure.placement.StructurePlacement exclusionZone
public net.minecraft.world.level.levelgen.structure.placement.StructurePlacement frequency
public net.minecraft.world.level.levelgen.structure.placement.StructurePlacement frequencyReductionMethod
public net.minecraft.world.level.levelgen.structure.placement.StructurePlacement locateOffset
public net.minecraft.world.level.levelgen.structure.placement.StructurePlacement salt
public net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate entityInfoList
public net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate palettes
public net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplateManager resourceManagerSource
@@ -655,13 +651,11 @@ public net.minecraft.world.level.saveddata.maps.MapItemSavedData decorations
public net.minecraft.world.level.storage.PrimaryLevelData settings
public net.minecraft.world.level.storage.SavedDataStorage cache
public net.minecraft.world.level.storage.TagValueInput input
public net.minecraft.world.level.storage.loot.providers.number.ints.ResolvableInt$Reference getProvider(Lnet/minecraft/world/level/storage/loot/LootContext;)Ljava/util/Optional;
public net.minecraft.world.scores.criteria.ObjectiveCriteria CRITERIA_CACHE
public-f net.minecraft.server.MinecraftServer potionBrewing
public-f net.minecraft.server.MinecraftServer storageSource
public-f net.minecraft.server.ServerAdvancementManager advancements
public-f net.minecraft.server.dedicated.DedicatedServer serverLinks
public-f net.minecraft.server.dedicated.DedicatedServer settings
public-f net.minecraft.world.entity.Entity doTeamsAllowDamage(Lnet/minecraft/world/entity/Entity;)Z
public-f net.minecraft.world.entity.LivingEntity combatTracker
public-f net.minecraft.world.entity.Mob targetSelector
public-f net.minecraft.world.entity.ai.attributes.RangedAttribute maxValue
@@ -672,7 +666,6 @@ public-f net.minecraft.world.inventory.AbstractContainerMenu lastSlots
public-f net.minecraft.world.inventory.AbstractContainerMenu remoteDataSlots
public-f net.minecraft.world.inventory.AbstractContainerMenu remoteSlots
public-f net.minecraft.world.inventory.AbstractContainerMenu slots
public-f net.minecraft.world.item.crafting.RecipeManager recipes
public-f net.minecraft.world.item.trading.MerchantOffer baseCostA
public-f net.minecraft.world.item.trading.MerchantOffer costB
public-f net.minecraft.world.item.trading.MerchantOffer maxUses
+1 -1
View File
@@ -4,7 +4,7 @@ import org.gradle.api.tasks.testing.logging.TestExceptionFormat
import org.gradle.api.tasks.testing.logging.TestLogEvent
plugins {
id("io.papermc.paperweight.core") version "2.0.0-beta.24" apply false
id("io.papermc.paperweight.core") version "2.0.0-beta.21" apply false
}
subprojects {
+2 -2
View File
@@ -1,8 +1,8 @@
group=io.papermc.paper
mcVersion=26.3
mcVersion=26.2
# This is the current API version for use in (paper-)plugin.yml files
# During snapshot cycles this should be the anticipated version of the release target
apiVersion=26.3
apiVersion=26.2
channel=STABLE
# Set to true while updating Minecraft version
Binary file not shown.
+1 -3
View File
@@ -1,9 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.8.0-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip
networkTimeout=10000
retries=0
retryBackOffMs=500
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Vendored
+3 -3
View File
@@ -20,7 +20,7 @@
##############################################################################
#
# gradlew start up script for POSIX generated by Gradle.
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
@@ -29,7 +29,7 @@
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh gradlew
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
@@ -57,7 +57,7 @@
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/3d91ce3b8caaf77ad09f381f43615b715b53f72c/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# https://github.com/gradle/gradle/blob/2d6327017519d23b96af35865dc997fcb544fb40/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
Vendored
+33 -52
View File
@@ -19,39 +19,12 @@
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem gradlew startup script for Windows
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables, and ensure extensions are enabled
setlocal EnableExtensions
@rem Catch executions from older scripts and ensure they exit cleanly.
@rem This can be removed once we can be reasonably confident that few people
@rem will be migrating directly to this new wrapper.
goto afterSafetyNet
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
goto exitWithErrorLevel
:afterSafetyNet
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%"=="" set DIRNAME=.
@@ -72,14 +45,13 @@ set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute
1>&2 echo.
1>&2 echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
1>&2 echo.
1>&2 echo Please set the JAVA_HOME variable in your environment to match the
1>&2 echo location of your Java installation.
echo. 1>&2
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
"%COMSPEC%" /c exit 1
goto exitWithErrorLevel
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
@@ -87,26 +59,35 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
1>&2 echo.
1>&2 echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
1>&2 echo.
1>&2 echo Please set the JAVA_HOME variable in your environment to match the
1>&2 echo location of your Java installation.
echo. 1>&2
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
"%COMSPEC%" /c exit 1
goto exitWithErrorLevel
goto fail
:execute
@rem Setup the command line
@rem Execute gradlew
@rem endlocal doesn't take effect until after the line is parsed and variables are expanded
@rem which allows us to clear the local environment before executing the java command
endlocal & "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* & call :exitWithErrorLevel & goto exitWithErrorLevel
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
@rem This label must not be changed. We rely on old scripts being able to jump to this point.
:exitWithErrorLevel
@rem Use "%COMSPEC%" /c exit to allow operators to work properly in scripts
"%COMSPEC%" /c exit %ERRORLEVEL%
:end
@rem End local scope for the variables with windows NT shell
if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
+1 -6
View File
@@ -10,11 +10,6 @@
<property name="arguments" value="(${custom_javadoc_tags}|[A-Z].*)"/>
</module>
<module name="TreeWalker">
<!--Skip generated content by typewriter-->
<module name="SuppressionCommentFilter">
<property name="offCommentFormat" value="Start generate - \w+$"/>
<property name="onCommentFormat" value="End generate - \w+$"/>
</module>
<module name="JavadocVariable">
<!--requires on public fields-->
<property name="accessModifiers" value="public"/>
@@ -25,7 +20,7 @@
</module>
<module name="MissingJavadocPackage"/>
<module name="MissingJavadocType">
<property name="skipAnnotations" value="Generated, ApiStatus.Internal"/>
<property name="skipAnnotations" value="Generated, ApiStatus.Internal" />
</module>
</module>
</module>
+10 -8
View File
@@ -22,17 +22,17 @@ paperCheckstyle {
directoriesToSkipFile = layout.projectDirectory.file(".checkstyle/ignored_directories.txt")
}
val annotationsVersion = "26.1.0"
val annotationsVersion = "26.0.2"
val adventureVersion = "5.2.0"
val bungeeCordChatVersion = "1.21-R0.2-deprecated+build.21"
val slf4jVersion = "2.0.17"
val log4jVersion = "2.26.0"
val apiAndDocs: Configuration = configurations.create("apiAndDocs")
val apiAndDocs: Configuration by configurations.creating
configurations.api {
extendsFrom(apiAndDocs)
}
val javadocSourcepath: Configuration = configurations.create("javadocSourcepath") {
val javadocSourcepath: Configuration by configurations.creating {
attributes {
attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.DOCUMENTATION))
attribute(Bundling.BUNDLING_ATTRIBUTE, objects.named(Bundling.EXTERNAL))
@@ -57,11 +57,13 @@ dependencies {
api("com.google.guava:guava:33.6.0-jre")
api("com.google.code.gson:gson:2.14.0")
api("org.yaml:snakeyaml:2.2")
api("org.joml:joml:1.10.9")
api("org.joml:joml:1.10.8") {
isTransitive = false // https://github.com/JOML-CI/JOML/issues/352
}
api("it.unimi.dsi:fastutil:8.5.18")
api("org.apache.logging.log4j:log4j-api:$log4jVersion")
api("org.slf4j:slf4j-api:$slf4jVersion")
api("com.mojang:brigadier:1.3.11")
api("com.mojang:brigadier:1.3.10")
// Deprecate bungeecord-chat in favor of adventure
api("net.md-5:bungeecord-chat:$bungeeCordChatVersion") {
@@ -87,7 +89,7 @@ dependencies {
testCompileOnly(annotations)
javadocSourcepath(annotations) // For adventure-api module requirements
val checkerQual = "org.checkerframework:checker-qual:4.2.3"
val checkerQual = "org.checkerframework:checker-qual:3.49.2"
compileOnlyApi(checkerQual)
testCompileOnly(checkerQual)
@@ -205,7 +207,7 @@ tasks.withType<Javadoc>().configureEach {
"https://guava.dev/releases/33.6.0-jre/api/docs/",
"https://www.javadocs.dev/org.yaml/snakeyaml/2.2/",
"https://www.javadocs.dev/org.jetbrains/annotations/$annotationsVersion/",
"https://www.javadocs.dev/org.joml/joml/1.10.9/",
"https://www.javadocs.dev/org.joml/joml/1.10.8/",
"https://www.javadocs.dev/com.google.code.gson/gson/2.14.0",
"https://jspecify.dev/docs/api/",
"https://jd.papermc.io/adventure/$adventureVersion/",
@@ -251,7 +253,7 @@ tasks.compileTestJava {
options.compilerArgs.add("-parameters")
}
val scanJarForBadCalls = tasks.register<io.papermc.paperweight.tasks.ScanJarForBadCalls>("scanJarForBadCalls") {
val scanJarForBadCalls by tasks.registering(io.papermc.paperweight.tasks.ScanJarForBadCalls::class) {
badAnnotations.add("Lio/papermc/paper/annotation/DoNotUse;")
jarToScan.set(tasks.jar.flatMap { it.archiveFile })
classpath.from(configurations.compileClasspath)
@@ -123,7 +123,7 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> {
GoalKey<Cat> CAT_AVOID_ENTITY = create("cat_avoid_entity", Cat.class);
GoalKey<Cat> CAT_LIE_ON_BLOCK = create("cat_lie_on_block", Cat.class);
GoalKey<Cat> CAT_LIE_ON_BED = create("cat_lie_on_bed", Cat.class);
GoalKey<Cat> CAT_RELAX_ON_OWNER = create("cat_relax_on_owner", Cat.class);
@@ -171,7 +171,7 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> {
GoalKey<Creature> TEMPT = create("tempt", Creature.class);
GoalKey<Creature> TRY_FIND_LIQUID = create("try_find_liquid", Creature.class);
GoalKey<Creature> TRY_FIND_WATER = create("try_find_water", Creature.class);
GoalKey<Creature> WATER_AVOIDING_RANDOM_FLYING = create("water_avoiding_random_flying", Creature.class);
@@ -181,8 +181,6 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> {
GoalKey<Dolphin> DOLPHIN_JUMP = create("dolphin_jump", Dolphin.class);
GoalKey<Dolphin> DOLPHIN_MOVE_TO_ITEM = create("dolphin_move_to_item", Dolphin.class);
GoalKey<Dolphin> DOLPHIN_PLAY_WITH_ITEMS = create("dolphin_play_with_items", Dolphin.class);
GoalKey<Dolphin> DOLPHIN_SWIM_TO_TREASURE = create("dolphin_swim_to_treasure", Dolphin.class);
@@ -81,13 +81,6 @@ public final class BiomeKeys {
*/
public static final TypedKey<Biome> CRIMSON_FOREST = create(key("crimson_forest"));
/**
* {@code minecraft:dappled_forest}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Biome> DAPPLED_FOREST = create(key("dappled_forest"));
/**
* {@code minecraft:dark_forest}
*
@@ -655,20 +655,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> BLACK_CONCRETE_POWDER = create(key("black_concrete_powder"));
/**
* {@code minecraft:black_concrete_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> BLACK_CONCRETE_SLAB = create(key("black_concrete_slab"));
/**
* {@code minecraft:black_concrete_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> BLACK_CONCRETE_STAIRS = create(key("black_concrete_stairs"));
/**
* {@code minecraft:black_glazed_terracotta}
*
@@ -718,20 +704,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> BLACK_WOOL = create(key("black_wool"));
/**
* {@code minecraft:black_wool_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> BLACK_WOOL_SLAB = create(key("black_wool_slab"));
/**
* {@code minecraft:black_wool_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> BLACK_WOOL_STAIRS = create(key("black_wool_stairs"));
/**
* {@code minecraft:blackstone}
*
@@ -816,20 +788,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> BLUE_CONCRETE_POWDER = create(key("blue_concrete_powder"));
/**
* {@code minecraft:blue_concrete_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> BLUE_CONCRETE_SLAB = create(key("blue_concrete_slab"));
/**
* {@code minecraft:blue_concrete_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> BLUE_CONCRETE_STAIRS = create(key("blue_concrete_stairs"));
/**
* {@code minecraft:blue_glazed_terracotta}
*
@@ -893,20 +851,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> BLUE_WOOL = create(key("blue_wool"));
/**
* {@code minecraft:blue_wool_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> BLUE_WOOL_SLAB = create(key("blue_wool_slab"));
/**
* {@code minecraft:blue_wool_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> BLUE_WOOL_STAIRS = create(key("blue_wool_stairs"));
/**
* {@code minecraft:bone_block}
*
@@ -1033,20 +977,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> BROWN_CONCRETE_POWDER = create(key("brown_concrete_powder"));
/**
* {@code minecraft:brown_concrete_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> BROWN_CONCRETE_SLAB = create(key("brown_concrete_slab"));
/**
* {@code minecraft:brown_concrete_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> BROWN_CONCRETE_STAIRS = create(key("brown_concrete_stairs"));
/**
* {@code minecraft:brown_glazed_terracotta}
*
@@ -1110,20 +1040,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> BROWN_WOOL = create(key("brown_wool"));
/**
* {@code minecraft:brown_wool_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> BROWN_WOOL_SLAB = create(key("brown_wool_slab"));
/**
* {@code minecraft:brown_wool_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> BROWN_WOOL_STAIRS = create(key("brown_wool_stairs"));
/**
* {@code minecraft:bubble_column}
*
@@ -2132,20 +2048,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> CYAN_CONCRETE_POWDER = create(key("cyan_concrete_powder"));
/**
* {@code minecraft:cyan_concrete_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> CYAN_CONCRETE_SLAB = create(key("cyan_concrete_slab"));
/**
* {@code minecraft:cyan_concrete_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> CYAN_CONCRETE_STAIRS = create(key("cyan_concrete_stairs"));
/**
* {@code minecraft:cyan_glazed_terracotta}
*
@@ -2195,20 +2097,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> CYAN_WOOL = create(key("cyan_wool"));
/**
* {@code minecraft:cyan_wool_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> CYAN_WOOL_SLAB = create(key("cyan_wool_slab"));
/**
* {@code minecraft:cyan_wool_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> CYAN_WOOL_STAIRS = create(key("cyan_wool_stairs"));
/**
* {@code minecraft:damaged_anvil}
*
@@ -3217,20 +3105,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> GRAY_CONCRETE_POWDER = create(key("gray_concrete_powder"));
/**
* {@code minecraft:gray_concrete_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> GRAY_CONCRETE_SLAB = create(key("gray_concrete_slab"));
/**
* {@code minecraft:gray_concrete_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> GRAY_CONCRETE_STAIRS = create(key("gray_concrete_stairs"));
/**
* {@code minecraft:gray_glazed_terracotta}
*
@@ -3280,20 +3154,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> GRAY_WOOL = create(key("gray_wool"));
/**
* {@code minecraft:gray_wool_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> GRAY_WOOL_SLAB = create(key("gray_wool_slab"));
/**
* {@code minecraft:gray_wool_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> GRAY_WOOL_STAIRS = create(key("gray_wool_stairs"));
/**
* {@code minecraft:green_banner}
*
@@ -3343,20 +3203,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> GREEN_CONCRETE_POWDER = create(key("green_concrete_powder"));
/**
* {@code minecraft:green_concrete_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> GREEN_CONCRETE_SLAB = create(key("green_concrete_slab"));
/**
* {@code minecraft:green_concrete_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> GREEN_CONCRETE_STAIRS = create(key("green_concrete_stairs"));
/**
* {@code minecraft:green_glazed_terracotta}
*
@@ -3406,20 +3252,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> GREEN_WOOL = create(key("green_wool"));
/**
* {@code minecraft:green_wool_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> GREEN_WOOL_SLAB = create(key("green_wool_slab"));
/**
* {@code minecraft:green_wool_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> GREEN_WOOL_STAIRS = create(key("green_wool_stairs"));
/**
* {@code minecraft:grindstone}
*
@@ -3896,20 +3728,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> LIGHT_BLUE_CONCRETE_POWDER = create(key("light_blue_concrete_powder"));
/**
* {@code minecraft:light_blue_concrete_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> LIGHT_BLUE_CONCRETE_SLAB = create(key("light_blue_concrete_slab"));
/**
* {@code minecraft:light_blue_concrete_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> LIGHT_BLUE_CONCRETE_STAIRS = create(key("light_blue_concrete_stairs"));
/**
* {@code minecraft:light_blue_glazed_terracotta}
*
@@ -3959,20 +3777,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> LIGHT_BLUE_WOOL = create(key("light_blue_wool"));
/**
* {@code minecraft:light_blue_wool_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> LIGHT_BLUE_WOOL_SLAB = create(key("light_blue_wool_slab"));
/**
* {@code minecraft:light_blue_wool_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> LIGHT_BLUE_WOOL_STAIRS = create(key("light_blue_wool_stairs"));
/**
* {@code minecraft:light_gray_banner}
*
@@ -4022,20 +3826,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> LIGHT_GRAY_CONCRETE_POWDER = create(key("light_gray_concrete_powder"));
/**
* {@code minecraft:light_gray_concrete_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> LIGHT_GRAY_CONCRETE_SLAB = create(key("light_gray_concrete_slab"));
/**
* {@code minecraft:light_gray_concrete_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> LIGHT_GRAY_CONCRETE_STAIRS = create(key("light_gray_concrete_stairs"));
/**
* {@code minecraft:light_gray_glazed_terracotta}
*
@@ -4085,20 +3875,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> LIGHT_GRAY_WOOL = create(key("light_gray_wool"));
/**
* {@code minecraft:light_gray_wool_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> LIGHT_GRAY_WOOL_SLAB = create(key("light_gray_wool_slab"));
/**
* {@code minecraft:light_gray_wool_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> LIGHT_GRAY_WOOL_STAIRS = create(key("light_gray_wool_stairs"));
/**
* {@code minecraft:light_weighted_pressure_plate}
*
@@ -4183,20 +3959,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> LIME_CONCRETE_POWDER = create(key("lime_concrete_powder"));
/**
* {@code minecraft:lime_concrete_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> LIME_CONCRETE_SLAB = create(key("lime_concrete_slab"));
/**
* {@code minecraft:lime_concrete_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> LIME_CONCRETE_STAIRS = create(key("lime_concrete_stairs"));
/**
* {@code minecraft:lime_glazed_terracotta}
*
@@ -4246,20 +4008,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> LIME_WOOL = create(key("lime_wool"));
/**
* {@code minecraft:lime_wool_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> LIME_WOOL_SLAB = create(key("lime_wool_slab"));
/**
* {@code minecraft:lime_wool_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> LIME_WOOL_STAIRS = create(key("lime_wool_stairs"));
/**
* {@code minecraft:lodestone}
*
@@ -4323,20 +4071,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> MAGENTA_CONCRETE_POWDER = create(key("magenta_concrete_powder"));
/**
* {@code minecraft:magenta_concrete_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> MAGENTA_CONCRETE_SLAB = create(key("magenta_concrete_slab"));
/**
* {@code minecraft:magenta_concrete_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> MAGENTA_CONCRETE_STAIRS = create(key("magenta_concrete_stairs"));
/**
* {@code minecraft:magenta_glazed_terracotta}
*
@@ -4386,20 +4120,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> MAGENTA_WOOL = create(key("magenta_wool"));
/**
* {@code minecraft:magenta_wool_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> MAGENTA_WOOL_SLAB = create(key("magenta_wool_slab"));
/**
* {@code minecraft:magenta_wool_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> MAGENTA_WOOL_STAIRS = create(key("magenta_wool_stairs"));
/**
* {@code minecraft:magma_block}
*
@@ -4995,20 +4715,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> ORANGE_CONCRETE_POWDER = create(key("orange_concrete_powder"));
/**
* {@code minecraft:orange_concrete_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> ORANGE_CONCRETE_SLAB = create(key("orange_concrete_slab"));
/**
* {@code minecraft:orange_concrete_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> ORANGE_CONCRETE_STAIRS = create(key("orange_concrete_stairs"));
/**
* {@code minecraft:orange_glazed_terracotta}
*
@@ -5016,13 +4722,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> ORANGE_GLAZED_TERRACOTTA = create(key("orange_glazed_terracotta"));
/**
* {@code minecraft:orange_poplar_leaves}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> ORANGE_POPLAR_LEAVES = create(key("orange_poplar_leaves"));
/**
* {@code minecraft:orange_shulker_box}
*
@@ -5072,20 +4771,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> ORANGE_WOOL = create(key("orange_wool"));
/**
* {@code minecraft:orange_wool_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> ORANGE_WOOL_SLAB = create(key("orange_wool_slab"));
/**
* {@code minecraft:orange_wool_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> ORANGE_WOOL_STAIRS = create(key("orange_wool_stairs"));
/**
* {@code minecraft:oxeye_daisy}
*
@@ -5443,20 +5128,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> PINK_CONCRETE_POWDER = create(key("pink_concrete_powder"));
/**
* {@code minecraft:pink_concrete_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> PINK_CONCRETE_SLAB = create(key("pink_concrete_slab"));
/**
* {@code minecraft:pink_concrete_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> PINK_CONCRETE_STAIRS = create(key("pink_concrete_stairs"));
/**
* {@code minecraft:pink_glazed_terracotta}
*
@@ -5520,20 +5191,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> PINK_WOOL = create(key("pink_wool"));
/**
* {@code minecraft:pink_wool_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> PINK_WOOL_SLAB = create(key("pink_wool_slab"));
/**
* {@code minecraft:pink_wool_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> PINK_WOOL_STAIRS = create(key("pink_wool_stairs"));
/**
* {@code minecraft:piston}
*
@@ -5842,125 +5499,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> POLISHED_TUFF_WALL = create(key("polished_tuff_wall"));
/**
* {@code minecraft:poplar_button}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> POPLAR_BUTTON = create(key("poplar_button"));
/**
* {@code minecraft:poplar_door}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> POPLAR_DOOR = create(key("poplar_door"));
/**
* {@code minecraft:poplar_fence}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> POPLAR_FENCE = create(key("poplar_fence"));
/**
* {@code minecraft:poplar_fence_gate}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> POPLAR_FENCE_GATE = create(key("poplar_fence_gate"));
/**
* {@code minecraft:poplar_hanging_sign}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> POPLAR_HANGING_SIGN = create(key("poplar_hanging_sign"));
/**
* {@code minecraft:poplar_log}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> POPLAR_LOG = create(key("poplar_log"));
/**
* {@code minecraft:poplar_planks}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> POPLAR_PLANKS = create(key("poplar_planks"));
/**
* {@code minecraft:poplar_pressure_plate}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> POPLAR_PRESSURE_PLATE = create(key("poplar_pressure_plate"));
/**
* {@code minecraft:poplar_sapling}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> POPLAR_SAPLING = create(key("poplar_sapling"));
/**
* {@code minecraft:poplar_shelf}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> POPLAR_SHELF = create(key("poplar_shelf"));
/**
* {@code minecraft:poplar_sign}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> POPLAR_SIGN = create(key("poplar_sign"));
/**
* {@code minecraft:poplar_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> POPLAR_SLAB = create(key("poplar_slab"));
/**
* {@code minecraft:poplar_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> POPLAR_STAIRS = create(key("poplar_stairs"));
/**
* {@code minecraft:poplar_trapdoor}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> POPLAR_TRAPDOOR = create(key("poplar_trapdoor"));
/**
* {@code minecraft:poplar_wall_hanging_sign}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> POPLAR_WALL_HANGING_SIGN = create(key("poplar_wall_hanging_sign"));
/**
* {@code minecraft:poplar_wall_sign}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> POPLAR_WALL_SIGN = create(key("poplar_wall_sign"));
/**
* {@code minecraft:poplar_wood}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> POPLAR_WOOD = create(key("poplar_wood"));
/**
* {@code minecraft:poppy}
*
@@ -6185,13 +5723,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> POTTED_PINK_TULIP = create(key("potted_pink_tulip"));
/**
* {@code minecraft:potted_poplar_sapling}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> POTTED_POPLAR_SAPLING = create(key("potted_poplar_sapling"));
/**
* {@code minecraft:potted_poppy}
*
@@ -6388,20 +5919,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> PURPLE_CONCRETE_POWDER = create(key("purple_concrete_powder"));
/**
* {@code minecraft:purple_concrete_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> PURPLE_CONCRETE_SLAB = create(key("purple_concrete_slab"));
/**
* {@code minecraft:purple_concrete_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> PURPLE_CONCRETE_STAIRS = create(key("purple_concrete_stairs"));
/**
* {@code minecraft:purple_glazed_terracotta}
*
@@ -6451,20 +5968,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> PURPLE_WOOL = create(key("purple_wool"));
/**
* {@code minecraft:purple_wool_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> PURPLE_WOOL_SLAB = create(key("purple_wool_slab"));
/**
* {@code minecraft:purple_wool_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> PURPLE_WOOL_STAIRS = create(key("purple_wool_stairs"));
/**
* {@code minecraft:purpur_block}
*
@@ -6605,20 +6108,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> RED_CONCRETE_POWDER = create(key("red_concrete_powder"));
/**
* {@code minecraft:red_concrete_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> RED_CONCRETE_SLAB = create(key("red_concrete_slab"));
/**
* {@code minecraft:red_concrete_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> RED_CONCRETE_STAIRS = create(key("red_concrete_stairs"));
/**
* {@code minecraft:red_glazed_terracotta}
*
@@ -6668,13 +6157,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> RED_NETHER_BRICKS = create(key("red_nether_bricks"));
/**
* {@code minecraft:red_poplar_leaves}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> RED_POPLAR_LEAVES = create(key("red_poplar_leaves"));
/**
* {@code minecraft:red_sand}
*
@@ -6710,13 +6192,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> RED_SANDSTONE_WALL = create(key("red_sandstone_wall"));
/**
* {@code minecraft:red_shrub}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> RED_SHRUB = create(key("red_shrub"));
/**
* {@code minecraft:red_shulker_box}
*
@@ -6766,20 +6241,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> RED_WOOL = create(key("red_wool"));
/**
* {@code minecraft:red_wool_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> RED_WOOL_SLAB = create(key("red_wool_slab"));
/**
* {@code minecraft:red_wool_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> RED_WOOL_STAIRS = create(key("red_wool_stairs"));
/**
* {@code minecraft:redstone_block}
*
@@ -7004,13 +6465,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> SEAGRASS = create(key("seagrass"));
/**
* {@code minecraft:shelf_mushroom}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> SHELF_MUSHROOM = create(key("shelf_mushroom"));
/**
* {@code minecraft:short_dry_grass}
*
@@ -7466,13 +6920,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> STONECUTTER = create(key("stonecutter"));
/**
* {@code minecraft:straw_bed}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> STRAW_BED = create(key("straw_bed"));
/**
* {@code minecraft:stripped_acacia_log}
*
@@ -7606,20 +7053,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> STRIPPED_PALE_OAK_WOOD = create(key("stripped_pale_oak_wood"));
/**
* {@code minecraft:stripped_poplar_log}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> STRIPPED_POPLAR_LOG = create(key("stripped_poplar_log"));
/**
* {@code minecraft:stripped_poplar_wood}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> STRIPPED_POPLAR_WOOD = create(key("stripped_poplar_wood"));
/**
* {@code minecraft:stripped_spruce_log}
*
@@ -8768,20 +8201,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> WHITE_CONCRETE_POWDER = create(key("white_concrete_powder"));
/**
* {@code minecraft:white_concrete_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> WHITE_CONCRETE_SLAB = create(key("white_concrete_slab"));
/**
* {@code minecraft:white_concrete_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> WHITE_CONCRETE_STAIRS = create(key("white_concrete_stairs"));
/**
* {@code minecraft:white_glazed_terracotta}
*
@@ -8838,20 +8257,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> WHITE_WOOL = create(key("white_wool"));
/**
* {@code minecraft:white_wool_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> WHITE_WOOL_SLAB = create(key("white_wool_slab"));
/**
* {@code minecraft:white_wool_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> WHITE_WOOL_STAIRS = create(key("white_wool_stairs"));
/**
* {@code minecraft:wildflowers}
*
@@ -8929,20 +8334,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> YELLOW_CONCRETE_POWDER = create(key("yellow_concrete_powder"));
/**
* {@code minecraft:yellow_concrete_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> YELLOW_CONCRETE_SLAB = create(key("yellow_concrete_slab"));
/**
* {@code minecraft:yellow_concrete_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> YELLOW_CONCRETE_STAIRS = create(key("yellow_concrete_stairs"));
/**
* {@code minecraft:yellow_glazed_terracotta}
*
@@ -8950,13 +8341,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> YELLOW_GLAZED_TERRACOTTA = create(key("yellow_glazed_terracotta"));
/**
* {@code minecraft:yellow_poplar_leaves}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> YELLOW_POPLAR_LEAVES = create(key("yellow_poplar_leaves"));
/**
* {@code minecraft:yellow_shulker_box}
*
@@ -8999,20 +8383,6 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> YELLOW_WOOL = create(key("yellow_wool"));
/**
* {@code minecraft:yellow_wool_slab}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> YELLOW_WOOL_SLAB = create(key("yellow_wool_slab"));
/**
* {@code minecraft:yellow_wool_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<BlockType> YELLOW_WOOL_STAIRS = create(key("yellow_wool_stairs"));
/**
* {@code minecraft:zombie_head}
*
@@ -32,13 +32,6 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> ADDITIONAL_TRADE_COST = create(key("additional_trade_cost"));
/**
* {@code minecraft:attack_animation}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> ATTACK_ANIMATION = create(key("attack_animation"));
/**
* {@code minecraft:attack_range}
*
@@ -95,13 +88,6 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> BLOCK_STATE = create(key("block_state"));
/**
* {@code minecraft:block_transformer}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> BLOCK_TRANSFORMER = create(key("block_transformer"));
/**
* {@code minecraft:blocks_attacks}
*
@@ -116,13 +102,6 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> BREAK_SOUND = create(key("break_sound"));
/**
* {@code minecraft:brewing_fuel}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> BREWING_FUEL = create(key("brewing_fuel"));
/**
* {@code minecraft:bucket_entity_data}
*
@@ -193,13 +172,6 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> CHICKEN_VARIANT = create(key("chicken/variant"));
/**
* {@code minecraft:compostable}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> COMPOSTABLE = create(key("compostable"));
/**
* {@code minecraft:consumable}
*
@@ -221,13 +193,6 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> CONTAINER_LOOT = create(key("container_loot"));
/**
* {@code minecraft:cooking_fuel}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> COOKING_FUEL = create(key("cooking_fuel"));
/**
* {@code minecraft:cow/sound_variant}
*
@@ -249,13 +214,6 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> CREATIVE_SLOT_LOCK = create(key("creative_slot_lock"));
/**
* {@code minecraft:cushion/color}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> CUSHION_COLOR = create(key("cushion/color"));
/**
* {@code minecraft:custom_data}
*
@@ -424,13 +382,6 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> INTANGIBLE_PROJECTILE = create(key("intangible_projectile"));
/**
* {@code minecraft:interact_animation}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> INTERACT_ANIMATION = create(key("interact_animation"));
/**
* {@code minecraft:item_model}
*
@@ -487,6 +438,13 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> LORE = create(key("lore"));
/**
* {@code minecraft:map_color}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> MAP_COLOR = create(key("map_color"));
/**
* {@code minecraft:map_decorations}
*
@@ -529,13 +487,6 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> MINIMUM_ATTACK_CHARGE = create(key("minimum_attack_charge"));
/**
* {@code minecraft:mob_visibility}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> MOB_VISIBILITY = create(key("mob_visibility"));
/**
* {@code minecraft:mooshroom/variant}
*
@@ -627,13 +578,6 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> PROVIDES_BANNER_PATTERNS = create(key("provides_banner_patterns"));
/**
* {@code minecraft:provides_pottery_pattern}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> PROVIDES_POTTERY_PATTERN = create(key("provides_pottery_pattern"));
/**
* {@code minecraft:provides_trim_material}
*
@@ -697,20 +641,6 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> SHULKER_COLOR = create(key("shulker/color"));
/**
* {@code minecraft:sign_text_back}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> SIGN_TEXT_BACK = create(key("sign_text_back"));
/**
* {@code minecraft:sign_text_front}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> SIGN_TEXT_FRONT = create(key("sign_text_front"));
/**
* {@code minecraft:stored_enchantments}
*
@@ -732,6 +662,13 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> SUSPICIOUS_STEW_EFFECTS = create(key("suspicious_stew_effects"));
/**
* {@code minecraft:swing_animation}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> SWING_ANIMATION = create(key("swing_animation"));
/**
* {@code minecraft:tool}
*
@@ -816,20 +753,6 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> VILLAGER_VARIANT = create(key("villager/variant"));
/**
* {@code minecraft:villager_food}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> VILLAGER_FOOD = create(key("villager_food"));
/**
* {@code minecraft:waxed}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> WAXED = create(key("waxed"));
/**
* {@code minecraft:weapon}
*
@@ -1,201 +0,0 @@
package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.block.pot.PotPatternType;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
import org.jspecify.annotations.NullMarked;
/**
* Vanilla keys for {@link RegistryKey#DECORATED_POT_PATTERN}.
*
* @apiNote The fields provided here are a direct representation of
* what is available from the vanilla game source. They may be
* changed (including removals) on any Minecraft version
* bump, so cross-version compatibility is not provided on the
* same level as it is on most of the other API.
*/
@SuppressWarnings({
"unused",
"SpellCheckingInspection"
})
@NullMarked
@GeneratedClass
public final class DecoratedPotPatternKeys {
/**
* {@code minecraft:angler}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> ANGLER = create(key("angler"));
/**
* {@code minecraft:archer}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> ARCHER = create(key("archer"));
/**
* {@code minecraft:arms_up}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> ARMS_UP = create(key("arms_up"));
/**
* {@code minecraft:blade}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> BLADE = create(key("blade"));
/**
* {@code minecraft:brewer}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> BREWER = create(key("brewer"));
/**
* {@code minecraft:burn}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> BURN = create(key("burn"));
/**
* {@code minecraft:danger}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> DANGER = create(key("danger"));
/**
* {@code minecraft:explorer}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> EXPLORER = create(key("explorer"));
/**
* {@code minecraft:flow}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> FLOW = create(key("flow"));
/**
* {@code minecraft:friend}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> FRIEND = create(key("friend"));
/**
* {@code minecraft:guster}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> GUSTER = create(key("guster"));
/**
* {@code minecraft:heart}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> HEART = create(key("heart"));
/**
* {@code minecraft:heartbreak}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> HEARTBREAK = create(key("heartbreak"));
/**
* {@code minecraft:howl}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> HOWL = create(key("howl"));
/**
* {@code minecraft:miner}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> MINER = create(key("miner"));
/**
* {@code minecraft:mourner}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> MOURNER = create(key("mourner"));
/**
* {@code minecraft:plenty}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> PLENTY = create(key("plenty"));
/**
* {@code minecraft:prize}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> PRIZE = create(key("prize"));
/**
* {@code minecraft:scrape}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> SCRAPE = create(key("scrape"));
/**
* {@code minecraft:sheaf}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> SHEAF = create(key("sheaf"));
/**
* {@code minecraft:shelter}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> SHELTER = create(key("shelter"));
/**
* {@code minecraft:skull}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> SKULL = create(key("skull"));
/**
* {@code minecraft:snort}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<PotPatternType> SNORT = create(key("snort"));
private DecoratedPotPatternKeys() {
}
/**
* Creates a typed key for {@link PotPatternType} in the registry {@code minecraft:decorated_pot_pattern}.
*
* @param key the value's key in the registry
* @return a new typed key
*/
public static TypedKey<PotPatternType> create(final Key key) {
return TypedKey.create(RegistryKey.DECORATED_POT_PATTERN, key);
}
}
File diff suppressed because it is too large. Load diff
@@ -25,20 +25,6 @@ import org.jspecify.annotations.NullMarked;
@NullMarked
@GeneratedClass
public final class MapDecorationTypeKeys {
/**
* {@code minecraft:abandoned_camp}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<MapCursor.Type> ABANDONED_CAMP = create(key("abandoned_camp"));
/**
* {@code minecraft:ancient_city}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<MapCursor.Type> ANCIENT_CITY = create(key("ancient_city"));
/**
* {@code minecraft:banner_black}
*
@@ -158,13 +144,6 @@ public final class MapDecorationTypeKeys {
*/
public static final TypedKey<MapCursor.Type> BLUE_MARKER = create(key("blue_marker"));
/**
* {@code minecraft:desert_pyramid}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<MapCursor.Type> DESERT_PYRAMID = create(key("desert_pyramid"));
/**
* {@code minecraft:frame}
*
@@ -186,13 +165,6 @@ public final class MapDecorationTypeKeys {
*/
public static final TypedKey<MapCursor.Type> MANSION = create(key("mansion"));
/**
* {@code minecraft:mineshaft}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<MapCursor.Type> MINESHAFT = create(key("mineshaft"));
/**
* {@code minecraft:monument}
*
@@ -200,13 +172,6 @@ public final class MapDecorationTypeKeys {
*/
public static final TypedKey<MapCursor.Type> MONUMENT = create(key("monument"));
/**
* {@code minecraft:ocean_ruin_warm}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<MapCursor.Type> OCEAN_RUIN_WARM = create(key("ocean_ruin_warm"));
/**
* {@code minecraft:player}
*
@@ -4043,48 +4043,6 @@ public final class SoundEventKeys {
*/
public static final TypedKey<Sound> BLOCK_POLISHED_TUFF_STEP = create(key("block.polished_tuff.step"));
/**
* {@code minecraft:block.poplar_leaves.ambient}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> BLOCK_POPLAR_LEAVES_AMBIENT = create(key("block.poplar_leaves.ambient"));
/**
* {@code minecraft:block.poplar_leaves.break}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> BLOCK_POPLAR_LEAVES_BREAK = create(key("block.poplar_leaves.break"));
/**
* {@code minecraft:block.poplar_leaves.fall}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> BLOCK_POPLAR_LEAVES_FALL = create(key("block.poplar_leaves.fall"));
/**
* {@code minecraft:block.poplar_leaves.hit}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> BLOCK_POPLAR_LEAVES_HIT = create(key("block.poplar_leaves.hit"));
/**
* {@code minecraft:block.poplar_leaves.place}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> BLOCK_POPLAR_LEAVES_PLACE = create(key("block.poplar_leaves.place"));
/**
* {@code minecraft:block.poplar_leaves.step}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> BLOCK_POPLAR_LEAVES_STEP = create(key("block.poplar_leaves.step"));
/**
* {@code minecraft:block.portal.ambient}
*
@@ -4218,20 +4176,6 @@ public final class SoundEventKeys {
*/
public static final TypedKey<Sound> BLOCK_PUMPKIN_CARVE = create(key("block.pumpkin.carve"));
/**
* {@code minecraft:block.red_shrub.break}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> BLOCK_RED_SHRUB_BREAK = create(key("block.red_shrub.break"));
/**
* {@code minecraft:block.red_shrub.place}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> BLOCK_RED_SHRUB_PLACE = create(key("block.red_shrub.place"));
/**
* {@code minecraft:block.redstone_torch.burnout}
*
@@ -4771,41 +4715,6 @@ public final class SoundEventKeys {
*/
public static final TypedKey<Sound> BLOCK_SHELF_TAKE_ITEM = create(key("block.shelf.take_item"));
/**
* {@code minecraft:block.shelf_mushroom.bounce}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> BLOCK_SHELF_MUSHROOM_BOUNCE = create(key("block.shelf_mushroom.bounce"));
/**
* {@code minecraft:block.shelf_mushroom.break}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> BLOCK_SHELF_MUSHROOM_BREAK = create(key("block.shelf_mushroom.break"));
/**
* {@code minecraft:block.shelf_mushroom.fall}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> BLOCK_SHELF_MUSHROOM_FALL = create(key("block.shelf_mushroom.fall"));
/**
* {@code minecraft:block.shelf_mushroom.place}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> BLOCK_SHELF_MUSHROOM_PLACE = create(key("block.shelf_mushroom.place"));
/**
* {@code minecraft:block.shelf_mushroom.step}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> BLOCK_SHELF_MUSHROOM_STEP = create(key("block.shelf_mushroom.step"));
/**
* {@code minecraft:block.shroomlight.break}
*
@@ -5296,48 +5205,6 @@ public final class SoundEventKeys {
*/
public static final TypedKey<Sound> BLOCK_STONE_PRESSURE_PLATE_CLICK_ON = create(key("block.stone_pressure_plate.click_on"));
/**
* {@code minecraft:block.straw_bed.break}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> BLOCK_STRAW_BED_BREAK = create(key("block.straw_bed.break"));
/**
* {@code minecraft:block.straw_bed.break_leave}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> BLOCK_STRAW_BED_BREAK_LEAVE = create(key("block.straw_bed.break_leave"));
/**
* {@code minecraft:block.straw_bed.fall}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> BLOCK_STRAW_BED_FALL = create(key("block.straw_bed.fall"));
/**
* {@code minecraft:block.straw_bed.hit}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> BLOCK_STRAW_BED_HIT = create(key("block.straw_bed.hit"));
/**
* {@code minecraft:block.straw_bed.place}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> BLOCK_STRAW_BED_PLACE = create(key("block.straw_bed.place"));
/**
* {@code minecraft:block.straw_bed.step}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> BLOCK_STRAW_BED_STEP = create(key("block.straw_bed.step"));
/**
* {@code minecraft:block.sulfur.break}
*
@@ -7571,34 +7438,6 @@ public final class SoundEventKeys {
*/
public static final TypedKey<Sound> ENTITY_CREEPER_PRIMED = create(key("entity.creeper.primed"));
/**
* {@code minecraft:entity.cushion.break}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> ENTITY_CUSHION_BREAK = create(key("entity.cushion.break"));
/**
* {@code minecraft:entity.cushion.get_up}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> ENTITY_CUSHION_GET_UP = create(key("entity.cushion.get_up"));
/**
* {@code minecraft:entity.cushion.place}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> ENTITY_CUSHION_PLACE = create(key("entity.cushion.place"));
/**
* {@code minecraft:entity.cushion.sit}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Sound> ENTITY_CUSHION_SIT = create(key("entity.cushion.sit"));
/**
* {@code minecraft:entity.dolphin.ambient}
*
@@ -25,132 +25,6 @@ import org.jspecify.annotations.NullMarked;
@NullMarked
@GeneratedClass
public final class StructureKeys {
/**
* {@code minecraft:abandoned_camp_bamboo_jungle}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Structure> ABANDONED_CAMP_BAMBOO_JUNGLE = create(key("abandoned_camp_bamboo_jungle"));
/**
* {@code minecraft:abandoned_camp_birch_forest}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Structure> ABANDONED_CAMP_BIRCH_FOREST = create(key("abandoned_camp_birch_forest"));
/**
* {@code minecraft:abandoned_camp_cherry_grove}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Structure> ABANDONED_CAMP_CHERRY_GROVE = create(key("abandoned_camp_cherry_grove"));
/**
* {@code minecraft:abandoned_camp_dappled_forest}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Structure> ABANDONED_CAMP_DAPPLED_FOREST = create(key("abandoned_camp_dappled_forest"));
/**
* {@code minecraft:abandoned_camp_flower_forest}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Structure> ABANDONED_CAMP_FLOWER_FOREST = create(key("abandoned_camp_flower_forest"));
/**
* {@code minecraft:abandoned_camp_forest}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Structure> ABANDONED_CAMP_FOREST = create(key("abandoned_camp_forest"));
/**
* {@code minecraft:abandoned_camp_meadow}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Structure> ABANDONED_CAMP_MEADOW = create(key("abandoned_camp_meadow"));
/**
* {@code minecraft:abandoned_camp_old_growth_birch_forest}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Structure> ABANDONED_CAMP_OLD_GROWTH_BIRCH_FOREST = create(key("abandoned_camp_old_growth_birch_forest"));
/**
* {@code minecraft:abandoned_camp_old_growth_pine_taiga}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Structure> ABANDONED_CAMP_OLD_GROWTH_PINE_TAIGA = create(key("abandoned_camp_old_growth_pine_taiga"));
/**
* {@code minecraft:abandoned_camp_old_growth_spruce_taiga}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Structure> ABANDONED_CAMP_OLD_GROWTH_SPRUCE_TAIGA = create(key("abandoned_camp_old_growth_spruce_taiga"));
/**
* {@code minecraft:abandoned_camp_pale_garden}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Structure> ABANDONED_CAMP_PALE_GARDEN = create(key("abandoned_camp_pale_garden"));
/**
* {@code minecraft:abandoned_camp_savanna}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Structure> ABANDONED_CAMP_SAVANNA = create(key("abandoned_camp_savanna"));
/**
* {@code minecraft:abandoned_camp_snowy_taiga}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Structure> ABANDONED_CAMP_SNOWY_TAIGA = create(key("abandoned_camp_snowy_taiga"));
/**
* {@code minecraft:abandoned_camp_sparse_jungle}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Structure> ABANDONED_CAMP_SPARSE_JUNGLE = create(key("abandoned_camp_sparse_jungle"));
/**
* {@code minecraft:abandoned_camp_swamp}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Structure> ABANDONED_CAMP_SWAMP = create(key("abandoned_camp_swamp"));
/**
* {@code minecraft:abandoned_camp_taiga}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Structure> ABANDONED_CAMP_TAIGA = create(key("abandoned_camp_taiga"));
/**
* {@code minecraft:abandoned_camp_windswept_forest}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Structure> ABANDONED_CAMP_WINDSWEPT_FOREST = create(key("abandoned_camp_windswept_forest"));
/**
* {@code minecraft:abandoned_camp_wooded_badlands}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Structure> ABANDONED_CAMP_WOODED_BADLANDS = create(key("abandoned_camp_wooded_badlands"));
/**
* {@code minecraft:ancient_city}
*
@@ -39,132 +39,6 @@ public final class BiomeTagKeys {
*/
public static final TagKey<Biome> ALLOWS_TROPICAL_FISH_SPAWNS_AT_ANY_HEIGHT = create(key("allows_tropical_fish_spawns_at_any_height"));
/**
* {@code #minecraft:has_structure/abandoned_camp_bamboo_jungle}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Biome> HAS_STRUCTURE_ABANDONED_CAMP_BAMBOO_JUNGLE = create(key("has_structure/abandoned_camp_bamboo_jungle"));
/**
* {@code #minecraft:has_structure/abandoned_camp_birch_forest}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Biome> HAS_STRUCTURE_ABANDONED_CAMP_BIRCH_FOREST = create(key("has_structure/abandoned_camp_birch_forest"));
/**
* {@code #minecraft:has_structure/abandoned_camp_cherry_grove}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Biome> HAS_STRUCTURE_ABANDONED_CAMP_CHERRY_GROVE = create(key("has_structure/abandoned_camp_cherry_grove"));
/**
* {@code #minecraft:has_structure/abandoned_camp_dappled_forest}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Biome> HAS_STRUCTURE_ABANDONED_CAMP_DAPPLED_FOREST = create(key("has_structure/abandoned_camp_dappled_forest"));
/**
* {@code #minecraft:has_structure/abandoned_camp_flower_forest}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Biome> HAS_STRUCTURE_ABANDONED_CAMP_FLOWER_FOREST = create(key("has_structure/abandoned_camp_flower_forest"));
/**
* {@code #minecraft:has_structure/abandoned_camp_forest}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Biome> HAS_STRUCTURE_ABANDONED_CAMP_FOREST = create(key("has_structure/abandoned_camp_forest"));
/**
* {@code #minecraft:has_structure/abandoned_camp_meadow}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Biome> HAS_STRUCTURE_ABANDONED_CAMP_MEADOW = create(key("has_structure/abandoned_camp_meadow"));
/**
* {@code #minecraft:has_structure/abandoned_camp_old_growth_birch_forest}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Biome> HAS_STRUCTURE_ABANDONED_CAMP_OLD_GROWTH_BIRCH_FOREST = create(key("has_structure/abandoned_camp_old_growth_birch_forest"));
/**
* {@code #minecraft:has_structure/abandoned_camp_old_growth_pine_taiga}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Biome> HAS_STRUCTURE_ABANDONED_CAMP_OLD_GROWTH_PINE_TAIGA = create(key("has_structure/abandoned_camp_old_growth_pine_taiga"));
/**
* {@code #minecraft:has_structure/abandoned_camp_old_growth_spruce_taiga}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Biome> HAS_STRUCTURE_ABANDONED_CAMP_OLD_GROWTH_SPRUCE_TAIGA = create(key("has_structure/abandoned_camp_old_growth_spruce_taiga"));
/**
* {@code #minecraft:has_structure/abandoned_camp_pale_garden}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Biome> HAS_STRUCTURE_ABANDONED_CAMP_PALE_GARDEN = create(key("has_structure/abandoned_camp_pale_garden"));
/**
* {@code #minecraft:has_structure/abandoned_camp_savanna}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Biome> HAS_STRUCTURE_ABANDONED_CAMP_SAVANNA = create(key("has_structure/abandoned_camp_savanna"));
/**
* {@code #minecraft:has_structure/abandoned_camp_snowy_taiga}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Biome> HAS_STRUCTURE_ABANDONED_CAMP_SNOWY_TAIGA = create(key("has_structure/abandoned_camp_snowy_taiga"));
/**
* {@code #minecraft:has_structure/abandoned_camp_sparse_jungle}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Biome> HAS_STRUCTURE_ABANDONED_CAMP_SPARSE_JUNGLE = create(key("has_structure/abandoned_camp_sparse_jungle"));
/**
* {@code #minecraft:has_structure/abandoned_camp_swamp}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Biome> HAS_STRUCTURE_ABANDONED_CAMP_SWAMP = create(key("has_structure/abandoned_camp_swamp"));
/**
* {@code #minecraft:has_structure/abandoned_camp_taiga}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Biome> HAS_STRUCTURE_ABANDONED_CAMP_TAIGA = create(key("has_structure/abandoned_camp_taiga"));
/**
* {@code #minecraft:has_structure/abandoned_camp_windswept_forest}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Biome> HAS_STRUCTURE_ABANDONED_CAMP_WINDSWEPT_FOREST = create(key("has_structure/abandoned_camp_windswept_forest"));
/**
* {@code #minecraft:has_structure/abandoned_camp_wooded_badlands}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Biome> HAS_STRUCTURE_ABANDONED_CAMP_WOODED_BADLANDS = create(key("has_structure/abandoned_camp_wooded_badlands"));
/**
* {@code #minecraft:has_structure/ancient_city}
*
@@ -207,55 +207,6 @@ public final class BlockTypeTagKeys {
*/
public static final TagKey<BlockType> BIRCH_LOGS = create(key("birch_logs"));
/**
* {@code #minecraft:blocks_dolphin_jump}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> BLOCKS_DOLPHIN_JUMP = create(key("blocks_dolphin_jump"));
/**
* {@code #minecraft:blocks_fluid_flow}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> BLOCKS_FLUID_FLOW = create(key("blocks_fluid_flow"));
/**
* {@code #minecraft:blocks_lava_fire_spread}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> BLOCKS_LAVA_FIRE_SPREAD = create(key("blocks_lava_fire_spread"));
/**
* {@code #minecraft:blocks_motion}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> BLOCKS_MOTION = create(key("blocks_motion"));
/**
* {@code #minecraft:blocks_motion_in_heightmap}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> BLOCKS_MOTION_IN_HEIGHTMAP = create(key("blocks_motion_in_heightmap"));
/**
* {@code #minecraft:blocks_motion_in_heightmap_no_leaves}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> BLOCKS_MOTION_IN_HEIGHTMAP_NO_LEAVES = create(key("blocks_motion_in_heightmap_no_leaves"));
/**
* {@code #minecraft:blocks_motion_no_leaves}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> BLOCKS_MOTION_NO_LEAVES = create(key("blocks_motion_no_leaves"));
/**
* {@code #minecraft:blocks_wind_charge_explosions}
*
@@ -312,13 +263,6 @@ public final class BlockTypeTagKeys {
*/
public static final TagKey<BlockType> CANDLES = create(key("candles"));
/**
* {@code #minecraft:cannot_place_basalt_pillar_on}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> CANNOT_PLACE_BASALT_PILLAR_ON = create(key("cannot_place_basalt_pillar_on"));
/**
* {@code #minecraft:cannot_replace_below_tree_trunk}
*
@@ -347,27 +291,6 @@ public final class BlockTypeTagKeys {
*/
public static final TagKey<BlockType> CANNOT_SUPPORT_SNOW_LAYER = create(key("cannot_support_snow_layer"));
/**
* {@code #minecraft:cat_does_not_teleport_to}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> CAT_DOES_NOT_TELEPORT_TO = create(key("cat_does_not_teleport_to"));
/**
* {@code #minecraft:cats_can_lie_on}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> CATS_CAN_LIE_ON = create(key("cats_can_lie_on"));
/**
* {@code #minecraft:cats_can_sit_on}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> CATS_CAN_SIT_ON = create(key("cats_can_sit_on"));
/**
* {@code #minecraft:cauldrons}
*
@@ -389,13 +312,6 @@ public final class BlockTypeTagKeys {
*/
public static final TagKey<BlockType> CAUSES_PERIODIC_GEYSER_ERUPTIONS = create(key("causes_periodic_geyser_eruptions"));
/**
* {@code #minecraft:causes_suffocation}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> CAUSES_SUFFOCATION = create(key("causes_suffocation"));
/**
* {@code #minecraft:cave_vines}
*
@@ -467,32 +383,11 @@ public final class BlockTypeTagKeys {
public static final TagKey<BlockType> CONCRETE_POWDERS = create(key("concrete_powders"));
/**
* {@code #minecraft:concrete_slabs}
* {@code #minecraft:convertable_to_mud}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> CONCRETE_SLABS = create(key("concrete_slabs"));
/**
* {@code #minecraft:concrete_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> CONCRETE_STAIRS = create(key("concrete_stairs"));
/**
* {@code #minecraft:conduit_effect_block}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> CONDUIT_EFFECT_BLOCK = create(key("conduit_effect_block"));
/**
* {@code #minecraft:convertible_to_mud}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> CONVERTIBLE_TO_MUD = create(key("convertible_to_mud"));
public static final TagKey<BlockType> CONVERTABLE_TO_MUD = create(key("convertable_to_mud"));
/**
* {@code #minecraft:copper}
@@ -564,13 +459,6 @@ public final class BlockTypeTagKeys {
*/
public static final TagKey<BlockType> CRYSTAL_SOUND_BLOCKS = create(key("crystal_sound_blocks"));
/**
* {@code #minecraft:cushion_uses_collision_shape}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> CUSHION_USES_COLLISION_SHAPE = create(key("cushion_uses_collision_shape"));
/**
* {@code #minecraft:dampens_vibrations}
*
@@ -578,13 +466,6 @@ public final class BlockTypeTagKeys {
*/
public static final TagKey<BlockType> DAMPENS_VIBRATIONS = create(key("dampens_vibrations"));
/**
* {@code #minecraft:dangerous_for_teleportation}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> DANGEROUS_FOR_TELEPORTATION = create(key("dangerous_for_teleportation"));
/**
* {@code #minecraft:dark_oak_logs}
*
@@ -697,13 +578,6 @@ public final class BlockTypeTagKeys {
*/
public static final TagKey<BlockType> ENCHANTMENT_POWER_TRANSMITTER = create(key("enchantment_power_transmitter"));
/**
* {@code #minecraft:enderman_does_not_teleport_to}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> ENDERMAN_DOES_NOT_TELEPORT_TO = create(key("enderman_does_not_teleport_to"));
/**
* {@code #minecraft:enderman_holdable}
*
@@ -711,13 +585,6 @@ public final class BlockTypeTagKeys {
*/
public static final TagKey<BlockType> ENDERMAN_HOLDABLE = create(key("enderman_holdable"));
/**
* {@code #minecraft:entities_can_teleport_to}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> ENTITIES_CAN_TELEPORT_TO = create(key("entities_can_teleport_to"));
/**
* {@code #minecraft:fall_damage_resetting}
*
@@ -858,13 +725,6 @@ public final class BlockTypeTagKeys {
*/
public static final TagKey<BlockType> HAPPY_GHAST_AVOIDS = create(key("happy_ghast_avoids"));
/**
* {@code #minecraft:height_specific_ore_replaceables}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> HEIGHT_SPECIFIC_ORE_REPLACEABLES = create(key("height_specific_ore_replaceables"));
/**
* {@code #minecraft:hoglin_repellents}
*
@@ -893,13 +753,6 @@ public final class BlockTypeTagKeys {
*/
public static final TagKey<BlockType> ICE = create(key("ice"));
/**
* {@code #minecraft:ice_melts_when_destroyed_above}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> ICE_MELTS_WHEN_DESTROYED_ABOVE = create(key("ice_melts_when_destroyed_above"));
/**
* {@code #minecraft:ice_spike_replaceable}
*
@@ -1181,11 +1034,11 @@ public final class BlockTypeTagKeys {
public static final TagKey<BlockType> NEEDS_STONE_TOOL = create(key("needs_stone_tool"));
/**
* {@code #minecraft:nether_portal_frame}
* {@code #minecraft:nether_carver_replaceables}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> NETHER_PORTAL_FRAME = create(key("nether_portal_frame"));
public static final TagKey<BlockType> NETHER_CARVER_REPLACEABLES = create(key("nether_carver_replaceables"));
/**
* {@code #minecraft:nylium}
@@ -1208,13 +1061,6 @@ public final class BlockTypeTagKeys {
*/
public static final TagKey<BlockType> OCCLUDES_VIBRATION_SIGNALS = create(key("occludes_vibration_signals"));
/**
* {@code #minecraft:ores}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> ORES = create(key("ores"));
/**
* {@code #minecraft:overrides_mushroom_light_requirement}
*
@@ -1222,6 +1068,13 @@ public final class BlockTypeTagKeys {
*/
public static final TagKey<BlockType> OVERRIDES_MUSHROOM_LIGHT_REQUIREMENT = create(key("overrides_mushroom_light_requirement"));
/**
* {@code #minecraft:overworld_carver_replaceables}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> OVERWORLD_CARVER_REPLACEABLES = create(key("overworld_carver_replaceables"));
/**
* {@code #minecraft:overworld_natural_logs}
*
@@ -1271,13 +1124,6 @@ public final class BlockTypeTagKeys {
*/
public static final TagKey<BlockType> POLAR_BEARS_SPAWNABLE_ON_ALTERNATE = create(key("polar_bears_spawnable_on_alternate"));
/**
* {@code #minecraft:poplar_logs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> POPLAR_LOGS = create(key("poplar_logs"));
/**
* {@code #minecraft:portals}
*
@@ -1348,13 +1194,6 @@ public final class BlockTypeTagKeys {
*/
public static final TagKey<BlockType> REPLACEABLE_BY_TREES = create(key("replaceable_by_trees"));
/**
* {@code #minecraft:required_for_poplar_leaf_ambience}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> REQUIRED_FOR_POPLAR_LEAF_AMBIENCE = create(key("required_for_poplar_leaf_ambience"));
/**
* {@code #minecraft:sand}
*
@@ -1369,13 +1208,6 @@ public final class BlockTypeTagKeys {
*/
public static final TagKey<BlockType> SAPLINGS = create(key("saplings"));
/**
* {@code #minecraft:sculk_growth_inhibitors}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> SCULK_GROWTH_INHIBITORS = create(key("sculk_growth_inhibitors"));
/**
* {@code #minecraft:sculk_replaceable}
*
@@ -1418,13 +1250,6 @@ public final class BlockTypeTagKeys {
*/
public static final TagKey<BlockType> SHULKER_BOXES = create(key("shulker_boxes"));
/**
* {@code #minecraft:shulker_does_not_teleport_to}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> SHULKER_DOES_NOT_TELEPORT_TO = create(key("shulker_does_not_teleport_to"));
/**
* {@code #minecraft:signs}
*
@@ -1432,13 +1257,6 @@ public final class BlockTypeTagKeys {
*/
public static final TagKey<BlockType> SIGNS = create(key("signs"));
/**
* {@code #minecraft:skulls}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> SKULLS = create(key("skulls"));
/**
* {@code #minecraft:slabs}
*
@@ -1509,13 +1327,6 @@ public final class BlockTypeTagKeys {
*/
public static final TagKey<BlockType> SOUL_SPEED_BLOCKS = create(key("soul_speed_blocks"));
/**
* {@code #minecraft:speeds_up_zombie_villager_curing}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> SPEEDS_UP_ZOMBIE_VILLAGER_CURING = create(key("speeds_up_zombie_villager_curing"));
/**
* {@code #minecraft:speleothems}
*
@@ -1887,27 +1698,6 @@ public final class BlockTypeTagKeys {
*/
public static final TagKey<BlockType> TRIGGERS_AMBIENT_DRIED_GHAST_BLOCK_SOUNDS = create(key("triggers_ambient_dried_ghast_block_sounds"));
/**
* {@code #minecraft:turns_into_dirt_path}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> TURNS_INTO_DIRT_PATH = create(key("turns_into_dirt_path"));
/**
* {@code #minecraft:turns_into_farmland}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> TURNS_INTO_FARMLAND = create(key("turns_into_farmland"));
/**
* {@code #minecraft:uncarvable}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> UNCARVABLE = create(key("uncarvable"));
/**
* {@code #minecraft:underwater_bonemeals}
*
@@ -1936,20 +1726,6 @@ public final class BlockTypeTagKeys {
*/
public static final TagKey<BlockType> VIBRATION_RESONATORS = create(key("vibration_resonators"));
/**
* {@code #minecraft:villager_babies_can_jump_on_bed}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> VILLAGER_BABIES_CAN_JUMP_ON_BED = create(key("villager_babies_can_jump_on_bed"));
/**
* {@code #minecraft:villagers_can_sleep_on_bed}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> VILLAGERS_CAN_SLEEP_ON_BED = create(key("villagers_can_sleep_on_bed"));
/**
* {@code #minecraft:wall_corals}
*
@@ -1999,13 +1775,6 @@ public final class BlockTypeTagKeys {
*/
public static final TagKey<BlockType> WART_BLOCKS = create(key("wart_blocks"));
/**
* {@code #minecraft:washed_away_by_fluids}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> WASHED_AWAY_BY_FLUIDS = create(key("washed_away_by_fluids"));
/**
* {@code #minecraft:wither_immune}
*
@@ -2111,20 +1880,6 @@ public final class BlockTypeTagKeys {
*/
public static final TagKey<BlockType> WOOL_CARPETS = create(key("wool_carpets"));
/**
* {@code #minecraft:wool_slabs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> WOOL_SLABS = create(key("wool_slabs"));
/**
* {@code #minecraft:wool_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<BlockType> WOOL_STAIRS = create(key("wool_stairs"));
private BlockTypeTagKeys() {
}
@@ -81,13 +81,6 @@ public final class DamageTypeTagKeys {
*/
public static final TagKey<DamageType> BYPASSES_ARMOR = create(key("bypasses_armor"));
/**
* {@code #minecraft:bypasses_cooldown}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<DamageType> BYPASSES_COOLDOWN = create(key("bypasses_cooldown"));
/**
* {@code #minecraft:bypasses_effects}
*
@@ -235,13 +228,6 @@ public final class DamageTypeTagKeys {
*/
public static final TagKey<DamageType> NO_KNOCKBACK = create(key("no_knockback"));
/**
* {@code #minecraft:no_wolf_retaliation}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<DamageType> NO_WOLF_RETALIATION = create(key("no_wolf_retaliation"));
/**
* {@code #minecraft:panic_causes}
*
@@ -151,13 +151,6 @@ public final class EntityTypeTagKeys {
*/
public static final TagKey<EntityType> CANNOT_BE_AGE_LOCKED = create(key("cannot_be_age_locked"));
/**
* {@code #minecraft:cannot_be_dismounted_by_item_usage}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<EntityType> CANNOT_BE_DISMOUNTED_BY_ITEM_USAGE = create(key("cannot_be_dismounted_by_item_usage"));
/**
* {@code #minecraft:cannot_be_pushed_onto_boats}
*
@@ -25,13 +25,6 @@ import org.jspecify.annotations.NullMarked;
@NullMarked
@GeneratedClass
public final class FluidTagKeys {
/**
* {@code #minecraft:axolotl_tries_to_find}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Fluid> AXOLOTL_TRIES_TO_FIND = create(key("axolotl_tries_to_find"));
/**
* {@code #minecraft:bubble_column_can_occupy}
*
@@ -39,27 +32,6 @@ public final class FluidTagKeys {
*/
public static final TagKey<Fluid> BUBBLE_COLUMN_CAN_OCCUPY = create(key("bubble_column_can_occupy"));
/**
* {@code #minecraft:dolphin_tries_to_find}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Fluid> DOLPHIN_TRIES_TO_FIND = create(key("dolphin_tries_to_find"));
/**
* {@code #minecraft:entity_floatable}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Fluid> ENTITY_FLOATABLE = create(key("entity_floatable"));
/**
* {@code #minecraft:frog_tries_to_find_land_near}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Fluid> FROG_TRIES_TO_FIND_LAND_NEAR = create(key("frog_tries_to_find_land_near"));
/**
* {@code #minecraft:lava}
*
@@ -145,11 +145,11 @@ public final class ItemTypeTagKeys {
public static final TagKey<ItemType> BREAKS_DECORATED_POTS = create(key("breaks_decorated_pots"));
/**
* {@code #minecraft:brewing_potion_inputs}
* {@code #minecraft:brewing_fuel}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<ItemType> BREWING_POTION_INPUTS = create(key("brewing_potion_inputs"));
public static final TagKey<ItemType> BREWING_FUEL = create(key("brewing_fuel"));
/**
* {@code #minecraft:bundles}
@@ -242,13 +242,6 @@ public final class ItemTypeTagKeys {
*/
public static final TagKey<ItemType> CHICKEN_FOOD = create(key("chicken_food"));
/**
* {@code #minecraft:clonable_maps}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<ItemType> CLONABLE_MAPS = create(key("clonable_maps"));
/**
* {@code #minecraft:cluster_max_harvestables}
*
@@ -298,20 +291,6 @@ public final class ItemTypeTagKeys {
*/
public static final TagKey<ItemType> CONCRETE_POWDERS = create(key("concrete_powders"));
/**
* {@code #minecraft:concrete_slabs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<ItemType> CONCRETE_SLABS = create(key("concrete_slabs"));
/**
* {@code #minecraft:concrete_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<ItemType> CONCRETE_STAIRS = create(key("concrete_stairs"));
/**
* {@code #minecraft:copper}
*
@@ -375,13 +354,6 @@ public final class ItemTypeTagKeys {
*/
public static final TagKey<ItemType> CRIMSON_STEMS = create(key("crimson_stems"));
/**
* {@code #minecraft:cushions}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<ItemType> CUSHIONS = create(key("cushions"));
/**
* {@code #minecraft:dampens_vibrations}
*
@@ -438,13 +410,6 @@ public final class ItemTypeTagKeys {
*/
public static final TagKey<ItemType> DOORS = create(key("doors"));
/**
* {@code #minecraft:douses_campfires}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<ItemType> DOUSES_CAMPFIRES = create(key("douses_campfires"));
/**
* {@code #minecraft:drowned_preferred_weapons}
*
@@ -627,13 +592,6 @@ public final class ItemTypeTagKeys {
*/
public static final TagKey<ItemType> ENCHANTABLE_WEAPON = create(key("enchantable/weapon"));
/**
* {@code #minecraft:extendable_maps}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<ItemType> EXTENDABLE_MAPS = create(key("extendable_maps"));
/**
* {@code #minecraft:fence_gates}
*
@@ -690,13 +648,6 @@ public final class ItemTypeTagKeys {
*/
public static final TagKey<ItemType> FROG_FOOD = create(key("frog_food"));
/**
* {@code #minecraft:furnace_fuel_bottom_takeable}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<ItemType> FURNACE_FUEL_BOTTOM_TAKEABLE = create(key("furnace_fuel_bottom_takeable"));
/**
* {@code #minecraft:furnace_minecart_fuel}
*
@@ -963,13 +914,6 @@ public final class ItemTypeTagKeys {
*/
public static final TagKey<ItemType> MUD = create(key("mud"));
/**
* {@code #minecraft:mushrooms}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<ItemType> MUSHROOMS = create(key("mushrooms"));
/**
* {@code #minecraft:nautilus_bucket_food}
*
@@ -1026,13 +970,6 @@ public final class ItemTypeTagKeys {
*/
public static final TagKey<ItemType> OCELOT_FOOD = create(key("ocelot_food"));
/**
* {@code #minecraft:ores}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<ItemType> ORES = create(key("ores"));
/**
* {@code #minecraft:pale_oak_logs}
*
@@ -1131,13 +1068,6 @@ public final class ItemTypeTagKeys {
*/
public static final TagKey<ItemType> PLANKS = create(key("planks"));
/**
* {@code #minecraft:poplar_logs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<ItemType> POPLAR_LOGS = create(key("poplar_logs"));
/**
* {@code #minecraft:rabbit_food}
*
@@ -1656,20 +1586,6 @@ public final class ItemTypeTagKeys {
*/
public static final TagKey<ItemType> WOOL_CARPETS = create(key("wool_carpets"));
/**
* {@code #minecraft:wool_slabs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<ItemType> WOOL_SLABS = create(key("wool_slabs"));
/**
* {@code #minecraft:wool_stairs}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<ItemType> WOOL_STAIRS = create(key("wool_stairs"));
/**
* {@code #minecraft:zombie_horse_food}
*
@@ -25,34 +25,6 @@ import org.jspecify.annotations.NullMarked;
@NullMarked
@GeneratedClass
public final class PotionTypeTagKeys {
/**
* {@code #minecraft:douses_fire}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<PotionType> DOUSES_FIRE = create(key("douses_fire"));
/**
* {@code #minecraft:extinguishes_entities}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<PotionType> EXTINGUISHES_ENTITIES = create(key("extinguishes_entities"));
/**
* {@code #minecraft:hurts_water_sensitive_entities}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<PotionType> HURTS_WATER_SENSITIVE_ENTITIES = create(key("hurts_water_sensitive_entities"));
/**
* {@code #minecraft:rehydrates_axolotls}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<PotionType> REHYDRATES_AXOLOTLS = create(key("rehydrates_axolotls"));
/**
* {@code #minecraft:tradeable}
*
@@ -25,13 +25,6 @@ import org.jspecify.annotations.NullMarked;
@NullMarked
@GeneratedClass
public final class StructureTagKeys {
/**
* {@code #minecraft:abandoned_camp}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Structure> ABANDONED_CAMP = create(key("abandoned_camp"));
/**
* {@code #minecraft:cats_spawn_as_black}
*
@@ -74,83 +67,6 @@ public final class StructureTagKeys {
*/
public static final TagKey<Structure> OCEAN_RUIN = create(key("ocean_ruin"));
/**
* {@code #minecraft:on_abandoned_camp_bamboo_jungle}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Structure> ON_ABANDONED_CAMP_BAMBOO_JUNGLE = create(key("on_abandoned_camp_bamboo_jungle"));
/**
* {@code #minecraft:on_abandoned_camp_birch_forest}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Structure> ON_ABANDONED_CAMP_BIRCH_FOREST = create(key("on_abandoned_camp_birch_forest"));
/**
* {@code #minecraft:on_abandoned_camp_cherry_grove}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Structure> ON_ABANDONED_CAMP_CHERRY_GROVE = create(key("on_abandoned_camp_cherry_grove"));
/**
* {@code #minecraft:on_abandoned_camp_dappled_forest}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Structure> ON_ABANDONED_CAMP_DAPPLED_FOREST = create(key("on_abandoned_camp_dappled_forest"));
/**
* {@code #minecraft:on_abandoned_camp_flower_forest}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Structure> ON_ABANDONED_CAMP_FLOWER_FOREST = create(key("on_abandoned_camp_flower_forest"));
/**
* {@code #minecraft:on_abandoned_camp_pale_garden}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Structure> ON_ABANDONED_CAMP_PALE_GARDEN = create(key("on_abandoned_camp_pale_garden"));
/**
* {@code #minecraft:on_abandoned_camp_swamp}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Structure> ON_ABANDONED_CAMP_SWAMP = create(key("on_abandoned_camp_swamp"));
/**
* {@code #minecraft:on_abandoned_camp_windswept_forest}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Structure> ON_ABANDONED_CAMP_WINDSWEPT_FOREST = create(key("on_abandoned_camp_windswept_forest"));
/**
* {@code #minecraft:on_ancient_city_maps}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Structure> ON_ANCIENT_CITY_MAPS = create(key("on_ancient_city_maps"));
/**
* {@code #minecraft:on_buried_trial_chambers_maps}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Structure> ON_BURIED_TRIAL_CHAMBERS_MAPS = create(key("on_buried_trial_chambers_maps"));
/**
* {@code #minecraft:on_desert_pyramid_maps}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Structure> ON_DESERT_PYRAMID_MAPS = create(key("on_desert_pyramid_maps"));
/**
* {@code #minecraft:on_desert_village_maps}
*
@@ -159,32 +75,18 @@ public final class StructureTagKeys {
public static final TagKey<Structure> ON_DESERT_VILLAGE_MAPS = create(key("on_desert_village_maps"));
/**
* {@code #minecraft:on_jungle_pyramid_maps}
* {@code #minecraft:on_jungle_explorer_maps}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Structure> ON_JUNGLE_PYRAMID_MAPS = create(key("on_jungle_pyramid_maps"));
public static final TagKey<Structure> ON_JUNGLE_EXPLORER_MAPS = create(key("on_jungle_explorer_maps"));
/**
* {@code #minecraft:on_mineshaft_maps}
* {@code #minecraft:on_ocean_explorer_maps}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Structure> ON_MINESHAFT_MAPS = create(key("on_mineshaft_maps"));
/**
* {@code #minecraft:on_ocean_monument_maps}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Structure> ON_OCEAN_MONUMENT_MAPS = create(key("on_ocean_monument_maps"));
/**
* {@code #minecraft:on_ocean_ruin_warm_maps}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Structure> ON_OCEAN_RUIN_WARM_MAPS = create(key("on_ocean_ruin_warm_maps"));
public static final TagKey<Structure> ON_OCEAN_EXPLORER_MAPS = create(key("on_ocean_explorer_maps"));
/**
* {@code #minecraft:on_plains_village_maps}
@@ -208,11 +110,11 @@ public final class StructureTagKeys {
public static final TagKey<Structure> ON_SNOWY_VILLAGE_MAPS = create(key("on_snowy_village_maps"));
/**
* {@code #minecraft:on_swamp_hut_maps}
* {@code #minecraft:on_swamp_explorer_maps}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Structure> ON_SWAMP_HUT_MAPS = create(key("on_swamp_hut_maps"));
public static final TagKey<Structure> ON_SWAMP_EXPLORER_MAPS = create(key("on_swamp_explorer_maps"));
/**
* {@code #minecraft:on_taiga_village_maps}
@@ -229,11 +131,18 @@ public final class StructureTagKeys {
public static final TagKey<Structure> ON_TREASURE_MAPS = create(key("on_treasure_maps"));
/**
* {@code #minecraft:on_woodland_mansion_maps}
* {@code #minecraft:on_trial_chambers_maps}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Structure> ON_WOODLAND_MANSION_MAPS = create(key("on_woodland_mansion_maps"));
public static final TagKey<Structure> ON_TRIAL_CHAMBERS_MAPS = create(key("on_trial_chambers_maps"));
/**
* {@code #minecraft:on_woodland_explorer_maps}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TagKey<Structure> ON_WOODLAND_EXPLORER_MAPS = create(key("on_woodland_explorer_maps"));
/**
* {@code #minecraft:ruined_portal}
@@ -224,29 +224,24 @@ public class MaterialTags {
/**
* Covers all mushrooms.
*
* @deprecated in favour of {@link Tag#ITEMS_MUSHROOMS}
*/
@Deprecated(since = "26.3")
public static final MaterialSetTag MUSHROOMS = replacedBy(Tag.ITEMS_MUSHROOMS);
public static final MaterialSetTag MUSHROOMS = new MaterialSetTag(keyFor("mushrooms"))
.add(Material.BROWN_MUSHROOM, Material.RED_MUSHROOM).lock();
/**
* Covers all music disc items.
*/
public static final MaterialSetTag MUSIC_DISCS = new MaterialSetTag(keyFor("music_discs"))
.startsWith("MUSIC_DISC_")
.ensureSize("MUSIC_DISCS", 22).lock();
.startsWith("MUSIC_DISC_").lock();
/**
* Covers all ores.
*
* @deprecated in favour of {@link Tag#ORES}, makes sure to also check for ancient debris if you relied on this edge case
*/
@SuppressWarnings("unchecked")
@Deprecated(since = "26.3")
public static final MaterialSetTag ORES = new MaterialSetTag(keyFor("ores"))
.add(Tag.ORES)
.add(Material.ANCIENT_DEBRIS).lock();
.add(Tag.COAL_ORES, Tag.COPPER_ORES, Tag.IRON_ORES, Tag.GOLD_ORES,
Tag.LAPIS_ORES, Tag.REDSTONE_ORES, Tag.DIAMOND_ORES, Tag.EMERALD_ORES)
.add(Material.ANCIENT_DEBRIS, Material.NETHER_QUARTZ_ORE).lock();
/**
* Covers all piston typed items and blocks including the piston head and moving piston.
@@ -596,9 +591,7 @@ public class MaterialTags {
*/
@SuppressWarnings("unchecked")
public static final MaterialSetTag COLORABLE = new MaterialSetTag(keyFor("colorable"))
.add(Tag.WOOL, Tag.WOOL_CARPETS, Tag.WOOL_SLABS, Tag.WOOL_STAIRS,
Tag.CONCRETE_SLABS, Tag.CONCRETE_STAIRS,
Tag.SHULKER_BOXES, Tag.BEDS, Tag.ITEMS_CUSHIONS)
.add(Tag.WOOL, Tag.WOOL_CARPETS, Tag.SHULKER_BOXES, Tag.BEDS, Tag.CONCRETE)
.add(STAINED_GLASS, STAINED_GLASS_PANES)
.lock();
@@ -17,7 +17,7 @@ import org.jspecify.annotations.Nullable;
/**
* Helps prepare a particle to be sent to players.
* <p>
* Usage of the builder is preferred over the super long {@link World#spawnParticle(Particle, List, Player, double, double, double, int, double, double, double, double, double, double, Object, boolean, Particle.RandomizationType)} API.
* Usage of the builder is preferred over the super long {@link World#spawnParticle(Particle, Location, int, double, double, double, double, Object)} API
*/
@NullMarked
public class ParticleBuilder implements Cloneable {
@@ -28,10 +28,9 @@ public class ParticleBuilder implements Cloneable {
private @Nullable Location location;
private int count = 1;
private double offsetX = 0, offsetY = 0, offsetZ = 0;
private double speedX = 1, speedY = 1, speedZ = 1;
private double extra = 1;
private @Nullable Object data;
private boolean force = true;
private Particle.RandomizationType randomizationType = Particle.RandomizationType.DEFAULT;
public ParticleBuilder(final Particle particle) {
this.particle = particle;
@@ -50,8 +49,7 @@ public class ParticleBuilder implements Cloneable {
this.location.getWorld().spawnParticle(
this.particle, this.receivers, this.source,
this.location.getX(), this.location.getY(), this.location.getZ(),
this.count, this.offsetX, this.offsetY, this.offsetZ, this.speedX, this.speedY, this.speedZ,
this.data, this.force, this.randomizationType
this.count, this.offsetX, this.offsetY, this.offsetZ, this.extra, this.data, this.force
);
return this;
}
@@ -133,7 +131,7 @@ public class ParticleBuilder implements Cloneable {
* world
* @return a reference to this object.
*/
public ParticleBuilder receivers(final Player @Nullable ... receivers) {
public ParticleBuilder receivers(final Player @Nullable... receivers) {
this.receivers = receivers != null ? Lists.newArrayList(receivers) : null;
return this;
}
@@ -359,14 +357,12 @@ public class ParticleBuilder implements Cloneable {
}
/**
* Gets the Particle extra data (speedX). Varies by particle on how this is used
* Gets the Particle extra data. Varies by particle on how this is used
*
* @return the extra particle data
* @deprecated use one of the {@code speed} methods instead
*/
@Deprecated(since = "26.3", forRemoval = true)
public double extra() {
return this.speedX;
return this.extra;
}
/**
@@ -374,62 +370,9 @@ public class ParticleBuilder implements Cloneable {
*
* @param extra the extra particle data
* @return a reference to this object.
* @deprecated use {@link #speed(double)} instead
*/
@Deprecated(since = "26.3", forRemoval = true)
public ParticleBuilder extra(final double extra) {
return this.speed(extra);
}
/**
* Particle speed X. Varies by particle on how this is used
*
* @return the particle speed X
*/
public double speedX() {
return this.speedX;
}
/**
* Particle speed Y. Varies by particle on how this is used
*
* @return the particle speed Y
*/
public double speedY() {
return this.speedY;
}
/**
* Particle speed Z. Varies by particle on how this is used
*
* @return the particle speed Z
*/
public double speedZ() {
return this.speedZ;
}
/**
* Sets the particle speed. Varies by particle on how this is used
*
* @param speed Particle speed
* @return a reference to this object.
*/
public ParticleBuilder speed(final double speed) {
return this.speed(speed, speed, speed);
}
/**
* Sets the particle speed. Varies by particle on how this is used
*
* @param speedX Particle speed X
* @param speedY Particle speed Y
* @param speedZ Particle speed Z
* @return a reference to this object.
*/
public ParticleBuilder speed(final double speedX, final double speedY, final double speedZ) {
this.speedX = speedX;
this.speedY = speedY;
this.speedZ = speedZ;
this.extra = extra;
return this;
}
@@ -476,26 +419,6 @@ public class ParticleBuilder implements Cloneable {
return this;
}
/**
* Gets the randomization type for the particle. This determines how the particle's position and velocity are randomized.
*
* @return the randomization type for the particle
*/
public Particle.RandomizationType randomizationType() {
return this.randomizationType;
}
/**
* Sets the randomization type for the particle. This determines how the particle's position and velocity are randomized.
*
* @param randomizationType the new randomization type for the particle
* @return a reference to this object.
*/
public ParticleBuilder randomizationType(final Particle.RandomizationType randomizationType) {
this.randomizationType = randomizationType;
return this;
}
/**
* Sets the particle Color.
* Only valid for particles with a data type of {@link Color}, {@link Particle.DustOptions} or {@link Particle.Spell}.
@@ -1,7 +1,6 @@
package com.destroystokyo.paper.event.block;
import org.bukkit.Material;
import org.bukkit.Warning;
import org.bukkit.block.Block;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Entity;
@@ -24,7 +23,6 @@ import org.jetbrains.annotations.Nullable;
* @deprecated use {@link org.bukkit.event.block.TNTPrimeEvent}
*/
@Deprecated(forRemoval = true, since = "1.19.4")
@Warning(propagate = false)
public class TNTPrimeEvent extends BlockEvent implements Cancellable {
private static final HandlerList HANDLER_LIST = new HandlerList();
@@ -13,8 +13,6 @@ import org.jspecify.annotations.NullMarked;
* Called when sending {@link Suggestions} to the client. Will be called asynchronously if a plugin
* marks the {@link com.destroystokyo.paper.event.server.AsyncTabCompleteEvent} event handled asynchronously,
* otherwise called synchronously.
* <p>
* If the suggestions are empty after this event has been called, nothing will be sent to the client.
*/
@NullMarked
public class AsyncPlayerSendSuggestionsEvent extends PlayerEvent implements Cancellable {
@@ -53,8 +51,6 @@ public class AsyncPlayerSendSuggestionsEvent extends PlayerEvent implements Canc
/**
* Sets the suggestions to be sent to client.
* <p>
* Empty suggestions are never sent to the client.
*
* @param suggestions suggestions
*/
@@ -18,11 +18,10 @@ import org.jetbrains.annotations.NotNull;
* This is done at Plugin Enable time after commands have been registered, but may also
* run at a later point in the server lifetime due to plugins, a server reload, etc.</p>
*
* @deprecated this event has been superseded by the Commands API and will be removed in a future release.
* Listen to {@link io.papermc.paper.plugin.lifecycle.event.types.LifecycleEvents#COMMANDS} instead
* @deprecated For removal, use the new brigadier api.
*/
@Deprecated(since = "1.20.6")
@Warning(value = true, propagate = false)
@Warning(reason = "This event has been superseded by the Commands API and will be removed in a future release. Listen to LifecycleEvents.COMMANDS instead.", value = true)
public class CommandRegisteredEvent<S extends com.destroystokyo.paper.brigadier.BukkitBrigadierCommandSource> extends ServerEvent implements Cancellable {
private static final HandlerList HANDLER_LIST = new HandlerList();
@@ -1,6 +1,5 @@
package com.destroystokyo.paper.event.entity;
import org.bukkit.Warning;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Projectile;
import org.bukkit.event.Cancellable;
@@ -18,7 +17,6 @@ import org.jetbrains.annotations.NotNull;
* @deprecated Deprecated, use {@link org.bukkit.event.entity.ProjectileHitEvent} and check if there is a hit entity
*/
@Deprecated(since = "1.19.3")
@Warning(propagate = false)
public class ProjectileCollideEvent extends EntityEvent implements Cancellable {
private static final HandlerList HANDLER_LIST = new HandlerList();
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable;
* @deprecated use {@link org.bukkit.event.inventory.PrepareGrindstoneEvent}
*/
@Deprecated(since = "1.16.1")
@Warning(propagate = false)
@Warning
public class PrepareGrindstoneEvent extends PrepareResultEvent {
@ApiStatus.Internal
@@ -1,6 +1,5 @@
package com.destroystokyo.paper.event.player;
import org.bukkit.Warning;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList;
import org.bukkit.event.player.PlayerEvent;
@@ -12,7 +11,6 @@ import org.jetbrains.annotations.Nullable;
* @deprecated Not used
*/
@Deprecated(since = "1.16.4", forRemoval = true)
@Warning(value = true, propagate = false)
public class IllegalPacketEvent extends PlayerEvent {
private static final HandlerList HANDLER_LIST = new HandlerList();
@@ -1,6 +1,5 @@
package com.destroystokyo.paper.event.player;
import org.bukkit.Warning;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
@@ -20,7 +19,6 @@ import org.jspecify.annotations.NullMarked;
*/
@NullMarked
@Deprecated(since = "26.1", forRemoval = true)
@Warning(value = true, propagate = false)
public class PlayerAttackEntityCooldownResetEvent extends PlayerEvent implements Cancellable {
private static final HandlerList HANDLER_LIST = new HandlerList();
@@ -1,8 +1,6 @@
package com.destroystokyo.paper.event.player;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.util.UUID;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
@@ -43,10 +41,10 @@ public class PlayerConnectionCloseEvent extends Event {
private final UUID playerUniqueId;
private final String playerName;
private final SocketAddress ipAddress;
private final InetAddress ipAddress;
@ApiStatus.Internal
public PlayerConnectionCloseEvent(final UUID playerUniqueId, final String playerName, final SocketAddress ipAddress, final boolean async) {
public PlayerConnectionCloseEvent(final UUID playerUniqueId, final String playerName, final InetAddress ipAddress, final boolean async) {
super(async);
this.playerUniqueId = playerUniqueId;
this.playerName = playerName;
@@ -68,20 +66,10 @@ public class PlayerConnectionCloseEvent extends Event {
}
/**
* Returns the player's socket address.
*/
public SocketAddress getSocketAddress() {
return this.ipAddress;
}
/**
* Returns the player's IP address, or the loopback address if the player
* is connecting through a Unix domain socket and the proxy has not
* forwarded the player's IP address yet.
* Returns the player's IP address.
*/
public InetAddress getIpAddress() {
if (this.ipAddress instanceof InetSocketAddress inet) return inet.getAddress();
return InetAddress.getLoopbackAddress();
return this.ipAddress;
}
@Override
@@ -58,7 +58,7 @@ public class PaperServerListPingEvent extends ServerListPingEvent implements Can
@ApiStatus.Internal
public PaperServerListPingEvent(@NotNull StatusClient client, @NotNull net.kyori.adventure.text.Component motd, int numPlayers, int maxPlayers,
@NotNull String version, int protocolVersion, @Nullable CachedServerIcon favicon) {
super("", client.getSocketAddress(), motd, numPlayers, maxPlayers);
super("", client.getAddress().getAddress(), motd, numPlayers, maxPlayers);
this.client = client;
this.numPlayers = numPlayers;
this.version = version;
@@ -1,7 +1,6 @@
package com.destroystokyo.paper.network;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import org.jspecify.annotations.NullMarked;
import org.jspecify.annotations.Nullable;
@@ -16,15 +15,6 @@ public interface NetworkClient {
*
* @return The client's socket address
*/
SocketAddress getSocketAddress();
/**
* Returns an instance of {@link InetSocketAddress} associated with the
* client's socket address.
*
* @return The client's {@link InetSocketAddress}, or the loopback address
* if this is a Unix domain socket connection
*/
InetSocketAddress getAddress();
/**
@@ -5,7 +5,6 @@ import com.destroystokyo.paper.util.VersionFetcher;
import io.papermc.paper.command.brigadier.CommandSourceStack;
import io.papermc.paper.datacomponent.item.ResolvableProfile;
import io.papermc.paper.entity.poi.PoiType;
import io.papermc.paper.persistence.PersistentDataKey;
import io.papermc.paper.plugin.lifecycle.event.LifecycleEventManager;
import io.papermc.paper.world.damagesource.CombatEntry;
import io.papermc.paper.world.damagesource.FallLocationType;
@@ -14,7 +13,6 @@ import java.util.Set;
import java.util.function.BooleanSupplier;
import java.util.function.Function;
import java.util.function.Predicate;
import net.kyori.adventure.key.Key;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.flattener.ComponentFlattener;
import net.kyori.adventure.util.Services;
@@ -27,14 +25,12 @@ import org.bukkit.command.CommandSender;
import org.bukkit.damage.DamageEffect;
import org.bukkit.damage.DamageSource;
import org.bukkit.damage.DamageType;
import org.bukkit.enchantments.EnchantmentOffer;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Pose;
import org.bukkit.entity.SpawnCategory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.persistence.PersistentDataType;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
import org.jetbrains.annotations.ApiStatus;
@@ -73,15 +69,14 @@ public interface InternalAPIBridge {
CombatEntry createCombatEntry(DamageSource damageSource, float damage, @Nullable FallLocationType fallLocationType, float fallDistance);
/**
* Allows overriding default restricted check.
* Applying this to a command node forcefully prevents or permits this command to be
* executed from an unattended context, such as click events.
* Causes this predicate to be considered restricted.
* Applying this to a command node prevents this command from being executed from an
* unattended context, such as click events.
*
* @param predicate wrapped predicate
* @param restricted restricted status of the predicate
* @param predicate wrapped predicate
* @return wrapped predicate
*/
Predicate<CommandSourceStack> restricted(Predicate<CommandSourceStack> predicate, boolean restricted);
Predicate<CommandSourceStack> restricted(Predicate<CommandSourceStack> predicate);
ResolvableProfile defaultMannequinProfile();
@@ -126,8 +121,4 @@ public interface InternalAPIBridge {
Component resolveWithContext(Component component, @Nullable CommandSender context, @Nullable Entity scoreboardSubject, boolean bypassPermissions) throws IOException;
ComponentFlattener componentFlattener();
<C> PersistentDataKey<C> createPersistentDataKey(Key key, PersistentDataType<?, C> type);
@Nullable EnchantmentOffer[] rollEnchantmentOffers(ItemStack targetStack, int seed, int bookshelfCount, int offerAmount);
}
@@ -1,9 +0,0 @@
package io.papermc.paper.block.pot;
import org.bukkit.Keyed;
/**
* A pot pattern on a decorated pot.
*/
public interface PotPatternType extends Keyed {
}
@@ -1,67 +0,0 @@
package io.papermc.paper.block.pot;
import io.papermc.paper.registry.RegistryAccess;
import io.papermc.paper.registry.RegistryKey;
import net.kyori.adventure.key.Key;
import net.kyori.adventure.key.KeyPattern;
/**
* All pot pattern types.
*/
public final class PotPatternTypes {
// Start generate - PotPatternTypes
public static final PotPatternType ANGLER = getType("angler");
public static final PotPatternType ARCHER = getType("archer");
public static final PotPatternType ARMS_UP = getType("arms_up");
public static final PotPatternType BLADE = getType("blade");
public static final PotPatternType BREWER = getType("brewer");
public static final PotPatternType BURN = getType("burn");
public static final PotPatternType DANGER = getType("danger");
public static final PotPatternType EXPLORER = getType("explorer");
public static final PotPatternType FLOW = getType("flow");
public static final PotPatternType FRIEND = getType("friend");
public static final PotPatternType GUSTER = getType("guster");
public static final PotPatternType HEART = getType("heart");
public static final PotPatternType HEARTBREAK = getType("heartbreak");
public static final PotPatternType HOWL = getType("howl");
public static final PotPatternType MINER = getType("miner");
public static final PotPatternType MOURNER = getType("mourner");
public static final PotPatternType PLENTY = getType("plenty");
public static final PotPatternType PRIZE = getType("prize");
public static final PotPatternType SCRAPE = getType("scrape");
public static final PotPatternType SHEAF = getType("sheaf");
public static final PotPatternType SHELTER = getType("shelter");
public static final PotPatternType SKULL = getType("skull");
public static final PotPatternType SNORT = getType("snort");
// End generate - PotPatternTypes
private static PotPatternType getType(@KeyPattern.Value final String key) {
return RegistryAccess.registryAccess().getRegistry(RegistryKey.DECORATED_POT_PATTERN).getOrThrow(Key.key(Key.MINECRAFT_NAMESPACE, key));
}
private PotPatternTypes() {
}
}
@@ -1,7 +0,0 @@
/**
* Classes relevant to pot blocks.
*/
@NullMarked
package io.papermc.paper.block.pot;
import org.jspecify.annotations.NullMarked;
@@ -26,12 +26,12 @@ public interface ChatRenderer {
Component render(Player source, Component sourceDisplayName, Component message, Audience viewer);
/**
* Gets the default {@link ChatRenderer}.
* Create a new instance of the default {@link ChatRenderer}.
*
* @return the default {@link ChatRenderer}
* @return a new {@link ChatRenderer}
*/
static ChatRenderer defaultRenderer() {
return ViewerUnawareImpl.Default.INSTANCE;
return new ViewerUnawareImpl.Default((source, sourceDisplayName, message) -> Component.translatable("chat.type.text", sourceDisplayName, message));
}
@ApiStatus.Internal
@@ -5,11 +5,13 @@ import net.kyori.adventure.text.Component;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.ApiStatus;
import org.jspecify.annotations.NullMarked;
import org.jspecify.annotations.Nullable;
@ApiStatus.Internal
@NullMarked
sealed class ViewerUnawareImpl implements ChatRenderer, ChatRenderer.ViewerUnaware permits ViewerUnawareImpl.Default {
private final ViewerUnaware unaware;
private @Nullable Component message;
ViewerUnawareImpl(final ViewerUnaware unaware) {
this.unaware = unaware;
@@ -22,12 +24,13 @@ sealed class ViewerUnawareImpl implements ChatRenderer, ChatRenderer.ViewerUnawa
@Override
public Component render(final Player source, final Component sourceDisplayName, final Component message) {
return this.unaware.render(source, sourceDisplayName, message);
if (this.message == null) {
this.message = this.unaware.render(source, sourceDisplayName, message);
}
return this.message;
}
static final class Default extends ViewerUnawareImpl implements ChatRenderer.Default {
static final ViewerUnawareImpl.Default INSTANCE = new ViewerUnawareImpl.Default((source, sourceDisplayName, message) -> Component.translatable("chat.type.text", sourceDisplayName, message));
Default(final ViewerUnaware unaware) {
super(unaware);
}
@@ -1,6 +1,5 @@
package io.papermc.paper.command.brigadier;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import java.util.Collection;
import java.util.Collections;
import org.bukkit.command.CommandSender;
@@ -21,7 +20,7 @@ public interface BasicCommand {
* @param args the arguments of the command ignoring repeated spaces
*/
@ApiStatus.OverrideOnly
void execute(CommandSourceStack commandSourceStack, String[] args) throws CommandSyntaxException;
void execute(CommandSourceStack commandSourceStack, String[] args);
/**
* Suggests possible completions for the given command {@link CommandSourceStack} and arguments.
@@ -1,14 +1,8 @@
package io.papermc.paper.command.brigadier;
import com.google.common.base.Preconditions;
import com.mojang.brigadier.RedirectModifier;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import com.mojang.brigadier.tree.CommandNode;
import net.kyori.adventure.pointer.Pointered;
import net.kyori.adventure.text.ComponentLike;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;
import org.bukkit.GameRules;
import org.bukkit.Location;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Entity;
@@ -87,123 +81,4 @@ public interface CommandSourceStack {
* @see com.mojang.brigadier.builder.ArgumentBuilder#fork(CommandNode, RedirectModifier)
*/
CommandSourceStack withExecutor(Entity executor);
/**
* Sends a system message to the {@link #getExecutor()} if it is a {@link Player},
* otherwise sends a system message to the {@link #getSender()}.
*
* @param message the message to send
* @throws IllegalArgumentException if the message is null
*/
void sendReply(ComponentLike message);
/**
* Sends a system message with the MiniMessage format to the {@link #getExecutor()}
* if it is a {@link Player}, otherwise sends it to the {@link #getSender()}.
*
* <p>See <a href="https://docs.papermc.io/adventure/minimessage/">MiniMessage docs</a> and
* <a href="https://docs.papermc.io/adventure/minimessage/dynamic-replacements/">MiniMessage Placeholders docs</a>
* for more information on the format.</p>
*
* <p>This method provides the target of the system message as a {@link net.kyori.adventure.pointer.Pointered}
* to the MiniMessage {@link MiniMessage#deserialize(String, Pointered, TagResolver...)} method.</p>
*
* @param message the MiniMessage message to send
* @param resolvers resolvers to use
* @throws IllegalArgumentException if the message is null
*/
default void sendRichReply(final String message, final TagResolver... resolvers) {
Preconditions.checkArgument(message != null, "message cannot be null.");
this.sendReply(MiniMessage.miniMessage().deserialize(
message,
this.getExecutor() instanceof final Player player ? player : this.getSender(),
resolvers
));
}
/**
* Sends a system message to the {@link #getSender()}, admins, and console indicating successful command execution
* according to vanilla semantics.
*
* <p>This currently includes checking for environments with suppressed output,
* {@link GameRules#SEND_COMMAND_FEEDBACK}, and {@link GameRules#LOG_ADMIN_COMMANDS}.</p>
*
* @param message the message to send
* @param allowInformingAdmins whether admins and console may be informed of this success
* @throws IllegalArgumentException if the message is null
*/
void sendSuccess(ComponentLike message, boolean allowInformingAdmins);
/**
* Sends a system message to the {@link #getSender()}, admins, and console indicating successful command execution
* according to vanilla semantics. This method informs admins and the console of this success.
*
* <p>This currently includes checking for environments with suppressed output,
* {@link GameRules#SEND_COMMAND_FEEDBACK}, and {@link GameRules#LOG_ADMIN_COMMANDS}.</p>
*
* @param message the message to send
* @see #sendSuccess(ComponentLike, boolean) to disable if admins and console should be informed
* @throws IllegalArgumentException if the message is null
*/
default void sendSuccess(final ComponentLike message) {
this.sendSuccess(message, true);
}
/**
* Sends a system message with the MiniMessage format to the {@link #getSender()}, admins, and console indicating
* successful command execution according to vanilla semantics. This method informs admins and the console of
* this success.
*
* <p>This currently includes checking for environments with suppressed output,
* {@link GameRules#SEND_COMMAND_FEEDBACK}, and {@link GameRules#LOG_ADMIN_COMMANDS}.</p>
*
* <p>See <a href="https://docs.papermc.io/adventure/minimessage/">MiniMessage docs</a> and
* <a href="https://docs.papermc.io/adventure/minimessage/dynamic-replacements/">MiniMessage Placeholders docs</a>
* for more information on the format.</p>
*
* <p>This method provides the {@link CommandSender} of this command as a {@link net.kyori.adventure.pointer.Pointered}
* to the MiniMessage {@link MiniMessage#deserialize(String, Pointered, TagResolver...)} method.</p>
*
* @param message the MiniMessage message to send
* @param resolvers resolvers to use
* @see #sendSuccess(ComponentLike, boolean) to disable if admins and console should be informed
* @throws IllegalArgumentException if the message is null
*/
default void sendRichSuccess(final String message, final TagResolver... resolvers) {
Preconditions.checkArgument(message != null, "message cannot be null.");
this.sendSuccess(MiniMessage.miniMessage().deserialize(message, this.getSender(), resolvers), true);
}
/**
* Sends a system message indicating a failed command execution to the {@link #getSender()}.
* Does not apply red styling to the message as vanilla does to allow for custom failure message styling.
*
* <p>Respects vanilla semantics for accepting failure output and suppressed output environments.</p>
*
* @param message the message to send
* @throws IllegalArgumentException if the message is null
*/
void sendFailure(ComponentLike message);
/**
* Sends a system message with the MiniMessage format indicating a failed command execution to the{@link #getSender()}.
* Does not apply red styling to the message as vanilla does to allow for custom failure message styling.
*
* <p>Respects vanilla semantics for accepting failure output and suppressed output environments.</p>
*
* <p>See <a href="https://docs.papermc.io/adventure/minimessage/">MiniMessage docs</a> and
* <a href="https://docs.papermc.io/adventure/minimessage/dynamic-replacements/">MiniMessage Placeholders docs</a>
* for more information on the format.</p>
*
* <p>This method provides the {@link CommandSender} of this command as a {@link net.kyori.adventure.pointer.Pointered}
* to the MiniMessage {@link MiniMessage#deserialize(String, Pointered, TagResolver...)} method.</p>
*
* @param message the MiniMessage message to send
* @param resolvers resolvers to use
* @throws IllegalArgumentException if the message is null
*/
default void sendRichFailure(final String message, final TagResolver... resolvers) {
Preconditions.checkArgument(message != null, "message cannot be null.");
this.sendFailure(MiniMessage.miniMessage().deserialize(message, this.getSender(), resolvers));
}
}
@@ -97,23 +97,7 @@ public interface Commands extends Registrar {
* @return a new predicate with restricted execution behavior
*/
static Predicate<CommandSourceStack> restricted(final Predicate<CommandSourceStack> predicate) {
return InternalAPIBridge.get().restricted(predicate, true);
}
/**
* Creates an unrestricted {@link Predicate} that wraps the given predicate.
* <p>
* A restricted predicate prevents execution in unattended contexts, such as from chat click events.
* Unrestricting prevents the warning shown on the client before executing the command.
* <p>
* This is used by vanilla to prevent invocation of sensitive commands (like op) from
* players without their knowledge.
*
* @param predicate the original predicate to wrap
* @return a new predicate with unrestricted execution behavior
*/
static Predicate<CommandSourceStack> unrestricted(final Predicate<CommandSourceStack> predicate) {
return InternalAPIBridge.get().restricted(predicate, false);
return InternalAPIBridge.get().restricted(predicate);
}
/**
@@ -41,8 +41,6 @@ public interface PlayerConnection {
/**
* Gets the real client address of the player. If the connection is behind a proxy,
* this will be the actual player’s IP address extracted from the proxy handshake.
* If the player is connecting through a Unix domain socket and the proxy has not
* forwarded the player's IP address yet, this will be the loopback address.
*
* @return the client {@link InetSocketAddress}
*/
@@ -1,7 +1,6 @@
package io.papermc.paper.datacomponent;
import io.papermc.paper.annotation.MinecraftVersionDependent;
import io.papermc.paper.block.pot.PotPatternType;
import io.papermc.paper.datacomponent.item.AttackRange;
import io.papermc.paper.datacomponent.item.BannerPatternLayers;
import io.papermc.paper.datacomponent.item.BlockItemDataProperties;
@@ -28,7 +27,7 @@ import io.papermc.paper.datacomponent.item.KineticWeapon;
import io.papermc.paper.datacomponent.item.LodestoneTracker;
import io.papermc.paper.datacomponent.item.MapDecorations;
import io.papermc.paper.datacomponent.item.MapId;
import io.papermc.paper.datacomponent.item.MobVisibility;
import io.papermc.paper.datacomponent.item.MapItemColor;
import io.papermc.paper.datacomponent.item.OminousBottleAmplifier;
import io.papermc.paper.datacomponent.item.PiercingWeapon;
import io.papermc.paper.datacomponent.item.PotDecorations;
@@ -36,7 +35,6 @@ import io.papermc.paper.datacomponent.item.PotionContents;
import io.papermc.paper.datacomponent.item.Repairable;
import io.papermc.paper.datacomponent.item.ResolvableProfile;
import io.papermc.paper.datacomponent.item.SeededContainerLoot;
import io.papermc.paper.datacomponent.item.SignText;
import io.papermc.paper.datacomponent.item.SulfurCubeContent;
import io.papermc.paper.datacomponent.item.SuspiciousStewEffects;
import io.papermc.paper.datacomponent.item.SwingAnimation;
@@ -45,7 +43,6 @@ import io.papermc.paper.datacomponent.item.TooltipDisplay;
import io.papermc.paper.datacomponent.item.UseCooldown;
import io.papermc.paper.datacomponent.item.UseEffects;
import io.papermc.paper.datacomponent.item.UseRemainder;
import io.papermc.paper.datacomponent.item.VillagerFood;
import io.papermc.paper.datacomponent.item.Weapon;
import io.papermc.paper.datacomponent.item.WritableBookContent;
import io.papermc.paper.datacomponent.item.WrittenBookContent;
@@ -216,7 +213,6 @@ public final class DataComponentTypes {
*/
public static final DataComponentType.Valued<Tool> TOOL = valued("tool");
public static final DataComponentType.Valued<Weapon> WEAPON = valued("weapon");
public static final DataComponentType.Valued<AttackRange> ATTACK_RANGE = valued("attack_range");
public static final DataComponentType.Valued<Enchantable> ENCHANTABLE = valued("enchantable");
public static final DataComponentType.Valued<Equippable> EQUIPPABLE = valued("equippable");
public static final DataComponentType.Valued<Repairable> REPAIRABLE = valued("repairable");
@@ -226,9 +222,8 @@ public final class DataComponentTypes {
public static final DataComponentType.Valued<BlocksAttacks> BLOCKS_ATTACKS = valued("blocks_attacks");
public static final DataComponentType.Valued<PiercingWeapon> PIERCING_WEAPON = valued("piercing_weapon");
public static final DataComponentType.Valued<KineticWeapon> KINETIC_WEAPON = valued("kinetic_weapon");
public static final DataComponentType.Valued<SwingAnimation> ATTACK_ANIMATION = valued("attack_animation");
public static final DataComponentType.Valued<SwingAnimation> INTERACT_ANIMATION = valued("interact_animation");
public static final DataComponentType.Valued<VillagerFood> VILLAGER_FOOD = valued("villager_food");
public static final DataComponentType.Valued<AttackRange> ATTACK_RANGE = valued("attack_range");
public static final DataComponentType.Valued<SwingAnimation> SWING_ANIMATION = valued("swing_animation");
/**
* Stores list of enchantments and their levels for an Enchanted Book.
* Unlike {@link #ENCHANTMENTS}, the effects provided by enchantments
@@ -248,6 +243,10 @@ public final class DataComponentTypes {
* Represents a color applied to a dyeable item.
*/
public static final DataComponentType.Valued<DyedItemColor> DYED_COLOR = valued("dyed_color");
/**
* Represents the tint of the decorations on the {@link org.bukkit.inventory.ItemType#FILLED_MAP} item.
*/
public static final DataComponentType.Valued<MapItemColor> MAP_COLOR = valued("map_color");
/**
* References the shared map state holding map contents and markers for a {@link org.bukkit.inventory.ItemType#FILLED_MAP}.
*/
@@ -300,6 +299,7 @@ public final class DataComponentTypes {
* Holds the instrument type used by a Goat Horn.
*/
public static final DataComponentType.Valued<MusicInstrument> INSTRUMENT = valued("instrument");
// this is a either holder, but due to legacy item loading
public static final DataComponentType.Valued<TrimMaterial> PROVIDES_TRIM_MATERIAL = valued("provides_trim_material");
/**
* Controls the amplifier amount for an Ominous Bottle's Bad Omen effect.
@@ -366,7 +366,6 @@ public final class DataComponentTypes {
*/
public static final DataComponentType.Valued<SeededContainerLoot> CONTAINER_LOOT = valued("container_loot");
public static final DataComponentType.Valued<Key> BREAK_SOUND = valued("break_sound");
public static final DataComponentType.Valued<MobVisibility> MOB_VISIBILITY = valued("mob_visibility");
public static final DataComponentType.Valued<Villager.Type> VILLAGER_VARIANT = valued("villager/variant");
public static final DataComponentType.Valued<Wolf.Variant> WOLF_VARIANT = valued("wolf/variant");
public static final DataComponentType.Valued<Wolf.SoundVariant> WOLF_SOUND_VARIANT = valued("wolf/sound_variant");
@@ -396,11 +395,6 @@ public final class DataComponentTypes {
public static final DataComponentType.Valued<DyeColor> CAT_COLLAR = valued("cat/collar");
public static final DataComponentType.Valued<DyeColor> SHEEP_COLOR = valued("sheep/color");
public static final DataComponentType.Valued<DyeColor> SHULKER_COLOR = valued("shulker/color");
public static final DataComponentType.Valued<PotPatternType> PROVIDES_POTTERY_PATTERN = valued("provides_pottery_pattern");
public static final DataComponentType.Valued<SignText> SIGN_TEXT_FRONT = valued("sign_text_front");
public static final DataComponentType.Valued<SignText> SIGN_TEXT_BACK = valued("sign_text_back");
public static final DataComponentType.NonValued WAXED = unvalued("waxed");
public static final DataComponentType.Valued<DyeColor> CUSHION_COLOR = valued("cushion/color");
private static DataComponentType.NonValued unvalued(@KeyPattern.Value final String key) {
final DataComponentType dataComponentType = Registry.DATA_COMPONENT_TYPE.getOrThrow(Key.key(Key.MINECRAFT_NAMESPACE, key));
@@ -4,7 +4,9 @@ import io.papermc.paper.datacomponent.DataComponentBuilder;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Range;
import org.jspecify.annotations.NullMarked;
@NullMarked
@ApiStatus.NonExtendable
public interface AttackRange {
@@ -6,11 +6,13 @@ import org.bukkit.block.banner.Pattern;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Unmodifiable;
import org.jspecify.annotations.NullMarked;
/**
* Holds the layers of patterns on a banner.
* @see io.papermc.paper.datacomponent.DataComponentTypes#BANNER_PATTERNS
*/
@NullMarked
@ApiStatus.NonExtendable
public interface BannerPatternLayers {
@@ -5,11 +5,13 @@ import org.bukkit.block.BlockType;
import org.bukkit.block.data.BlockData;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jspecify.annotations.NullMarked;
/**
* Holds the {@link BlockData} properties of a block item.
* @see io.papermc.paper.datacomponent.DataComponentTypes#BLOCK_DATA
*/
@NullMarked
@ApiStatus.NonExtendable
public interface BlockItemDataProperties {
@@ -10,6 +10,7 @@ import org.bukkit.damage.DamageType;
import org.checkerframework.checker.index.qual.NonNegative;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jspecify.annotations.NullMarked;
import org.jspecify.annotations.Nullable;
/**
@@ -17,6 +18,7 @@ import org.jspecify.annotations.Nullable;
*
* @see io.papermc.paper.datacomponent.DataComponentTypes#BLOCKS_ATTACKS
*/
@NullMarked
@ApiStatus.NonExtendable
public interface BlocksAttacks {
@@ -6,11 +6,13 @@ import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Unmodifiable;
import org.jspecify.annotations.NullMarked;
/**
* Holds all items stored inside of a Bundle.
* @see io.papermc.paper.datacomponent.DataComponentTypes#BUNDLE_CONTENTS
*/
@NullMarked
@ApiStatus.NonExtendable
public interface BundleContents {
@@ -6,11 +6,13 @@ import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Unmodifiable;
import org.jspecify.annotations.NullMarked;
/**
* Holds all projectiles that have been loaded into a Crossbow.
* @see io.papermc.paper.datacomponent.DataComponentTypes#CHARGED_PROJECTILES
*/
@NullMarked
@ApiStatus.NonExtendable
public interface ChargedProjectiles {
@@ -10,11 +10,13 @@ import org.checkerframework.checker.index.qual.NonNegative;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Unmodifiable;
import org.jspecify.annotations.NullMarked;
/**
* Holds the properties for this item for when it is consumed.
* @see io.papermc.paper.datacomponent.DataComponentTypes#CONSUMABLE
*/
@NullMarked
@ApiStatus.NonExtendable
public interface Consumable extends BuildableDataComponent<Consumable, Consumable.Builder> {
@@ -6,12 +6,14 @@ import org.bukkit.Color;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Unmodifiable;
import org.jspecify.annotations.NullMarked;
/**
* Holds the custom model data.
*
* @see io.papermc.paper.datacomponent.DataComponentTypes#CUSTOM_MODEL_DATA
*/
@NullMarked
@ApiStatus.NonExtendable
public interface CustomModelData {
@@ -4,11 +4,13 @@ import io.papermc.paper.registry.set.RegistryKeySet;
import org.bukkit.damage.DamageType;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jspecify.annotations.NullMarked;
/**
* Holds the contents of damage types that the item entity containing this item is invincible to.
* @see io.papermc.paper.datacomponent.DataComponentTypes#DAMAGE_RESISTANT
*/
@NullMarked
@ApiStatus.NonExtendable
public interface DamageResistant {
@@ -6,11 +6,13 @@ import java.util.List;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Unmodifiable;
import org.jspecify.annotations.NullMarked;
/**
* Sets whether this item should protect the entity upon death, and what effects should be played.
* @see io.papermc.paper.datacomponent.DataComponentTypes#DEATH_PROTECTION
*/
@NullMarked
@ApiStatus.NonExtendable
public interface DeathProtection {
@@ -4,11 +4,13 @@ import io.papermc.paper.datacomponent.DataComponentBuilder;
import org.bukkit.Color;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jspecify.annotations.NullMarked;
/**
* Represents a color applied to a dyeable item.
* @see io.papermc.paper.datacomponent.DataComponentTypes#DYED_COLOR
*/
@NullMarked
@ApiStatus.NonExtendable
public interface DyedItemColor {
@@ -3,11 +3,13 @@ package io.papermc.paper.datacomponent.item;
import org.checkerframework.checker.index.qual.Positive;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jspecify.annotations.NullMarked;
/**
* Holds if an item is enchantable, allowing for enchantments of the type to be seen in an enchanting table.
* @see io.papermc.paper.datacomponent.DataComponentTypes#ENCHANTABLE
*/
@NullMarked
@ApiStatus.NonExtendable
public interface Enchantable {
@@ -8,12 +8,14 @@ import org.bukkit.entity.EntityType;
import org.bukkit.inventory.EquipmentSlot;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jspecify.annotations.NullMarked;
import org.jspecify.annotations.Nullable;
/**
* Holds the equippable properties of an item.
* @see io.papermc.paper.datacomponent.DataComponentTypes#EQUIPPABLE
*/
@NullMarked
@ApiStatus.NonExtendable
public interface Equippable extends BuildableDataComponent<Equippable, Equippable.Builder> {
@@ -7,11 +7,13 @@ import org.checkerframework.common.value.qual.IntRange;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Unmodifiable;
import org.jspecify.annotations.NullMarked;
/**
* Stores all explosions crafted into a Firework Rocket, as well as flight duration.
* @see io.papermc.paper.datacomponent.DataComponentTypes#FIREWORKS
*/
@NullMarked
@ApiStatus.NonExtendable
public interface Fireworks {
@@ -5,11 +5,13 @@ import io.papermc.paper.datacomponent.DataComponentBuilder;
import org.checkerframework.checker.index.qual.NonNegative;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jspecify.annotations.NullMarked;
/**
* Holds the food properties of an item.
* @see io.papermc.paper.datacomponent.DataComponentTypes#FOOD
*/
@NullMarked
@ApiStatus.NonExtendable
public interface FoodProperties extends BuildableDataComponent<FoodProperties, FoodProperties.Builder> {
@@ -6,12 +6,14 @@ import java.util.List;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Unmodifiable;
import org.jspecify.annotations.NullMarked;
/**
* Controls which blocks a player in Adventure mode can do a certain action with this item.
* @see io.papermc.paper.datacomponent.DataComponentTypes#CAN_BREAK
* @see io.papermc.paper.datacomponent.DataComponentTypes#CAN_PLACE_ON
*/
@NullMarked
@ApiStatus.NonExtendable
public interface ItemAdventurePredicate {
@@ -4,11 +4,13 @@ import io.papermc.paper.datacomponent.DataComponentBuilder;
import org.bukkit.inventory.meta.trim.ArmorTrim;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jspecify.annotations.NullMarked;
/**
* Holds the trims applied to an item.
* @see io.papermc.paper.datacomponent.DataComponentTypes#TRIM
*/
@NullMarked
@ApiStatus.NonExtendable
public interface ItemArmorTrim {
@@ -9,11 +9,13 @@ import org.bukkit.inventory.EquipmentSlotGroup;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Unmodifiable;
import org.jspecify.annotations.NullMarked;
/**
* Holds attribute modifiers applied to any item.
* @see io.papermc.paper.datacomponent.DataComponentTypes#ATTRIBUTE_MODIFIERS
*/
@NullMarked
@ApiStatus.NonExtendable
public interface ItemAttributeModifiers {
@@ -2,6 +2,7 @@ package io.papermc.paper.datacomponent.item;
import com.destroystokyo.paper.profile.PlayerProfile;
import io.papermc.paper.registry.set.RegistryKeySet;
import io.papermc.paper.registry.tag.TagKey;
import io.papermc.paper.text.Filtered;
import java.util.Optional;
import java.util.ServiceLoader;
@@ -10,14 +11,17 @@ import net.kyori.adventure.util.TriState;
import org.bukkit.JukeboxSong;
import org.bukkit.block.BlockType;
import org.bukkit.damage.DamageType;
import org.bukkit.entity.EntityType;
import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.ItemType;
import org.bukkit.inventory.meta.trim.ArmorTrim;
import org.bukkit.map.MapCursor;
import org.jetbrains.annotations.ApiStatus;
import org.jspecify.annotations.NullMarked;
import org.jspecify.annotations.Nullable;
@NullMarked
@ApiStatus.Internal
interface ItemComponentTypesBridge {
Optional<ItemComponentTypesBridge> BRIDGE = ServiceLoader.load(ItemComponentTypesBridge.class, ItemComponentTypesBridge.class.getClassLoader()).findFirst();
@@ -46,9 +50,11 @@ interface ItemComponentTypesBridge {
SuspiciousStewEffects.Builder suspiciousStewEffects();
MapItemColor.Builder mapItemColor();
MapDecorations.Builder mapDecorations();
MapDecorations.DecorationEntry mapDecorationEntry(MapCursor.Type type, double x, double z, float rotation);
MapDecorations.DecorationEntry decorationEntry(MapCursor.Type type, double x, double z, float rotation);
SeededContainerLoot.Builder seededContainerLoot(Key lootTableKey);
@@ -62,14 +68,14 @@ interface ItemComponentTypesBridge {
Fireworks.Builder fireworks();
ResolvableProfile resolvableProfile(PlayerProfile profile);
ResolvableProfile.Builder resolvableProfile();
ResolvableProfile.SkinPatchBuilder skinPatch();
ResolvableProfile.SkinPatch emptySkinPatch();
ResolvableProfile resolvableProfile(PlayerProfile profile);
BannerPatternLayers.Builder bannerPatternLayers();
BlockItemDataProperties.Builder blockItemStateProperties();
@@ -80,7 +86,7 @@ interface ItemComponentTypesBridge {
Tool.Builder tool();
Tool.Rule toolRule(RegistryKeySet<BlockType> blocks, @Nullable Float speed, TriState correctForDrops);
Tool.Rule rule(RegistryKeySet<BlockType> blocks, @Nullable Float speed, TriState correctForDrops);
ItemAdventurePredicate.Builder itemAdventurePredicate();
@@ -114,8 +120,6 @@ interface ItemComponentTypesBridge {
KineticWeapon.Builder kineticWeapon();
KineticWeapon.Condition kineticWeaponCondition(int maxDurationTicks, float minSpeed, float minRelativeSpeed);
UseEffects.Builder useEffects();
PiercingWeapon.Builder piercingWeapon();
@@ -124,11 +128,7 @@ interface ItemComponentTypesBridge {
SwingAnimation.Builder swingAnimation();
KineticWeapon.Condition kineticWeaponCondition(int maxDurationTicks, float minSpeed, float minRelativeSpeed);
SulfurCubeContent sulfurCubeContent(ItemStack absorbedItem);
MobVisibility mobVisibility(RegistryKeySet<EntityType> targetingEntityTypes, float visibility);
VillagerFood villagerFood(int nutrition);
SignText.Builder signText();
}
@@ -6,11 +6,13 @@ import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Unmodifiable;
import org.jspecify.annotations.NullMarked;
/**
* Holds the contents of an item container.
* @see io.papermc.paper.datacomponent.DataComponentTypes#CONTAINER
*/
@NullMarked
@ApiStatus.NonExtendable
public interface ItemContainerContents {
@@ -7,12 +7,14 @@ import org.checkerframework.common.value.qual.IntRange;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Unmodifiable;
import org.jspecify.annotations.NullMarked;
/**
* Stores a list of enchantments and their levels on an item.
* @see io.papermc.paper.datacomponent.DataComponentTypes#ENCHANTMENTS
* @see io.papermc.paper.datacomponent.DataComponentTypes#STORED_ENCHANTMENTS
*/
@NullMarked
@ApiStatus.NonExtendable
public interface ItemEnchantments {
@@ -7,11 +7,13 @@ import net.kyori.adventure.text.ComponentLike;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Unmodifiable;
import org.jspecify.annotations.NullMarked;
/**
* Additional lines to include in an item's tooltip.
* @see io.papermc.paper.datacomponent.DataComponentTypes#LORE
*/
@NullMarked
@ApiStatus.NonExtendable
public interface ItemLore {
@@ -4,11 +4,13 @@ import io.papermc.paper.datacomponent.DataComponentBuilder;
import org.bukkit.JukeboxSong;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jspecify.annotations.NullMarked;
/**
* Holds the jukebox song for an item.
* @see io.papermc.paper.datacomponent.DataComponentTypes#JUKEBOX_PLAYABLE
*/
@NullMarked
@ApiStatus.NonExtendable
public interface JukeboxPlayable {
@@ -5,8 +5,11 @@ import net.kyori.adventure.key.Key;
import org.checkerframework.checker.index.qual.NonNegative;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Range;
import org.jspecify.annotations.NullMarked;
import org.jspecify.annotations.Nullable;
@NullMarked
@ApiStatus.NonExtendable
public interface KineticWeapon {
@@ -4,12 +4,14 @@ import io.papermc.paper.datacomponent.DataComponentBuilder;
import org.bukkit.Location;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jspecify.annotations.NullMarked;
import org.jspecify.annotations.Nullable;
/**
* If present, specifies the target Lodestone that a Compass should point towards.
* @see io.papermc.paper.datacomponent.DataComponentTypes#LODESTONE_TRACKER
*/
@NullMarked
@ApiStatus.NonExtendable
public interface LodestoneTracker {
@@ -6,12 +6,14 @@ import org.bukkit.map.MapCursor;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Unmodifiable;
import org.jspecify.annotations.NullMarked;
import org.jspecify.annotations.Nullable;
/**
* Holds a list of markers to be placed on a Filled Map (used for Explorer Maps).
* @see io.papermc.paper.datacomponent.DataComponentTypes#MAP_DECORATIONS
*/
@NullMarked
@ApiStatus.NonExtendable
public interface MapDecorations {
@@ -27,7 +29,7 @@ public interface MapDecorations {
@Contract(value = "_, _, _, _ -> new", pure = true)
static DecorationEntry decorationEntry(final MapCursor.Type type, final double x, final double z, final float rotation) {
return ItemComponentTypesBridge.bridge().mapDecorationEntry(type, x, z, rotation);
return ItemComponentTypesBridge.bridge().decorationEntry(type, x, z, rotation);
}
/**
@@ -2,11 +2,13 @@ package io.papermc.paper.datacomponent.item;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jspecify.annotations.NullMarked;
/**
* References the shared map state holding map contents and markers for a Filled Map.
* @see io.papermc.paper.datacomponent.DataComponentTypes#MAP_ID
*/
@NullMarked
@ApiStatus.NonExtendable
public interface MapId {
@@ -0,0 +1,42 @@
package io.papermc.paper.datacomponent.item;
import io.papermc.paper.datacomponent.DataComponentBuilder;
import org.bukkit.Color;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jspecify.annotations.NullMarked;
/**
* Represents the tint of the decorations on the Filled Map item.
* @see io.papermc.paper.datacomponent.DataComponentTypes#MAP_COLOR
*/
@NullMarked
@ApiStatus.NonExtendable
public interface MapItemColor {
@Contract(value = "-> new", pure = true)
static MapItemColor.Builder mapItemColor() {
return ItemComponentTypesBridge.bridge().mapItemColor();
}
/**
* The tint to apply.
*
* @return color
*/
Color color();
@ApiStatus.NonExtendable
interface Builder extends DataComponentBuilder<MapItemColor> {
/**
* Sets the tint color of this map.
*
* @param color tint color
* @return the builder for chaining
* @see #color()
*/
@Contract(value = "_ -> this", mutates = "this")
Builder color(Color color);
}
}
@@ -1,39 +0,0 @@
package io.papermc.paper.datacomponent.item;
import io.papermc.paper.datacomponent.DataComponentTypes;
import io.papermc.paper.registry.set.RegistryKeySet;
import org.bukkit.entity.EntityType;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Range;
/**
* Represents the visibility provided by an item with the appropriate {@link DataComponentTypes#EQUIPPABLE} component,
* modifying the range at which mobs are able to detect an entity.
*
* @see io.papermc.paper.datacomponent.DataComponentTypes#MOB_VISIBILITY
*/
@ApiStatus.NonExtendable
public interface MobVisibility {
@Contract(value = "_, _ -> new", pure = true)
static MobVisibility mobVisibility(final RegistryKeySet<EntityType> targetingEntityTypes, final @Range(from = 0, to = 10) float visibility) {
return ItemComponentTypesBridge.bridge().mobVisibility(targetingEntityTypes, visibility);
}
/**
* Gets the set of entity types that this item modifies the visibility for.
*
* @return the set of entity types
*/
@Contract(pure = true)
RegistryKeySet<EntityType> targetingEntityTypes();
/**
* Gets the visibility provided by this item, modifying the range at which mobs are able to detect an entity.
*
* @return the visibility
*/
@Contract(pure = true)
@Range(from = 0, to = 10) float visibility();
}
@@ -3,11 +3,13 @@ package io.papermc.paper.datacomponent.item;
import org.checkerframework.common.value.qual.IntRange;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jspecify.annotations.NullMarked;
/**
* Holds the ominous bottle amplifier.
* @see io.papermc.paper.datacomponent.DataComponentTypes#OMINOUS_BOTTLE_AMPLIFIER
*/
@NullMarked
@ApiStatus.NonExtendable
public interface OminousBottleAmplifier {
@@ -4,8 +4,11 @@ import io.papermc.paper.datacomponent.DataComponentBuilder;
import net.kyori.adventure.key.Key;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Range;
import org.jspecify.annotations.NullMarked;
import org.jspecify.annotations.Nullable;
@NullMarked
@ApiStatus.NonExtendable
public interface PiercingWeapon {
@@ -4,12 +4,14 @@ import io.papermc.paper.datacomponent.DataComponentBuilder;
import org.bukkit.inventory.ItemType;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jspecify.annotations.NullMarked;
import org.jspecify.annotations.Nullable;
/**
* Holds the item types for the decorations on a flower pot.
* @see io.papermc.paper.datacomponent.DataComponentTypes#POT_DECORATIONS
*/
@NullMarked
@ApiStatus.NonExtendable
public interface PotDecorations {
@@ -8,12 +8,14 @@ import org.bukkit.potion.PotionType;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Unmodifiable;
import org.jspecify.annotations.NullMarked;
import org.jspecify.annotations.Nullable;
/**
* Holds the contents of a potion (Potion, Splash Potion, Lingering Potion), or potion applied to a Tipped Arrow.
* @see io.papermc.paper.datacomponent.DataComponentTypes#POTION_CONTENTS
*/
@NullMarked
@ApiStatus.NonExtendable
public interface PotionContents {
@@ -4,11 +4,13 @@ import io.papermc.paper.registry.set.RegistryKeySet;
import org.bukkit.inventory.ItemType;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jspecify.annotations.NullMarked;
/**
* Holds if this item is repairable, and what item types it can be repaired with.
* @see io.papermc.paper.datacomponent.DataComponentTypes#REPAIRABLE
*/
@NullMarked
@ApiStatus.NonExtendable
public interface Repairable {
Loaded 100 of 1184 files, more files were not shown because too many files have changed in this diff. Show more