flexible instance movement

This commit is contained in:
ForestOfLight
2025-09-18 18:42:41 -07:00
Unverified
parent 2d4631c1f7
commit 9539a1d1a1
8 changed files with 178 additions and 40 deletions
@@ -5,6 +5,7 @@ import { InstanceButtons } from '../Enums/InstanceButtons';
import { InstanceFormBuilder } from './InstanceFormBuilder';
import { FormCancelationReason } from '@minecraft/server-ui';
import { FlexibleInstanceMove } from './FlexibleInstanceMove';
import { Builders } from '../Builder/Builders';
export class InstanceForm {
instanceName;
@@ -13,6 +14,7 @@ export class InstanceForm {
InstanceButtons.NextLayer,
InstanceButtons.PreviousLayer,
InstanceButtons.Move,
InstanceButtons.FlexibleMove,
InstanceButtons.Settings,
InstanceButtons.Statistics,
InstanceButtons.Materials,
@@ -96,7 +98,7 @@ export class InstanceForm {
this.instance.move(this.player.dimension.id, this.player.location);
break;
case InstanceButtons.FlexibleMove:
new FlexibleInstanceMove(this.instance, this.player);
this.flexibleMovement();
break;
case InstanceButtons.Settings:
this.settingsForm();
@@ -135,6 +137,11 @@ export class InstanceForm {
});
}
flexibleMovement() {
const builder = Builders.get(this.player.id);
builder.flexibleInstanceMovement = new FlexibleInstanceMove(this.instance, this.player);
}
setLayerForm() {
InstanceFormBuilder.buildSetLayer(this.instance.getBounds().max.y, this.instance.getLayer()).show(this.player).then((response) => {
if (response.canceled)