- Schedule clear patch for 1.21 (
79b9790
)
- Handle quoted yaml object keys (
dea0a91
)
- Add n selector variable (
40e9991
) - Support removed default component syntax (
3b34357
) - Update beet (
f300406
)
- Add armor.body item slot (
55ecece
)
- Avoid truncation when serializing floats (
c7d8570
)
- Version 1.20.5 (
3d09de1
)
- Forgot about multiline mode for inline predicates and generic particle parameters (
ee43596
)
- Support new particle representation (
23c576a
) - Support inline loot arguments (
156b8e6
) - New item predicates syntax (
1cb0b8e
)
- Allow nbt path keys that look like resource locations (
05e7cc6
)
- Singular player slots (
4e8a479
)
- Add loot table, predicate, modifier, parsers (
a3a991e
)
- Nbt tags typing (
9dda49a
)
- Support item components (
150d936
)
- Merge policies were not taken into account anymore (
c67401e
)
- Update beet (
51e9920
)
- Update command tree for 24w05b (
a3bdd3c
)
- Improve player name regex (
b652194
)
- Add mecha.contrib.embed (
80193eb
)
- Child yielded from rule can be unbound (
3297142
)
- Make walk_location_hierarchy static (
175dfff
)
- Better nested location resolution (
a33289d
)
- Don't nest location when the subcommand redirects to execute (
adcaf9c
)
- Scientific notation without period should convert to float (
5bc14d3
)
- Missing stack pop in dispatch (
ffb5a8e
)
- Add mecha.contrib.json_files (
3fe1cae
)
- Allow nesting for return run function (
21f542c
)
- Inspect ast should handle cache invalidation exceptions (
0546429
)
- Update for 1.20.3 (
26ab5bb
)
- Update deps (
3f1c685
)
- Parameters for vibration, sculk_charge, and shriek particles (
3528612
)
- Remove additional compilation unit provider (
c905b22
) - Patch compilation unit before indexing (
4100cdf
)
- Add compile together (
e204cae
)
- Additional compilation unit provider (
c0fc09b
)
- Don't resolve filename in compilation unit provider (
7c32194
)
- Compilation unit provider (
2738c9b
)
- Nested inplace append (
cf1dd65
)
- Compile within (
41c7ff2
)
- Distinct overlays index and generation (
6227b6d
)
- Below_name in 1.20 (
b6f9153
)
- Discard number suffix when baking macros (
e7dd9f5
)
- Update to 1.20 (
c460954
)
- Don't raise diagnostics (
b3b72fc
)
- Mecha.contrib.bake_macros would only keep last subcommand (
05cd650
)
- Add mecha.contrib.bake_macros (
11081c2
)
- Update mecha.contrib.nesting to latest snapshot (
7bdfba9
)
- Prevent execute inlining for macro line (
d7b14e6
)
- Update command tree and add macro lines (
033302c
)
- Backslash continuation (
bf1ac56
)
- Properly stop compilation on error (
2cc5a02
)
- Mecha.contrib.nested_location (
dbe306e
)
- Make dispatchers non-comparable (
12bb3d6
)
- Add nested text resources (
2e3a9ec
)
- Swap mcdoc number patterns (
ba18029
)
- Handle mcdoc super (
7adfb86
)
- Initial mcdoc parser (
b732822
)
- Reusable abstract ast and dispatch (
d4cfe86
)
- 23w16a (
b93bd3f
)
- 1.19.4 (
31570c8
)
- Update command tree (
c74062a
)
- Update 1.19 (
ab74039
)
- Update some typings (
d08b712
)
- Add output_perf (
d2cb290
)
- Make it possible to start compiling from a custom initial step (
f2037ad
)
- Add ast node compile_hints and make it so that AstSourceMap can't end up inlined into execute (
a6537ff
)
- Propagate original for nested function (
235efbd
)
- Make SourceMapTransformer a MutatingReducer (
c0f7109
)
- Rename AstPhantomCommand to AstCommandSentinel (
28cb612
)
- Default fields for phantom command (
1d2344f
)
- Add mecha.contrib.source_map (
34cf945
)
- Revert looser implicit execute normalization (
014af4f
)
- Log mecha diagnostics even when there's an error (
6f30f0b
)
- Looser implicit execute normalization (
1d0fabe
)
- Prevent inifinite recursion in CommandTree.repr (
a5a776c
)
- Add meta.nesting.generate_execute option (
9406954
)
- Default argument parser properties (
7e63b14
)
- Tweak nested yaml (
9c69a1d
)
- Update deps (
146c8bc
)
- Accurate error underline for tab freaks (
8f1064d
)
- Improve typing for AlternativeParser (
08727c4
)
- Use context generator to implement nesting (
c15e258
) - Use context generator to implement nested_resources (
4036ad5
) - Use context generator to implement inline_function_tag (
48dcbd7
) - Support yield in dispatcher directly and allow using yield/return for diagnostics (
c746f5a
)
- Update lint_basic to yield diagnostic (
658aeda
)
- Improve formatting options (
150be65
)
- Store priority on compilation unit (
b78c5be
)
- Make it possible to adjust the priority (
4ef97c2
)
- Bump deps (
ddfdf2e
)
- Expose game_profile parser (
2d0d6d6
)
- Resolve source paths provided for validation according to the context directory (
72e638f
) - Add missing template_rotation and template_mirror parsers (
718c907
)
- Properly initialize result (
9c7ad4c
)
- Missing fstring (
7ad01d0
)
- Missing executable check (
d646789
)
- Don't hardcode some hookable parsers (
c18f839
)
- Allow compilation step to return None to abort (
8f3ce64
)
- Update lectern for new snapshot settings (
00ff0cf
)
- Make redirects conditional (
a0046bf
)
- Use minecraft version config from beet directly (
ed3f597
)
- Default to minecraft 1.19 (
f9eda9c
)
- Handle nested redirects (
179bdcd
)
- Slice update to modify steps (
76fb08c
)
- Forgot to export DebugAstEmitter (
3c31e46
)
- 1.19 command tree (
1ef4324
)
- Allow colon in player names (
fefb480
)
- Allow append/prepend for nested tag resources (
84b0643
)
- Take into account possible syntax extensions when checking nbt list/array homogeneity (
de12e61
)
- Make json and nbt parsers more flexible (
2d1afa1
)
- Update tokenstream to fix indentation bug (
df10dbc
)
- Auto-convert to string for resource location interpolation (
e5e379a
)
- Handle nbt primitives (
bf065f4
)
- Use BubbleException and WrappedException (
31a1009
)
- Remove bolt (
10a47a9
)
- Make it possible to overload logical expressions (
12c6946
)
- Better error when mutating free variable (
09330b8
) - Remove unnecessary isinstance check since AstJson.evaluate() always returns a json value (
e31f1ae
)
- Add branch overloading (
2a7f821
) - Improve in operator overloading (
bb706b0
) - Add not operator overloading (
7a6a387
) - Empty lookup now means full slice (
1567e9d
)
- Better errors for undefined identifiers (
7424ddf
)
- Allow
#
prefix when interpolating resource locations (3c1b7b5
) - Properly handle conditional branch scopes (
236326b
)
- Use full source path as cache key (
f2d8944
)
- Forgot to update default cache backend (
db22e03
)
- Forgot to insert comment disambiguation for interpolation (
4042856
)
- Allow basic particle interpolation (
ac6c10e
)
- Strip execute run (
d1c3206
) - Reject player names starting with
@
(82ff08e
) - Allow objective interpolation in selector scores (
e9646dc
) - Proper error message for nested resources behind execute (
a27f579
) - Nested resource conflicts with the particle command (close #95) (
9938863
)
- Proper syntax error for identifiers clashing with python keywords (
32ad957
)
- Allow single quoted strings everywhere in nested yaml (
67ffef0
)
- Add resource location literals (
2143802
)
- Add mecha.contrib.nested_yaml (
fcc75b7
)
- Allow coordinates to be followed by colons (
bcdc8de
)
- Use compatible beet dependency specifier (
bdd6b56
)
- Update beet (
fb8d5b7
)
- Update to 1.18.2 (
b6de764
)
- Introduce proper formatting option (
af5c090
)
- Support entity interpolation with player names and uuids (
5d3a0f5
)
- Preserve quotes around nbt path keys with dots (
7609f86
)
- Use explicit type to avoid weird pyright behaviour (
f78e53d
) - Add static overloads to
AstNbt.from_value
(84046dd
) - Account for compound subscripts in nbt paths (
1f702d6
) - Interpolate nbt paths from string values (
1c28fed
)
- Add
run function
and clean up some leftover casts (b0ff25b
)
- Avoid shadowing diagnostics when they prevent modules from being imported (
05711ce
) - Typo when formatting invalid coordinate exception (
bc7a541
) - Make it possible to check a DiagnosticCollection for errors (
358c156
) - Make coordinate parser a bit more strict (
b859e24
)
- Allow weapon alias (
e867989
)
- Rename to bolt (
ecb1944
)
- Get_module() can be called with no arguments to retrieve the executing module (
f77cf62
)
- Properly track import stack (
c0de873
)
- Proper import error when the module doesn't exist (
f1ae4c8
) - Don't use modified ast to import modules (
96ee329
)
- Patch schedule clear argument (
b648e98
)
- Add loop_info (
5173835
)
- Allow specifying tree root using keyword argument (
4d1e85c
)
- Add del statements (
7679582
)
- Properly report empty blocks (
4fca8a5
)
- Add slicing (
e6757fd
)
- Proper scoreboard_slot handling (
4740d78
)
- No scientific notation when serializing numbers (
e923224
)
- Make it possible to spread nbt paths on multiple lines (
8c66564
)
- Support item and attribute assignment (
459a2da
) - Support list and dict unpacking (
a0267a4
) - Support keywords and unpacking for function calls (
fbd5c9b
) - Interpolate coordinates (
6f8f009
)
- Remove providers, add global ctx again, and tweak generate_tree (
e03969e
)
- Store builtin names on the runtime (
bc747e0
)
- Provide ctx and current_path through runtime import (
c62167a
)
- Allow optional separator for imported names (
e07af65
)
- Proper execution order for interpolation with nested root (
2bab7b2
) - Report unserializable nodes and remove MessageReferenceSerializer (
137022d
)
- Invalid interpolation for keys in selector arguments and block states (
3e8999f
)
- Add mecha.contrib.inline_function_tag (
7c5f37a
)
- Refactor statistics json output (
cd90092
)
- Add append and prepend to nested functions (
389ed4f
)
- Add pass statement (
f47a177
)
- Update README (
3acfe60
)
- Sort entity types properly (
f3847c4
)
- Add --json option to output stats in json file (
a74bcf5
)
- Break out of infinite loop when there's no execute subcommand (
d432d8c
)
- Disable ast cache for cli (
4d44c24
)
- Update README (
2deaeb9
)
- Move resources in one place (
d3fdfa7
)
- Add mecha.contrib.statistics and --stats option (
eaf28a1
)
- Add nesting for schedule command (
eeb15f6
)
- Only call nestde functions behind execute (
0096cce
)
- Default to 1.18 (
4362542
)
- Add python colon (
14fa47b
)
- Lower elif statements (
c49122f
)
- Edge-case for optional resource locations (
a55b3d6
)
- Handle block_marker particles (
25bc124
) - Shallow codegen snapshots (
28d8696
) - Use specialized nodes for literals (
676fc54
)
- Small optimization and update tokenstream to get sorted explanations (
510da71
)
- Make line mapping more compact (
4044ce4
)
- Add import statements (
970bd01
) - Inject context object (
98e6727
) - Expose ctx (
e1714f0
) - Add yield statements (
410e60a
) - Add globals (
7d934a2
) - Tweak constraints and make it possible to convert tuples to ranges (
f130359
) - Add f-strings (
88b12d2
) - Add tuples (
80534e5
)
- Track line numbers and rewrite tracebacks coming from generated code (
8582212
)
- Add exception handling to dispatcher (
d8e9e95
) - Typo when tracking attribute source location (
500441d
)
- Interpolation now works on most nodes instead of command arguments specifically (
288f836
) - Add codegen (
0d4409f
)
- Invalidate ast cache on version bumps (
0cd634c
) - Forgot to take into account number of matched fields when sorting rules (
d13fa3c
) - Convert normalizers to parsers and get rid of normalize step (
2c44606
)
- Parse lists and dicts (
5b1776b
)
- Parse interpolated arguments (
1e364ff
) - Parse functions (
717b450
) - Make it possible to swap the cache backend (
2870424
) - Parse primary expressions (
1c9033c
)
- Redefine comments and literals in ResetSyntaxParser (
3b7ed25
) - Add custom repr for AstChildren (
1371be9
)
- Iterate over indices instead of arguments values (
0f6d0ae
)
- Parse assignment target, for loop, break, continue (
ef25788
)
- Allow json-flavored keywords (
fff9f13
)
- Start working on scripting (
d9ba6d3
) - Export annotate_diagnostics utility (
8ac1026
) - Add standalone ResetSyntaxParser (
602a975
)
- Continuations are no longer allowed for nested execute (
59a8e74
) - Don't keep using the same rules when the node changes in mutating reducer (
89d92f6
) - Use start() instead of pos when reporting invalid escape sequence position (
e9cc97b
) - Forgot to explicitly export ImplicitExecuteNormalizer (
4c5298a
)
- Don't use resource_location for parsing objective criteria (
d8b72e1
)
- Update README (
3557cb6
)
- Add info about the command-line entrypoint on the README (
750ec5e
)
- Add cli entrypoint (
6f291f3
)
- Better error message when the minecraft version is invalid (
bd35f9d
)
- Improve keep comments behavior for commands with unknown locations (
bdaccbb
) - Handle execute expand in mecha.contrib.nesting (
6d57f56
)
- Refactor multiline argument handling and make block and item parsers more modular (
0badf8c
)
- Quick fix for messages spanning over multiple lines accidentally (
d065c8b
)
- Remove error message and automatically activate multiline when using nesting (
8594bf0
)
- Keep track of the current step in the database (
c5a7737
) - Make it possible to create resource location nodes from strings (
6644606
)
- Handle possible conflicts between execute shorthands and commands (
c10f8cb
)
- Add keep_comments option (
efda05a
)
- Add mecha.contrib.implicit_execute (
835660f
)
- Tweak styling for diagnostic annotations (
f4e3fde
)
- Forgot final newline in mecha.contrib.annotate_diagnostics (
b665a94
)
- Report diagnostics with logger.warning instead of logger.warn (
155d01c
) - Add SingleLineConstraint (
f649b4a
)
- Prevent error when the location is outside the view (
96c8005
)
- Database.current is now properly updated (
e74cd13
)
- Add mecha.contrib.relative_location (
7270458
)
- Prevent minor caching inconsistency (
5457144
)
- Typo when using set_location (
2d16d63
)
- Add mecha.contrib.messages (
99b62de
) - Default diagnostic location to the location of the node (
b3b7cca
) - Add AstJson.from_value (
5ddfdf0
)
- Add discord badge (
d721c44
)
- Move InvalidEscapeSequence and UnrecognizedParser (
f17030c
)
- Make it possible to emit new files during compilation (
a8bff86
) - Show formatted code when logging diagnostics (
19e3974
)
- Sort diagnostics (
0887b77
)
- Provide "annotate" through extra logging argument (
e88ad04
)
- Handle tag and team selector argument without value (
1ba966c
) - Handle fake player names with all kinds of special characters (
286bfd8
) - Player names can be up to 40 characters not 16 (
80ba827
) - Handle json unicode escaping and other json tweaks (
4935221
)
- Properly check range boundaries when serializing (
5230024
)
- Make it possible to omit functions from compilation with match option (
aabddf6
)
- Add logging for ast cache (
c1bd76b
)
- Handle more version formats in config (
117bda1
)
- Remove unnecessary args in serializer (
cf041d6
) - Add 1.18 command tree and handle player names and objectives with no length restriction (
f1ffaa5
)
- Handle shortened UUID (
8c2659b
)
- Don't log messages directly to avoid wrong percent formatting (
abe1f99
) - Handle percent sign in player names (
276cac5
)
- Update tokenstream to handle windows line endings (
6d780dd
)
- Add compilation database and refactor compile method (
18d7b7f
)
- Add diagnostics, beet plugin, and basic linter (
93fe177
)
- Make it possible to configure the version (
67ff495
)
- Allow # and $ at the beginning of fake player names (
4b7fc56
)
- Make it possible to provide a dict to add_commands (
29b94f5
)
- Allow specifying version with dots (
e4c9ba6
)
- Separate reducer and mutating reducer (
730792c
)
- Remember current line indentation for the following terms (
9691684
)