Skip to content

Dev/26.1#13732

Closed
vwtfafa wants to merge 78 commits intoPaperMC:mainfrom
vwtfafa:dev/26.1
Closed

Dev/26.1#13732
vwtfafa wants to merge 78 commits intoPaperMC:mainfrom
vwtfafa:dev/26.1

Conversation

@vwtfafa
Copy link
Copy Markdown

@vwtfafa vwtfafa commented Mar 30, 2026

No description provided.

jpenilla and others added 30 commits February 28, 2026 10:00
Convert to git patches & applyOrMoveSourcePatches with mergiraf

Manual review and fix pass included after initial task run

Couple of blocks

Port DedicatedServerSettings source patch

Port SpawnerBlock source patch

Port RespawnAnchorBlock source patch

Port CaveVinesBlock source patch

Port TrapDoorBlock source patch

Port DoublePlantBlock source patch

Port DriedGhastBlock source patch

Port MultifaceSpreader source patch

Port CeilingHangingSignBlock source patch

Port AbstractCauldronBlock source patch

Port EndGatewayBlock source patch

Port Recipe source patch

Port LocateCommand source patch

Port MobEffect source patch

Port AcquirePoi source patch

Port WallHangingSignBlock source patch

More blocks

Port EntitySelector source patch

Port SelectorPattern source patch

Port ServerboundCustomPayloadPacket source patch

Port RideCommand source patch

Port ItemStackMapIdFix source patch

Port PoisonMobEffect source patch

Port MenuType source patch

Port ReplaceBlock source patch

Port StructureUtils source patch

Port RamTarget source patch

Port SonicBoom source patch

Port DragonLandingApproachPhase source patch

Port ElderGuardian source patch

Port HoglinBase source patch

Port Evoker source patch

Port ReplaceDisk source patch

Port Property source patch

Port DragonRespawnAnimation source patch

Port GameRuleCommand source patch

Port EnumProperty source patch

Port ExplosionCondition source patch

Port NotificationManager source patch

Port ChangeItemDamage source patch

Port CarvingContext source patch

Port Main

Port EndCityPieces source patch

Port PathPackResources source patch

Drop PathPackResources source patch

Port Frog source patch

Port RemoveStatusEffectsConsumeEffect source patch

Port TeleportRandomlyConsumeEffect source patch

Port SpawnParticlesEffect source patch

Port BuddingAmethystBlock source patch

rename optionSet

more blocks

Port roulette patch: SpikeFeature

Port roulette patch: TryLaySpawnOnWaterNearLand

Port roulette patch: WaterlilyBlock

Port roulette patch: AssignProfessionFromJobSite

Port roulette patch: ResetProfession

Port roulette patch: CustomBossEvent

Port roulette patch: ApplyStatusEffectsConsumeEffect

Port roulette patch: HurtByTargetGoal

Port roulette patch: WitherSkeleton

Port roulette patch: NameTagItem

Port roulette patch: TestEnvironmentDefinition

Port roulette patch: ClientboundLevelChunkPacketData

Port roulette patch: BlocksAttacks

Port roulette patch: IglooPieces

Port roulette patch: MineshaftPieces

Port roulette patch: NetherFortressPieces

Port roulette patch: StrongholdPieces

Port roulette patch: SignItem

Port roulette patch: DyeItem

Port roulette patch: Vex

Port roulette patch: VillagerMakeLove

Port roulette patch: HealOrHarmMobEffect

Port roulette patch: BehaviorUtils

Port roulette patch: GoToWantedItem

Port roulette patch: GameModeCommand

Port roulette patch: ExperimentalRedstoneWireEvaluator

Port roulette patch: HappyGhast

Port roulette patch: SculkShriekerBlockEntity

Port roulette patch: DiscardedPayload

Port roulette patch: WeightedList

Port roulette patch: DistanceManager

Port roulette patch: FlatLevelSource

Port roulette patch: SpawnEggItem

Port roulette patch: ZeroBitStorage

Port roulette patch: BoneMealItem

Port roulette patch: FireChargeItem

