UltimateModeration/src/main/java/com/craftaro/ultimatemoderation/gui/TemplateSelectorGui.java

52 lines
2.1 KiB
Java
Raw Normal View History

2023-08-02 18:57:10 +02:00
package com.craftaro.ultimatemoderation.gui;
2020-08-05 00:20:25 +02:00
import com.craftaro.core.gui.Gui;
import com.craftaro.core.gui.GuiUtils;
import com.craftaro.core.third_party.com.cryptomorin.xseries.XMaterial;
import com.craftaro.core.utils.TextUtils;
2023-08-02 18:57:10 +02:00
import com.craftaro.ultimatemoderation.UltimateModeration;
import com.craftaro.ultimatemoderation.punish.template.Template;
2020-08-05 00:20:25 +02:00
import org.bukkit.entity.Player;
import java.util.ArrayList;
public class TemplateSelectorGui extends Gui {
private final UltimateModeration plugin;
2020-09-08 22:34:28 +02:00
private final PunishGui punish;
2020-08-05 00:20:25 +02:00
public TemplateSelectorGui(UltimateModeration plugin, PunishGui punish, Player player) {
super(6);
setDefaultItem(null);
this.plugin = plugin;
this.punish = punish;
setTitle(plugin.getLocale().getMessage("gui.templateselector.title").getMessage());
paint();
}
private void paint() {
setButton(8, GuiUtils.createButtonItem(XMaterial.OAK_DOOR,
this.plugin.getLocale().getMessage("gui.general.back").getMessage()),
2020-08-05 00:20:25 +02:00
(event) -> {
this.guiManager.showGUI(event.player, this.punish);
this.punish.runTask();
2020-08-05 00:20:25 +02:00
});
ArrayList<Template> templates = new ArrayList<>(this.plugin.getTemplateManager().getTemplates());
2020-08-05 00:20:25 +02:00
for (int i = 0; i < templates.size(); i++) {
Template template = templates.get(i);
setButton(18 + i, GuiUtils.createButtonItem(XMaterial.MAP, TextUtils.formatText("&6&l" + template.getName()),
this.plugin.getLocale().getMessage("gui.templateselector.click").getMessage()),
2020-08-05 00:20:25 +02:00
(event) -> {
this.punish.setType(template.getPunishmentType());
this.punish.setDuration(template.getDuration());
this.punish.setReason(template.getReason());
this.punish.setTemplate(template);
this.punish.runTask();
this.punish.paint();
this.guiManager.showGUI(event.player, this.punish);
2020-08-05 00:20:25 +02:00
});
}
}
}