Updates in Minescript 4.0-beta2
- Ignore ID 0 in
java_release(...)(d9f0fd8) - Return zeros for empty BlockPack.block_bounds() (2152b7c)
- Robustness improvements for Java reflection APIs (f8373a7)
- Improve error message from bad Java method call (08a675c)
- Improvements to Java reflection API (f36178f)
- Return bool from cancellation functions (b2cdf35)
- Simplify signature of
java_new_instance(...)(aae9662) - Return dataclass from player_get_targeted_block (e128d32)
- Replace deprecated Float ctor with Float::valueOf (93a3436)
- Fix NPE in ExceptionInfo::fromException (eb32887)
- Add Numbers class for numeric operations (4464e0f)
- Remove unused import of asyncio from minescript.py (ba821db)
- Add java_assign script function for dynamic tasks (0762eaa)
Updates in Minescript 4.0-beta
- Support running script functions during tick loop (20x per second), render loop (30-100+ fps), or script loop (~5000 times per second) (923f9bb, bfbd192, fb936b8)
- Java reflection via Python script functions (ebdba54, 8008110, 39160c3)
- Support Python scripts in arbitrary folders using
command_pathinconfig.txt(791c295, 99c8619, 23ee273) - Support alternative script languages for commands (890d2a9)
- Initial version of Minescript mod for NeoForge (7dd592f)
- Schedule groups of script functions to run every render or tick cycle (19eb79c, 1377acb, d2bd144)
- Support for scripting several game and input events with a unified
EventQueueAPI (d1cb4c9, 6628525, 993c9b6, b96159e, 4af1a32) - Async script functions that are more powerful, easier to use, and cancellable (882bc7e)
- Unify Minescript and Minecraft chat histories (46a0cde)
- New and updated script functions, including:
press_key_bind()(174dac8)show_chat_screen()(adf8dac)- entity selectors for
entities()andplayers()(6d6d627) job_info()for detecting other running scripts (156dc33)version_info()for detecting versions of Minecraft, Minescript, and OS (d448c4b)- multiple args to
echo(),chat(), andlog(), like builtinprint()function (114c559) append_chat_history(),chat_input(), andset_chat_input()for managing chat input and history (46a0cde)player_get_targeted_entity()(93dd5e8)
- Return complex data types from script functions as dataclasses (e.g.
EntityData) rather than dicts, for easier and safer scripting (7caaf3b) - Support tab completion of
configandhelpparams (b4bfa0e, f485973) - Safer script output:
print()no longer executes commands or sends public messages to chat by default (6101484)
See detailed changelog.
Updates in Minescript 4.0
- Support running script functions during tick loop (20x per second), render loop (30-100+ fps), or script loop (~5000 times per second) (923f9bb, bfbd192, fb936b8)
- Java reflection via Python script functions (ebdba54, 8008110, 39160c3)
- Support Python scripts in arbitrary folders using
command_pathinconfig.txt(791c295, 99c8619, 23ee273) - Support alternative script languages for commands (890d2a9)
- Initial version of Minescript mod for NeoForge (7dd592f)
- Schedule groups of script functions to run every render or tick cycle (19eb79c, 1377acb, d2bd144)
- Support for scripting several game and input events with a unified
EventQueueAPI (d1cb4c9, 6628525, 993c9b6, b96159e, 4af1a32) - Async script functions that are more powerful, easier to use, and cancellable (882bc7e)
- Unify Minescript and Minecraft chat histories (46a0cde)
- New and updated script functions, including:
press_key_bind()(174dac8)show_chat_screen()(adf8dac)- entity selectors for
entities()andplayers()(6d6d627) job_info()for detecting other running scripts (156dc33)version_info()for detecting versions of Minecraft, Minescript, and OS (d448c4b)- multiple args to
echo(),chat(), andlog(), like builtinprint()function (114c559) append_chat_history(),chat_input(), andset_chat_input()for managing chat input and history (46a0cde)player_get_targeted_entity()(93dd5e8)
- Return complex data types from script functions as dataclasses (e.g.
EntityData) rather than dicts, for easier and safer scripting (7caaf3b) - Support tab completion of
configandhelpparams (b4bfa0e, f485973) - Safer script output:
print()no longer executes commands or sends public messages to chat by default (6101484)
See detailed changelog.
Updates in Minescript 3.2
- Support for Minecraft versions up to 1.20.4
- Fix Forge bug where Minescript loop could run on the wrong thread and crash, and improve performance (especially with Fabric) by setting the default for minescript_ticks_per_cycle to run every tick rather than once every 3 ticks (79613b1)
- Add script function screen_name() for getting the name of the currently displayed GUI screen, if any (e40d52a)
- Introduce ChatEventListener Python class for more user-friendly handling of chat events (83dd4aa)
- Support propagation of Java exceptions to Python (2c8692d)
- Support for listening for keyboard events with KeyEventListener Python class (b0163d3)
- Fix player_inventory_slot_to_hotbar() "ghost items" in survival mode (c63fd27, 49ee542)
See detailed changelog.
Special thanks to TimGeel1998 and MCT32 for help debugging and fixing an issue with ghost items.
Updates in Minescript 3.2
- Support for Minecraft versions up to 1.20.4
- Fix Forge bug where Minescript loop could run on the wrong thread and crash, and improve performance (especially with Fabric) by setting the default for
minescript_ticks_per_cycleto run every tick rather than once every 3 ticks (79613b1) - Add script function
screen_name()for getting the name of the currently displayed GUI screen, if any (e40d52a) - Introduce
ChatEventListenerPython class for more user-friendly handling of chat events (83dd4aa) - Support propagation of Java exceptions to Python (2c8692d)
- Support for listening for keyboard events with
KeyEventListenerPython class (b0163d3) - Fix
player_inventory_slot_to_hotbar()"ghost items" in survival mode (c63fd27, 49ee542)
See detailed changelog.
Special thanks to TimGeel1998 and MCT32 for help debugging and fixing an issue with ghost items.