Port roulette patch: ServerboundCustomQueryAnswerPacket

Port roulette patch: WeatherCommand

Port roulette patch: HolderLookup

Port roulette patch: ResultSlot

Port roulette patch: ServerRecipeBook

Port roulette patch: ReloadableServerResources

Port roulette patch: GiveCommand

Port roulette patch: OminousItemSpawner

Port roulette patch: CommandBlockEntity

Port roulette patch: Ravager

Port roulette patch: OceanRuinPieces

Port roulette patch: RconClient

Port roulette patch: ReloadCommand

Port roulette patch: ReloadableServerRegistries

Port roulette patch: Axolotl

Port roulette patch: MinecartCommandBlock

Port roulette patch: ShulkerBoxDispenseBehavior

Port roulette patch: Consumable

Port roulette patch: ServerPacksSource

Port roulette patch: SleepStatus

Port roulette patch: TicketStorage

Port roulette patch: LargeFireball

Port roulette patch: Painting

Port roulette patch: ItemEnchantments

Port roulette patch: PoiCompetitorScan

Port roulette patch: EntitySelector

Port roulette patch: GameRuleMap

Port roulette patch: Shulker

Port roulette patch: OutgoingChatMessage

Port roulette patch: TemptGoal

Port roulette patch: Parrot

Port roulette patch: ShulkerBoxMenu

Port roulette patch: LevelChunkSection

Port roulette patch: LootPoolSingletonContainer

Port roulette patch: Armadillo

Port roulette patch: ComponentUtils

Finish net/minecraft/world/level/block package

Port roulette patch: Services

Port roulette patch: MobEffectUtil

Port roulette patch: SkeletonTrapGoal

Port roulette patch: Llama

Port roulette patch: StructureManager

Port roulette patch: WanderingTrader

Port roulette patch: ProjectileDispenseBehavior

Port roulette patch: MobEffectInstance

Port roulette patch: EndPlatformFeature

Port roulette patch: SimpleCriterionTrigger

Port roulette patch: Goat

Port roulette patch: PhantomSpawner

Port roulette patch: Illusioner

Port roulette patch: Raider

Port roulette patch: FishingRodItem

Port roulette patch: StructureStart

Cow

ChatDecorator/PlayerChatMessage

Fix wrong argument in ChorusFlowerBlock

Port Commands

Fix wrong assignment in DropperBlock

Fix missing return in RedstoneOreBlock

Missing AbstractCow diff

Port roulette patch: DensityFunctions

Port roulette patch: ChestMenu

CommandSourceStack

Finish net/minecraft/world/inventory package

Port villager patches

Port CompoundTag

Port QueryThreadGs4

Port StructureTemplate

Port PersistentEntitySectionManager

Port BrewingStandBlockEntity

Port roulette patch: SnowballItem

Port roulette patch: EnderpearlItem

Port roulette patch: ShearsDispenseItemBehavior

Fixed a line not being removed in LecternMenu

Fix missed rename in PitcherCropBlock

Port roulette patch: Camel

Port roulette patch: FireworkRocketItem

Port roulette patch: RegionFile

Port roulette patch: Phantom

Port roulette patch: RegionFileStorage

Port roulette patch: GameTestServer

Port roulette patch: Bogged

Port roulette patch: EquipmentDispenseItemBehavior

Port roulette patch: NeutralMob

Port roulette patch: ProjectileWeaponItem

Port roulette patch: ChunkStatusTasks

Port roulette patch: GameRules

Port roulette patch: InsideBlockEffectApplier

Port roulette patch: PatrolSpawner

Port roulette patch: Sheep

Port roulette patch: Dolphin

Port roulette patch: ShapedRecipe

Port roulette patch: StoredUserList

Port roulette patch: Turtle

Port roulette patch: SnowGolem

Port roulette patch: PalettedContainer

Port roulette patch: Piglin

Port roulette patch: PackRepository

Port roulette patch: JukeboxBlockEntity

Port roulette patch: PlayerAdvancements

Port roulette patch: BrushableBlockEntity

