How to create your own Yail Type?

Am I able to create my own Yail Type within only the extension? For example:

public class YailTypeTest extends String {
    public YailTypeTest () {
      super();
    }
}

And use it from a block like: public void YailTest(YailTypeTest test) {}

What would be your variable in the argument?

@SimpleFunction()
public YailTypeTest testBlock() {
    return "String!";
}

Why?

So extensions can only allow input from their own outputs. This is so a random string or type can't just go into an argument that you wouldn't want to handle errors for.

As far as I know this is not possible :confused: Block connection checks are encoded by the Blockly.Blocks.Utilities.YailTypeToBlocklyTypeMap which is not accessible to extension developers.

If the type you want to create is an enum, support for custom dropdown blocks will be available after my GSoC project is merged. So in that specific case we're working on a solution :smiley:

But generally this is not possible :confused: I'm sorry I can't be more help.

3 Likes

It's ok! I am happy with the solution you've gave me that will be available shortly (hopefully) :slight_smile:

2 Likes