* 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>
the translations array was sized as Locale::last() (127) but needed
128 elements, causing out-of-bounds access for the last locale variant.
also added bounds check in reorder_substitutions to prevent panic when
% appears near the end of a translation string.
closes#1709