Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
057e88e
Move feature patches
jpenilla Oct 16, 2025
c25a855
Update CONTRIBUTING.md
jpenilla Oct 16, 2025
fbbefbd
Initial 25w42a update
jpenilla Oct 16, 2025
c591966
Further CONTRIBUTING.md updates
jpenilla Oct 16, 2025
3a7f89b
fix: Nautilus is Tameable
jpenilla Oct 16, 2025
0db7727
Drop Player sound playing diff, vanilla properly passes the entity so…
jpenilla Oct 17, 2025
0447aed
Call PrePlayerAttackEntityEvent for stab attacks
jpenilla Oct 17, 2025
1833b72
Fix stab attack projectile deflection param
jpenilla Oct 17, 2025
4920630
Use correct playSound methods to respect entity visibility (#13198)
roro1506HD Oct 17, 2025
e04557b
Fixes for configurable invulnerable duration (#13199)
roro1506HD Oct 17, 2025
21bbb11
Data component API
Owen1212055 Oct 17, 2025
4780e4d
Remove comments, cleanup imports, etc
Owen1212055 Oct 17, 2025
55945f6
Fix nautilus setMaximumAir
Owen1212055 Oct 17, 2025
6445341
update parchment
Lulu13022002 Oct 18, 2025
65daa79
bump api version and call EntityTameEvent for the nautilus
Lulu13022002 Oct 18, 2025
75a5a43
Improve API versioning file (#13204)
jpenilla Oct 18, 2025
3670cfb
Merge remote-tracking branch 'public/main' into dev/snapshot
jpenilla Oct 18, 2025
dc11786
cleanup components
Lulu13022002 Oct 18, 2025
6743308
set heal reason for nautilus eating
Lulu13022002 Oct 18, 2025
6b1dc1f
Update mache
jpenilla Oct 19, 2025
729e75e
Fix and deprecate World#isUltraWarm
jpenilla Oct 19, 2025
474d54d
Add back MagicConstant annotations (#13215)
jpenilla Oct 21, 2025
d71ccc4
25w43a
jpenilla Oct 21, 2025
6e632f5
Disable oldPaperCommit
jpenilla Oct 21, 2025
36624ca
Fix ChatTest - use structural comparison instead of string
jpenilla Oct 21, 2025
ec8f013
Add EntityEffect.HIT
jpenilla Oct 22, 2025
c663f7c
update parchment
Lulu13022002 Oct 23, 2025
bf3c997
use the right var for nautilus max air supply
Lulu13022002 Oct 24, 2025
32ce3d0
run generator
Lulu13022002 Oct 24, 2025
308ef73
Merge remote-tracking branch 'public/main' into dev/snapshot
jpenilla Oct 24, 2025
f7ccc0e
Fixes after main merge
jpenilla Oct 24, 2025
a2c5f91
Fix removed diff being added back
jpenilla Oct 24, 2025
8e99d11
Enable unpick on snapshot branch (#13240)
jpenilla Oct 26, 2025
3bec17f
add missing Block.UpdateFlag annotations
Lulu13022002 Oct 26, 2025
983be46
uninline some constants
Lulu13022002 Oct 26, 2025
9a3462f
Update mache
jpenilla Oct 27, 2025
aec0112
Merge remote-tracking branch 'public/main' into dev/snapshot
jpenilla Oct 27, 2025
1eb13b0
Update Gradle wrapper
jpenilla Oct 30, 2025
7700716
25w44a init
jpenilla Nov 3, 2025
8c45a9c
Remove extraneous diff
jpenilla Nov 3, 2025
98c5296
Fix requestedUsername field diff
jpenilla Nov 3, 2025
5b18398
remove extraneous diff in Util
jpenilla Nov 3, 2025
926cff8
Fixup LightningBolt diff
jpenilla Nov 3, 2025
cb7de08
drop redundant gamerule check and add back kqueue support
Lulu13022002 Nov 3, 2025
bdde20a
reduce diff
Lulu13022002 Nov 3, 2025
a6e775d
fix non gamerule related compile errors
Lulu13022002 Nov 3, 2025
31ff7d6
Initial pass at GameRule refactor (#13273)
Owen1212055 Nov 4, 2025
d8efc81
Update to 25w44a
Owen1212055 Nov 4, 2025
fc22a8c
Fixup my todos, also registry key is not auto generated.
Owen1212055 Nov 4, 2025
9b58b6a
Fix typo
Owen1212055 Nov 4, 2025
10770fc
Init 25w45a
jpenilla Nov 5, 2025
8172348
Fixup a couple of funny diffs
jpenilla Nov 5, 2025
b0be66c
last 3 compile fixes
jpenilla Nov 5, 2025
32f1b3d
Run & update generators
jpenilla Nov 5, 2025
5554667
Some test fixes
jpenilla Nov 5, 2025
d1682d9
Update mache
jpenilla Nov 5, 2025
9bfb305
Merge remote-tracking branch 'public/main' into dev/snapshot
jpenilla Nov 5, 2025
5b0f2a9
Update horse armor material tag (#13277)
Doc94 Nov 5, 2025
8c580b1
Add ZombieNautilus.Variant (#13278)
Doc94 Nov 6, 2025
9b1f6b4
Add ExhaustionReason for ApplyExhaustion EnchantmentEffect (#13224)
Doc94 Nov 6, 2025
270f7bf
update parchment
Lulu13022002 Nov 6, 2025
7690b42
gamerule is a built-in registry
Lulu13022002 Nov 6, 2025
2916473
add missing registry field for gamerule
Lulu13022002 Nov 6, 2025
17ae722
Add EntityPotionEffectEvent.Cause.NAUTILUS (#13281)
Doc94 Nov 6, 2025
f0a7909
fix gamerule translation key
Lulu13022002 Nov 6, 2025
8e0412f
tweaks gamerules
Lulu13022002 Nov 7, 2025
ad0159f
fix allowFireTicksAwayFromPlayer backward compat
Lulu13022002 Nov 8, 2025
b3628c4
use the right class holder in the generator for zombie nautilus variant
Lulu13022002 Nov 8, 2025
840dffa
update material tags
Lulu13022002 Nov 8, 2025
0196386
add missing enchantment
Lulu13022002 Nov 8, 2025
f6fb7b6
skip some stats update for PlayerStatisticIncrementEvent
Lulu13022002 Nov 8, 2025
c3eae73
add missing potion effect
Lulu13022002 Nov 8, 2025
707ab9f
enforce gamerule limit from the api
Lulu13022002 Nov 8, 2025
a121fb9
Update KineticWeapon and PiercingWeapon bounds
Doc94 Nov 6, 2025
162f786
25w46a init
jpenilla Nov 11, 2025
b98e00c
Misc. 25w46a fixes
jpenilla Nov 11, 2025
cf2f7c2
Run generators
jpenilla Nov 11, 2025
2aba18e
drop gamerule hack
Lulu13022002 Nov 11, 2025
a6b7467
remove special case for gamerule in feature flag tests
Lulu13022002 Nov 11, 2025
19ed6da
Fix Failing to Open Nautilus Inventory (#13297)
Y2Kwastaken Nov 12, 2025
8c18ca3
Migrate WorldBorder API to use ticks (#13223)
Doc94 Nov 12, 2025
05145d0
Merge remote-tracking branch 'public/main' into dev/snapshot
jpenilla Nov 12, 2025
a6b5dcb
fixup previous commits
Lulu13022002 Nov 13, 2025
862d2e6
Add MountInventory, SaddledMountInventory, ArmoredMountInventory, Arm…
jpenilla Nov 14, 2025
7d781aa
simplify registry tests
Lulu13022002 Nov 15, 2025
5513ee9
fix tests not running
Lulu13022002 Nov 15, 2025
ac47910
pass the right inventory to InventoryOpenEvent for the nautilus
Lulu13022002 Nov 15, 2025
8b225e7
Update ItemType
lynxplay Nov 15, 2025
4d746b8
update titleOverride javadoc
Lulu13022002 Nov 16, 2025
926d630
CraftInventorySaddledMount implements SaddledMountInventory
jpenilla Nov 16, 2025
6d271a6
Init 1.21.11-pre1
jpenilla Nov 20, 2025
14d7d07
disable oldPaperCommit
jpenilla Nov 20, 2025
34f7a10
Update for some renames
jpenilla Nov 20, 2025
6844f9c
Fix some compile errors
jpenilla Nov 20, 2025
e76f08b
DataComponent Changes for 1.21.11-pre1 (#13327)
Doc94 Nov 21, 2025
455fdd7
Run generators
jpenilla Nov 21, 2025
ec252b4
Add ATTACK_RANGE for DataComponentTypes (#13331)
Doc94 Nov 21, 2025
c82b438
Merge remote-tracking branch 'public/main' into dev/snapshot
jpenilla Nov 21, 2025
907c4af
Init 1.21.11-pre2
jpenilla Nov 21, 2025
fd3cc3b
Disable oldPaperCommit
jpenilla Nov 21, 2025
0d604a5
Fix chests without locks being locked
jpenilla Nov 21, 2025
5d5a4ff
update parchment
Lulu13022002 Nov 21, 2025
5de53da
skip SpearStatus types in memory keys rewriter and account for nested…
Lulu13022002 Nov 21, 2025
ebbffea
update dependencies for the generator
Lulu13022002 Nov 21, 2025
d81b1dd
Add back PlayerClientLoadedWorldEvent call
jpenilla Nov 21, 2025
f070245
Fixes and updates to bed events (#13203)
roro1506HD Nov 21, 2025
7efb86a
hide internal classes
Lulu13022002 Nov 22, 2025
5e10e6d
Merge remote-tracking branch 'public/main' into dev/snapshot
jpenilla Nov 23, 2025
e492b08
Update CraftPlayer#setPlayerTime
jpenilla Nov 23, 2025
e49b9cc
1.21.11-pre3
jpenilla Nov 25, 2025
219a31e
Drop unused access transformers
lynxplay Nov 25, 2025
674cb33
update parchment
Lulu13022002 Nov 25, 2025
3552de2
Update Moonrise
jpenilla Nov 25, 2025
c507d55
Update feature patches 3-13
jpenilla Nov 26, 2025
8156643
Update feature patches 14-26
jpenilla Nov 26, 2025
fb7bd2f
Revert Improve exact choice recipe ingredients for now
jpenilla Nov 26, 2025
590724a
per-player mob spawns & optimize hoppers
jpenilla Nov 26, 2025
8112497
anti-xray
jpenilla Nov 26, 2025
f6e343e
Delte TODO txt
jpenilla Nov 26, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
24 changes: 24 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,30 @@ and your server.
While we will fix minor formatting issues, you should stick to the guide below
when making and submitting changes.

### Branches and Minecraft Versions

Generally, PRs should be targeted at the `main` branch, where active development for
the latest Minecraft release happens.

If a new Minecraft release is imminent, it may be wise to wait until it's released
and merged to `main` to avoid having to rebase your PR, as the `main` branch will be
frozen during this time (you can ask in the Paper Discord if you're unsure).

For old Minecraft versions - we are unlikely to accept PRs targeting any versions not
marked as supported at https://fill-ui.papermc.io/projects/paper.

For snapshots and other pre-release versions - you should only target these branches
for changes specific to features or changes in those versions. For example, if Copper
Golem is going to be added in 1.21.9, you can PR to the relevant dev branch as it would
not make sense to merge that into `main`. Or, if you are fixing a bug that only exists in
a dev branch, you should target that branch. When submitting PRs to dev branches, please
coordinate with the dev team in Discord or open an issue before starting work to ensure
it's an area we want to accept changes for. The team prefers to handle initial updating
work through to the server running ourselves, so do not attempt to PR version updates
(i.e. 25w42a -> 25w43a, etc.) or while there are still unapplied source patches. Feature
patches are also not applied until at earliest the pre-release phase to avoid unnecessary
churn.

## Formatting

All modifications to Vanilla files should be marked. For historical reasons,
Expand Down
231 changes: 113 additions & 118 deletions build-data/paper.at

Large diffs are not rendered by default.

9 changes: 6 additions & 3 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
group=io.papermc.paper
version=1.21.10-R0.1-SNAPSHOT
mcVersion=1.21.10
version=1.21.11-pre3-R0.1-SNAPSHOT
mcVersion=1.21.11-pre3
# 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=1.21.11

# Set to true while updating Minecraft version
updatingMinecraft=false
updatingMinecraft=true

org.gradle.configuration-cache=true
org.gradle.caching=true
Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
38 changes: 28 additions & 10 deletions paper-api/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import paper.libs.com.google.gson.Gson

plugins {
`java-library`
`maven-publish`
Expand Down Expand Up @@ -136,20 +138,36 @@ configure<PublishingExtension> {
}
}

val generateApiVersioningFile by tasks.registering {
inputs.property("version", project.version)
val pomProps = layout.buildDirectory.file("pom.properties")
outputs.file(pomProps)
val projectVersion = project.version
doLast {
pomProps.get().asFile.writeText("version=$projectVersion")
abstract class GenerateApiVersioningFile : DefaultTask() {
@get:OutputFile
abstract val outputFile: RegularFileProperty

@get:Input
abstract val projectVersion: Property<String>

@get:Input
abstract val apiVersion: Property<String>

@TaskAction
fun generate() {
val file = outputFile.get().asFile
file.parentFile.mkdirs()
val map = mapOf(
"version" to projectVersion.get(),
"currentApiVersion" to apiVersion.get()
)
file.writeText(Gson().toJson(map))
}
}

val generateApiVersioningFile = tasks.register<GenerateApiVersioningFile>("generateApiVersioningFile") {
outputFile.set(layout.buildDirectory.file("apiVersioning.json"))
projectVersion.set(project.version.toString())
apiVersion.set(rootProject.providers.gradleProperty("apiVersion"))
}

tasks.jar {
from(generateApiVersioningFile.map { it.outputs.files.singleFile }) {
into("META-INF/maven/${project.group}/${project.name}")
}
from(generateApiVersioningFile.flatMap { it.outputFile })
manifest {
attributes(
"Automatic-Module-Name" to "org.bukkit"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,8 @@
@NullMarked
@GeneratedClass
public interface VanillaGoal<T extends Mob> extends Goal<T> {
GoalKey<AbstractHorse> HORSE_MOUNT_PANIC = create("horse_mount_panic", AbstractHorse.class);

GoalKey<AbstractHorse> HORSE_RANDOM_STAND = create("horse_random_stand", AbstractHorse.class);

GoalKey<AbstractHorse> HORSE_RUN_AROUND_LIKE_CRAZY = create("horse_run_around_like_crazy", AbstractHorse.class);
Expand Down Expand Up @@ -298,6 +300,8 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> {

GoalKey<Monster> RANGED_CROSSBOW_ATTACK = create("ranged_crossbow_attack", Monster.class);

GoalKey<Monster> SPEAR_USE = create("spear_use", Monster.class);

GoalKey<Ocelot> OCELOT_AVOID_ENTITY = create("ocelot_avoid_entity", Ocelot.class);

GoalKey<Ocelot> OCELOT_TEMPT = create("ocelot_tempt", Ocelot.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -284,6 +284,13 @@ public final class DamageTypeKeys {
*/
public static final TypedKey<DamageType> SONIC_BOOM = create(key("sonic_boom"));

/**
* {@code minecraft:spear}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DamageType> SPEAR = create(key("spear"));

/**
* {@code minecraft:spit}
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,13 @@
@NullMarked
@GeneratedClass
public final class DataComponentTypeKeys {
/**
* {@code minecraft:attack_range}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> ATTACK_RANGE = create(key("attack_range"));

/**
* {@code minecraft:attribute_modifiers}
*
Expand Down Expand Up @@ -214,6 +221,13 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> DAMAGE_RESISTANT = create(key("damage_resistant"));

/**
* {@code minecraft:damage_type}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> DAMAGE_TYPE = create(key("damage_type"));

/**
* {@code minecraft:death_protection}
*
Expand Down Expand Up @@ -354,6 +368,13 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> JUKEBOX_PLAYABLE = create(key("jukebox_playable"));

/**
* {@code minecraft:kinetic_weapon}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> KINETIC_WEAPON = create(key("kinetic_weapon"));

/**
* {@code minecraft:llama/variant}
*
Expand Down Expand Up @@ -424,6 +445,13 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> MAX_STACK_SIZE = create(key("max_stack_size"));

/**
* {@code minecraft:minimum_attack_charge}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> MINIMUM_ATTACK_CHARGE = create(key("minimum_attack_charge"));

/**
* {@code minecraft:mooshroom/variant}
*
Expand Down Expand Up @@ -459,6 +487,13 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> PARROT_VARIANT = create(key("parrot/variant"));

/**
* {@code minecraft:piercing_weapon}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> PIERCING_WEAPON = create(key("piercing_weapon"));

/**
* {@code minecraft:pig/variant}
*
Expand Down Expand Up @@ -578,6 +613,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}
*
Expand Down Expand Up @@ -641,6 +683,13 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> USE_COOLDOWN = create(key("use_cooldown"));

/**
* {@code minecraft:use_effects}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> USE_EFFECTS = create(key("use_effects"));

/**
* {@code minecraft:use_remainder}
*
Expand Down Expand Up @@ -697,6 +746,13 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> WRITTEN_BOOK_CONTENT = create(key("written_book_content"));

/**
* {@code minecraft:zombie_nautilus/variant}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> ZOMBIE_NAUTILUS_VARIANT = create(key("zombie_nautilus/variant"));

private DataComponentTypeKeys() {
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,13 @@ public final class EnchantmentKeys {
*/
public static final TypedKey<Enchantment> LUCK_OF_THE_SEA = create(key("luck_of_the_sea"));

/**
* {@code minecraft:lunge}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Enchantment> LUNGE = create(key("lunge"));

/**
* {@code minecraft:lure}
*
Expand Down
Loading
Loading