Port roulette patch: LevelStorageSource

Port roulette patch: FoodData

Port roulette patch: Panda

Port roulette patch: FireworkRocketEntity

Port roulette patch: Allay

Port roulette patch: RandomizableContainer

Port roulette patch: VaultBlockEntity

Port roulette patch: BucketItem

Port roulette patch: StructurePlacement

Port roulette patch: BaseCommandBlock

Port roulette patch: PotionBrewing

Port roulette patch: AbstractSkeleton

Port roulette patch: AbstractBoat

Couple of block entities

Fix extra setBlock in PointedDripstoneBlock

Port roulette patch: Animal

Port roulette patch: Util

Port roulette patch: PortalForcer

Port roulette patch: StructurePiece

Port roulette patch: AbstractHorse

Port roulette patch: CustomRecipe

Port roulette patch: SummonEntityEffect

Port roulette patch: StandingAndWallBlockItem

Port roulette patch: GameEventDispatcher

Port roulette patch: EffectCommands

Port roulette patch: ScheduleCommand

Port roulette patch: EndCrystalItem

Port roulette patch: DataFixers

Port roulette patch: InteractWithDoor

Port roulette patch: Warden

Port roulette patch: Creaking

Port roulette patch: MessageArgument

Port roulette patch: SmithingTransformRecipe

Port roulette patch: EggItem

Port roulette patch: DedicatedServerProperties

Port roulette patch: CopperGolem

Port roulette patch: WitherBoss

Apply final block entity patches

Apply ServerChunkCache

Apply ChunkMap

Apply ServerPlayerGameMode

Apply WorldGenRegion

Apply Level

Port roulette patch: Bee

Port roulette patch: FallingBlockEntity

Port roulette patch: Creeper

Port roulette patch: Settings

Port roulette patch: SerializableChunkData

Port roulette patch: LightningBolt

Port roulette patch: WorldBorder

Port roulette patch: FlowingFluid

Port roulette patch: LecternBlockEntity

Port roulette patch: Inventory

Apply ServerLevel

Add TODO for dropped hunk

Port roulette patch: PortalShape

Port roulette patch: PiglinAi

Port roulette patch: ServerHandshakePacketListenerImpl

Port roulette patch: ChunkGeneratorStructureState

Port EntityType.java.patch

Port CachedUserNameToIdResolver roulette patch

Port LegacyQueryHandler roulette patch

Fix PrepareSpawnTask patch roulette port

Port Projectile.java patch roulette iteration

Port NaturalSpawner patch roulette

Port Slime roulette patch

Mapitem

Zombie patch

Smithing Trim Patch Roulette

Transmutate Result Patch Roulette

Apply ChunkHolder

Apply ServerEntity

Apply ServerPlayer

Slightly reduce ChunkHolder diff

Port roulette patch: ServerExplosion

Port roulette patch: MapItemSavedData

Port roulette patch: ArmorStand

Port roulette patch: ServerLoginPacketListenerImpl

Port roulette patch: LevelChunk

Port roulette patch: EnderDragon

minor diff cleanup

Port roulette patch: ClientboundSetEntityDataPacket

Port roulette patch: EntityArgument

Port roulette patch: LootDataType

Port roulette patch: EmptyBlockAndTintGetter

Drop obsolete roulette patch: LegacyStructureDataHandler

LegacyStructureDataHandler no longer exists in current sources. Its dimension-routing logic is now handled in LegacyStructureFileFix, so this rejected patch has no remaining port target and is obsolete.

Port roulette patch: ServerboundInteractPacket

Upstream refactored interact packet shape; preserve Paper unknown-entity shim with getEntityId() and a conservative isAttack() fallback in the new record form.

Adjust ServerboundInteractPacket patch: remove isAttack shim

Keep only getEntityId() in the Paper unknown-entity helper block as requested; defer compile fallout handling to later cleanup.

Port roulette patch: CrossbowItem

Port roulette patch: NbtContents

Port roulette patch: DimensionDataStorage

Port roulette patch: WorldUpgrader

