Be aware that this branch (<default>) is not the main branch (master)!

Branches other than the main one may be experimental. In addition, you should be using stable releases rather than these test builds.

Go to main branch View stable downloads
View last successful build
Branch#StatusChangesFinished
<default>#4043Tests passed: 715, ignored: 13
  • Improve Sublime3 Syntax-Highlighting (#1260) Remove manual list of keywords, and only use the auto-generated list of keywords with better scope. Co-authored-by: Ecconia <public-commit@ecconia.com> (e5be77ad by ecconia)
a year ago
<default>#4042Tests passed: 715, ignored: 13
  • Fix Sublime3 Syntax-Highlighting (#1259) '= was recognized as keyword, instead of a quote start. Now quotes (and comments) will be checked first, before detecting keywords. Co-authored-by: Ecconia <public-commit@ecconia.com> (29663260 by ecconia)
a year ago
<default>#4040Tests passed: 715, ignored: 13
  • Add get|set_projectile_item() (4d95cea7 by pseudoknight)
  • Add missing throwable for parse_text_table() (e501e6a3 by pseudoknight)
  • Use a simpler, more reliable method to locate java (e9e5cc5d by ladycailin)
  • Fix indentation (6f5e1d89 by ladycailin)
  • Add encoding parameter to read and others. (a955f1e5 by ladycailin)
  • Add parse_text_table() (80f18e6c by ladycailin)
a year ago
<default>#4035Tests passed: 715, ignored: 13
  • Add installer location to documentation (f1dd95e0 by ladycailin)
a year ago
<default>#4034Tests passed: 715, ignored: 13
  • Create standalone Windows installer for cmdline. This uses NullSoft Scriptable Install System to create the executable, which is fully contained and downloads the necessary files, including Java, from the internet. This prevents the installer itself from needing to be updated on each update. Eventually, the installer should be signed, but for now it's unsigned, causing various scary warnings upon installation. In any case, the installer code itself works, as well as the installer. (9b7e742e by ladycailin)
a year ago
<default>#4033Tests passed: 715, ignored: 13
  • Initialize preferences before Telemetry nag Initialize preferences before relying on them in telemetry nag code in several cmdline tools. Fixes #1255. (5e04ddf7 by pieter12345)
a year ago
<default>#4032Tests passed: 715, ignored: 13
  • Update WinRegistry for Java 11+ Fixes #1252. (60f1a262 by pieter12345)
a year ago
<default>#4031Tests passed: 715, ignored: 13
  • Update WinRegistry for Java 11 (e8f6e5ec by ladycailin)
a year ago
<default>#4030Tests passed: 715, ignored: 13
  • Fix several complex_try raw compile exceptions (#1254) Fix several raw compile exceptions caused by invalid try/catch MethodScript syntax. Note that the checks performed in this optimization method should eventually be split into postParseRewrite or the try keyword parsing and typechecking. Fixes #1253. (2ca7f5e0 by pieter12345)
  • Document ba_put and ba_get signedness Update documentation to include that `ba_put_X` and `ba_get_X` for bytes, shorts, integers and longs uses signed values. (78be6f01 by pieter12345)
  • Fix boilerplate failure (714a6a00 by pseudoknight)
  • Add fallback to method not in older Spigot versions (2afb49e9 by pseudoknight)
  • Add potion_splash event (Closes #791) (60a08061 by pseudoknight)
  • Address deprecation warnings in tests (cce9d74b by pseudoknight)
  • Add missing minecart types to set_entity_spec() (af47c7d9 by pseudoknight)
  • Fix missing newlines in register_command example (bd2bfd0f by pieter12345)
  • Fix sugared foreach() syntax parsing - Fix `foreach(... in ...)` and `foreach(... as ...)` syntax parsing. Bug was introduced in build 4024. - Make `foreach` use `__statements__` as in-between rewrite node instead of `sconcat`. No functional changes. (a96d3afb by pieter12345)
  • Don't parse __autoconcat__ to sconcat in strict mode Parse `__autoconcat__()` to the new `__statements__()` instead of `sconcat()` in strict mode. `__statements__()` takes arguments of any type and returns `void` for typechecking, so compile errors will be generated in cases where `__autoconcat__()` used to insert `sconcat()`s, or in other words, where the user has either forgotten to put some `.` concat, or where the user has made a mistake. This change does not affect non-strict mode, as automatically inserting concats is a feature there. Alias syntax should also remain possible in strict mode, but only when the whole alias is nicely concatenated together by the user. Inserting multiple arguments/statements will cause the code block to be interpreted as a statements block and not as an alias redirect. (69f6baa6 by pieter12345)
  • Update ResourceManager.java Provide a more detailed description in res_create_resource (e36e76df by ladycailin)
  • Merge pull request #1250 from Lildirt/hanging_place Add hanging_place event (6a68260e by michael smith)
  • Add hanging_place event (cbb47d72 by lildirt)
  • Merge pull request #1249 from Lildirt/attack_cooldown Added pattack_cooldown(). (612736e5 by michael smith)
  • Brace ternary and add CRELengthException to throwables. (1b3af529 by lildirt)
  • Added pattack_cooldown(). (3942d278 by lildirt)
  • Bump junit from 4.12 to 4.13.1 (#1248) Bumps [junit](https://github.com/junit-team/junit4) from 4.12 to 4.13.1. - [Release notes](https://github.com/junit-team/junit4/releases) - [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.12.md) - [Commits](https://github.com/junit-team/junit4/compare/r4.12...r4.13.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (f5ecef53 by dependabot[bot])
  • fix: pom.xml to reduce vulnerabilities (#1243) The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JAVA-ORGYAML-537645 (70a3bc51 by snyk bot)
  • Add HIDE_DYE item meta flag (41c54ddf by pseudoknight)
  • Add block_explode event (2c666b7d by pseudoknight)
  • Fix split() for strings ending with the split Allow `split()` (and non-regex `reg_split()`) to match the split on the last possible part of the string as well. Fixes `split('b', 'ab')` resulting in `{'ab'}`, rather than `{'a', ''}`. (b780a89b by pieter12345)
  • Merge pull request #1240 from Murreey/day-functions Add get/set functions for world day (cdc6c62a by michael smith)
  • Add get_world_day (2cac88e3 by murray coghill)
  • Add set_world_day (ed12160b by murray coghill)
  • Fix cmdline install tool unsupported OS check `OSUtils.GetOS()` cannot return null, so the previous check never triggered. (5a471148 by pieter12345)
  • Fix entity_unleash reason in event docs (ea2e3e27 by pseudoknight)
  • Add support for Minecraft 1.16.2 (7b0aad6f by pseudoknight)
  • Fix NPE in LangServ while generating environment (#1237) Fix NPE in LangServ while generating the environment without having a profiles file in the MethodScript directory. This fix creates an empty ProfilesImpl, such that any usage of the Profiles object will simply be like if the profiles file were empty. (55a5e0a6 by pieter12345)
  • Handle exceeding max string size in string_multiply - Detect when exceeding max string size in `string_multiply` and throw a `RangeException` when that happens. - Optimize `string_multiply` implementation. Fixes #1234. (60f238b7 by pieter12345)
  • Fix smart strings being rewritten to non-strings Rewrite smart strings to either a `concat()` of their string and variable parts, the string itself if no variables are present, or a `string()` cast variable if it consists of a single variable. This ensures that smart strings will always have have the `string` type in user code. Fixes #1232. (4ef81cc4 by pieter12345)
  • Fix '@' escaping in smart strings Pass literal `\` as literal `\\` to `__smart_string__`, so that `__smart_string__` can disambiguate between `"\@"` and `"\\@"`, rather than getting the same input for both. As this function is an internal compiler function, and users that do use it would now have to pass double escaped `\` into the function to make it work properly, the function has also been renamed to `__smart_string__` to fit the other compiler functions. Fixes #1229. (1dd871ee by pieter12345)
  • Add entity_unleash event (#1227) (566f8c72 by malonnnn)
  • Move static final function names to function classes - Move static final function names to the static final `NAME` field in their corresponding function classes. - Add a test that validates that when a `NAME` field exists in a function class, it will return the same value `func.getName()` returns. (bf4419a9 by pieter12345)
  • Centralize function name references Replace all hard-coded string function names and `new funcClass().getName()` with a static final field in the `Function` class. This puts all 'static' function references in one place, allowing for shared function name caching and an easier way to find all references to a certain function. (bcf811d9 by pieter12345)
  • Persist running `x_new_thread` threads over recompiles (#1224) Make threads remove themselves from the active threads map when they finish execution, rather than when the construct containing the thread ID string gets garbage collected. (3512ac46 by pietje)
  • Merge pull request #1223 from Pieter12345/delay-keyword-compile-errors Allow keywords to be part of other syntax (1747e2f5 by pietje)
  • Don't remove if keyword on process error Prevent the `if` keyword from removing itself from the AST when it fails to parse. This allows us to generate an error for it later, if it is not handled as part of some other syntax. (980bd983 by pieter12345)
  • Don't rewrite AST on try keyword process error Rewrite the `try` keyword processor to not make changes to the AST unless it can finish parsing without exceptions. (1dcd0cb8 by pieter12345)
  • Allow keywords to be part of other syntax Allow keywords to be part of other syntax than their keyword processing code is written for. An example is code `array(static: 1)`, which generates a compile error when attempting to process the keyword `static`, while it is actually part of valid `array()` syntax. Fixes #1220. (f496a780 by pieter12345)
  • Create AbstractCompileException This exception should be used as parent exception for compile exceptions, and can be useful to handle any compile exception in a single catch clause. (f44e6f58 by pieter12345)
  • Accept null arg in psend_block_change() to send existing block (0b00fc75 by pseudoknight)
  • Fix cast exception for fireworks in projectile events (7d6c37a7 by pseudoknight)
  • Add 'unexpected keyword/label' compile errors Add "unexpected keyword" and "unexpected label" compile errors to static analysis. The caught cases are considered syntax errors and already caused a more generic 'fallback' compile error in static analysis. (9c887c8d by pieter12345)
  • Add class name conventions (68e56fe9 by ladycailin)
  • resource -> Resource *Probably* no one was using this? The impact should be very low at this point at least, but the longer we wait, the more impact it will have, so I'm going ahead and making this hard cut now. (5b26f52a by ladycailin)
  • Fix NPE in static analysis on re-including empty files Fix a NullPointerException that occurs in static analysis when a file is included after an empty file has been dynamically included. Fixes #1221. (e83eed22 by pieter12345)
  • Proc arguments handling optimization Set passed proc arguments first and then fill in the default values for the remaining arguments, rather than setting all default values and overwriting them with the passed proc arguments. (1789f79a by pieter12345)
  • Fix proc @arguments order Fix procedure `@arguments` order in the case that the procedure contains more arguments than the procedure call passes to it. This is only noticable when default argument values are given, since otherwise the order wouldn't matter. Fixes #1197. (18d26d2e by pieter12345)
  • Fix post parse AST rewriting for single-function scripts Fixes post parse AST rewrites not using the rewritten AST for scripts with a single root function that is rewritten. Fixes #1219. (b752e1bb by pieter12345)
  • More feature for multithreading (#1214) * More feature for multithreading * Fix docs * Fix x_thread_is_alive thrown * Separation x_is_interrupted([id], [clearFlag]) * Interrupted status -> interrupt status * Fix docs core.functions.Threading * Fix docs x_clear_interrupt and x_is_interrupted (7df115a3 by udartsev anatoliy)
  • Fix bugs in localization ui (f4b78d7f by ladycailin)
  • Add CRIMSON_FUNGUS and WARPED_FUNGUS tree types (1a5ff308 by pseudoknight)
  • Add 'anchor_spawn' boolean to player_spawn event (c8c2794d by pseudoknight)
  • Add compass item meta (52b1b1c8 by pseudoknight)
  • Add SWAP_OFFHAND click type in inventory_click event (eba81c00 by pseudoknight)
  • Add Strider's 'saddled'; Item Frame's 'fixed' and 'visible' to entity_spec() (4b7613f9 by pseudoknight)
  • Fix legacy material builder on pre-1.16 (6ecc8df6 by pseudoknight)
  • Manage baby state for piglin, zoglin, and hoglin. Fixes wrapper class for zombified piglin. (093c41e0 by pseudoknight)
  • Update entity_explode to reflect changes in the underlying event. A null entity is no longer possible. (deab85b9 by pseudoknight)
  • Add support for Minecraft 1.16 (0fe660db by pseudoknight)
  • Add MCEffect.INSTANT_POTION_BREAK. Remove unused id value from enum. (bc3f00a0 by pseudoknight)
  • Make Script's 'right' field a local variable (625ea38e by pseudoknight)
  • Fix color() docs not listing color names (784191d9 by pseudoknight)
  • Static analysis optimization Increase static analysis performance by creating less unnecessary collections. (41eb7fbe by pieter12345)
  • Update portal events to reflect 1.15.1. Add creationallowed event data. Fix searchradius and creationradius support in 1.13.2. (d835316e by pseudoknight)
  • Add support for SQL Server in query and the PN (#1212) (bbd3adac by ladycailin)
  • Fix header issue in telemetry.ini Use UTC time in the telemetry event (e6fe6c2a by ladycailin)
  • Add metric for static analysis (889d8652 by ladycailin)
  • Update tree_grow event documentation (#1211) Document missing keys. (11c49181 by pietje)
  • Lazily get keyword name from annotation. The name was only used for exception messages, yet this method can be called multiple times per line, which was noticeable in profiling. This improves compile time around 6%. (7afbf9d8 by pseudoknight)
  • Fix duping when getting held item meta on block_place. The item's tags were being modified on read, causing this and probably other lesser issues. This affected shulker boxes, bee nests, beehives, and shields. (d37f1a70 by pseudoknight)
  • Re-use environment for compilation (#1209) * Re-use environment for compilation This is an optimization which uses the same environment to compile multiple msa scripts, rather than creating a new environment every time. Environment creation reads and parses a few files, so this is an expensive operation. * Create StaticRuntimeEnv for static final functionality - Create StaticRuntimeEnv and move functionality from GlobalEnv to this class if it is static and final accross compile units. - Replace reflection in RandomTests test with Mockito, as this allows for the accessed field to be made final like it should. * Use a fresh environment per script Clone the environment for every (msa) script. Since StaticRuntimeEnv returns itself when cloned, its contents act like a cache. * Move test code out of production code Use Mockito to mock unused environment objects instead. * Use cheaper newline replacement in read() There's no need to replace "\n" with "\n". (675fab07 by pietje)
  • Check for associative array usage in spawn_particle Fixes #1210 (ca0531dc by ladycailin)
  • Add new methods in BukkitMCArmorStand (726dd6a8 by ladycailin)
  • Speculative fix for case sensitivity in InjectedPlayers (cc39b8f0 by ladycailin)
  • Fix NPEs in CClassType (#1208) * Fix NPEs in CClassType The CClassType invalidType is cached in a thread-unsafe way. This causes problems when LangServ is performing an operation on the same CClassType, since one thread can start using the Mixed[1] created by the other thread before it is populated with data, getting null when reading its first element. * Switch LangServ back to cmdline mode LangServ is currently running in EMBEDDED mode, which is a refactoring mistake. This commit changes it back to CMDLINE mode. (067118a0 by pietje)
  • Static Analysis patch (#1207) * [SA] Fix exception on invalid typeless variable assign - Fix exception during scope graph generation for assign(var, val) with an invalid variable type. - For default or AUTO declarations, still require the value to be instanceof Mixed to prevent things such as void assigns. * [SA] Fix NPEs in requireIVariable() and requireClassType() Fix NPE in StaticAnalysis.requireIVariable() and StaticAnalysis.requireClassType() that occurs when passing in invalid syntax. Eventually, the parse has to catch these errors and halt compilation such that the AST in further steps only contains valid terms. For now, catch possible NPEs in the later stage and print invalid term classes instead such that it doesn't crash. (d8def74a by pietje)
  • Use cache instead of FunctionList lookups (#1206) Cache the required environments for each function in CFunction and use that for lookups where possible. Also don't do FunctionList lookups where the function is already cached. This makes the flow as follows: 1. postParseRewrite() caches all existing functions. 2. Other compiler steps use the cached functions, or get null when they don't exist. 3. checkFunctionsExist() does a lookup in the FunctionList if the function is not cached, and generates the compile exception if it doesn't exist. (1b754e6a by pietje)
  • Merge branch 'master' of github.com:EngineHub/CommandHelper (d7897501 by pseudoknight)
  • Optimize binds to get Event from BoundEvent when possible. (9f294f4e by pseudoknight)
  • Improved registering/unregistering commands. - unregister_command() will now remove all aliases and prefixed variants of the command, so it is symmetrical with register_command(). - unregister_command() now supports unregistering other plugin's commands. - register_command() will now remove aliases that are no longer in the array, and add aliases that are added to the array. - Improved documentation and examples. (ccb1a64e by pseudoknight)
  • Merge pull request #1205 from Pieter12345/master Fix exception target for single include() exceptions (3661ebd7 by michael smith)
  • Fix exception target for single include() exceptions (47a242a8 by pieter12345)
  • Static analysis (#1198) * Add basic static type checking framework This is still a WIP. A few points to work on: - A solution with less code in Function classes is preferred. - To get the type of IVariables (which are non-existent in the parse tree?), some sort of scoping simulation should be added. - Functions should be able to optimize based on the argument types that they receive. This allows for example sconcat() to not toString() its parameters when passed at least one statement that returns void. * Fix broken javadoc * Move function name validation to its own method Move function name validation out of link() and link() before optimization. * Fix or() typechecking implementation Support 0 to n arguments, rather than 2. * Add static analysis framework Functions that have scoping behavior or functions that make declarations / references to variables/procs/etc should override the linkScope() method. Variable references are already checked at this point, but declarations are not. Comes with a boolean to do or don't do static analysis. This is necessary to run optimization tests that are semantically incorrect. * Implement variable declarations - Creates declarations in the scope graph for variables passed to assign(). - Throws a compile error on variable declarations in places where that variable is already defined. - Converts typeless assigns into declarations of type AUTO when variables are not yet declared, but are being assigned to. * Implement ControlFlow scopes * Implement closure scopes * Implement bind scope * Implement proc scope Proc declarations are being made (without signature), but references are not checked yet. This commit is mainly about the proc declaration scope behavior. * Disable static analysis for 'invalid' tests These tests exist to test other things. Static analysis isn't necessary here. * Disable static analysis for composite functions Composite functions come with an inj... (5c503dbf by pietje)
  • Clean log tests (#1202) * Clean log tests * Clean tests with dyn() (3ef53379 by udartsev anatoliy)
  • Throw NPE on clear_task(null). Fixes #1201 (eeb3b33a by ladycailin)
  • Update public suffix list (cff540be by ladycailin)
  • Fix getting offline players by name in offline mode (9e938ad7 by pseudoknight)
  • Merge pull request #1199 from Anatoliy057/patch-1 Delete duplicates in entity_spec (e680b563 by michael smith)
  • Delete duplicates in entity_spec (822aa4e1 by udartsev anatoliy)
  • Correct exception message for integer() (Fixes #1193) (268cfd4e by pseudoknight)
  • Update make_effect(). This adds data support for material and facing names, and improves documentation. (010a2544 by pseudoknight)
  • Fix reflect_type, add copy button to code on site. Update jQuery. Exclude LLVMFunctions from trying to be site-deployed. Add documentation on options for bind. Rename getSuperclasses/InterfacesForType to getTypeSuperclasses/Interfaces. (53916597 by ladycailin)
  • Fix new assignment not getting the defined target. (e2ab8089 by pseudoknight)
  • Get CommandSender for executeas() and scriptas(). This allows for injected players that are currently offline, which is already a possibility for closures. Also now checks if executeas() has the minimum number of arguments and updates the docs. (Fixes 1194) (309df09d by pseudoknight)
  • Fix extraneous bare string warnings in tests (f111a7a8 by pseudoknight)
  • pass current MCCommandSender on null for executeas (#1195) * pass current MCCommandSender on null for executeas * CH syntax requirements * use current env not the closures (2c6dbab2 by luke fairchild)
  • Implement Booleanish in remaining classes (0a50d664 by ladycailin)
  • Add reflect_type, class_type, and Typing documentation. As part of writing examples for the documentation, I came across the error in #1192, which allowed me to reliably reproduce it, so this fixes #1192 also. (b8a07c42 by ladycailin)
  • Fix negative array index lookup overflow messages (Fixes #1188) (5813d34e by pseudoknight)
  • Fix incorrect ivar redefined error message in loops. (52316a72 by pseudoknight)
  • Fix documentation in reflect_pull (64bc0956 by ladycailin)
  • Add include_dir(). (1e51e2b1 by ladycailin)
  • Checkstyle (62468ea6 by ladycailin)
  • Add .msfileoption support. Add file options to reflect_pull. (324626c2 by ladycailin)
  • Add more tests for define_object (c70037a5 by ladycailin)
  • Checkstyle (095dc258 by ladycailin)
  • Procudure -> Procedure (c54b7011 by ladycailin)
  • Handle void correctly in the procedure type hinting Fixes #1191 (dd3c6627 by ladycailin)
  • Update issues link from youtrack to github (eeb36e7e by ladycailin)
  • Fix iclosure retaining unused cloned variable list. Also adds an iclosure test. (debbde05 by pseudoknight)
  • Fix error for remove_recipe() on Spigot versions earlier than 1.15.2 (bd424bfc by pseudoknight)
  • Add player prefilter to entity_damage_player event (#1189) (71e7ca23 by pseudoknight)
  • Add cmdline mode fuzzer (8ff888dd by ladycailin)
  • Create .cache folder first if it doesn't exist (afd97f94 by ladycailin)
  • Update readme (9fc14f1b by ladycailin)
  • Update readme (55ebb57a by ladycailin)
  • Add remove_recipe(). (#1187) * Add remove_recipe(). * doc clarification Co-authored-by: Lildirt <lildirt@lildirt.com> (64ef2de8 by lildirt)
  • Add pflying(), pblocking(), psprinting() and is_entity_sleeping(). These are more readable than using pinfo(). (8799c64c by pseudoknight)
  • Improve set_blockdata docs (62849f8e by pseudoknight)
  • Add entity immunity functions (1ffa65d0 by pseudoknight)
  • Add "model" item meta key for matching functions (ef8ea789 by pseudoknight)
  • Don't rely on appspot for the site to load. Need to replace this longterm with apps.methodscript.com, but this is a short term fix, and a better approach regardless of which particular site we rely on. (87bf7727 by ladycailin)
  • Nag nag nag. (08d13dc6 by ladycailin)
  • Add support for telemetry This branch adds the ability to send telemetry data to Azure Application Insights. This proxies through apps.methodscript.com however, so in addition to the basic telemetry framework, this also includes the swagger framework, which both the server and the client have autogenerated code for. See the LadyCailin/apps.methodscript.com repo for the server side of this. Telemetry is diabled by default, but nags the user to enable it where relevant. (3c799335 by ladycailin)
  • Fix cmdline file access security checks (#1183) - Bypass Security.CheckSecurity(File) checks in cmdline mode. - Move existing in-cmdline-mode checks before Security checks, since Security checks can throw an IOEx that shouldn't have to occur in cmdline mode. (596a64b5 by pietje)
  • Add missing CommandHelperEnvironments (#1184) Add CommandHelperEnvironment `@api` annotation arguments for Minecraft dependent functions, such that these functions can no longer be used in cmdline mode (and crash due to NoClassFoundDefErrors). (3a7df5ec by pietje)
  • CheckStyle (#1182) Fix CheckStyle violations. (c1fa0522 by pietje)
  • Add x_thread_join (7b89531b by ladycailin)
  • Parallelize startup and deduplicate work at startup. This shaves off about half a second on my system. (dfa23310 by ladycailin)
  • Add player prefilter to pressure_plate_activated event. (1e4034bf by pseudoknight)
  • Improve target for unexpected end curly braces. Fixes EmptyStackException when encountering more than one unexpected end curly brace. (e052ce22 by pseudoknight)
  • fix: Fix bug #1180 misspelled class name (#1181) The DuplicateObjectDefintionException.java class is misspelled, it should be DuplicateObjectDefinitionException.java This commit fixes the class name. Resolves: #1180 (d118a918 by alejandro casado quijada)
  • Finish writing my sente (7833b862 by ladycailin)
  • Add cycle tool, to test the startup and shutdown cycle (33c054cd by ladycailin)
  • Add / at the end (1be2ece4 by ladycailin)
  • Add reflect_pull('dir') (87341338 by ladycailin)
  • Checkstyle (b733ab3b by ladycailin)
  • Add initial llvm framework. This currently mostly just includes the LLVM installer, but also includes a first pass at actually compiling a simple mscript program. The biggest issue right now is actually just figuring out the llvm ir necessary, so I've short circuited this right now, making it currently unusable, but neither the wrapper IR nor the exit() function itself are properly implemented yet anyways. (2064220a by ladycailin)
  • Fix puuid() returning invalid UUID for invalid name. Optimize get_offline_players(). (dd8b5258 by pseudoknight)
  • Fix bug where errors in events in cmdline would fail to render the error properly (c86736df by ladycailin)
  • Fix hidden function issue on the site Fixes #1175 (5026fe9a by ladycailin)
  • Fix class load warnings for extension dependencies (90f7bef0 by pseudoknight)
  • Set alias functions to CommandHelperEnvironment (7592c6e8 by pseudoknight)
  • Ensure server type is set for fast startup modes (6be24775 by pseudoknight)
  • Improve clarity of player event warning. Saying it's "missing" is misleading, and the cause is unlikely to be an NPC anymore. (ef32fe0d by pseudoknight)
  • Improve API docs for clear_commands(), spawn_entity(), and player_interact (15614fde by pseudoknight)
  • Fix spelling (de11f40c by pseudoknight)
  • Add phantom size to entity_spec (b1511e00 by pseudoknight)
  • Finish work on search bar on the site (c06d22fe by ladycailin)
  • fix: pom.xml to reduce vulnerabilities (#1177) The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JAVA-COMMONSCODEC-561518 (a02a5bdb by snyk bot)
  • checkstyle (c21eb045 by ladycailin)
  • Site search is 80% complete now (d7b8e99e by ladycailin)
  • Update switch() documentation (#1176) (b063add0 by pietje)
  • Override deepClone in CByteArray to allow cloning byte_arrays (74d14857 by ladycailin)
  • Update VersionFrontPage Update link to bug tracker. (1101071d by ladycailin)
  • Warn on use of variable named pass/password Also, allow PATCH http verb, though it looks like java still prohibits that at a deeper level, so need to do some playing dirty to finish making that work. (1cc870d4 by ladycailin)
  • Update Sponsors (fe99506f by ladycailin)
  • Merge pull request #553 from PseudoKnight/master Ignore fake player entities for events (ce840aad by michael smith)
  • Ignore fake player entities for events (75f9234d by pseudoknight)
  • Overload getResources in the DynamicClassLoader Fix bug in is_proc (533b5ab9 by ladycailin)
  • Update Sponsors (f3aa3954 by ladycailin)
  • Update sponsors page (7f765b61 by ladycailin)
  • Update pom.xml to use enginehub.org with https (8a212c3f by pseudoknight)
  • Fix import (eb697191 by pseudoknight)
  • Update deprecation logging at compile time to CompilerWarning. Improves visibility in VSCode. (998b5cf0 by pseudoknight)
  • Update sponsors (2bf991b2 by ladycailin)
  • Fix interpreter mode stopping on compile error (#550) - Fix in-game interpreter mode from disabling when the executed code results in a compile error. - Prevent players from being set to interpreter mode through the CommandHelperInterpreterListener.execute() method. (18dc2828 by pietje)
  • Bump checkstyle from 8.28 to 8.29 (#549) Bumps [checkstyle](https://github.com/checkstyle/checkstyle) from 8.28 to 8.29. - [Release notes](https://github.com/checkstyle/checkstyle/releases) - [Commits](https://github.com/checkstyle/checkstyle/compare/checkstyle-8.28...checkstyle-8.29) Signed-off-by: dependabot[bot] <support@github.com> (cc89f729 by dependabot[bot])
  • Merge pull request #548 from Pieter12345/master Add get/set_skull_owner functions (0fa2489d by michael smith)
  • Add get/set_skull_owner functions These functions can be used to get/set/clear the skull owner on player heads. (701f4a79 by pieter12345)
  • BukkitGetCorrectBlockState optimization Divide into a Container or not-Container check to do roughly half the checks on average. (e68358bf by pieter12345)
  • Fix BukkitMCBlock returning wrong BlockState (d7a653d2 by pieter12345)
  • Fix cases where a branching implementation error is incorrectly detected (5fdf61ed by pseudoknight)
  • Fix quantity remaining when attempting to add empty items to a full inventory (e4a5d39f by pseudoknight)
  • Enable all event functions in cmdline (c2a2cc2f by pseudoknight)
  • Add to the sponsors page (874130ea by ladycailin)
  • Remove log4j dependency. (bfe75c0b by ladycailin)
  • Update CheckStyle (#547) * Fix obvious JavaDoc syntax errors No functional changes. * Update CheckStyle Update CheckStyle to be compatible with the latest version. This prevents users from getting errors from IDE CheckStyle plugins that use the latest CheckStyle version. (cd0ef419 by pietje)
  • Quote argument in bash launcher (e73a7649 by ladycailin)
  • Add new gamerules for 1.15.2 (31084c29 by pseudoknight)
  • Merge pull request #546 from Pieter12345/master Fix NPE in entity_spec for Enderman (298ed5c0 by michael smith)
  • Fix NPE in entity_spec for Enderman Fix calling entity_spec on an Enderman that is not carrying a block resulting in a NullPointerException. (a6b0edbb by pieter12345)
  • Fix TC build (475ae052 by pseudoknight)
  • Use https for pluginRepositories (50102b59 by pseudoknight)
  • Remove remnants of old documentation deployment (fcaac78d by pseudoknight)
  • Use https for repositories (07d13cdf by pseudoknight)
  • Fix misleading documentation (5be884b1 by pseudoknight)
  • Set nested array parent when creating array using labels. Fixes old string representation for parent array being returned even after nested arrays are modified. (a74a09c4 by pseudoknight)
  • Update sponsors page (78d3173e by ladycailin)
  • Update Advanced_Guide Define UTF-8 as the standard source file encoding. (8f853814 by ladycailin)
  • Update Crypto.java Sha-1 has now been totally broken, so make a note of this in the documentation. (97f543e7 by ladycailin)
  • Update PlayerManagement.java (#545) Pfacing() documentation was incorrect. It indicated yaw 0 is dead west and 90 is north, but all the testing I'm doing is showing 0 as south and 90 west, etc. Same for pfacing(F). It says 0-West, 1-South, 2-East, 3-North. My testing shows F0=South, F1=West, F2=North and F3=East. (7d5c44e1 by jjkrause)
  • Add lockable block functions (ea07e0fe by pseudoknight)
  • Merge pull request #544 from Pieter12345/master Add affectedBlocks to piston_retract event (f1f9cd93 by michael smith)
  • Add affectedBlocks to piston_retract event Add affectedBlocks key to the piston_retract event. This is used when slime or honey blocks are pulled, pulling adjacent blocks with them. (3e6eccc5 by pieter12345)
  • Add separate light level functions for sky and block sources (c88780cd by pseudoknight)
  • Add BEEHIVE SpawnReason for 1.15.1 (330f1cff by pseudoknight)
  • Fix bug in StringUtils.HumanReadableByteCount. There's an interesting story behind this, see https://programming.guide/worlds-most-copied-so-snippet.html for the details if you're curious. Also, I have proper attribution for the code snippet now as well. (e51603d8 by ladycailin)
  • Add support for Minecraft 1.15 (7f001718 by pseudoknight)
  • Fix bare string warnings in sample scripts (b6aa64b8 by pseudoknight)
  • Support virtual inventories for get_inventory_name() (06a064dc by pseudoknight)
  • Add vex charging to entity_spec() (85f41eee by pseudoknight)
  • Update docs for player_interact (706a3c64 by ladycailin)
  • Checkstyle (804aad2a by ladycailin)
  • Update public-suffix.dat (4e96d88d by ladycailin)
  • Begin work on a built-in webserver (aa617823 by ladycailin)
  • Add support for particles that require additional data in Area Effect Clouds. Make particle data creation more forgiving. (e614b254 by pseudoknight)
  • Add timeout to GCUtil. It really is just best effort to call System.gc, so we can't make this work in a generic way, without a JNI integration perhaps. (01e37d42 by ladycailin)
  • Reverse debug flag in GCUtil (7cd37d00 by ladycailin)
  • Debug build for GCUtil (6f79faf2 by ladycailin)
  • Begin work on CGI directions in IIS (a1a86eb7 by ladycailin)
  • Ignore keywords again when checking bare strings (444167e7 by pseudoknight)
  • Check only native types in Construct for isInstanceOf(). (#543) This is optimal in cases we can expect it to not be a UserObject. (e9735c84 by michael smith)
  • Fix core error when trying to set an ocelot type in 1.14 in deprecated spawn_mob() (da19ddd0 by pseudoknight)
  • Add a fallback for getting a player entity when its missing from a world's entity list. (98c85f4e by pseudoknight)
  • Document deprecated MC functions better (50ff6758 by pseudoknight)
  • Add CGIBin example (1b71b624 by ladycailin)
  • Add several entity attribute functions. Also fixes item attribute meta when modifier name is null. (a8235180 by pseudoknight)
  • Add BlockUntilGC method. This wraps System.gc(), but provides a way to actually ensure that a garbage collection has actually run. This is no still guarantee that a given object has been garbage collected, but is as good as it can get from a java code perspective. There are a few places where System.gc() has been changed to use this new method instead. (c444b1d5 by ladycailin)
  • Exclude dependency conflict. The conflict causes NoSuchMethodError for Spigot methods in BukkitMCItemMeta. Relocation alone can't resolve this. Initially included for lsp4j, com.google.common.collect doesn't appear to be used in the functionality LangServ is using at the moment, and so it should be safe to exclude it for now. This also reduces the jar size. (7aee86ec by pseudoknight)
  • Support attribute modifiers in item arrays (337b9808 by pseudoknight)
  • Add Nilleke Dark theme (6f7e278b by ladycailin)
  • Add dark mode to the website. Actually, this is more like "dark theme" because the mechanism is a generic theming mechanism, which should be pretty straightforward to add other themes to down the road. Simply add a new theme css file in resources/css/themes, and add a link to it in the place specified in frame.html (ensuring that the data- attribute is there). The rest should figure itself out on its own. (2478f798 by ladycailin)
  • Scrub it in both places... (23bb6264 by ladycailin)
  • Scrub password from error message (e9d2a9f1 by ladycailin)
  • Update docs for extraParameters in MySQL connection (43d03996 by ladycailin)
  • Add proper separator for extra parameters (d5ff95bb by ladycailin)
  • Add support for arbitrary parameters in mysql persistence (93d736d7 by ladycailin)
  • Bump mysql connector from 8.0.16->8.0.18 (fe09cbfa by ladycailin)
  • Add get_cmd_completions() (7c73cae7 by pseudoknight)
  • Add documentation for running as a CGI script. This is not advertised, since this is mostly just proof of concept, but for completeness sake, this is the documentation for how to set it up, if that becomes useful to link to people in the future. (758ad8c0 by ladycailin)
  • Add better grouping in prefs files (b72cfc54 by ladycailin)
  • Fix incorrect warnings of missing players in events. (e9c11a99 by pseudoknight)
  • Fix numArgs for enchant_item() and change arrow damage to doubles (ecfcde82 by pseudoknight)
  • Fix exception matching in old try() function format (4a6cc6fe by pseudoknight)
  • Update Architecture page (e9160333 by ladycailin)
  • Expand edit-prefs command a bit (c7f4aab2 by ladycailin)
  • Add edit-prefs command, which opens the prefs directory in a text editor By default, vim/VSCode is used depending on platform, but this can be overridden with environment variables, or by command line parameter. Also fixed bug where the java version in the windows wrapper was wrong. (ff15ef91 by ladycailin)
  • Use exe wrapper on Windows There was a bug with the old batch->powershell->java wrapper when it came to quoted arguments. To fix this became a rabbit hole, and it ended up being easier to just revist the C# wrapper. This removes the ClickOnce installation, so this is just a simple wrapper executable. Still need to revisit the installation mechanisms later to re-add double click support in windows, but for the time being this is good enough as a replacement in cmdline. (a77ca4b9 by ladycailin)
  • Improve bare string detection and limit to one warning per file (7350575e by pseudoknight)
  • Add villager experience/level and panda genes to entity_spec (6c596d94 by pseudoknight)
  • Support categories with spaces in them. For some reason, Java's Preferences class parses spaces as if they were =, so categories with spaces in them don't work right. If the key simply starts with left bracket, then we skip the whole value. (9118c597 by ladycailin)
  • Add help-topic command, which reads Learning Trail topics This functionality is also available to extensions, through the getHelpTopics() function in the Extension interface. (b8cd9e15 by ladycailin)
  • Support grouping in preference files Add a few groups to the preferences.ini file also, to take advantage of this new feature. Groups are sorted alphabetically, and within groups, items are sorted alphabetically, though within the group, another sort order may be given to override this. This allows for more precise sorting of values, and for larger preference files, makes them much easier for users to read. Values without a group will be placed at the top of the file. (ae406b32 by ladycailin)
  • Use simple name for exceptions on API page (d252b26c by pseudoknight)
  • Lower-case material enums for blockdata (d46cb4bb by pseudoknight)
  • Add array_get_rand() (60e3cf22 by pseudoknight)
  • Fix startup on Java 9+ again (1e08b46c by pseudoknight)
  • Update Statistics.java (0563305c by ladycailin)
  • !!@val == @val (bc763968 by ladycailin)
  • Add ImmutableKeyword (4ecd6740 by ladycailin)
  • Add ImmutableKeyword (e620ee2b by ladycailin)
  • Add documentation for immutable classes/fields (56adaca4 by ladycailin)
  • Checkstyle (1f076095 by ladycailin)
  • Always do ExtensionManager init, since we need to for cmdline tools (5043191d by ladycailin)
  • Preliminarily support untitled files in LangServ Also modify_event does not need CHEnv. (8c94a049 by ladycailin)
  • Add SemVer2, an implementation of Version that supports Semantic Versioning This is currently only used in MSVersion, and is not intended to necessarily be a replacement for SimpleVersion, as it is more strict, and only useful when a platform can dictate the version number format. This will come in useful later, however. (f2fe6cd7 by ladycailin)
  • Checkstyle (325b6dfd by ladycailin)
  • Add support for method line numbers (ish) in ClassDiscovery The line number the method declaration is on isn't actually available in class files, so it's not possible to get that directly, but we can get a relatively close proxy, the line number of the first executable statement. This is good enough for most purposes, which is to direct users attention to roughly where the code is defined. This will hopefully be good enough for most purposes, because it's the best we can do without actually parsing java source code. (9fe1287f by ladycailin)
  • Make array_index_exists work with negative numbers in normal arrays (9a00f477 by ladycailin)
  • Fix bounds exception when a brace is used inside brackets (CMDHELPER-3165) (6d5d7e73 by pseudoknight)
  • Merge pull request #542 from PseudoKnight/master Fix issues w/ multiple contiguous symbols in assignment (CMDHELPER-3174) (a90f47b7 by michael smith)
  • Fix issues w/ multiple contiguous symbols in assignment (CMDHELPER-3174) (2d949910 by pseudoknight)
  • Fix serializing closures with labels in them (4c847390 by ladycailin)
  • Disabling logging of compiler warnings in interpreter mode (6f6f5b75 by pseudoknight)
  • Fix core error when compile error affects branching (9fd1bcbc by pseudoknight)
  • Fix NPE when foreach() given invalid argument format (3d7d61df by pseudoknight)
  • parseXML first, so the server content-type doesn't matter (69497b37 by ladycailin)
  • Use the current protocol (a0527fbf by ladycailin)
  • Continue work on localization Still several tasks to be done before this can be crossed off, but the matching is pretty good now on the front page. Remaining tasks detailed in src/main/java/com/ls/tools/docgen/l10n/TODO.md. Also fixed a bunch of examples that were throwing compiler warnings due to bare strings. (1fe82b46 by ladycailin)
  • Fix unacceptable typos (aace269a by pseudoknight)
  • Correctly create associative arrays in a few places (1b3a412e by pseudoknight)
  • Add new compiler warnings for deprecated functions (340b111a by pseudoknight)
  • Add PATROL and RAID entity spawn reasons (991b4861 by pseudoknight)
  • Merge pull request #541 from PseudoKnight/master Support executing closures in variables using function syntax. (ba52fc84 by michael smith)
  • Add more closure tests (80b0fd55 by pseudoknight)
  • Support executing closures in variables using function syntax. This is an early implementation that makes `@closure(@arg1, @arg2)` equivalent to `execute(@arg1, @arg2, @closure)`. Also fixes LangServ incorrectly checking procedures as functions. (7e489298 by pseudoknight)
  • Improve handling of improperly formatted docs(). This prevents the vscode extension and json-api mode from entirely breaking when given an extension with bad docs, and gives a more helpful message in vscode. (62e6867e by pseudoknight)
  • Checkstyle (4d123ef4 by ladycailin)
  • Add switch_ic, an ignore-case version of switch (257909e8 by ladycailin)
  • Add support for varying priorities of warnings Different warnings are classified differently in the LangServ, including the low category, which prevents the issues from showing up in problem lists. (621c79bb by ladycailin)
  • Use event name target instead of bind function when event does not exist (9991bdbd by pseudoknight)
  • Prevent extension startup in LangServ (291befb1 by pseudoknight)
  • Add better logging for an Error thrown in optimize (49256148 by ladycailin)
  • Don't loge on exceptions in document link (e7c7abe2 by ladycailin)
  • Stop compiling on change, and do compile on save only. A delay needs to be implemented, otherwise for larger source files, this causes useability issues, since it would attempt to be compiled once per character typed. Creating a delay is necessary, so it waits until no changes have been made for a delay, and only then compiling once. In the meantime, it will just have to be compile on save. (2034cb78 by ladycailin)
  • Support multiple paths in base-dir (032a0dac by ladycailin)
  • Add compiler warning for functional usage of operators This commit adds a compiler warning for when functional notation is used for a function that supports an operator syntax. This only occurs in strict mode, and is still suppressable. (e5e1ec1a by ladycailin)
  • Fix dor() when no values are truthy (1a24743b by pseudoknight)
  • Add an optional player argument to sudo() (2cbffbd3 by pseudoknight)
  • Checkstyle (7eaaf558 by ladycailin)
  • Use proper document models on change Previously, we just always read from the file system to get the document truth, but that caused issues, and also required users to save to get the compilation hints. Now, the document is only read from disk if the client isn't managing it, otherwise, it reads it from the internal cache which is managed by the client for open files. (f1617cf4 by ladycailin)
  • Update tellraw functionality. This fixes ptellraw() for non-ops, adds tellraw() for running from console, adds default selectors, and updates documentation and examples to explain the differences. (cb1c84b5 by pseudoknight)
  • Remove and ignore test file (2763fcd8 by ladycailin)
  • Remove compile time caching of includes. This is too aggressive of a change for now. However, I am keeping the warning if the file doesn't exist (which is now suppressable). (219480d1 by ladycailin)
  • Compile included files at compile time. Also add DocumentLink support in the Language Server. This is implemented in a generic way, so extensions can take advantage of this, and if I missed any functions, it should be trivial to add them to the system later as well. (1446d8a3 by ladycailin)
  • Fix build and typos (27c15796 by pseudoknight)
  • Properly support msa files in LangServ (f19e1948 by ladycailin)
  • Keyword errors don't stop compilation Also added object related keywords, which currently all give compile errors. This could break code, but it was going to break sooner or later anyways. Also fixed issues with file options in most of the native classes. (305ccd99 by ladycailin)
  • LangServ now scans the full workspace on the low priority queue. This allows for compile errors to be shown in all files, not just the ones that are open. Fix concurrency issue in NativeTypeList. (8be301d1 by ladycailin)
  • Add checking of bare strings. In strict mode, this is a compile error, in non-strict mode, it's a suppressable warning.Add checking of bare strings. (0b7ee4b0 by ladycailin)
  • Don't startup extensions in json-api or verify cmdline modes. This increases the number of current extensions that are usable in these modes. (964e9433 by pseudoknight)
  • Add support for stdio based language clients (d51c0e52 by ladycailin)
  • Enable compiler warnings and fix but in json-api Compiler warnings were just printed to the log, but couldn't be returned in a usuable format by the language server. Now, in addition to logging, the warnings are added to the compiler environment, and can be retrieved later. Unfortunately, this meant that the lexer needed access to the Environment, so a new parameter needed to be introduced, and that caused lots of code changes. Additionally, older extensions that lacked the MSExtension annotation would cause issues when loading, because that caused the json-api command to fail. This fixes it so that if the identifier would be missing (thus causing a NPE), we generate an identifier based on the jar name. The VSCode Extension only loaded the language server after the json-api call completed successfully, so this fixes that issue as well, if the user has older extensions. (6771f58e by ladycailin)
  • Move target to string in regex functions Also offset column by -2. This is probably done in the wrong place in the code, but this is a quick fix that can quickly be reverted once the compiler itself is fixed. (15ecf79a by ladycailin)
  • Implement a basic language server. This includes support for code completion, as well as error checking! There are a few issues still, for instance, event and object completion is not working, I'm not entirely sure why not, but that can be solved later. (78f4cd03 by ladycailin)
  • Add player statistic functions (28b18d38 by pseudoknight)
  • Continue work on the language server. The basic RequestMessage framework is complete, and we succesfully read in most of the initialize method parameters. It's quite a large method though, and converting the typescript to java is tedious, so there is still more work to be done before the request itself is finished, but the framework is complete and works well, so it's just a matter of finishing the conversion. After that, I need to work on the framework to handle responses, and that's the next big task. (642834db by ladycailin)
  • Add documentation about how to use extensions (3d85856a by ladycailin)
  • Use cached Function in CFunction (#540) (bddf2ded by michael smith)
  • Support void in booleanish (falsey value) (e257473b by ladycailin)
  • Add support for enums in JSONUtil (514f4c87 by ladycailin)
  • Disable ElementSignature for now There is an unaccounted for signature type, if a method returns a non static inner class, in an outer class which contains generics, this breaks processing, and causes a StackOverflowError. Therefore, since this functionality isn't directly needed, I'm just disabling it for now. Before it can be re-enabled, this bug will have to be fixed. The binary name that it fails on is something like: "()Lobj/Name<TT;>.InnerClass" (7b19bd85 by ladycailin)
  • Fix player() in events where the player is offline (770e1f17 by pseudoknight)
  • Begin the basic structure of the LanguageServer I have also created a basic json->java object->json mapper utility. It has very basic support, but it is in some ways an improvement above gson, and allows for generic support in a bit of an easier way. Due to type erasure, there are still serious problems with really supporting this unfortunately, but this is probably the best that can be done. One remaining task is to implement enums support, before the work on implemenation of the language server protocol can begin in earnest. (8b888a57 by ladycailin)
  • Improve operation time when getting a list of types (#539) TreeSet is much faster since it doesn't have to hash the CClassType. It might even be faster than ArrayList in this case. (c20276f9 by michael smith)
  • checkstyle (522b5b49 by ladycailin)
  • Fix 2 bugs in cmdline utilities (36034740 by ladycailin)
  • Checkstyle (5bbc3930 by ladycailin)
  • Don't use concurrent hash map v2.0 (deb202ad by ladycailin)
  • Don't use concurrent hash map (ae6d1340 by ladycailin)
  • Cache getAnnotation result (595f2b5c by ladycailin)
  • Use cached CClassType earlier in isInstanceOf() (#538) This avoids getting the FullyQualifiedClassName from the annotation again. (3059810e by michael smith)
  • Git push origin masterMerge branch 'Pieter12345-trigger_support2' (5b78b4e2 by ladycailin)
  • Update to newer code styles (7742ab0d by ladycailin)
  • Merge branch 'trigger_support2' of https://github.com/Pieter12345/CommandHelper into Pieter12345-trigger_support2 (2afb174c by ladycailin)
  • Merge branch 'master' into trigger_support2 (b33c2f06 by ladycailin)
  • Trigger Travis CI build The last build timed out. (84f109c3 by pieter12345)
  • Merge branch 'master' into trigger_support2 (5b5c7753 by pietje)
  • Hide trigger function Since the trigger() function is completely broken at this time, nothing depends on it. Its documentation should not be on the API for the time being. Hiding this function will also allow us to change its behaviour and implement it properly without breaking peoples scripts. (70d872c4 by pieter12345)
  • Fix severe NPE on trigger() + add broadcast_message trigger support - Using the EventBuilder class always resulted in an exception since its static code block threw a NullPointerException. This was caused by attempting to find a BindableEvent implementation for an (in)direct child through only its interfaces, instead of its interfaces and interfaces of (in)direct superclasses. - Add trigger() support for the broadcast_event event. (4522cbe0 by pieter12345)
  • Remove CommandHelperEnvironment from the standalone environment (c3f25a5c by ladycailin)
  • Give the Main class some TLC All cmdline tools are in the new @tool format, and the docgen for the tool should be back to being complete, and should also be more accurate as well. The verify tool has a few more options added now, particularly it was too difficult to load extra extensions previously, but with the new format, this was easy to do, and is now done. (9bc6382c by ladycailin)
  • Add a check for environment in the compiler This considerable change now adds a distinction between embedded and core functions. Embedded functions have a dependency on CommandHelperEnvironment, and core functions are available everywhere. Now the compiler makes a distinction between the two, allowing for compile time errors for functions that aren't available in that environment. However, there is a need in some cases to compile against other environments, so the tooling and compiler infrastructure has been modified to support the notion of a target environment, not the current runtime environment, hence the size of this change. Additionally, some tooling, such as the verify tool takes advantage of this distinction, to allow users to specify what environments they actually want to compile against. (5004af66 by ladycailin)
  • Update the Metrics class for bStats (f5efbed6 by pseudoknight)
  • Add missing item meta into documentation (9f03cd22 by pseudoknight)
  • Rewrite item meta documentation (3228e449 by pseudoknight)
  • Add update operation and fork operation Also created a framework to easily wrap github api functionality. The update operation is accessed from the File menu, and essentially is a git pull on the local repo. The fork operation forks the master repo on github, clones it locally, then loads it in the UI. Next up is creating a mechanism to make commits and then make a PR back to the master repo. (89f1f509 by ladycailin)
  • Add github auth to L10N app. Mostly this was just about expanding support in the OAuth functions to be more robust. It should correctly support more OAuth implementations now. (d741a9d9 by ladycailin)
  • Checkstyle (e69603dd by ladycailin)
  • Add default url for translations db (961cc3e5 by ladycailin)
  • Continue tweaking segment generation, implement filters (2c25df01 by ladycailin)
  • Checkstyle (def3892d by ladycailin)
  • The basic features of the l10n ui work, segments are replaced The basic features of the UI are all completed now, including the machine translation integration with azure. There are still a few minor features that need implementing, particularly the segment search feature, the segment filters, and the help file needs to be brought up to speed. The basic replacement logic for the site is implemented as well, and should start working if pointed to a translation DB in the settings, however, the replacement is still not working in several edge cases. Additionally, the site deployment pipeline will need to be updated with the translation DB link once it exists. The logic to select the language needs to be implemented as well. Futher, there are still lots and lots of segments that shouldn't be in the DB, and so I need to add some more filters to get rid of several hundred more. By and large however, the segmentation logic is complete, and anyways bogus segments are a lower priority. The main blocker at this point is the re-application logic on the site. There are a few other things on the website that bypass the segmentation logic currently, particularly menu items and other strings that are defined in frame.html. I think the best approach here is to just manually create entries for them. The UI can probably be modified to add a hidden UI to add new segments, such that it hampers people enough to not casually add segments, but still allow the rare cases where that makes sense to easily and consistently occur, and take full advantage of the UI's validity checking. (c7d8e9ea by ladycailin)
  • Update recipes to support 1.14 recipe types, input choices, recipe book 'group', cooking 'experience', and 'cookingtime'. This also finally removes legacy support for '0:0' format. (c61d9310 by pseudoknight)
  • Add and improve command tabcompleter examples (9c6095cb by pseudoknight)
  • Fix 1.13.2 compatibility (21c1d57e by pseudoknight)
  • Load extension classes synchronously. CMDHELPER-3179 (0eac533e by pseudoknight)
  • Log error message when the incorrect jar is used (c0ccab3b by pseudoknight)
  • Add get|set_blockdata() functions that support blockdata arrays (e4e791f0 by pseudoknight)
  • Add item matching examples for inventory functions (5c43a363 by pseudoknight)
  • Fix error during compile when proc is not given ivars after classtypes (4f98c63a by pseudoknight)
  • Update SourceVersion for annotation processors (f0a6eaee by pseudoknight)
  • Checkstyle (c61bbac2 by pseudoknight)
  • Launch l10n-ui in new process (dde3854b by ladycailin)
  • Checkstyle (3b14bed5 by ladycailin)
  • L10N Interface is useful now! Changing settings and saving works now, which is enough to move on to the next step, which is making a local deployment of the site use the translations. There are still a lot of steps to go back and finish up, but I want to get this validated first, so I'm moving on. (85df0cdc by ladycailin)
  • Merge pull request #536 from EntryPointKR/master Add all_materials() function (89017ed2 by michael smith)
  • Using isLegacy() instead of startsWith() (47190413 by entrypointkr)
  • Add all_materials() function (2b28b20f by entrypointkr)
  • L10N - Summary segment display works now (231c27d8 by ladycailin)
  • Fix concurrency issue in async_read (b624e3fa by ladycailin)
  • Fix wrong import (f818c132 by ladycailin)
  • Continue work on localization UI (7010d012 by ladycailin)
  • First pass at creating UI for localization Most of the periphrial UI components are in place, but a few minor things still need doing. (44351ec8 by ladycailin)
  • Continue tuning segments (baae127e by ladycailin)
  • Fix NPE when the item is null (#535) (8fdc1d47 by junhyeong lim)
  • Continue tuning segmentation logic (a530bb0e by ladycailin)
  • Nearly finished with segmentation. Still need to do a comprehensive review, but by and large it appears to be correct now. (3852734e by ladycailin)
  • Generation of the memory files is nearly complete. Still remaining to do is to finish the segmentation. After that, the remaining total tasks are to write a localization interface for localizers to use, and of course make the site use the translations. Finally, we need to go through all the summary file translations, and decide if a translation is eligible for machine translation or not. Strings that have no values that need to be kept in english can be marked as such, and all locales will accept the machine translation for that string. Then, a tool to actually do the machine translation for the eligible values needs to be written. (cc45597d by ladycailin)
  • Fix composite function stack trace (a8d201be by ladycailin)
  • Fix unknown target in CompositeFunction (#534) * Fix unknown target in CompositeFunction * Not can be cached * Change to catching exception for setTarget * Only set if target file is unknown (047831b1 by junhyeong lim)
  • Merge pull request #533 from EntryPointKR/master Fix api usage of offers in item_pre_enchant (2da3ea62 by michael smith)
  • Fix api usage of offers in item_pre_enchant (304395a3 by entrypointkr)
  • Fix example in get_values (ff0407f0 by ladycailin)
  • Add profiling of compilation of individual files (eb6f95cc by ladycailin)
  • Begin work on site translation framework. This is still not done, and the generated memories are not currently useable. However, this is a good enough of a stopping place for now. Still to do is to parse tables, which will solve most of the remaining problems on the translation memory side. Still to do is write out the individual pages memories, as well as of course set the site itself up to start using the translations, but this is a good start on the process. (458a3500 by ladycailin)
  • Add ptellraw, which is a simple wrapper around /tellraw (2c1e900a by ladycailin)
  • Fix listing dynamic enums in documentation (467bd445 by pseudoknight)
  • Add fireworks "strength" and "effects" to entity_spec() (8268c0e5 by pseudoknight)
  • Fix TC build status badge (0c1d0b2c by pseudoknight)
  • Update build status badge (8f6841fa by pseudoknight)
  • Add resource_pack_status event (3b5cb360 by pseudoknight)
  • Add html description to api function pages Fix line length in SiteDeploy, and collapse lambdas. (9866ea7e by ladycailin)
  • Merge pull request #532 from jb-aero/trade Recognize Wandering Traders as Merchants (847174ba by michael smith)
  • Recognize Wandering Traders as Merchants (c2f6c414 by jb-aero)
  • Add autoReconnect=true to mysql profile (6426a8a4 by ladycailin)
  • Fix more outdated links in documentation (21ecde57 by pseudoknight)
  • Fix some event documentation (ff36a0c7 by pseudoknight)
  • Fix numArgs for set_mob_effect() too (9b6461a0 by pseudoknight)
  • Fix numArgs to allow set_peffect icon parameter usage. (#531) (ea3a36f0 by bardi harborow)
  • Deploy jar to root as well (78bd06fd by ladycailin)
  • Totally remove githook (3fd99549 by ladycailin)
  • Remove githook (43fca260 by ladycailin)
  • Add "result" to player_bed_event event (c37e83a6 by pseudoknight)
  • Add Statistics class Also fixed a bug with SiteDeploy where a bad example prevented all the functions from generating. (d3136aae by ladycailin)
  • Fix bug in http_request and parse_date (903f256d by ladycailin)
  • Add map_implode (e2058a10 by ladycailin)
  • Fix build issues in other platforms (88a283df by ladycailin)
  • Add pre-push commit hook to build first (e491b771 by ladycailin)
  • Add complex example to parse_args (3796bd70 by ladycailin)
  • Fix iclosure() execution polluting the stacktrace (72962e0b by pseudoknight)
  • Fix outdated links and Minecraft item ids in docs (8a62aeb0 by pseudoknight)
  • Allow ~console for scriptas() and executeas() (7b7e3dc9 by pseudoknight)
  • Fixed issue where ArgumentParser failed to validate long args (691d1d42 by ladycailin)
  • Change default of USE_COLORS to always be true Not sure why it was dependent on OS before, but it works perfectly fine in modern versions, so we'll default to "useful". (beb2cca4 by ladycailin)
  • Fix capitalization on documentation replacements (380aa4fd by pseudoknight)
  • Update Execution_Queue (091e7893 by ladycailin)
  • Fix sprintf() when given a dynamic array of arguments (fba650bb by pseudoknight)
  • Fix infinite loop in array_rand() when number arg exceeds array size (7aafe064 by pseudoknight)
  • Merge branch 'master' of github.com:EngineHub/CommandHelper (72019b9e by ladycailin)
  • Word wrap pre blocks (a6489999 by ladycailin)
  • Add Crossbow meta to item arrays (a4f4888c by pseudoknight)
  • Add EXPLOSION SpawnReason and disableRaids GameRule for 1.14.3 (3609fed4 by pseudoknight)
  • Update VersionFrontPage recommeneded (8803dd93 by ladycailin)
  • Update VersionFrontPage Update info for Windows installation. (6d4ed81f by ladycailin)
  • Checkstyle (be70ba8f by ladycailin)
  • Now the jar uploads itself with site-deploy Meta. (4757e6f5 by ladycailin)
  • Fix bug that prevented some pages from being generated (2dbd7073 by ladycailin)
  • Fix bug that prevented many pages from uploading (e9e7d41f by ladycailin)
  • Provide directions for testing site deploy locally Also have the FrontPage automatically redirect to VersionFrontPage, instead of requiring selection of the version. Add a link to the version directory in the VersionFrontPage. (b61a184e by ladycailin)
  • Merge pull request #530 from PseudoKnight/master Fix void handling for proc return types and assignment (f5bc5d67 by michael smith)
  • Ignore returned value's type when procedure's returnType is auto (ebe6fb12 by pseudoknight)
  • Fix void handling for proc return types and assignment (38d94b78 by pseudoknight)
  • Fix operator order documentation and add operator associativity (#529) * Fix Array Subindices operator order + Missing || - Array Subincides operator order should be between Unary and Postfix (to be consistent with the compiler's current behavior). - Add missing || symbol for OR. It could depends on the Markdown parser whether this will work. * Remove empty list entry This fixes an error in alternate colorizing the list rows. * Add associativity to operator order docs (039763a1 by pietje)
  • Add support for overriding the id_rsa location (e8a4cefa by ladycailin)
  • Add override-post-script to site-deploy (2940abea by ladycailin)
  • Update azure-pipelines.yml (e62742cf by ladycailin)
  • Update azure-pipelines.yml (f3ca081d by ladycailin)
  • Update azure-pipelines.yml (9382b583 by ladycailin)
  • Update azure-pipelines.yml (ca6d2f1b by ladycailin)
  • Update azure-pipelines.yml (e835c36d by ladycailin)
  • Update azure-pipelines.yml (2a6b3965 by ladycailin)
  • Update azure-pipelines.yml (ca6b3019 by ladycailin)
  • Update azure-pipelines.yml (b0c07dfa by ladycailin)
  • Update azure-pipelines.yml (a2ca5f56 by ladycailin)
  • Update azure-pipelines.yml (b2fc818a by ladycailin)
  • Update README.md (a2aab12e by ladycailin)
  • ALL_UNNAMED -> ALL-UNNAMED (203eb286 by ladycailin)
  • Add cmdline-args util, for future compatibility. (e06c4679 by ladycailin)
  • Checkstyle fix (28715f4b by ladycailin)
  • Add cmdline support for Windows. This temporarily removes GUI based support for .ms files, since that was unreliable. It will be re-added at a later date. This adds support for a mscript command in cmd.exe, as well as a PowerShell module, Invoke-MethodScript. The command syntax for these are slightly different, for the cmdline tools, you must use the -Tool switch, rather than the -- switch, but otherwise, it is identical to the unix based system. (729341f8 by ladycailin)
  • Add "model" key to item meta to manipualte vanilla's CustomModelData tag for resource packs. (2066f5c5 by pseudoknight)
  • Move null check before type check. (c01443be by pseudoknight)
  • Fix duplicate branding when MSLog prints messages to screen (16b5ac50 by pseudoknight)
  • Log a warning about using Java version above 8 and fix related initial loading errors. (d492668a by pseudoknight)
  • Disallow void assignments explicitely, instead of stacktracing (56b405c3 by ladycailin)
  • Improve environment cloning on procedure calls. This moves cloning into execute(), avoids the overhead of cloning the IVariableList, and some other minor improvements. This also removes a duplicate proc test. (2ba2eead by pseudoknight)
  • Fix CVoid check order in IVariable constructor, and create a new constructor for when the value's type does not need to be checked. This improves performance, particularly with procedure calls, by not performing isInstanceOf() unecessarily, which is slower than it once was. (627bacc7 by pseudoknight)
  • Fix convertor intializing before class discovery (8732754e by pseudoknight)
  • Remove unused imports (a2d26f92 by pseudoknight)
  • Comment out broken Mixed argument check for now. This code doesn't appear to have worked for over seven years and is currently just slowing down script evaluation time, particularly when isInstanceOf() was added in this workhorse section of the code. It might not even be needed, or should possibly be done at compile time only. In any case, we haven't depended on it for several years. (a61f13c5 by pseudoknight)
  • Fix array_remove() returning a Java null when an associative array index doesn't exist (168e2667 by pseudoknight)
  • Move dynamically registered listeners back to regular listeners for now. (2a183b54 by pseudoknight)
  • Do code maintenance on CommandHelper and AliasCore. A lot of this code was ancient and had built up cruft over the years. So, this cleans up a number of unused or redundant bits of code (especially in AliasCore.alias(), which is heavily rewritten to be more readable and maintainable), moves logging to the plugin logger where appropriate (avoids issues like double tagging in Spigot), and improves line lengths. (8f68eded by pseudoknight)
  • Use the plugin logger when possible (cf219831 by pseudoknight)
  • Use eval when we don't use the return value (abfdf9dc by pseudoknight)
  • Add temporary fix to "Using undefined variable" runtime error message during compile (7f9d5ad4 by pseudoknight)
  • Add missing SHEARED spawn reason (c022369f by pseudoknight)
  • Add execute_array (d16b2fd2 by ladycailin)
  • Fix player event documentation formatting (9a16aba2 by pseudoknight)
  • Fix some block_break issues (e2a8697b by pseudoknight)
  • Fix refactor mistake "CHLog" -> "MSLog" (#527) (ebfef602 by pietje)
  • Fix and update more out-dated documentation (fde15a9a by pseudoknight)
  • Build against Spigot 1.14.2 (860b809e by pseudoknight)
  • Fix ClassCastException when setting potion meta for an arrow in 1.14 (e65233b9 by pseudoknight)
  • Fix bug in iclosure() Fix bug in iclosure() returning the wrong type of closure given an empty closure (6cde22d5 by ladycailin)
  • Update assign(NotAnIvar, ...) error message (#525) (c66c7267 by pietje)
  • Loosen restrictions on spawnable entity types with spawn_entity() and fix exception for an invalid hanging spawn location. (1a11de25 by pseudoknight)
  • Add SPECTRAL_ARROW to entity_spec and fix arrow/trident handling on 1.14. Spigot's Arrow class was basically renamed to AbstractArrow, which Arrow, Trident, and SpectralArrow extend. Also, TippedArrow was renamed to Arrow. This makes it tricky to support both 1.13 and 1.14 here, so I've just implemented all the AbstractArrow methods in each entity abstraction class, and no longer extend MCArrow to avoid cast exceptions. (553b7555 by pseudoknight)
  • Fix getting Lectern inventory (45d2d45d by pseudoknight)
  • Address deprecated BroadcastMessageEvent constructor in 1.14 (97deebd7 by pseudoknight)
  • Fix site deployment on Windows (8b6a629e by pseudoknight)
  • Fix heap_dump() where only hprof file suffix is allowed (34faf08c by pseudoknight)
  • Add arrow "damage" to entity_spec (2dd1e8c0 by pseudoknight)
  • Update Datahandling docs (#524) - Fix + extend proc() docs (proc name is not optional). - Fix closure docs (they take variables, not variable names). - Use `params` for proc and closure parameters. This is what they actually are and this is consistent with bind(), which calls them custom_params. (2f3ff7cf by pietje)
  • Fix docs for nameof (f5c7327e by ladycailin)
  • Replace deprecated entity max health methods (7bc6e2b3 by pseudoknight)
  • Add set_keep_spawn_loaded() function for worlds (c02f6ef4 by pseudoknight)
  • Update regen_chunk's deprecation and operational status (d0d4a9d9 by pseudoknight)
  • Unwrap InvalidProfileException so that it can be caught further up the stack (CMDHELPER-3175) (73537941 by pseudoknight)
  • Fix broken links and add missing Prefilters page in documentation (9a2d06a4 by pseudoknight)
  • Merge pull request #523 from EngineHub/1.14 1.14 Support (7cbdf86f by michael smith)
  • Fix a few entity management issues. - Fix OCELOT and MUSHROOM_COW entity_spec in 1.13.2. - Add DROWNED to entity_spec, which was already in the docs. - Clarify the removal of LINGERING_POTION in docs. (dccb4302 by pseudoknight)
  • Move control flow functions to ControlFlow class (#521) Control flow functions were divided over BasicLogic, DataHandling and Echoes. This commit creates one class with all control flow (branching) functions. - Move control flow functions to ControlFlow. - Move corresponding test cases to ControlFlowTest. - Fix 120 character line limit in moved code. (4852ddc0 by pietje)
  • fix: pom.xml to reduce vulnerabilities (#522) The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JAVA-MYSQL-174574 (394f88a0 by snyk bot)
  • Fix foreachelse documentation (#520) The optional 'key' argument was missing. (19bf62b8 by pietje)
  • Add new banner pattern: GLOBE (dbcb5d47 by pseudoknight)
  • Add foxes and mushroom cows to entity_spec() (de3d87a4 by pseudoknight)
  • Fix enabling plugin on 1.13.2 servers (58020789 by pseudoknight)
  • Add support for Minecraft 1.14 The following breaking changes exist for all servers: - Virtual inventories can no longer be larger than 54 in size. - You can no longer create virtual beacons. The following breaking changes exist for 1.14 servers only: - Villager professions have completely changed. - The "creationradius" and "searchradius" in entity_portal_travel and player_portal_travel have been removed. - Ocelots can no longer be tamed or sit. - The following materials are removed but will be converted in legacy item arrays or when using set_block(): CACTUS_GREEN, DANDELION_YELLOW, ROSE_RED, SIGN, WALL_SIGN. - TIPPED_ARROW and LINGERING_POTION entity types no longer exist and will be converted to ARROW and SPLASH_POTION respectively. In addition, shoot_projectile() has been rewritten to be more consistent and support almost all entities. (911deb10 by pseudoknight)
  • Checkstyle (2cb51828 by ladycailin)
  • Add nameof() (40be0834 by ladycailin)
  • Fix error reporting bug (04746507 by ladycailin)
  • Checkstyle (3b7110d5 by ladycailin)
  • define_object now accepts superclasses and interfaces (25a19a4a by ladycailin)
  • Remove whitespace from logo (5ef3f89e by ladycailin)
  • `@var =` now throws a proper compiler error (2b31771c by ladycailin)
  • Merge branch 'master' of github.com:EngineHub/CommandHelper (793c0773 by ladycailin)
  • Add test for closure(), and fix bug related to that (a05dfbe6 by ladycailin)
  • Add tracking info to an Error, so we can see what's causing it (f7f46eb5 by ladycailin)
  • instanceof -> isInstanceOf, add unit test for define_object (c298e458 by ladycailin)
  • Continue work on native code, normalize indentation (32ddbf8f by ladycailin)
  • Checkstyle (bec22722 by ladycailin)
  • Create UnqualifiedClassName Elements that are not yet fully defined, but can't be defined yet can now use UnqualifiedClassName. This can't be used during normal use, but can be used in the middle of compilation. This solves the bootstrapping problem that is faced when a class definition extends/implements a class that hasn't been defined yet, and so thus cannot be fully qualified. Once the classes have all been initially defined, we can go back through the list of ObjectDefinitions and call qualifyClasses, which will fully qualify the previously unqualified class names, and throw an appropriate exception if any of them are unknown. Also, rename Objects to ObjectManagement, to match the theme. (2a849b28 by ladycailin)
  • Adjust compiler to pass commas through for ObjectDefinitions. Begin work on ObjectDefinitionKeyword to rewrite classic class definitions into the functional declaration. Implements keyword is nearly supported, but only in the happiest path, more test cases are needed, and certainly there are some currently unsupported cases. The tests are Ignored for now, since they still fail. (62eb4e30 by ladycailin)
  • Support windows newlines in modules file (9dfbabf5 by ladycailin)
  • Use a more efficient mechansim for scanning for Functions/Events Also, use a simpler (but no more efficient) method for loading jarInfo.ser (e304652e by ladycailin)
  • Seriously improve startup time from cmdline (c43380a6 by ladycailin)
  • When loading classes from ClassReferenceMirror, use the default CL Don't use the loader that loaded the CRM class, it doesn't know about dynamically added extensions. (21a7103e by ladycailin)
  • Update README.md (455979b0 by ladycailin)
  • Accidentally a line (5d227a1f by ladycailin)
  • Update README.md (9303034f by ladycailin)
  • Provide a stopgap measure for isInstanceof CFunction (c8235b4e by ladycailin)
  • Provide a stopgap measure for isInstanceof CFunction (d2063678 by ladycailin)
  • Cache CompilerEnvironment in AliasCore, and use it in alias() Additional changes have been made in the core classes, after some further thinking on the situation. (b89f8b4a by ladycailin)
  • Update README.md (e2887b41 by ladycailin)
  • Update README.md (f30b06cb by ladycailin)
  • Use isInstanceOf everywhere. (#518) * Use isInstanceOf everywhere. This changes the code everwhere to use .isInstanceof instead of instanceof, since this is needed for user objects to work. However, the code is *incredibly* slow, so much so that RandomTests takes 60 seconds on my computer. I added some caches, but that didn't really work well enough either. So the next thought is to add this to the jarInfo perhaps, but even still, once user classes are added,that will increase startup time even more, so I think this has to be solved in a more general way. I think the next step is to very closely examine the code path of isInstanceOf, and see what steps are there today, and figure up if any can be removed, replaced with more efficient mechanisms, or at least further cached. This will serve as the basis of the continued work on objects, but until this is fixed, it utterly kills the runtime performance, and simply cannot be merged in to master. * Add some caches to speed things up in the course of operation * Add minor optimization to CClassType If both compared classes are native, and one extends the other, we can reliably say it is an instanceof, so just use the native java instanceof mechanism. This only helps a tiny bit, but it does help, so this will stay, even though this is not the correct solution. * Probable fix for slowness. This commit caches the native class along with the FQCN, which can be used to seriously speed up the lookup elsewhere, particularly when using instanceof. The only exception to this is DynamicEnums, but there are so few of those that it doesn't cause enough of a performance hit. This speeds up RandomTests by an order of magnitude, but there were other performance increases that should have helped some as well (though not an order of magnitude.) The end result is that this should actually be a bit faster than the original code anyways. * Add better logging when the NoClassDefError is thrown (3ee1bdf1 by ladycailin)
  • Update README.md (9b1fc862 by ladycailin)
  • Expand the native class library, and add more detail to the design docs (327949d1 by ladycailin)
  • Fix core error when setting a single trade to a merchant (33ba80bb by pseudoknight)
  • Ignore this deprecation (ab5eba9f by pseudoknight)
  • Add better logging when getting a broken BlockState from item meta (d46d14a4 by pseudoknight)
  • Fix format errors in event documentation (775d757c by pseudoknight)
  • Fix optimizer-test error when comp_read was used Also clarify documentation in a few places. (b1ad0396 by ladycailin)
a year ago
  • «
  • 1
  • »