Skip to content

Fix Cork Coaster synchronization and support#205

Merged
Alatyami merged 2 commits into
developmentfrom
bugfix/198-199-cork-coasters
Jul 11, 2026
Merged

Fix Cork Coaster synchronization and support#205
Alatyami merged 2 commits into
developmentfrom
bugfix/198-199-cork-coasters

Conversation

@Alatyami

Copy link
Copy Markdown
Member

Summary

  • synchronize Cork Coaster block-entity inventory changes after a player retrieves a bottle
  • clear stale client inventory contents before applying an empty update tag
  • break Cork Coasters when their supporting surface becomes invalid
  • preserve normal coaster and stored-bottle drops when support is removed

Root causes

The bottle renderer reads the coaster block entity, but the state-change path did not always send the updated block-entity contents. The client also retained its old one-slot contents when an empty update tag was loaded.

The coaster already implemented canSurvive, but did not reevaluate that rule during neighbor shape updates, allowing unsupported coasters to float.

Validation

  • ./gradlew.bat compileJava -x createMinecraftArtifacts
  • ./gradlew.bat test -x createMinecraftArtifacts
  • git diff --check
  • manually confirmed retrieving a bottle removes its rendered model immediately without relogging
  • manually confirmed removing support breaks the coaster and drops the coaster and stored bottle exactly once

Closes #199
Closes #198

@Alatyami
Alatyami marked this pull request as ready for review July 11, 2026 20:42
@Alatyami
Alatyami merged commit 5423442 into development Jul 11, 2026
2 of 3 checks passed
@Alatyami
Alatyami deleted the bugfix/198-199-cork-coasters branch July 11, 2026 20:44
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.

Synchronize Cork Coaster removal after taking a bottle Make Cork Coasters break when their support is removed

1 participant