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
* fix: noise sampling calcs
* fix: correct formulas and 684.412 constant
* chore: fmt
* fix: nether temperature and vegetation in ShiftedNoise and add skip fn in LegacyRand
* added `Vector3` dot and cross methods and added both coordinate types
* added parsing for coordinates and created `vec3` file
* finished `vec3` argument type and implemented parsing for local coordinates
* mostly added new entity selector and started entity argument type
# Conflicts:
# pumpkin/src/command/argument_types/mod.rs
* mostly completed entity selectors
* added bounds and started entity selector parser
* implemented basic selector parsing
* implemented bounds parsing, added `EntitySelectorOption` and implemented more of the parser
* implemented `EntityArgumentType`'s parsing
* implemented entity selector options and used `bitflags`
* removed unnecessary unimplemented error type
* initial commit
* added more functions
* ported /help command to new dispatcher
* /? shows similar usage to /help instead of `-> help`
* fixed /help bugs
* change min limit in `read_boxed_slice` to 0 so that empty command (`/`) doesn't cause an error
* fixed clippy errors
* formatted
* added convenience for fetching world and server from context
* fixed `min` mistakes to `max` instead
* changed node to now store a list of predicates as its requirement (permission included)
* added easier way to register aliases
* prevent unauthorized usage of command when aliased
* added `TextComponent::empty()` to create empty text only for the purpose of adding children to it
* added more documentation
* make argument more obvious
* fixed some issues (not done yet)
* added more clarification in comments & docs
* fixed fn docs
* fixed order of arguments in translated error
---------
Signed-off-by: Alexander Medvedev <lilalexmed@proton.me>
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>