Skip to content

Conversation

Copy link
Owner

@JannisX11 JannisX11 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey there! The game is not released yet, is this intended as an internal tool for the developers behind it?
If so, it would be best to host it internally. There is no need to include it in the public repository if it's just used by a handful of people, it will just mean slower review time.
Plugins can be loaded via the "Load Plugin from URL" option as well if they are hosted on a server and served with the correct media type.
The plugin can still be added to this repository when players can use it to mod the game, if that is planned.

@sciner
Copy link
Author

sciner commented Nov 14, 2025

Hi!
The game isn’t officially released yet, but it has been available as a playtest version for over a year, and it has already been downloaded by more than 100,000 players.
Many players have started creating plugins already, but working with a single file is quite inconvenient for them. Because of that, having it in the repository would be very helpful, even at this early stage.

@JannisX11
Copy link
Owner

I see, I will try to find some time to review it this weekend.

@sciner
Copy link
Author

sciner commented Nov 14, 2025

Thank you so much

@JannisX11
Copy link
Owner

Hey there, sorry this took longer than expected, other things came up and I was traveling.

I have some feedback here:

The current implementation of custom properties has some issues, for example there is no undo support. There is now a much easier method for implementing properties, including their input field in the properties panel.
Here is an example from the Camera plugin. These 10 lines are all that's needed for the property, import/export support, undo support, and the UI for changing the property:

		new Property(CameraElement, 'number', 'fov', {
			default: 70,
			inputs: {
				element_panel: {
					input: {label: 'FOV', type: 'number', min: 1, max: 160},
					onChange() {
						Canvas.updateView({elements: CameraElement.selected, element_aspects: {transform: true}});
					}
				}
			}
		});

More or less all input types that work in forms are supported, you could probably also add a custom form input type for JSON editing.

The plugin adds some custom theming, that seems unrelated to what the plugin is intended to do, and should maybe be an external theme but not part of the plugin.

An animation search bar is already included in Blockbench so another one is not required.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants