Skip to content

feat: Implement Powder Snow - #31

Open
xRookieFight wants to merge 3 commits into
devfrom
feat/powderSnow
Open

feat: Implement Powder Snow#31
xRookieFight wants to merge 3 commits into
devfrom
feat/powderSnow

Conversation

@xRookieFight

Copy link
Copy Markdown
Contributor

Original work by @Azvyl - ported from pmmp/PocketMine-MP#6857

This pull request adds support for powder snow as a block and item, including its interactions with entities and buckets.

Powder Snow Block and Item Implementation

  • Added new PowderSnow block
  • Added powder snow bucket as a new item. Includes bucket empty/fill powder snow sounds
  • Introduced freezing mechanics for entities: entities accumulate freeze ticks when inside powder snow, which slow movement and eventually cause damage. Entities are protected from freezing if wearing leather armor
  • Synced freeze progress ratio to clients for visual effects and added new damage cause for freezing
  • Added new sound classes for powder snow bucket interactions

This PR does not implement:

1.17.0 - Caves & Cliffs

Related issues & PRs

pmmp/PocketMine-MP#5964
pmmp/PocketMine-MP#5163

Changes

API changes

  • Added PowderSnow class
  • Added SolidBucket class
  • Added Living::getFreezeProgressTicks()
  • Added Living::setFreezeProgressTicks(int $freezeProgressTicks)
  • Added Living::getFreezeProgressRatio()
  • Added Living::getFreezeThresholdTicks()
  • Added Living::getFreezeProgressState()
  • Added Living::setFreezeProgressState(?bool $state)
  • Added Living::canFreeze()
  • Added EntityDamageEvent::CAUSE_FREEZE

Tests

https://www.youtube.com/watch?v=QVkKMMUlHjE

Plugin:
https://gist.github.com/DavyCraft648/ca56d2587da2b08a983cf3e648e5c0c8

@xRookieFight xRookieFight changed the title Implement Powder Snow feat: Implement Powder Snow Aug 13, 2026
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.

1 participant