mirror of
https://github.com/FancyInnovations/FancyPlugins.git
synced 2025-12-06 07:43:36 +00:00
fancydialogs: Rename the api module to fd-api
This commit is contained in:
77
plugins/fancydialogs/fd-api/build.gradle.kts
Normal file
77
plugins/fancydialogs/fd-api/build.gradle.kts
Normal file
@@ -0,0 +1,77 @@
|
||||
plugins {
|
||||
id("java-library")
|
||||
id("maven-publish")
|
||||
id("com.gradleup.shadow")
|
||||
}
|
||||
|
||||
val minecraftVersion = "1.21.5"
|
||||
|
||||
dependencies {
|
||||
compileOnly("io.papermc.paper:paper-api:$minecraftVersion-R0.1-SNAPSHOT")
|
||||
|
||||
compileOnly(project(":libraries:common"))
|
||||
compileOnly("de.oliver.FancyAnalytics:logger:0.0.6")
|
||||
|
||||
implementation("org.lushplugins:ChatColorHandler:5.1.3")
|
||||
|
||||
implementation("org.jetbrains:annotations:24.0.0")
|
||||
}
|
||||
|
||||
tasks {
|
||||
shadowJar {
|
||||
relocate("org.lushplugins.chatcolorhandler", "com.fancyinnovations.fancydialogs.libs.chatcolorhandler")
|
||||
|
||||
archiveClassifier.set("")
|
||||
}
|
||||
|
||||
publishing {
|
||||
repositories {
|
||||
maven {
|
||||
name = "fancyinnovationsReleases"
|
||||
url = uri("https://repo.fancyinnovations.com/releases")
|
||||
credentials(PasswordCredentials::class)
|
||||
authentication {
|
||||
isAllowInsecureProtocol = true
|
||||
create<BasicAuthentication>("basic")
|
||||
}
|
||||
}
|
||||
|
||||
maven {
|
||||
name = "fancyinnovationsSnapshots"
|
||||
url = uri("https://repo.fancyinnovations.com/snapshots")
|
||||
credentials(PasswordCredentials::class)
|
||||
authentication {
|
||||
isAllowInsecureProtocol = true
|
||||
create<BasicAuthentication>("basic")
|
||||
}
|
||||
}
|
||||
}
|
||||
publications {
|
||||
create<MavenPublication>("maven") {
|
||||
groupId = "de.oliver"
|
||||
artifactId = "FancyHolograms"
|
||||
version = getFDVersion()
|
||||
from(project.components["java"])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
withSourcesJar()
|
||||
withJavadocJar()
|
||||
}
|
||||
|
||||
javadoc {
|
||||
options.encoding = Charsets.UTF_8.name()
|
||||
}
|
||||
|
||||
compileJava {
|
||||
options.encoding = Charsets.UTF_8.name()
|
||||
|
||||
options.release.set(21)
|
||||
}
|
||||
}
|
||||
|
||||
fun getFDVersion(): String {
|
||||
return file("../VERSION").readText()
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.fancyinnovations.fancydialogs.api;
|
||||
|
||||
import com.fancyinnovations.fancydialogs.api.data.DialogData;
|
||||
import com.fancyinnovations.fancydialogs.api.data.types.DialogType;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public abstract class Dialog {
|
||||
|
||||
private String id;
|
||||
private Type type;
|
||||
private DialogType dialog;
|
||||
|
||||
public Dialog(@NotNull String id, @NotNull Type type, @NotNull DialogType dialog) {
|
||||
this.id = id;
|
||||
this.type = type;
|
||||
this.dialog = dialog;
|
||||
}
|
||||
|
||||
public Dialog() {
|
||||
}
|
||||
|
||||
abstract public void open(Player player);
|
||||
|
||||
abstract public void close(Player player);
|
||||
|
||||
public @NotNull String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public @NotNull Type getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(@NotNull Type type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public @NotNull DialogType getDialog() {
|
||||
return dialog;
|
||||
}
|
||||
|
||||
public void setDialog(@NotNull DialogType dialog) {
|
||||
this.dialog = dialog;
|
||||
}
|
||||
|
||||
public enum Type {
|
||||
NOTICE,
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.fancyinnovations.fancydialogs.api.data;
|
||||
|
||||
import com.fancyinnovations.fancydialogs.api.data.body.DialogBody;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public record DialogData(
|
||||
@NotNull String id,
|
||||
@NotNull String title,
|
||||
@Nullable String externalTitle,
|
||||
boolean canCloseWithEscape,
|
||||
@NotNull List<DialogBody> body
|
||||
) {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.fancyinnovations.fancydialogs.api.data.body;
|
||||
|
||||
public interface DialogBody {
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.fancyinnovations.fancydialogs.api.data.body;
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public record ItemBody(
|
||||
@NotNull ItemStack item,
|
||||
@Nullable TextBody description,
|
||||
boolean showDecorations,
|
||||
boolean showTooltip,
|
||||
int width,
|
||||
int height
|
||||
) implements DialogBody {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.fancyinnovations.fancydialogs.api.data.body;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public record TextBody(
|
||||
@NotNull String content,
|
||||
int width
|
||||
) implements DialogBody {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.fancyinnovations.fancydialogs.api.data.click;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public record Button(
|
||||
@NotNull String label,
|
||||
@Nullable String tooltip,
|
||||
int width
|
||||
) {
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.fancyinnovations.fancydialogs.api.data.click;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public record ClickAction(
|
||||
@NotNull Button button,
|
||||
@Nullable ClickEvent onClick
|
||||
) {
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.fancyinnovations.fancydialogs.api.data.click;
|
||||
|
||||
public enum ClickEvent {
|
||||
OPEN_URL,
|
||||
OPEN_FILE,
|
||||
RUN_COMMAND,
|
||||
SUGGEST_COMMAND,
|
||||
SHOW_DIALOG,
|
||||
CHANGE_PAGE,
|
||||
COPY_TO_CLIPBOARD,
|
||||
CUSTOM,
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.fancyinnovations.fancydialogs.api.data.input;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public record CheckboxInput(
|
||||
@NotNull String label,
|
||||
boolean initial,
|
||||
@NotNull String onTrue,
|
||||
@NotNull String onFalse
|
||||
) implements DialogInput {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.fancyinnovations.fancydialogs.api.data.input;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public record ComboboxInput (
|
||||
int width,
|
||||
@NotNull List<Entry> entries,
|
||||
@NotNull String label,
|
||||
boolean labelVisible
|
||||
) implements DialogInput {
|
||||
|
||||
public record Entry(
|
||||
@NotNull String id,
|
||||
@Nullable String display,
|
||||
boolean initial
|
||||
) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.fancyinnovations.fancydialogs.api.data.input;
|
||||
|
||||
public interface DialogInput {
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.fancyinnovations.fancydialogs.api.data.input;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public record SliderInput(
|
||||
int width,
|
||||
@NotNull String label,
|
||||
@NotNull String labelFormat,
|
||||
@NotNull RangeInfo rangeInfo
|
||||
) implements DialogInput {
|
||||
|
||||
public record RangeInfo(
|
||||
double start,
|
||||
double end,
|
||||
@Nullable Double initial,
|
||||
int steps
|
||||
) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.fancyinnovations.fancydialogs.api.data.input;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public record TextInput(
|
||||
int width,
|
||||
@NotNull String label,
|
||||
boolean labelVisible,
|
||||
@Nullable String initial
|
||||
) implements DialogInput {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.fancyinnovations.fancydialogs.api.data.submit;
|
||||
|
||||
public interface SubmitMethod {
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.fancyinnovations.fancydialogs.api.data.types;
|
||||
|
||||
import com.fancyinnovations.fancydialogs.api.data.DialogData;
|
||||
import com.fancyinnovations.fancydialogs.api.data.click.ClickAction;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public record ConfirmationDialog(
|
||||
@NotNull DialogData common,
|
||||
@NotNull ClickAction yesButton,
|
||||
@NotNull ClickAction noButton
|
||||
) implements DialogType {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.fancyinnovations.fancydialogs.api.data.types;
|
||||
|
||||
import com.fancyinnovations.fancydialogs.api.data.DialogData;
|
||||
import com.fancyinnovations.fancydialogs.api.data.click.ClickEvent;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public record DialogListDialog(
|
||||
@NotNull DialogData common,
|
||||
@NotNull List<DialogType> dialogs,
|
||||
@Nullable ClickEvent onCancel,
|
||||
int columns,
|
||||
int buttonWidth
|
||||
) implements DialogType {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.fancyinnovations.fancydialogs.api.data.types;
|
||||
|
||||
public interface DialogType {
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.fancyinnovations.fancydialogs.api.data.types;
|
||||
|
||||
import com.fancyinnovations.fancydialogs.api.data.click.Button;
|
||||
import com.fancyinnovations.fancydialogs.api.data.input.DialogInput;
|
||||
import com.fancyinnovations.fancydialogs.api.data.submit.SubmitMethod;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public interface InputFormDialog extends DialogType {
|
||||
|
||||
record Input(
|
||||
@NotNull String key,
|
||||
@NotNull DialogInput control
|
||||
) {
|
||||
}
|
||||
|
||||
record SubmitAction(
|
||||
@NotNull String id,
|
||||
@NotNull Button buttonData,
|
||||
@NotNull SubmitMethod method
|
||||
) {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.fancyinnovations.fancydialogs.api.data.types;
|
||||
|
||||
import com.fancyinnovations.fancydialogs.api.data.DialogData;
|
||||
import com.fancyinnovations.fancydialogs.api.data.click.ClickAction;
|
||||
import com.fancyinnovations.fancydialogs.api.data.click.ClickEvent;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public record MultiActionDialog(
|
||||
@NotNull DialogData common,
|
||||
@NotNull List<ClickAction> actions,
|
||||
@Nullable ClickEvent onCancel,
|
||||
int columns
|
||||
) implements DialogType {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.fancyinnovations.fancydialogs.api.data.types;
|
||||
|
||||
import com.fancyinnovations.fancydialogs.api.data.DialogData;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public record MultiActionInputFormDialog(
|
||||
@NotNull DialogData common,
|
||||
@NotNull List<InputFormDialog.Input> inputs,
|
||||
@NotNull List<InputFormDialog.SubmitAction> actions
|
||||
) implements DialogType {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.fancyinnovations.fancydialogs.api.data.types;
|
||||
|
||||
import com.fancyinnovations.fancydialogs.api.data.DialogData;
|
||||
import com.fancyinnovations.fancydialogs.api.data.click.ClickAction;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public record NoticeDialog(
|
||||
@NotNull DialogData common,
|
||||
@NotNull ClickAction button
|
||||
) implements DialogType {
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.fancyinnovations.fancydialogs.api.data.types;
|
||||
|
||||
import com.fancyinnovations.fancydialogs.api.data.DialogData;
|
||||
import com.fancyinnovations.fancydialogs.api.data.click.ClickEvent;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public record ServerLinksDialog(
|
||||
@NotNull DialogData common,
|
||||
@Nullable ClickEvent onCancel,
|
||||
int columns,
|
||||
int buttonWidth
|
||||
) implements DialogType {
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.fancyinnovations.fancydialogs.api.data.types;
|
||||
|
||||
import com.fancyinnovations.fancydialogs.api.data.DialogData;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public record SimpleInputFormDialog(
|
||||
@NotNull DialogData common,
|
||||
@NotNull List<InputFormDialog.Input> inputs,
|
||||
@NotNull InputFormDialog.SubmitAction action
|
||||
) implements DialogType {
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user