It's been a while since I've been here. Lately, I've been working on a more specialized scripting system for Minecraft 1.14 and above, partly to make it easy to add at least simple things into the game by non-coders, partly to make my life easier (less code to maintain, less likely to leave mods behind) What is ready on Fabric, is the ability to tag function files to run on specific events. (block placed, entity killed etc)
What is partially ready:
- A logic for block registration
- A logic for simple tool registration
Registration is done through a scripting system that uses the same base as commands, the syntax is the same, I can also provide suggestions in the form of a file that contains all of the registered commands, with all of their possible arguments. I still have to figure how to add more detailed tips, as this form is better than a wiki (it can give you the docs of possible addons, and again with less effort on my side).
An example can be found here (a file like this is generated directly in the minecraft folder):https://gist.github.com/Frontrider/527daa509acb31b43a4238c47a07a3fb
What I want to get done:
- Support for more complex machines. The current plan is to define "state machines" to set what the machine should be doing.
- Tool registration, with full control over its properties (durability, mining levels, and entity attributes)
- Make the custom blocks support composter like behavior (Hopper items into to them).
These features are enough to create any device, that can safely interact with other mods, if the thing that you interact with has commands for it. (For example, if you want to drain energy from a machine, than that power system has to have a command for it). Technically you could get around it by interacting with it's data directly with the data command, but that is only good as fallback (you can not know what else should be changed). During initial tests, one of my testers managed to prototype a metal smelting system, with automateable parts.
What I can look into, but no I can't guarantee anything: entitiy creation Why? They are much harder than anything else, but that is a good reason why you'd want to make it easier.
Information on entity attributes can be found here: https://minecraft.gamepedia.com/Attribute
And on state machines here (A little heavy on the jargon): https://en.wikipedia.org/wiki/Finite-state_machine