Skip to content

Commit

Permalink
Add more GUIs
Browse files Browse the repository at this point in the history
  • Loading branch information
Jakubk15 committed Jun 29, 2024
1 parent d97f4ad commit a964f33
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 11 deletions.
3 changes: 2 additions & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,8 @@ tasks {
"dev.rollczi",
"net.kyori",
"org.json",
"com.fasterxml"
"com.fasterxml",
"de.rapha149"
).forEach { relocate(it, prefix) }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,8 @@ public static class Messages {
public String parcelCannotBeEmpty = "&4✘ &cThe parcel cannot be empty!";
public String parcelNameCannotBeEmpty = "&4✘ &cThe parcel name cannot be empty!";
public String parcelNameSet = "&2✔ &aParcel name set successfully.";
public String parcelDescriptionSet = "&2✔ &aParcel description set successfully.";
public String parcelReceiverSet = "&2✔ &aParcel receiver set successfully.";
public String alreadyCreatingLocker = "&4✘ &cYou are already creating a parcel locker!";
@Description({ " ", "# The parcel info message." })
public List<String> parcelInfoMessages = List.of(
Expand Down Expand Up @@ -287,6 +289,8 @@ public static class GuiSettings {
.setLore(List.of("&aClick to edit the parcel description."))
.setType(Material.PAPER);

public String parcelDescriptionSetLine = "&2> &aCurrent parcel description: &2{DESCRIPTION}";

@Description({ " ", "# The item of the parcel receiver button" })
public ConfigItem parcelReceiverItem = new ConfigItem()
.setName("&5✧ &dParcel receiver")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ public class ParcelSendingGUI extends GuiView {
private final NotificationAnnouncer announcer;
private final ParcelContentRepository parcelContentRepository;
private final Map<UUID, String> parcelNames = new HashMap<>();
private final Map<UUID, String> parcelDescriptions = new HashMap<>();
private ParcelSize size;
private boolean priority;

Expand Down Expand Up @@ -74,8 +75,8 @@ public void show(Player player) {

GuiItem backgroundItem = guiSettings.mainGuiBackgroundItem.toGuiItem();
GuiItem cornerItem = guiSettings.cornerItem.toGuiItem();
ConfigItem parcelNameItem = guiSettings.parcelNameItem;
GuiItem nameItem = parcelNameItem.toGuiItem(event -> {
ConfigItem nameItem = guiSettings.parcelNameItem;
GuiItem nameGuiItem = nameItem.toGuiItem(event -> {
SignGUI nameSignGui = SignGUI.builder()
.setColor(DyeColor.BLACK)
.setType(Material.OAK_SIGN)
Expand All @@ -92,10 +93,10 @@ public void show(Player player) {
parcelNames.put(player.getUniqueId(), name);
announcer.sendMessage(player, settings.messages.parcelNameSet);

List<String> lore = parcelNameItem.lore;
List<String> lore = nameItem.lore;
lore.add(this.config.guiSettings.parcelNameSetLine.replace("{NAME}", this.parcelNames.getOrDefault(player.getUniqueId(), "")));

gui.updateItem(21, parcelNameItem
gui.updateItem(21, nameItem
.setLore(lore)
.toItemStack());
return Collections.emptyList();
Expand All @@ -105,8 +106,29 @@ public void show(Player player) {
nameSignGui.open(player);
});

GuiItem descriptionItem = guiSettings.parcelDescriptionItem.toGuiItem();
GuiItem receiverItem = guiSettings.parcelReceiverItem.toGuiItem();
ConfigItem descriptionItem = guiSettings.parcelDescriptionItem;
GuiItem descriptionGuiItem = descriptionItem.toGuiItem(event -> {
SignGUI descriptionSignGui = SignGUI.builder()
.setColor(DyeColor.BLACK)
.setType(Material.OAK_SIGN)
.setLine(0, "Enter the parcel description:")
.setHandler((p, result) -> {
String description = result.getLineWithoutColor(1);
announcer.sendMessage(player, settings.messages.parcelDescriptionSet);

List<String> lore = descriptionItem.lore;
lore.add(this.config.guiSettings.parcelDescriptionSetLine.replace("{DESCRIPTION}", description));

gui.updateItem(22, descriptionItem
.setLore(lore)
.toItemStack());
return Collections.emptyList();
})
.build();
descriptionSignGui.open(player);
});

ConfigItem receiverItem = guiSettings.parcelReceiverItem;
GuiItem destinationItem = guiSettings.parcelDestinationLockerItem.toGuiItem();

GuiItem storageItem = guiSettings.parcelStorageItem.toGuiItem(event -> {
Expand Down Expand Up @@ -200,10 +222,11 @@ public void show(Player player) {
gui.setItem(12, smallButton.toGuiItem(event -> this.setSelected(gui, ParcelSize.SMALL)));
gui.setItem(13, mediumButton.toGuiItem(event -> this.setSelected(gui, ParcelSize.MEDIUM)));
gui.setItem(14, largeButton.toGuiItem(event -> this.setSelected(gui, ParcelSize.LARGE)));
gui.setItem(21, nameItem);
gui.setItem(21, nameGuiItem);
gui.setItem(22, descriptionGuiItem);
gui.setItem(37, storageItem);
gui.setItem(43, submitItem);
gui.setItem(48, priorityItem.toGuiItem(event -> this.setSelected(gui, !this.priority)));
gui.setItem(42, priorityItem.toGuiItem(event -> this.setSelected(gui, !this.priority)));
gui.setItem(49, closeItem);

gui.open(player);
Expand All @@ -221,7 +244,7 @@ private void setSelected(Gui gui, ParcelSize size) {
gui.updateItem(12, smallButton.toItemStack());
gui.updateItem(13, mediumButton.toItemStack());
gui.updateItem(14, largeButton.toItemStack());
gui.updateItem(48, priorityButton.toItemStack());
gui.updateItem(42, priorityButton.toItemStack());
}

private void setSelected(Gui gui, boolean priority) {
Expand All @@ -230,6 +253,6 @@ private void setSelected(Gui gui, boolean priority) {

ConfigItem priorityButton = priority ? settings.selectedPriorityItem : settings.priorityItem;

gui.updateItem(48, priorityButton.toItemStack());
gui.updateItem(42, priorityButton.toItemStack());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.eternalcode.parcellockers.gui.implementation.locker;

import com.eternalcode.parcellockers.gui.GuiView;
import org.bukkit.entity.Player;

public class ReceiverSelectionGui extends GuiView {

@Override
public void show(Player player) {

}
}

0 comments on commit a964f33

Please sign in to comment.