Skip to content
Closed

Dev/26.1 #13732

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
1db182a
Prepare build scripts
jpenilla Feb 27, 2026
79c7492
Initial file patch update pass
jpenilla Feb 27, 2026
a11882f
Compile fixes, baby variants, per-world gamerules/weather
jpenilla Mar 6, 2026
28fffe3
remove TODO
jpenilla Mar 6, 2026
f327601
Restore per-world gen settings
jpenilla Mar 6, 2026
7fed5c7
Restore per-world scheduledEvents, misc compile fixes
jpenilla Mar 6, 2026
586aad7
Fix overworld worldgen setting persistence
jpenilla Mar 6, 2026
be2efad
misc compile fixes
jpenilla Mar 6, 2026
7b95468
Save custom-world gen settings
jpenilla Mar 6, 2026
a04f995
Rebuild resource patches
kennytv Mar 6, 2026
5405b3c
Some progress on day time API
kennytv Mar 6, 2026
62a5337
Structure template compile fixes
kennytv Mar 6, 2026
1a7303d
Tests compile (but don't run)
kennytv Mar 6, 2026
a8d15fe
Update to 26.1-snapshot-11
kennytv Mar 6, 2026
2c207d7
cleanup some diff
Lulu13022002 Mar 6, 2026
04989c2
rebuild data packs
Lulu13022002 Mar 6, 2026
bae100a
fix bed not skipping night
Lulu13022002 Mar 6, 2026
a7d4de2
access transformers
kennytv Mar 6, 2026
d461ac3
add back lastLavaContact hook
Lulu13022002 Mar 6, 2026
ce5fb8f
Use published paperweight snapshot
jpenilla Mar 6, 2026
e3759a3
Move feature patches (DO NOT SQUASH)
jpenilla Mar 6, 2026
ed97f51
Update actions JVM
jpenilla Mar 6, 2026
58bd44a
Update testing & bytecode dependencies
jpenilla Mar 6, 2026
6d05eff
Remove plugin and reflection remapping
jpenilla Mar 6, 2026
59d9e6e
Update & run generator
jpenilla Mar 6, 2026
114a7fc
Update Gradle wrapper
jpenilla Mar 6, 2026
cf5b014
Update some TODO comments for searchability
jpenilla Mar 6, 2026
786e27f
add back old tags and generate PotionTypeTagKeys
Lulu13022002 Mar 7, 2026
22c0219
sound variant for cats, pigs, chickens and cows
Lulu13022002 Mar 7, 2026
5027a22
fix test
Lulu13022002 Mar 8, 2026
7b1b5f6
applyOrMoveSourcePatches for pre-2
jpenilla Mar 15, 2026
743ab68
set updatingMinecraft flag
jpenilla Mar 15, 2026
17d72ad
26.1-rc-1
kennytv Mar 19, 2026
42c355e
update to rc2
Lulu13022002 Mar 20, 2026
890e3cd
fix setPlayerTime's rate, call TimeSkipEvent for time set <markerId>
Lulu13022002 Mar 20, 2026
8077ce4
cleanup PlayerInteractEvent
Lulu13022002 Mar 20, 2026
5f86e09
Start porting feature patches
kennytv Mar 22, 2026
5ba0e30
More feature patches
kennytv Mar 23, 2026
1abe8fe
Apply redstone patches
kennytv Mar 23, 2026
3dfcd06
Simplify CraftStructureManager#loadStructure
lynxplay Mar 23, 2026
392f8bf
26.1-rc-3
kennytv Mar 23, 2026
cca018f
26.1
kennytv Mar 24, 2026
04a97aa
more renames
Lulu13022002 Mar 24, 2026
bc310d2
fix wrong absorb
Lulu13022002 Mar 24, 2026
546acb5
fix debug pathfinding flag
Lulu13022002 Mar 24, 2026
dfa3e44
Reorganize level storage layout to closer mirror 26.1 vanilla with CB…
jpenilla Mar 24, 2026
b50fa5c
Call BlockDispenseEvent for SpawnEggItem
lynxplay Mar 25, 2026
15af455
Cleanup final CombatTracker diff
lynxplay Mar 25, 2026
439972c
Readd BlockGrowEvent for cactus flower
lynxplay Mar 25, 2026
57e2655
Correctly replace setBlock in TripWireHookBlock
lynxplay Mar 25, 2026
c20b090
Skip villager treasure map trade if disabled
lynxplay Mar 26, 2026
fd22888
Get MapData from server data storage
lynxplay Mar 26, 2026
17e063a
cleanup block data
Lulu13022002 Mar 26, 2026
c700325
[ci skip] revert command size limit to vanilla for test server
Lulu13022002 Mar 26, 2026
3ed8098
Adjust tick loop logic
Spottedleaf Mar 26, 2026
af7555e
Fix block entity ticking list (#13724)
greenharry12 Mar 27, 2026
062aadc
remove type id from note block instruments
Lulu13022002 Mar 27, 2026
6a08bca
finish TagKey -> HolderSet migration
Lulu13022002 Mar 27, 2026
fe91bd9
fix SO error for breeze target
Lulu13022002 Mar 27, 2026
a12cd1a
update crystal proximity checks for new range
Lulu13022002 Mar 27, 2026
a44c689
Reduce diff in VineBlock.java
lynxplay Mar 28, 2026
b3fabd1
Correctly move FarmlandBlock#fallOn super call
lynxplay Mar 28, 2026
4932672
Simplify diff in AbstractPiglin
lynxplay Mar 28, 2026
7149725
Readd dropped StemBlock BlockGrowEvent hunk
lynxplay Mar 28, 2026
0110d9f
Simplify diff in DoublePlantBlock
lynxplay Mar 28, 2026
5b507f5
Readd dropped isInWorldBounds "inline"
lynxplay Mar 28, 2026
63078f4
Simplify diff in ConduitBlockEntity
lynxplay Mar 28, 2026
fd98513
fix provides_banner_patterns component type
Lulu13022002 Mar 28, 2026
6a154f1
fix some client desync
Lulu13022002 Mar 28, 2026
d6b3a3f
missed one case
Lulu13022002 Mar 28, 2026
d957fb4
Call WorldGameRuleChangeEvent for World Options Menu (#13720)
Doc94 Mar 28, 2026
03853ba
Skip transient components in dumpitem command (#13689)
Lulu13022002 Mar 28, 2026
bbeadde
Simplify diff in ProjectileWeaponItem
lynxplay Mar 29, 2026
e63832e
Re-add diff comment in Villager
lynxplay Mar 29, 2026
63f9644
Simplify diff in ChunkMap
lynxplay Mar 29, 2026
f2df321
update EntityTargetLivingEntityEvent handling
Lulu13022002 Mar 29, 2026
e7ea505
fix NPE after launching ender eye
Lulu13022002 Mar 29, 2026
267f7ae
respect mobs-can-always-pick-up-loot for baby zombies
Lulu13022002 Mar 29, 2026
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
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,10 @@ jobs:
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: JDK 21
- name: JDK 25
uses: actions/setup-java@v4
with:
java-version: 21
java-version: 25
distribution: 'zulu'

- name: Setup Gradle
Expand Down
63 changes: 40 additions & 23 deletions build-data/paper.at

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,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.19" apply false
id("io.papermc.paperweight.core") version "2.0.0-SNAPSHOT" apply false
}

subprojects {
Expand All @@ -11,7 +11,7 @@ subprojects {

extensions.configure<JavaPluginExtension> {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
languageVersion = JavaLanguageVersion.of(25)
}
}
}
Expand All @@ -21,7 +21,7 @@ val paperMavenPublicUrl = "https://repo.papermc.io/repository/maven-public/"
subprojects {
tasks.withType<JavaCompile>().configureEach {
options.encoding = Charsets.UTF_8.name()
options.release = 21
options.release = 25
options.isFork = true
options.compilerArgs.addAll(listOf("-Xlint:-deprecation", "-Xlint:-removal"))
}
Expand Down
8 changes: 4 additions & 4 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
group=io.papermc.paper
version=1.21.11-R0.1-SNAPSHOT
mcVersion=1.21.11
version=26.1-R0.1-SNAPSHOT
mcVersion=26.1
# 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
apiVersion=26.1

# 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.2.0-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
2 changes: 1 addition & 1 deletion gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 6 additions & 6 deletions paper-api/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -82,13 +82,13 @@ dependencies {
api("org.jspecify:jspecify:1.0.0")

// Test dependencies
testImplementation("org.apache.commons:commons-lang3:3.17.0")
testImplementation("org.junit.jupiter:junit-jupiter:5.12.2")
testImplementation("org.apache.commons:commons-lang3:3.20.0")
testImplementation("org.junit.jupiter:junit-jupiter:6.0.3")
testImplementation("org.hamcrest:hamcrest:2.2")
testImplementation("org.mockito:mockito-core:5.14.1")
testImplementation("org.ow2.asm:asm-tree:9.8")
mockitoAgent("org.mockito:mockito-core:5.14.1") { isTransitive = false } // configure mockito agent that is needed in newer java versions
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
testImplementation("org.mockito:mockito-core:5.22.0")
testImplementation("org.ow2.asm:asm-tree:9.9.1")
mockitoAgent("org.mockito:mockito-core:5.22.0") { isTransitive = false } // configure mockito agent that is needed in newer java versions
testRuntimeOnly("org.junit.platform:junit-platform-launcher:6.0.3")
}

val generatedDir: java.nio.file.Path = layout.projectDirectory.dir("src/generated/java").asFile.toPath()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> {

GoalKey<Creature> FLEE_SUN = create("flee_sun", Creature.class);

GoalKey<Creature> FOLLOW_BOAT = create("follow_boat", Creature.class);
GoalKey<Creature> FOLLOW_PLAYER_RIDDEN_ENTITY = create("follow_player_ridden_entity", Creature.class);

GoalKey<Creature> GOLEM_RANDOM_STROLL_IN_VILLAGE = create("golem_random_stroll_in_village", Creature.class);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2937,6 +2937,13 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> GOLD_ORE = create(key("gold_ore"));

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

/**
* {@code minecraft:granite}
*
Expand Down Expand Up @@ -5513,6 +5520,13 @@ public final class BlockTypeKeys {
*/
public static final TypedKey<BlockType> POTTED_FLOWERING_AZALEA_BUSH = create(key("potted_flowering_azalea_bush"));

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

/**
* {@code minecraft:potted_jungle_sapling}
*
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package io.papermc.paper.registry.keys;

import static net.kyori.adventure.key.Key.key;

import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
import org.bukkit.entity.Cat;
import org.jspecify.annotations.NullMarked;

/**
* Vanilla keys for {@link RegistryKey#CAT_SOUND_VARIANT}.
*
* @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 CatSoundVariantKeys {
/**
* {@code minecraft:classic}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Cat.SoundVariant> CLASSIC = create(key("classic"));

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

private CatSoundVariantKeys() {
}

/**
* Creates a typed key for {@link Cat.SoundVariant} in the registry {@code minecraft:cat_sound_variant}.
*
* @param key the value's key in the registry
* @return a new typed key
*/
public static TypedKey<Cat.SoundVariant> create(final Key key) {
return TypedKey.create(RegistryKey.CAT_SOUND_VARIANT, key);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package io.papermc.paper.registry.keys;

import static net.kyori.adventure.key.Key.key;

import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
import org.bukkit.entity.Chicken;
import org.jspecify.annotations.NullMarked;

/**
* Vanilla keys for {@link RegistryKey#CHICKEN_SOUND_VARIANT}.
*
* @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 ChickenSoundVariantKeys {
/**
* {@code minecraft:classic}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Chicken.SoundVariant> CLASSIC = create(key("classic"));

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

private ChickenSoundVariantKeys() {
}

/**
* Creates a typed key for {@link Chicken.SoundVariant} in the registry {@code minecraft:chicken_sound_variant}.
*
* @param key the value's key in the registry
* @return a new typed key
*/
public static TypedKey<Chicken.SoundVariant> create(final Key key) {
return TypedKey.create(RegistryKey.CHICKEN_SOUND_VARIANT, key);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package io.papermc.paper.registry.keys;

import static net.kyori.adventure.key.Key.key;

import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
import org.bukkit.entity.Cow;
import org.jspecify.annotations.NullMarked;

/**
* Vanilla keys for {@link RegistryKey#COW_SOUND_VARIANT}.
*
* @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 CowSoundVariantKeys {
/**
* {@code minecraft:classic}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<Cow.SoundVariant> CLASSIC = create(key("classic"));

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

private CowSoundVariantKeys() {
}

/**
* Creates a typed key for {@link Cow.SoundVariant} in the registry {@code minecraft:cow_sound_variant}.
*
* @param key the value's key in the registry
* @return a new typed key
*/
public static TypedKey<Cow.SoundVariant> create(final Key key) {
return TypedKey.create(RegistryKey.COW_SOUND_VARIANT, key);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,13 @@
@NullMarked
@GeneratedClass
public final class DataComponentTypeKeys {
/**
* {@code minecraft:additional_trade_cost}
*
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
*/
public static final TypedKey<DataComponentType> ADDITIONAL_TRADE_COST = create(key("additional_trade_cost"));

/**
* {@code minecraft:attack_range}
*
Expand Down Expand Up @@ -130,6 +137,13 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> CAT_COLLAR = create(key("cat/collar"));

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

/**
* {@code minecraft:cat/variant}
*
Expand All @@ -144,6 +158,13 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> CHARGED_PROJECTILES = create(key("charged_projectiles"));

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

/**
* {@code minecraft:chicken/variant}
*
Expand Down Expand Up @@ -172,6 +193,13 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> CONTAINER_LOOT = create(key("container_loot"));

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

/**
* {@code minecraft:cow/variant}
*
Expand Down Expand Up @@ -242,6 +270,13 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> DEBUG_STICK_STATE = create(key("debug_stick_state"));

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

/**
* {@code minecraft:dyed_color}
*
Expand Down Expand Up @@ -494,6 +529,13 @@ public final class DataComponentTypeKeys {
*/
public static final TypedKey<DataComponentType> PIERCING_WEAPON = create(key("piercing_weapon"));

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

/**
* {@code minecraft:pig/variant}
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3959,6 +3959,13 @@ public final class ItemTypeKeys {
*/
public static final TypedKey<ItemType> GOLDEN_CHESTPLATE = create(key("golden_chestplate"));

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

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