Port roulette patch: DragonFireball

Port roulette patch: AgeableMob

Port roulette patch: ThrownExperienceBottle

Port roulette patch: Sniffer

Port roulette patch: BlockItem

Port roulette patch: ChunkGenerator

Port roulette patch: Bucketable

Port roulette patch: LeadItem

Port roulette patch: Fox

Port roulette patch: TridentItem

Port roulette patch: SimpleRegionStorage

Port roulette patch: AbstractArrow

Port roulette patch: ItemEntity

Port roulette patch: ExperienceOrb

Port roulette patch: FishingHook

port PistonBaseBlock

port MinecartDispenseItemBehavior.java.patch, DispenseItemBehavior.java.patch

port Player

port roulette set

port cat

port MinecraftServer

MerchantOffer.java.patch

PathNavigation.java.patch

ItemFrame.java.patch

BlockGetter.java.patch, ChunkPos.java.patch

TimeCommand.java.patch, SetSpawnCommand.java.patch

TODO: Time needs adjusting

BlockPos.java.patch

Enderman

PrimedTnt.java.patch

Fixes

port WanderingTraderSpawner

port Tadpole

port PlayerList

port thrown potions

port RegistryDataLoader

initial pass on ServerGamePacketListenerImpl

port PrimaryLevelData

port DedicatedServer

port ItemStack

port CauldronInteraction

port TagLoader

port EnderDragonFight

compile fixes

Port roulette patch: SimpleBitStorage

Port roulette patch: AbstractNautilus

Port roulette patch: LeashFenceKnotEntity

Port roulette patch: BlockAttachedEntity

Port roulette patch: Wolf
More things need to have per-world reimplemented still with things being split from level.dat
Deprecate setFullTime, which will need world clock API to have per-world clocks. The rest simply uses the dimension's world clock if present. Per-player time has not been fully implemented yet
Lulu13022002 and others added 25 commits March 26, 2026 21:17
There were a few problems in the tick loop code:

1. Not all tasks may be executed before server stop
2. Not all tasks may have been executed before server tick
3. Tasks may not have been executed while waiting for next server tick

Note that tasks exclusively refer to tasks scheduled directly
to the MinecraftServer.

For the first issue, we apply a fix where we execute all tasks
on server stop. However, this is not a true fix. Tasks could be
scheduled while the server is stopping. This simply reduces us
to being no worse off than Vanilla.
This particularly fixes the client freezing when disconnecting
from a singleplayer world - see the logic in
Minecraft#disconnect(Screen, boolean, boolean) where it invokes
IntegratedServer#halt(boolean).

For the second issue, we rework the tick tracking on TickTask so
that it uses our own counter which we increment immediately
before beginning to process tasks. Additionally, we fix the
shouldRun logic so that it allows tasks as long as the current
tick is strictly greater-than the task tick (before, it checked
if the task tick + 1 (3 Vanilla) was strictly less-than).
See comments in the server mixin around #shouldRun,
details.

We fix the final issue by allowing task execution in #shouldRun
if we are currently awaiting the next tick. The reason this is a
fix is due to the fact that our logic to await the next tick
does not run in the managedBlock function, which bypasses
the shouldRun check.

Tuinity/Moonrise@e394e33
Co-authored-by: Bjarne Koll <git@lynxplay.dev>
Now that MC-102774 is fixed it's possible to respawn the dragon
from one block further horizontally.
Commented-out version hunk dropped accidentally.
Co-authored-by: Lulu13022002 <41980282+Lulu13022002@users.noreply.github.com>
to take in account MC-199589 being fixed
@vwtfafa vwtfafa requested a review from a team as a code owner March 30, 2026 15:18
@github-project-automation github-project-automation bot moved this to Awaiting review in Paper PR Queue Mar 30, 2026
@vwtfafa vwtfafa closed this Mar 30, 2026
@github-project-automation github-project-automation bot moved this from Awaiting review to Closed in Paper PR Queue Mar 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Closed

Development

Successfully merging this pull request may close these issues.

8 participants