rbxts-flamework / core

Flamework is an extensible game framework. It requires typescript and offers many useful features.
MIT License
101 stars 8 forks source link

Modding API #21

Closed Fireboltofdeath closed 2 years ago

Fireboltofdeath commented 3 years ago

all of the below are currently possible, using internal Flamework apis, but I'd like to expose a proper API for doing all of the above.

requesting feedback on potential use cases and what people would generally want this API to include

Xuleos commented 3 years ago

maybe not fully relevant to this, but can we have a way to add custom lifecycle events to components too? This might actually already be a thing and I just couldn't figure out how to do it lol

Fireboltofdeath commented 3 years ago

yep, that's not really possible currently..

the component system is separate from Flamework and components are created/removed arbitrarily, so the modding API will have to be able to account for that.

Fireboltofdeath commented 3 years ago

decorator metadata querying

Custom decorators may not always need all the metadata that Flamework provides, so they should be able to specify what will be generated at compile time

/**
  @Reflect design:paramtypes design:returntype guard:paramtypes guard:returntype
*/
declare const MyDecorator: Decorator;
Fireboltofdeath commented 2 years ago

https://github.com/rbxts-flamework/core/tree/modding-v2 https://github.com/rbxts-flamework/transformer/tree/modding-v2 https://github.com/rbxts-flamework/components/tree/modding-v2