* fix(loot): animals drop cooked food without fire or Fire Aspect
Fix issue #2366 where farm animals dropped cooked meat instead of raw
when killed, regardless of fire state or weapon enchantments.
Root cause: LootCondition::EntityProperties lacked predicate fields for
is_on_fire and equipment enchantments, codegen discarded predicate data,
and the evaluator did not resolve 'direct_attacker'.
- Add is_on_fire and mainhand_enchantment_tag to EntityProperties
- Add predicate structs to codegen with correct serde renames
- Fix evaluator to resolve direct_attacker and check fire/enchantments
- Fix pre-existing v[0] panic on empty StringOrVec arrays
- Add 18 unit tests
* fix(loot): add backticks to doc comment for clippy
* fix(data): update block.rs generated loot tables with new EntityProperties fields
* fix(loot): merge match arms and collapse if for clippy
* sin/cos util
* 4 nieghbor check
* formating
* air helper
* carver wrapper
* fmt
* clippy
* clipp2
* remove local y
* out of bound guard
* fluid tick
* surface rule
* wire up
* math correct
* start fix
* bring back xoroshiro oops
* scheduler guard
* simplify test
* clean test
* comment
* crash fix
* clippy
* clippy
* i hate you codex
* sin cos
* im stupid f32
* starting implementing the advancement command
* implementing globally of the advancement command
* fixing lib.rs
* implementing the new Advancement argument and updating the AdvancementArgs lifetime
* updating wit by adding advancement as command arg
* cargo fmt
* fixing the advancement
hooking the saving
spawn blocking task for IO task
* fixing the update of load to be async
* adding await to load for a test
* fix when save is disable
* making save_enable check first
* fix conflict
* update hash
* fix wit change
* fix column_pos
* adding rust documentation
* typos fix
* removing example
* invalid advancement packet
* fix itemstack parsing to use ItemStack Template ones
* changing enum type from i32 to VarInt
* fix packet by switching up the frame type and flags
* fixing packet and loading of the advancement
* cargo clippy
* update wit
Make `syn`, `quote`, and `proc-macro2` optional in pumpkin-util,
exposing them via a new `codegen` feature. `pumpkin-codegen` opts in
explicitly, so downstream consumers no longer pay the proc-macro
build cost when they don't need `ToTokens` impls.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
changed return value from `String` to `Box<str>` which is smaller and makes more sense since we don't mutate packet data
String — 24 bytes (ptr + len + capacity)
Box<str> — 16 bytes (ptr + len)
* implement suggestions for everything we have right now
* use `translate_cross` instead
* fixed tests
* fix SNBT tests and suggestions to how they should be
* fixed `parse_for_suggestion`'s signature to only take a `SuggestionBuilder`
* added suggestions for vec3 and block pos
* add `Default` and `Debug` trait to `Vec3ArgumentType`
---------
Signed-off-by: Alexander Medvedev <lilalexmed@proton.me>
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
* added identifier codec
* added codec impls for `Vector2<T>` and `Vector3<T>`
* added codec impl for `BlockPos`
* added codec impls for `BlockBox` and `EulerAngle`
* fixed formatting and clippy
* added `BlockPos` test
* fixed clippy and formatting
* fixed codec mapping macros and started using them in tests
* fixed formatting