For anyone here who's not following the Github repo, I just opened a pull request
https://github.com/walterhiggins/ScriptCraft/pull/388 that uses an undocumented CraftBukkit class to give the old block IDs a new lease on life.
This means you can run ScriptCraft today on a Spigot 1.13 server, and look into what else needs to be done to update to changes in the Minecraft core.
However this approach has its limits. For example, as part of the "flattening" (
https://minecraft.gamepedia.com/1.13/Flattening), in 1.13 red stained glass is an entirely different block type from green stained glass. And yet, being able to enumerate the stained glass colors through the `blocks.stained_glass` JavaScript object is very convenient and makes for example the `rainbow` function easy to write. This is an example of the value added by defining a friendlier API in ScriptCraft over the raw Bukkit API, particular in the beginner context where ScriptCraft is most commonly used.
In the extreme, it is relatively trivial to build a ScriptCraft-like mod that has practically no dependency on the Bukkit API: just remove most of the JS code such as the Drone, events, inventory modules and keep only the bare minimum of glue that allows running JavaScript code against the Java API. This would indeed require very little maintenance between Minecraft releases, but having to code to the Bukkit API directly would make the end user's JavaScript coding much less fun and prone itself to breakage between releases… something about having cake and eating it, I guess :-)