Now is standalone from Canopy

This commit is contained in:
ForestOfLight
2025-04-20 02:06:55 -07:00
Unverified
parent d6c9acdaab
commit 1ca91a0993
28 changed files with 256 additions and 151 deletions
@@ -1,24 +1,37 @@
import { BuilderFormBuilder } from "./BuilderFormBuilder";
import { Builders } from "./Builders";
import { BuilderOptions } from "./BuilderOptions";
import { forceShow } from '../../utils';
export class BuilderForm {
constructor(player) {
this.player = player;
this.show();
}
show() {
forceShow(this.player, BuilderFormBuilder.buildSettings(this.player)).then((response) => {
forceShow(this.player, BuilderFormBuilder.buildBuilderOptions(this.player)).then((response) => {
if (response.canceled) return;
this.applySettings(response.formValues);
});
}
applySettings(formValues) {
const optionIds = Builders.get(this.player.id).getOptionIds();
const optionIds = BuilderOptions.getOptionIds();
for (let i = 0; i < optionIds.length; i++) {
const option = optionIds[i];
if (option.setValue(formValues[i]) && formValues[i] === true)
this.player.sendMessage(`§a${option.displayName} is enabled!§7 ${option.howToUse}`);
const option = BuilderOptions.get(optionIds[i]);
const changedToValue = option.setValue(this.player.id, formValues[i]);
if (changedToValue === true)
this.player.sendMessage(`§a${option.displayName} is now enabled!§7 ${option.howToUse}`);
else if (changedToValue === false)
this.player.sendMessage(`§c${option.displayName} is now disabled.`)
}
}
valueChangedToEnabled(hasChanged, newValue) {
return hasChanged && newValue === true;
}
valueChangedToDisabled(hasChanged, newValue) {
return hasChanged && newValue === false;
}
}