Skip to content

Block Capturing System#13608

Draft
Owen1212055 wants to merge 19 commits into
mainfrom
feat/block-capturing
Draft

Block Capturing System#13608
Owen1212055 wants to merge 19 commits into
mainfrom
feat/block-capturing

Conversation

@Owen1212055

@Owen1212055 Owen1212055 commented Feb 5, 2026

Copy link
Copy Markdown
Member

Fundamental rewrite of how blocks are captured for block place event. Prioritizes vanilla behavior.

Tested Fixes:

any block modification in item interaction counting as block place event (no longer fired):

fixes edge cases required by random block types
fixes edge cases with physics being fired on structure placement despite being canceled

big todos:

  • Dispenser related stuff
  • Bone meal related stuff, we need to pass more context in order to get the tree event properly working

@github-project-automation github-project-automation Bot moved this to Awaiting review in Paper PR Queue Feb 5, 2026
@Owen1212055 Owen1212055 added the publish-pr Enables a workflow to build Paperclip jars on the pull request. label Feb 5, 2026
@papermc-pr-publishing

papermc-pr-publishing Bot commented Feb 5, 2026

Copy link
Copy Markdown

Last updated for: 6409d5ce9eebbce9f4445ffc0d8def95e0d01c83.

Download the Paperclip jar for this pull request: paper-13608.zip

Maven Publication

The artifacts published by this PR:

Repository Declaration

In order to use the artifacts published by the PR, add the following repository to your buildscript:

repositories {
    maven("https://maven-prs.papermc.io/Paper/pr13608") {
        name = "Maven for PR #13608" // https://github.com/PaperMC/Paper/pull/13608
        mavenContent {
            includeModule("io.papermc.paper", "dev-bundle")
            includeModule("io.papermc.paper", "paper-api")
        }
    }
}

@Toffikk

Toffikk commented Feb 6, 2026

Copy link
Copy Markdown
Contributor

- if (!(randomSource.nextFloat() >= this.probability)) {
+ if (!(randomSource.nextFloat() >= 1)) {

why was this change made?

@Owen1212055

Copy link
Copy Markdown
Member Author

@Toffikk It was a temporary change for testing beehive behavior. 😄

Owen1212055 and others added 16 commits February 6, 2026 10:04
TODO: Lillypad logic looks odd
Track bonemeal usage for StructureGrowEvent and propagate context properly between the two events.
Call the StructureGrowEvent for fungus, only call the BlockFertilizeEvent if the placement is sucessful.
# Conflicts:
#	paper-server/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
#	paper-server/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java
#	paper-server/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
#	paper-server/src/main/java/org/bukkit/craftbukkit/util/BlockStateListPopulator.java
@Lulu13022002 Lulu13022002 force-pushed the feat/block-capturing branch from f50cecb to 5e7a9a5 Compare April 26, 2026 17:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

publish-pr Enables a workflow to build Paperclip jars on the pull request.

Projects

Status: Awaiting review

Development

Successfully merging this pull request may close these issues.

3 participants