diff --git a/galaxy/src/main/java/com/alttd/chat/requests/NickNameRequest.java b/galaxy/src/main/java/com/alttd/chat/requests/NickNameRequest.java new file mode 100644 index 0000000..a55c590 --- /dev/null +++ b/galaxy/src/main/java/com/alttd/chat/requests/NickNameRequest.java @@ -0,0 +1,18 @@ +package com.alttd.chat.requests; + +import java.util.UUID; + +public class NickNameRequest extends Request { + + public NickNameRequest(UUID requester, String request) { + super(requester, request); + + this.requestType = RequestType.NICKNAME; + } + + @Override + public boolean processRequest(UUID processor) { + return false; + } + +} diff --git a/galaxy/src/main/java/com/alttd/chat/requests/PrefixRequest.java b/galaxy/src/main/java/com/alttd/chat/requests/PrefixRequest.java new file mode 100644 index 0000000..ea9fc04 --- /dev/null +++ b/galaxy/src/main/java/com/alttd/chat/requests/PrefixRequest.java @@ -0,0 +1,18 @@ +package com.alttd.chat.requests; + +import java.util.UUID; + +public class PrefixRequest extends Request{ + + public PrefixRequest(UUID requester, String request) { + super(requester, request); + + this.requestType = RequestType.PREFIX; + } + + @Override + public boolean processRequest(UUID processor) { + return false; + } + +} diff --git a/galaxy/src/main/java/com/alttd/chat/requests/Request.java b/galaxy/src/main/java/com/alttd/chat/requests/Request.java new file mode 100644 index 0000000..39ddeeb --- /dev/null +++ b/galaxy/src/main/java/com/alttd/chat/requests/Request.java @@ -0,0 +1,35 @@ +package com.alttd.chat.requests; + +import org.bukkit.Bukkit; + +import java.util.UUID; + +public abstract class Request { + + protected UUID requester; + protected RequestType requestType; + protected String serverName; + protected String request; + protected boolean completed; + protected boolean acceptedBy; + + Request(UUID requester, String request) { + this.requester = requester; + this.request = request; + this.serverName = Bukkit.getServerName(); + } + + public static Request of(UUID requester, RequestType requestType, String request) { + return switch (requestType) { + case PREFIX -> new PrefixRequest(requester, request); + case NICKNAME -> new NickNameRequest(requester, request); + }; + } + + public abstract boolean processRequest(UUID processor); + + public boolean isCompleted() { + return completed; + } + +} diff --git a/galaxy/src/main/java/com/alttd/chat/requests/RequestHandler.java b/galaxy/src/main/java/com/alttd/chat/requests/RequestHandler.java new file mode 100644 index 0000000..5647465 --- /dev/null +++ b/galaxy/src/main/java/com/alttd/chat/requests/RequestHandler.java @@ -0,0 +1,25 @@ +package com.alttd.chat.requests; + +import java.util.*; + +public class RequestHandler { + + private final HashMap requests; + + public RequestHandler() { + requests = new HashMap<>(); + } + + public void addRequest(Request request) { + requests.putIfAbsent(request.requester, request); + } + + public void removeRequest(Request request) { + requests.remove(request.requester); + } + + public HashMap getRequests() { + return requests; + } + +} diff --git a/galaxy/src/main/java/com/alttd/chat/requests/RequestType.java b/galaxy/src/main/java/com/alttd/chat/requests/RequestType.java new file mode 100644 index 0000000..025209b --- /dev/null +++ b/galaxy/src/main/java/com/alttd/chat/requests/RequestType.java @@ -0,0 +1,8 @@ +package com.alttd.chat.requests; + +public enum RequestType { + + NICKNAME, + PREFIX + +} diff --git a/galaxy/src/main/java/com/alttd/chat/requests/RequestsGui.java b/galaxy/src/main/java/com/alttd/chat/requests/RequestsGui.java new file mode 100644 index 0000000..1e7e6c2 --- /dev/null +++ b/galaxy/src/main/java/com/alttd/chat/requests/RequestsGui.java @@ -0,0 +1,22 @@ +package com.alttd.chat.requests; + +import org.bukkit.Bukkit; +import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.InventoryHolder; +import org.jetbrains.annotations.NotNull; + +public class RequestsGui implements InventoryHolder { + + private final Inventory inventory; + private final int inventorySize = 54; + + RequestsGui() { + inventory = Bukkit.createInventory(this, inventorySize, "A title"); + } + + @Override + public @NotNull Inventory getInventory() { + return inventory; + } + +}