3128 Commits

Author SHA1 Message Date
Gavin Holmes
5152bb5c1d fix(plugin-wit): map protocol i8 fields to WIT s8 in v0.2 (#4413) canary nightly 2026-10-30 12:43:16 +01:00
MegalithOfficial
90ac8d8253 fix(entity): add the water splash effect and fix pufferfish stings 2026-10-29 20:31:13 +01:00
Zinedin Polic
06bcb26af7 fix(mobai): Temperament enum, data-driven hunt/flee tables, vanilla target search (#4107)
* temperament

* TargetMatch

* mob families

* target filter and untamed condition

* TODOs for mobs

* add unified fleeing and hunting targets

* fix some behaviours vanilla parity

* fix targeting fleeing conditions

* feline and sitting behaviour

* plugin events for mobs

* Hunt table

* potion undead apply

* effect and hunting bugs

* Enemy Monster class, fix rabbit flee, villager better flee, wither head fix player target

* more states

* MobVisibilityImpl trough all mob AI as komponent and reductions, SearchArea as cube, not sphere

* use default breed cooldown

* fix statistic, advancment, and gamerule breeding

* fix sit

* 100 tick recent count

* heal and instant health/harm effects liike vanilla no 0 panic

* arrow owner

* unify owner of projectiles

* TODO Vanilla Player.hurtServer difficulty scaling

* network decoder rejects mob_visibility value NaN

* is_sitting plugin pass

* Preserve missing owner fields during partial reads

* fox ai hunting

* fleeing escape path and goal timing

* follow updated contributing.md for mob ai

* fox inherit variant

* TRADER_LLAMA_HUNTS

* plugins_observe_entity_ticks

* Avoid a full owner lookup on repeated island-planning calls

* mob_visibility now uses the shared entity_idset_tokens helper

* moved the two getLastDamageSource doc lines back above

* reads health after the regain event

* disable killer bunny

* drop wheni not evil flee

* refactor

* implement already shared

* add explaination vanilla parity

* Expose the owner through Mob

* fix(ai): cover visibility-scaled player range in look-at reach

* fix(rabbit): restore killer bunny goals

* fix(ai): drop the cached target when a target change is cancelled

* fix(ai): keep the old target when a plugin cancels a target goal

---------

Co-authored-by: MegalithOfficial <gekocakaya@gmail.com>
2026-10-29 22:03:16 +03:00
Zinedin Polic
c6bb20e189 fix(command): send the 26.3 argument parser ids and parse registry ids like vanilla (#4311)
* better parsing

* better parsing part2

* fix show item, NumericConditionalExecutor and ScoreHolderArgumentType::Multipl

* formatting

* deserialize json only for Map-Codec

* formatting

* chore(deps): bump crate-ci/typos from 1.50.2 to 1.51.1 (#4319)

Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.50.2 to 1.51.1.
- [Release notes](https://github.com/crate-ci/typos/releases)
- [Changelog](https://github.com/crate-ci/typos/blob/main/CHANGELOG.md)
- [Commits](https://github.com/crate-ci/typos/compare/v1.50.2...v1.51.1)

---
updated-dependencies:
- dependency-name: crate-ci/typos
  dependency-version: 1.51.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump actions/setup-python from 6 to 7 (#4318)

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 6 to 7.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(world): align feature generation with vanilla

* fix(block): align block behaviours with vanilla

* fix(item): align item behaviours with vanilla

* fix(bedrock): enforce whitelist and bans on login (fixes #4307)

* feat(plugin): expand v0.2 player and inventory APIs for Bukkit parity

* test(bot): align allay interact polling timeout with standard bot poll ticks

* refactor(core): decouple tick simulation, compute pools, and Tokio runtime

* fix(protocol): read zero LpVector3d from a single byte (#4308)

* fix(entity): attribute projectile block hits to the correct block (#4179)

* block-state properties fix nbt

* formatting

* fix(command): read fill filter NBT without re-reading the chunk

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
Co-authored-by: B0T03 <155289464+B0T03@users.noreply.github.com>
Co-authored-by: woodyloody <81761800+woodyloody@users.noreply.github.com>
Co-authored-by: MegalithOfficial <gekocakaya@gmail.com>
2026-10-29 20:52:25 +03:00
Megalith
5a246500c6 fix(entity): play vanilla fall damage sounds (#4409) 2026-10-29 20:25:48 +03:00
Megalith
98e44e1067 feat: movement emission (#4408)
* feat(data): generate block sound types and entity movement sounds

* feat(entity): port vanilla movement emission

* feat(data): generate sound type names

* feat(entity): port mob swim and step sounds

* feat(entity): port flapping mobs

* feat(entity): emit player movement sounds and events
2026-10-29 19:46:56 +03:00
Connor Brown
62fdda6ef0 perf(entity): stop preallocating every mob's pathfinding heap (#4053) 2026-10-29 12:42:41 -04:00
Alexander Medvedev
f2cff8e650 feat(bedrock): port protocol to 1.26.60 (#4407) 2026-10-29 13:07:23 +01:00
Megalith
eba538f284 perf(worldgen): cut chunk generation CPU by about a quarter (#4401)
* perf(worldgen): skip structure sets and skylight work a dimension cannot use

* perf(worldgen): compute each structure start once under concurrent requests

* perf(worldgen): reuse biome cell corner offsets along a column
2026-10-29 13:00:28 +03:00
Megalith
638beada55 fix(entity): port vanilla entity save data (#4396)
* fix(entity): port vanilla entity save data

* fix(entity): restore leash knots and skip spawn rolls when loading mobs

* fix(entity): reapply equipment modifiers when loading mobs
2026-10-29 12:59:05 +03:00
Alexander Medvedev
9d9179df4b feat(bedrock): implement inventory transactions, combat parity, and player movement (#4397) 2026-10-28 22:06:40 +01:00
Midnight
5061cf891a refactor(codec): improve deserialization by adding size checks and a reusable read_count function (#4394) 2026-10-28 17:46:10 +00:00
AdmerPRO
48990c4e87 feat(block): dispense experience bottles as projectiles (#3645)
* feat(block): dispense experience bottles as projectiles

* fix(entity): spawn experience orbs when bottles hit

* fix(entity): correct experience orb spawning and friction

* fix(entity): allow experience orbs to burn in fire and lava

* fix(build): update orb damage API usage and supply datapack to Nix

* fix(entity): free experience orbs spawned inside blocks

* fix(item): use the normal_use_with_hand for experience bottle throws

* fix(entity): use correct block lookup for experience orb friction

* fix(entity): correct world border check for experience orbs

* fix(entity): correct experience orb float suffixes

* fix(entity): check if orb damage is finite and positive
2026-10-28 15:44:42 +00:00
Alexander Medvedev
ff873cbbb8 fix(docker): switch to glibc base image and standard binary (#4390) 2026-10-28 14:23:35 +01:00
Alexander Medvedev
cf4e476b66 feat(data): implement DynamicRegistryManager with runtime datapack loaders (#4370)
* feat(data): derive clone and debug for registry entry types in codegen

* feat(data): add comprehensive datapack loaders for all 26.3 runtime registries and tags

* feat(core): implement DynamicRegistryManager and unify dynamic registry usage
2026-10-28 14:20:03 +01:00
White Suites
86f36e01fb fix(ci): skip doctests for affected packages without a library (#4381) 2026-10-28 10:12:31 +00:00
Alexander Medvedev
027ef5691f feat(advancement): implement criteria triggers with loot predicate evaluation (#4369)
* feat(advancement): more work on criteria triggers and predicates

* feat(loot): more work on predicate evaluations and conditions
2026-10-28 11:08:06 +01:00
BananaJeans
09e63cb8d8 Add link to CI Badge (#4170) 2026-10-27 20:30:15 +00:00
HPnetwork
d1c399cbbd fix(block): relight campfires hit by burning projectiles (#3555) 2026-10-27 20:14:24 +00:00
White Suites
2cf1569adc fix(player): save player data on the server runtime from the tick thread (#4335) 2026-10-27 22:22:33 +03:00
MegalithOfficial
4f4f505689 fix(entity): close shared mob parity gaps 2026-10-27 20:19:22 +01:00
MegalithOfficial
53a0bb92b3 feat(entity): port squid and glow squid to vanilla behavior 2026-10-27 19:08:41 +01:00
woodyloody
de9538a177 fix(entity): attribute projectile block hits to the correct block (#4179) 2026-10-27 09:58:15 +00:00
B0T03
59eecff28a fix(protocol): read zero LpVector3d from a single byte (#4308) 2026-10-27 08:51:27 +00:00
Alexander Medvedev
b70c7e1e67 refactor(core): decouple tick simulation, compute pools, and Tokio runtime 2026-10-26 22:24:26 +01:00
Alexander Medvedev
463274e230 test(bot): align allay interact polling timeout with standard bot poll ticks 2026-10-26 20:43:29 +01:00
Alexander Medvedev
1ec04f6601 feat(plugin): expand v0.2 player and inventory APIs for Bukkit parity 2026-10-26 20:14:15 +01:00
Alexander Medvedev
8e21ebc7be fix(bedrock): enforce whitelist and bans on login (fixes #4307) 2026-10-26 12:56:05 +01:00
Alexander Medvedev
4c8c7f3fc1 fix(item): align item behaviours with vanilla 2026-10-26 12:41:24 +01:00
Alexander Medvedev
0a9ddfd22c fix(block): align block behaviours with vanilla 2026-10-26 12:41:24 +01:00
Alexander Medvedev
edfbb48924 fix(world): align feature generation with vanilla 2026-10-26 12:41:24 +01:00
dependabot[bot]
ac98a5d2d2 chore(deps): bump actions/setup-python from 6 to 7 (#4318)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 6 to 7.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-26 07:58:16 +01:00
dependabot[bot]
ee25c91a0b chore(deps): bump crate-ci/typos from 1.50.2 to 1.51.1 (#4319)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.50.2 to 1.51.1.
- [Release notes](https://github.com/crate-ci/typos/releases)
- [Changelog](https://github.com/crate-ci/typos/blob/main/CHANGELOG.md)
- [Commits](https://github.com/crate-ci/typos/compare/v1.50.2...v1.51.1)

---
updated-dependencies:
- dependency-name: crate-ci/typos
  dependency-version: 1.51.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-26 07:57:59 +01:00
Zinedin Polic
5e9101f350 feat(server): decouple server lifecycle from the process for embedding (#3771)
* inital commit

* read and write java

* standalone bool

* Interrupt pending login when this server stops

* only standalone marks as stopping

* embedded server dont starts console input

* Query, LAN broadcast and telemetry  stop on own stop_token

* admission_closed

* embedded init logger dont wait

* listener setup errors to the embedding host

* fix tester give up after 10s

* fix(management): stop with the server's stop token

* refactor(server): pass standalone to PumpkinServer::new and reuse serve_java_connection in tester

* test(tester): cover stopping an embedded server over an in-memory connection

---------

Co-authored-by: MegalithOfficial <gekocakaya@gmail.com>
2026-10-26 02:13:32 +03:00
Connor Brown
cd9e98c966 fix(entity): send each species' collar color in its own data slot (#4286)
MobMetadata::collar_color always wrote wolf::COLLAR_COLOR (slot 21). On a
cat that slot is IS_LYING, a boolean, so Java clients disconnected with a
packet handling error as soon as a cat was tracked. Take the slot from
the caller, as villager_data_with_tracked does.
2026-10-24 16:56:02 +03:00
MegalithOfficial
fe900d0aea fix(entity): despawn mobs at their category distances 2026-10-24 15:38:35 +02:00
Megalith
99d31d0574 feat(entity): vanilla parity for tropical fish (#4303)
* feat(entity): vanilla parity for pufferfish

* feat(data): generate the dye color list

* feat(entity): vanilla parity for tropical fish
2026-10-24 16:29:06 +03:00
Megalith
d4bedb4142 feat(entity): vanilla parity for pufferfish (#4302) 2026-10-24 16:07:12 +03:00
Megalith
96424b86e7 feat(entity): vanilla parity for salmon (#4291)
* refactor(entity): share fish trait and mob glue through macros

* feat(entity): vanilla parity for salmon
2026-10-24 15:20:43 +03:00
dependabot[bot]
224f9f8144 chore(deps): bump crate-ci/typos from 1.50.1 to 1.50.2 (#3662)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.50.1 to 1.50.2.
- [Release notes](https://github.com/crate-ci/typos/releases)
- [Changelog](https://github.com/crate-ci/typos/blob/main/CHANGELOG.md)
- [Commits](https://github.com/crate-ci/typos/compare/v1.50.1...v1.50.2)

---
updated-dependencies:
- dependency-name: crate-ci/typos
  dependency-version: 1.50.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
0.2.1+26.3-26.51
2026-10-24 12:06:37 +02:00
dependabot[bot]
c289be186a chore(deps): bump actions/github-script from 8 to 9 (#3441)
Bumps [actions/github-script](https://github.com/actions/github-script) from 8 to 9.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v8...v9)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: '9'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-24 12:06:26 +02:00
dependabot[bot]
14405c4f78 chore(deps): bump DeterminateSystems/magic-nix-cache-action (#3442)
Bumps [DeterminateSystems/magic-nix-cache-action](https://github.com/determinatesystems/magic-nix-cache-action) from 14 to 15.
- [Release notes](https://github.com/determinatesystems/magic-nix-cache-action/releases)
- [Commits](https://github.com/determinatesystems/magic-nix-cache-action/compare/v14...v15)

---
updated-dependencies:
- dependency-name: DeterminateSystems/magic-nix-cache-action
  dependency-version: '15'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-24 12:05:45 +02:00
Megalith
8ca5cb4432 fix(protocol): send variant components with vanilla network ids (#4285) 2026-10-23 22:38:32 -04:00
MegalithOfficial
697d36ad12 fix(command): parse item components like vanilla 2026-10-24 01:19:28 +02:00
Megalith
0975db8bfc feat(entity): vanilla parity for cod (#4284)
* feat(entity): add vanilla water animal and fish base state for cod

* feat(entity): port fish movement for cod

* feat(entity): port fish goals and schooling for cod

* fix(item): match vanilla bucketable pickup and placement for fish
2026-10-24 02:10:06 +03:00
Megalith
56896b7199 feat(entity): add allay item collection, delivery and dancing (#4174)
* feat(data): generate game event ranges and position source types

* feat(entity): add allay item collection and delivery

* fix(entity): preserve allay note block targets while chunks load

* fix(entity): keep the allay note block chunk ticketed while it is looked up

* fix(entity): check direct flight before cutting path corners

Co-authored-by: AdmerPRO <144557744+AdmerPRO@users.noreply.github.com>

* test(tester): wait for allay interactions instead of a fixed tick count

---------

Co-authored-by: AdmerPRO <144557744+AdmerPRO@users.noreply.github.com>
2026-10-23 22:14:44 +03:00
Megalith
9ae7627b74 fix(loot): preserve table structure, predicates and modifier order (#4186)
* fix(loot): preserve table structure, predicates and modifier order

* fix(loot): keep the base count when the uniform bonus bound is not positive
2026-10-23 21:19:07 +03:00
Alexander Medvedev
3a6ea85251 test(tester): increase headless bot poll timeout for slow CI environments 2026-10-23 20:08:32 +02:00
Alexander Medvedev
09ec006c63 chore: bump version to 0.2.1+26.3-26.51 2026-10-23 19:11:09 +02:00
Alexander Medvedev
54ae17f1e2 test(tester): increase headless bot packet timeout for slow CI environments 2026-10-23 18:17:49 +02:00