Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hot reloading #3

Open
Plecra opened this issue Oct 7, 2020 · 3 comments
Open

Hot reloading #3

Plecra opened this issue Oct 7, 2020 · 3 comments
Labels
enhancement New feature or request
Milestone

Comments

@Plecra
Copy link

Plecra commented Oct 7, 2020

I think this would have to be a bukkit plugin which could communicate with the compiler to switch out the datapacks as edits are made.

Datapacks are a great target for hot reloading, since minecraft is full of state. What do you think of designing the language to support it from the start?

@Inky-developer
Copy link
Owner

I think hot reloading functionality is a very crucial part for this language.
Thankfully, Minecraft supports a remote control natively (if enabled in server.properties). This allows to send a reload command every time when the user changes the script.
Since no program state changes when the datapack reloads, the program could even continue right at where it was before reloading.

@Plecra
Copy link
Author

Plecra commented Oct 7, 2020

I haven't done much work with hot-reloading but AIUI, it can be much more powerful with explicit support from the language. Many functions take place over multiple ticks, and it'll be important to let them clean themselves up if we want the hot reloading to be reliable.

Mun might be a good reference

@Inky-developer
Copy link
Owner

That seems a very ambitious.
I think the ability to transfer old data (eg. transfer the old struct of (int, int) to (int, int, bool) without having to restart the datapack) is out of scope, maybe a long term goal.

@Inky-developer Inky-developer added the enhancement New feature or request label Oct 8, 2020
@Inky-developer Inky-developer added this to the Version 0.2 milestone Oct 16, 2021
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

No branches or pull requests

2 participants