Finished Shop Admin GUI template + 'might come hany' function in Messages.java

pull/6/head
Gioth8281 9 months ago
parent c9051407f0
commit b03e2cd210
  1. 7
      src/main/java/xyz/soukup/ecoCraftCore/EcoCraftCore.java
  2. 47
      src/main/java/xyz/soukup/ecoCraftCore/commands/GuiCommand.java
  3. 17
      src/main/java/xyz/soukup/ecoCraftCore/events/InventoryActionCancel.java
  4. 4
      src/main/java/xyz/soukup/ecoCraftCore/utilities/Messages.java
  5. 10
      src/main/resources/messages.yml

@ -13,10 +13,7 @@ import xyz.soukup.ecoCraftCore.commands.GuiCommand;
import xyz.soukup.ecoCraftCore.commands.MoneyCommand; import xyz.soukup.ecoCraftCore.commands.MoneyCommand;
import xyz.soukup.ecoCraftCore.commands.RulerCommand; import xyz.soukup.ecoCraftCore.commands.RulerCommand;
import xyz.soukup.ecoCraftCore.commands.ShopCommand; import xyz.soukup.ecoCraftCore.commands.ShopCommand;
import xyz.soukup.ecoCraftCore.events.PreparePlayer; import xyz.soukup.ecoCraftCore.events.*;
import xyz.soukup.ecoCraftCore.events.RulerMarking;
import xyz.soukup.ecoCraftCore.events.ShopLogic;
import xyz.soukup.ecoCraftCore.events.VirtualChestLogic;
import xyz.soukup.ecoCraftCore.objects.Account; import xyz.soukup.ecoCraftCore.objects.Account;
import xyz.soukup.ecoCraftCore.objects.Shop; import xyz.soukup.ecoCraftCore.objects.Shop;
import xyz.soukup.ecoCraftCore.objects.Transaction; import xyz.soukup.ecoCraftCore.objects.Transaction;
@ -109,6 +106,8 @@ public final class EcoCraftCore extends JavaPlugin {
pm.registerEvents(new VirtualChestLogic(), this); pm.registerEvents(new VirtualChestLogic(), this);
pm.registerEvents(new ShopLogic(), this); pm.registerEvents(new ShopLogic(), this);
pm.registerEvents(new PreparePlayer(), this); pm.registerEvents(new PreparePlayer(), this);
pm.registerEvents(new InventoryActionCancel(), this);
} }

@ -1,6 +1,8 @@
package xyz.soukup.ecoCraftCore.commands; package xyz.soukup.ecoCraftCore.commands;
import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.arguments.StringArgumentType;
import dev.triumphteam.gui.builder.item.ItemBuilder;
import dev.triumphteam.gui.guis.GuiItem;
import io.papermc.paper.command.brigadier.CommandSourceStack; import io.papermc.paper.command.brigadier.CommandSourceStack;
import com.mojang.brigadier.builder.LiteralArgumentBuilder; import com.mojang.brigadier.builder.LiteralArgumentBuilder;
import io.papermc.paper.command.brigadier.Commands; import io.papermc.paper.command.brigadier.Commands;
@ -10,6 +12,7 @@ import net.kyori.adventure.text.Component;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import dev.triumphteam.gui.guis.Gui; import dev.triumphteam.gui.guis.Gui;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.Material;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -52,25 +55,43 @@ public class GuiCommand {
// Mapa gui objektů // Mapa gui objektů
Map<String, Gui> guiMap = new HashMap<>(); Map<String, Gui> guiMap = new HashMap<>();
// Všechny gui objekty // Default gui
Gui gui1 = Gui.gui() Gui gui1 = Gui.gui() // U custom gui dávat vždycky "GUI -" -> ../events/InventoryActionCancel
.title(Component.text("Default GUI Title")) .title(Component.text("GUI - Default"))
.rows(6) .rows(6)
.create(); .create();
Gui gui2 = Gui.gui() // Shop Admin gui
.title(Component.text("GUI Title 1")) Gui shopAdminGui = Gui.gui()
.rows(6) .title(Messages.get("gui.shopadmin.title"))
.create(); .rows(3)
Gui gui3 = Gui.gui()
.title(Component.text("GUI Title 2"))
.rows(6)
.create(); .create();
shopAdminGui.getFiller().fill(ItemBuilder.from(Material.BLACK_STAINED_GLASS_PANE)
.name(Messages.get("gui.shopadmin.items.background")).asGuiItem());
GuiItem deleteShop = ItemBuilder.from(Material.BARRIER).name(Messages.get("gui.shopadmin.items.deleteshop"))
.asGuiItem(event -> {
// Zde delete shop
});
GuiItem changeSellPrice = ItemBuilder.from(Material.OAK_SIGN).name(Messages.get("gui.shopadmin.items.changesellprice"))
.asGuiItem(event -> {
// Zde change sell price
});
GuiItem changeBuyPrice = ItemBuilder.from(Material.DARK_OAK_SIGN).name(Messages.get("gui.shopadmin.items.changebuyprice"))
.asGuiItem(event -> {
// Zde change buy price
});
GuiItem changeAmounts = ItemBuilder.from(Material.GOLD_BLOCK).name(Messages.get("gui.shopadmin.items.changeamounts"))
.asGuiItem(event -> {
// Zde change amounts
});
shopAdminGui.setItem(22, deleteShop);
shopAdminGui.setItem(15, changeBuyPrice);
shopAdminGui.setItem(11, changeSellPrice);
shopAdminGui.setItem(13, changeAmounts);
guiMap.put("default", gui1); guiMap.put("default", gui1);
guiMap.put("test1", gui2); guiMap.put("shop-admin", shopAdminGui);
guiMap.put("test2", gui3);
if (getAll){ if (getAll){
printAll(guiMap, commandSender); printAll(guiMap, commandSender);

@ -0,0 +1,17 @@
package xyz.soukup.ecoCraftCore.events;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.event.inventory.InventoryClickEvent;
public class InventoryActionCancel implements Listener {
@EventHandler
public void onInventoryClick(InventoryClickEvent event) {
if (event.getView().getTitle().contains("GUI -")) {
if (!ClickType.valueOf(event.getClick().name()).toString().isEmpty()) {
event.setCancelled(true);
}
}
}
}

@ -40,6 +40,10 @@ public class Messages {
return MiniMessage.miniMessage().deserialize(string); return MiniMessage.miniMessage().deserialize(string);
} }
public static String getAsString(String key){
return MiniMessage.miniMessage().serialize(Messages.get(key));
}
public static Component get(String key, HashMap<String, String> placeholders){ public static Component get(String key, HashMap<String, String> placeholders){
String string = getString(key); String string = getString(key);

@ -48,4 +48,12 @@ menu:
buy: "<green>Koupit <amount>ks za <price>$" buy: "<green>Koupit <amount>ks za <price>$"
sell: "<yellow>Prodat <amount>ks za <price>$" sell: "<yellow>Prodat <amount>ks za <price>$"
gui: gui:
all: "<green>Seznam guis: <yellow><1>, <2>, <3>" all: "<green>Seznam guis: <yellow><1>, <2>"
shopadmin:
title: "GUI - <dark_green>Shop Admin"
items:
background: " "
deleteshop: "<!italic><red>Smazat Obchod"
changesellprice: "<!italic><dark_green>Změnit Prodávající Cenu"
changebuyprice: "<!italic><gold>Změnit Kupující Cenu"
changeamounts: "<!italic><grey>Změnit Množství <dark_green>Prodeje <grey>a <gold>Výkupu"

Loading…
Cancel
Save