Skip to content

Introduce 26.2 support#3566

Draft
SirYwell wants to merge 2 commits into
mainfrom
feat/mc-26.2
Draft

Introduce 26.2 support#3566
SirYwell wants to merge 2 commits into
mainfrom
feat/mc-26.2

Conversation

@SirYwell

Copy link
Copy Markdown
Member

Overview

Description

I did some basic testing, but more testing is encouraged :)

Submitter Checklist

  • Make sure you are opening from a topic branch (/feature/fix/docs/ branch (right side)) and not your main branch.
  • Ensure that the pull request title represents the desired changelog entry.
  • New public fields and methods are annotated with @since TODO.
  • I read and followed the contribution guidelines.

Copilot AI review requested due to automatic review settings June 20, 2026 18:11

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Introduces Minecraft 26.2 support across WorldEdit core registries and adds a new Bukkit adapter module to handle NMS/Paper internals for that version.

Changes:

  • Extend core registries (block/item/entity/biome types + categories) with new 26.2 identifiers.
  • Add DATA_VERSION_MC_26_2 constant and register 26.2 as a supported version in Gradle settings/build.
  • Add a new worldedit-bukkit:adapters:adapter-26.2 module with Paperweight/FAWE integration classes.

Reviewed changes

Copilot reviewed 35 out of 37 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
worldedit-core/src/main/java/com/sk89q/worldedit/world/item/ItemTypes.java Adds 26.2 item constants; adds an initialization sanity-check.
worldedit-core/src/main/java/com/sk89q/worldedit/world/item/ItemCategories.java Adds new item tag categories for 26.2.
worldedit-core/src/main/java/com/sk89q/worldedit/world/entity/EntityTypes.java Adds SULFUR_CUBE entity type.
worldedit-core/src/main/java/com/sk89q/worldedit/world/block/BlockTypes.java Adds 26.2 block constants.
worldedit-core/src/main/java/com/sk89q/worldedit/world/block/BlockCategories.java Adds/updates block tag categories for 26.2.
worldedit-core/src/main/java/com/sk89q/worldedit/world/biome/BiomeTypes.java Adds SULFUR_CAVES biome type.
worldedit-core/src/main/java/com/sk89q/worldedit/internal/Constants.java Adds DATA_VERSION_MC_26_2.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v26_2/StaticRefraction.java Adds 26.2 reflection name mappings.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v26_2/PaperweightWorldNativeAccess.java Implements WorldNativeAccess for 26.2 (non-FAWE path).
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v26_2/PaperweightServerLevelDelegateProxy.java Adds proxy/delegate layer for feature/structure generation interactions.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v26_2/PaperweightLoggingProblemReporter.java Adds a ProblemReporter implementation that logs collected problems.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v26_2/PaperweightFakePlayer.java Adds fake player implementation for server-side interactions.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v26_2/PaperweightBlockMaterial.java Adds 26.2 block material bridge for Bukkit/NMS.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v26_2/ComponentConverter.java Adds component JSON serialization/deserialization helpers.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/regen/PaperweightRegen.java Adds regen implementation for 26.2.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightStarlightRelighterFactory.java Hooks relighter factory for Paper/Starlight.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightStarlightRelighter.java Adds Starlight relighting implementation for 26.2.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightPostProcessor.java Adds post-processing (fluid ticking) integration for 26.2.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightPlatformAdapter.java Adds 26.2 NMS adapter utilities for FAWE chunk/packet/entity operations.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightPlacementStateProcessor.java Adds placement-state processor for correct block placement logic.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightMapChunkUtil.java Adds chunk packet reflection utility (currently incomplete).
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightLevelProxy.java Adds unsafe-allocated ServerLevel proxy for placement processing.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightGetBlocks_Copy.java Adds an IChunkGet copy implementation for 26.2.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightFaweWorldNativeAccess.java Adds FAWE WorldNativeAccess implementation for 26.2.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightFaweMutableBlockPlaceContext.java Adds mutable placement context used during placement processing.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightFaweAdapter.java Adds main FAWE adapter implementation for 26.2.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightChunkAccessProxy.java Adds a ChunkAccess proxy used during feature generation.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/LinValueOutput.java Adds LinBus-backed ValueOutput implementation.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/LinValueInput.java Adds LinBus-backed ValueInput implementation.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/LinOps.java Adds DynamicOps for LinBus tags.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/FaweBlockStateListPopulator.java Adds populator wrapper for capturing blocks/entities during gen.
worldedit-bukkit/adapters/adapter-26.2/build.gradle.kts Adds new adapter module build config and Paper dev bundle dependency.
settings.gradle.kts Registers the adapter-26.2 module.
build.gradle.kts Adds 26.2 to the supported versions list.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 20, 2026 18:24

Copilot AI commented Jun 20, 2026

Copy link
Copy Markdown

@SirYwell I've opened a new pull request, #3567, to work on those changes. Once the pull request is ready, I'll request review from you.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 35 out of 37 changed files in this pull request and generated 2 comments.

Comment on lines +107 to +115
cachedChanges.add(new CachedChange(levelChunk, blockPos, blockState));
cachedChunksToSend.add(new IntPair(levelChunk.locX, levelChunk.locZ));
boolean nextTick = lastTick.get() > currentTick;
if (nextTick || cachedChanges.size() >= 1024) {
if (nextTick) {
lastTick.set(currentTick);
}
flushAsync(nextTick);
}
Comment on lines +28 to +32
@Override
public ClientboundLevelChunkWithLightPacket createPacket() {
// TODO ??? return new ClientboundLevelChunkPacket();
throw new UnsupportedOperationException();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants