mirror of
https://github.com/YouHaveTrouble/Stand-in.git
synced 2026-05-11 22:16:55 +00:00
pose picker
This commit is contained in:
@@ -6,6 +6,7 @@ import io.papermc.paper.registry.data.dialog.ActionButton;
|
|||||||
import io.papermc.paper.registry.data.dialog.DialogBase;
|
import io.papermc.paper.registry.data.dialog.DialogBase;
|
||||||
import io.papermc.paper.registry.data.dialog.action.DialogAction;
|
import io.papermc.paper.registry.data.dialog.action.DialogAction;
|
||||||
import io.papermc.paper.registry.data.dialog.input.DialogInput;
|
import io.papermc.paper.registry.data.dialog.input.DialogInput;
|
||||||
|
import io.papermc.paper.registry.data.dialog.input.SingleOptionDialogInput;
|
||||||
import io.papermc.paper.registry.data.dialog.type.DialogType;
|
import io.papermc.paper.registry.data.dialog.type.DialogType;
|
||||||
import me.youhavetrouble.standin.converter.EntityConverter;
|
import me.youhavetrouble.standin.converter.EntityConverter;
|
||||||
import me.youhavetrouble.standin.converter.MannequinToArmorStandConverter;
|
import me.youhavetrouble.standin.converter.MannequinToArmorStandConverter;
|
||||||
@@ -15,11 +16,13 @@ import net.kyori.adventure.text.minimessage.MiniMessage;
|
|||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.Mannequin;
|
import org.bukkit.entity.Mannequin;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.entity.Pose;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@SuppressWarnings("UnstableApiUsage")
|
@SuppressWarnings("UnstableApiUsage")
|
||||||
@@ -58,6 +61,15 @@ public class MannequinHandler extends EntityHandler<Mannequin> {
|
|||||||
.initial(profileName)
|
.initial(profileName)
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
|
inputs.add(
|
||||||
|
DialogInput.singleOption("pose", Component.text("Pose"),
|
||||||
|
List.of(
|
||||||
|
SingleOptionDialogInput.OptionEntry.create("standing", Component.text("Standing"), mannequin.getPose() == Pose.STANDING),
|
||||||
|
SingleOptionDialogInput.OptionEntry.create("fall_flying", Component.text("Fall flying"), mannequin.getPose() == Pose.FALL_FLYING),
|
||||||
|
SingleOptionDialogInput.OptionEntry.create("sleeping", Component.text("Sleeping"), mannequin.getPose() == Pose.SLEEPING)
|
||||||
|
))
|
||||||
|
.build()
|
||||||
|
);
|
||||||
inputs.add(
|
inputs.add(
|
||||||
DialogInput.bool("immovable", Component.text("Immovable"))
|
DialogInput.bool("immovable", Component.text("Immovable"))
|
||||||
.initial(mannequin.isImmovable())
|
.initial(mannequin.isImmovable())
|
||||||
@@ -105,6 +117,14 @@ public class MannequinHandler extends EntityHandler<Mannequin> {
|
|||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
callbackPlayer.sendRichMessage("<red>Profile name not updated: invalid username.");
|
callbackPlayer.sendRichMessage("<red>Profile name not updated: invalid username.");
|
||||||
}
|
}
|
||||||
|
String poseString = view.getText("pose");
|
||||||
|
if (poseString != null) {
|
||||||
|
try {
|
||||||
|
Pose newPose = Pose.valueOf(poseString.toUpperCase(Locale.ROOT));
|
||||||
|
mann.setPose(newPose);
|
||||||
|
} catch (IllegalArgumentException ignored) {
|
||||||
|
}
|
||||||
|
}
|
||||||
}, ClickCallback.Options.builder().lifetime(Duration.ofMinutes(5)).uses(1).build())
|
}, ClickCallback.Options.builder().lifetime(Duration.ofMinutes(5)).uses(1).build())
|
||||||
).build();
|
).build();
|
||||||
actions.add(saveButton);
|
actions.add(saveButton);
|
||||||
|
|||||||
Reference in New Issue
Block a user