Skip to content

Conversation

sovdeeth
Copy link
Owner

@sovdeeth sovdeeth commented Oct 4, 2025

Skript does not allow classinfo registration after startup. I have done it anyway.

This registers a custom type for every struct template, meaning you can now use my struct as a function parameter type, a return type, you can check if {_struct} is a message struct, and struct fields can now be limited to specific structs:

struct test:
    child: other struct
struct other:
    name: string

This, however, requires a breaking change: Creating a new struct instance now requires the word instance to be used!:

set {a} to an other struct instance

Please continue to be careful about when you reload files containing struct definitions. As usual, it is highly encouraged to reload everything that uses a struct after editing its definition. Continuing to use un-updated code may result in undefined behavior and strange bugs. Please report any you encounter, but know they may or may not be able to be fixed.

If you ever change the name of a struct template that's in use, I HIGHLY RECOMMEND restarting your server or at least using /sk reload scripts.

@sovdeeth sovdeeth added the enhancement New feature or request label Oct 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant