mirror of
https://github.com/BentoBoxWorld/Challenges.git
synced 2024-11-24 19:45:14 +01:00
Replace GuiUtils and HeadLib to the PanelUtils library.
This commit is contained in:
parent
e4f93615ce
commit
e9f37e8dee
48
pom.xml
48
pom.xml
@ -40,6 +40,7 @@
|
|||||||
<bentobox.version>1.17.3</bentobox.version>
|
<bentobox.version>1.17.3</bentobox.version>
|
||||||
<level.version>2.6.3</level.version>
|
<level.version>2.6.3</level.version>
|
||||||
<vault.version>1.7</vault.version>
|
<vault.version>1.7</vault.version>
|
||||||
|
<panelutils.version>1.0.0</panelutils.version>
|
||||||
<!-- Revision variable removes warning about dynamic version -->
|
<!-- Revision variable removes warning about dynamic version -->
|
||||||
<revision>${build.version}-SNAPSHOT</revision>
|
<revision>${build.version}-SNAPSHOT</revision>
|
||||||
<!-- This allows to change between versions and snapshots. -->
|
<!-- This allows to change between versions and snapshots. -->
|
||||||
@ -136,7 +137,7 @@
|
|||||||
<groupId>org.spigotmc</groupId>
|
<groupId>org.spigotmc</groupId>
|
||||||
<artifactId>plugin-annotations</artifactId>
|
<artifactId>plugin-annotations</artifactId>
|
||||||
<version>1.2.3-SNAPSHOT</version>
|
<version>1.2.3-SNAPSHOT</version>
|
||||||
<scope>compile</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- Vault API -->
|
<!-- Vault API -->
|
||||||
<dependency>
|
<dependency>
|
||||||
@ -158,11 +159,19 @@
|
|||||||
<version>${level.version}</version>
|
<version>${level.version}</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!-- PanelUtils -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>lv.id.bonne</groupId>
|
||||||
|
<artifactId>panelutils</artifactId>
|
||||||
|
<version>${panelutils.version}</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
<!-- Annotations -->
|
<!-- Annotations -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.jetbrains</groupId>
|
<groupId>org.jetbrains</groupId>
|
||||||
<artifactId>annotations</artifactId>
|
<artifactId>annotations</artifactId>
|
||||||
<version>21.0.1</version>
|
<version>22.0.0</version>
|
||||||
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- Mockito (Unit testing) -->
|
<!-- Mockito (Unit testing) -->
|
||||||
<dependency>
|
<dependency>
|
||||||
@ -190,7 +199,6 @@
|
|||||||
<version>1.5.21</version>
|
<version>1.5.21</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
@ -236,6 +244,8 @@
|
|||||||
<artifactId>maven-compiler-plugin</artifactId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<version>3.7.0</version>
|
<version>3.7.0</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
|
<source>${java.version}</source>
|
||||||
|
<target>${java.version}</target>
|
||||||
<release>${java.version}</release>
|
<release>${java.version}</release>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
@ -350,6 +360,38 @@
|
|||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-shade-plugin</artifactId>
|
||||||
|
<version>3.3.1-SNAPSHOT</version>
|
||||||
|
<configuration>
|
||||||
|
<minimizeJar>true</minimizeJar>
|
||||||
|
<artifactSet>
|
||||||
|
<includes>
|
||||||
|
<include>lv.id.bonne:panelutils:*</include>
|
||||||
|
</includes>
|
||||||
|
</artifactSet>
|
||||||
|
<transformers>
|
||||||
|
<!-- Add a transformer to exclude any other manifest files (possibly from dependencies). -->
|
||||||
|
<transformer implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
|
||||||
|
<resource>MANIFEST.MF</resource>
|
||||||
|
</transformer>
|
||||||
|
<!-- Add a transformer to include your custom manifest file. -->
|
||||||
|
<transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
|
||||||
|
<resource>META-INF/MANIFEST.MF</resource>
|
||||||
|
<file>src/main/resources/META-INF/MANIFEST.MF</file>
|
||||||
|
</transformer>
|
||||||
|
</transformers>
|
||||||
|
</configuration>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>shade</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ public class IslandRequirements extends Requirements
|
|||||||
/**
|
/**
|
||||||
* Method IslandRequirements#getRequiredBlocks returns the requiredBlocks of this object.
|
* Method IslandRequirements#getRequiredBlocks returns the requiredBlocks of this object.
|
||||||
*
|
*
|
||||||
* @return the requiredBlocks (type Map<Material, Integer>) of this object.
|
* @return the requiredBlocks (type {@code Map<Material, Integer>}) of this object.
|
||||||
*/
|
*/
|
||||||
public Map<Material, Integer> getRequiredBlocks()
|
public Map<Material, Integer> getRequiredBlocks()
|
||||||
{
|
{
|
||||||
@ -83,7 +83,7 @@ public class IslandRequirements extends Requirements
|
|||||||
/**
|
/**
|
||||||
* Method IslandRequirements#getRequiredEntities returns the requiredEntities of this object.
|
* Method IslandRequirements#getRequiredEntities returns the requiredEntities of this object.
|
||||||
*
|
*
|
||||||
* @return the requiredEntities (type Map<EntityType, Integer>) of this object.
|
* @return the requiredEntities (type {@code Map<EntityType, Integer>}) of this object.
|
||||||
*/
|
*/
|
||||||
public Map<EntityType, Integer> getRequiredEntities()
|
public Map<EntityType, Integer> getRequiredEntities()
|
||||||
{
|
{
|
||||||
|
@ -11,6 +11,7 @@ import org.bukkit.Material;
|
|||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import lv.id.bonne.panelutils.PanelUtils;
|
||||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
||||||
@ -20,7 +21,6 @@ import world.bentobox.challenges.panel.CommonPanel;
|
|||||||
import world.bentobox.challenges.panel.ConversationUtils;
|
import world.bentobox.challenges.panel.ConversationUtils;
|
||||||
import world.bentobox.challenges.panel.util.ChallengeTypeSelector;
|
import world.bentobox.challenges.panel.util.ChallengeTypeSelector;
|
||||||
import world.bentobox.challenges.utils.Constants;
|
import world.bentobox.challenges.utils.Constants;
|
||||||
import world.bentobox.challenges.utils.GuiUtils;
|
|
||||||
import world.bentobox.challenges.utils.Utils;
|
import world.bentobox.challenges.utils.Utils;
|
||||||
import world.bentobox.challenges.web.WebManager;
|
import world.bentobox.challenges.web.WebManager;
|
||||||
|
|
||||||
@ -84,7 +84,7 @@ public class AdminPanel extends CommonPanel
|
|||||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(
|
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(
|
||||||
this.user.getTranslation(Constants.TITLE + "admin-gui"));
|
this.user.getTranslation(Constants.TITLE + "admin-gui"));
|
||||||
|
|
||||||
GuiUtils.fillBorder(panelBuilder);
|
PanelUtils.fillBorder(panelBuilder);
|
||||||
|
|
||||||
panelBuilder.item(10, this.createButton(Button.COMPLETE_USER_CHALLENGES));
|
panelBuilder.item(10, this.createButton(Button.COMPLETE_USER_CHALLENGES));
|
||||||
panelBuilder.item(19, this.createButton(Button.RESET_USER_CHALLENGES));
|
panelBuilder.item(19, this.createButton(Button.RESET_USER_CHALLENGES));
|
||||||
|
@ -12,6 +12,7 @@ import org.bukkit.event.inventory.InventoryClickEvent;
|
|||||||
import org.bukkit.event.inventory.InventoryCloseEvent;
|
import org.bukkit.event.inventory.InventoryCloseEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import lv.id.bonne.panelutils.PanelUtils;
|
||||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||||
import world.bentobox.bentobox.api.panels.PanelListener;
|
import world.bentobox.bentobox.api.panels.PanelListener;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||||
@ -28,7 +29,6 @@ import world.bentobox.challenges.panel.CommonPanel;
|
|||||||
import world.bentobox.challenges.panel.ConversationUtils;
|
import world.bentobox.challenges.panel.ConversationUtils;
|
||||||
import world.bentobox.challenges.panel.util.*;
|
import world.bentobox.challenges.panel.util.*;
|
||||||
import world.bentobox.challenges.utils.Constants;
|
import world.bentobox.challenges.utils.Constants;
|
||||||
import world.bentobox.challenges.utils.GuiUtils;
|
|
||||||
import world.bentobox.challenges.utils.Utils;
|
import world.bentobox.challenges.utils.Utils;
|
||||||
|
|
||||||
|
|
||||||
@ -125,7 +125,7 @@ public class EditChallengePanel extends CommonPanel
|
|||||||
this.user.getTranslation(Constants.TITLE + "edit-challenge",
|
this.user.getTranslation(Constants.TITLE + "edit-challenge",
|
||||||
"[challenge]", this.challenge.getFriendlyName()));
|
"[challenge]", this.challenge.getFriendlyName()));
|
||||||
|
|
||||||
GuiUtils.fillBorder(panelBuilder);
|
PanelUtils.fillBorder(panelBuilder);
|
||||||
|
|
||||||
panelBuilder.item(2, this.createMenuButton(MenuType.PROPERTIES));
|
panelBuilder.item(2, this.createMenuButton(MenuType.PROPERTIES));
|
||||||
panelBuilder.item(4, this.createMenuButton(MenuType.REQUIREMENTS));
|
panelBuilder.item(4, this.createMenuButton(MenuType.REQUIREMENTS));
|
||||||
@ -1330,7 +1330,7 @@ public class EditChallengePanel extends CommonPanel
|
|||||||
|
|
||||||
icon = requirements.getEntity() == null ?
|
icon = requirements.getEntity() == null ?
|
||||||
new ItemStack(Material.BARRIER) :
|
new ItemStack(Material.BARRIER) :
|
||||||
new ItemStack(GuiUtils.getEntityEgg(requirements.getEntity()));
|
new ItemStack(PanelUtils.getEntityEgg(requirements.getEntity()));
|
||||||
clickHandler = (panel, user, clickType, slot) -> {
|
clickHandler = (panel, user, clickType, slot) -> {
|
||||||
SingleEntitySelector.open(this.user,
|
SingleEntitySelector.open(this.user,
|
||||||
true,
|
true,
|
||||||
|
@ -11,6 +11,7 @@ import org.bukkit.event.inventory.InventoryClickEvent;
|
|||||||
import org.bukkit.event.inventory.InventoryCloseEvent;
|
import org.bukkit.event.inventory.InventoryCloseEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import lv.id.bonne.panelutils.PanelUtils;
|
||||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||||
import world.bentobox.bentobox.api.panels.PanelListener;
|
import world.bentobox.bentobox.api.panels.PanelListener;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||||
@ -27,7 +28,6 @@ import world.bentobox.challenges.panel.ConversationUtils;
|
|||||||
import world.bentobox.challenges.panel.util.ItemSelector;
|
import world.bentobox.challenges.panel.util.ItemSelector;
|
||||||
import world.bentobox.challenges.panel.util.ChallengeSelector;
|
import world.bentobox.challenges.panel.util.ChallengeSelector;
|
||||||
import world.bentobox.challenges.utils.Constants;
|
import world.bentobox.challenges.utils.Constants;
|
||||||
import world.bentobox.challenges.utils.GuiUtils;
|
|
||||||
import world.bentobox.challenges.utils.Utils;
|
import world.bentobox.challenges.utils.Utils;
|
||||||
|
|
||||||
|
|
||||||
@ -131,7 +131,7 @@ public class EditLevelPanel extends CommonPagedPanel<Challenge>
|
|||||||
this.user.getTranslation(Constants.TITLE + "edit-level",
|
this.user.getTranslation(Constants.TITLE + "edit-level",
|
||||||
"[level]", this.challengeLevel.getFriendlyName()));
|
"[level]", this.challengeLevel.getFriendlyName()));
|
||||||
|
|
||||||
GuiUtils.fillBorder(panelBuilder);
|
PanelUtils.fillBorder(panelBuilder);
|
||||||
|
|
||||||
panelBuilder.item(2, this.createMenuButton(MenuType.PROPERTIES));
|
panelBuilder.item(2, this.createMenuButton(MenuType.PROPERTIES));
|
||||||
panelBuilder.item(4, this.createMenuButton(MenuType.REWARDS));
|
panelBuilder.item(4, this.createMenuButton(MenuType.REWARDS));
|
||||||
|
@ -11,6 +11,7 @@ import org.bukkit.event.inventory.InventoryClickEvent;
|
|||||||
import org.bukkit.event.inventory.InventoryCloseEvent;
|
import org.bukkit.event.inventory.InventoryCloseEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import lv.id.bonne.panelutils.PanelUtils;
|
||||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||||
import world.bentobox.bentobox.api.panels.PanelListener;
|
import world.bentobox.bentobox.api.panels.PanelListener;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||||
@ -23,7 +24,6 @@ import world.bentobox.challenges.config.SettingsUtils.VisibilityMode;
|
|||||||
import world.bentobox.challenges.panel.CommonPanel;
|
import world.bentobox.challenges.panel.CommonPanel;
|
||||||
import world.bentobox.challenges.panel.ConversationUtils;
|
import world.bentobox.challenges.panel.ConversationUtils;
|
||||||
import world.bentobox.challenges.utils.Constants;
|
import world.bentobox.challenges.utils.Constants;
|
||||||
import world.bentobox.challenges.utils.GuiUtils;
|
|
||||||
import world.bentobox.challenges.utils.Utils;
|
import world.bentobox.challenges.utils.Utils;
|
||||||
|
|
||||||
|
|
||||||
@ -105,7 +105,7 @@ public class EditSettingsPanel extends CommonPanel
|
|||||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(
|
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(
|
||||||
this.user.getTranslation(Constants.TITLE + "settings"));
|
this.user.getTranslation(Constants.TITLE + "settings"));
|
||||||
|
|
||||||
GuiUtils.fillBorder(panelBuilder);
|
PanelUtils.fillBorder(panelBuilder);
|
||||||
|
|
||||||
panelBuilder.item(10, this.getSettingsButton(Button.SHOW_TITLE));
|
panelBuilder.item(10, this.getSettingsButton(Button.SHOW_TITLE));
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@ import org.bukkit.event.inventory.InventoryClickEvent;
|
|||||||
import org.bukkit.event.inventory.InventoryCloseEvent;
|
import org.bukkit.event.inventory.InventoryCloseEvent;
|
||||||
import org.bukkit.scheduler.BukkitTask;
|
import org.bukkit.scheduler.BukkitTask;
|
||||||
|
|
||||||
|
import lv.id.bonne.panelutils.PanelUtils;
|
||||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||||
import world.bentobox.bentobox.api.panels.PanelListener;
|
import world.bentobox.bentobox.api.panels.PanelListener;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||||
@ -24,7 +25,6 @@ import world.bentobox.challenges.panel.CommonPagedPanel;
|
|||||||
import world.bentobox.challenges.panel.CommonPanel;
|
import world.bentobox.challenges.panel.CommonPanel;
|
||||||
import world.bentobox.challenges.panel.ConversationUtils;
|
import world.bentobox.challenges.panel.ConversationUtils;
|
||||||
import world.bentobox.challenges.utils.Constants;
|
import world.bentobox.challenges.utils.Constants;
|
||||||
import world.bentobox.challenges.utils.GuiUtils;
|
|
||||||
import world.bentobox.challenges.utils.Utils;
|
import world.bentobox.challenges.utils.Utils;
|
||||||
import world.bentobox.challenges.web.object.LibraryEntry;
|
import world.bentobox.challenges.web.object.LibraryEntry;
|
||||||
|
|
||||||
@ -182,7 +182,7 @@ public class LibraryPanel extends CommonPagedPanel<LibraryEntry>
|
|||||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(
|
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(
|
||||||
this.user.getTranslation(Constants.TITLE + "library"));
|
this.user.getTranslation(Constants.TITLE + "library"));
|
||||||
|
|
||||||
GuiUtils.fillBorder(panelBuilder);
|
PanelUtils.fillBorder(panelBuilder);
|
||||||
|
|
||||||
this.populateElements(panelBuilder, this.filterElements);
|
this.populateElements(panelBuilder, this.filterElements);
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ import java.util.stream.Collectors;
|
|||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
|
|
||||||
|
import lv.id.bonne.panelutils.PanelUtils;
|
||||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
||||||
@ -19,7 +20,6 @@ import world.bentobox.challenges.panel.CommonPagedPanel;
|
|||||||
import world.bentobox.challenges.panel.CommonPanel;
|
import world.bentobox.challenges.panel.CommonPanel;
|
||||||
import world.bentobox.challenges.panel.ConversationUtils;
|
import world.bentobox.challenges.panel.ConversationUtils;
|
||||||
import world.bentobox.challenges.utils.Constants;
|
import world.bentobox.challenges.utils.Constants;
|
||||||
import world.bentobox.challenges.utils.GuiUtils;
|
|
||||||
import world.bentobox.challenges.utils.Utils;
|
import world.bentobox.challenges.utils.Utils;
|
||||||
|
|
||||||
|
|
||||||
@ -119,11 +119,11 @@ public class ListChallengesPanel extends CommonPagedPanel<Challenge>
|
|||||||
|
|
||||||
if (this.currentMode.equals(Mode.DELETE))
|
if (this.currentMode.equals(Mode.DELETE))
|
||||||
{
|
{
|
||||||
GuiUtils.fillBorder(panelBuilder, Material.RED_STAINED_GLASS_PANE);
|
PanelUtils.fillBorder(panelBuilder, Material.RED_STAINED_GLASS_PANE);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GuiUtils.fillBorder(panelBuilder);
|
PanelUtils.fillBorder(panelBuilder);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Challenge> challengeList = this.addon.getChallengesManager().getAllChallenges(this.world).
|
List<Challenge> challengeList = this.addon.getChallengesManager().getAllChallenges(this.world).
|
||||||
|
@ -8,19 +8,18 @@ import java.util.List;
|
|||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import lv.id.bonne.panelutils.PanelUtils;
|
||||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
||||||
import world.bentobox.bentobox.api.user.User;
|
import world.bentobox.bentobox.api.user.User;
|
||||||
import world.bentobox.bentobox.util.Util;
|
import world.bentobox.bentobox.util.Util;
|
||||||
import world.bentobox.challenges.ChallengesAddon;
|
import world.bentobox.challenges.ChallengesAddon;
|
||||||
import world.bentobox.challenges.database.object.Challenge;
|
|
||||||
import world.bentobox.challenges.database.object.ChallengeLevel;
|
import world.bentobox.challenges.database.object.ChallengeLevel;
|
||||||
import world.bentobox.challenges.panel.CommonPagedPanel;
|
import world.bentobox.challenges.panel.CommonPagedPanel;
|
||||||
import world.bentobox.challenges.panel.CommonPanel;
|
import world.bentobox.challenges.panel.CommonPanel;
|
||||||
import world.bentobox.challenges.panel.ConversationUtils;
|
import world.bentobox.challenges.panel.ConversationUtils;
|
||||||
import world.bentobox.challenges.utils.Constants;
|
import world.bentobox.challenges.utils.Constants;
|
||||||
import world.bentobox.challenges.utils.GuiUtils;
|
|
||||||
import world.bentobox.challenges.utils.Utils;
|
import world.bentobox.challenges.utils.Utils;
|
||||||
|
|
||||||
|
|
||||||
@ -120,11 +119,11 @@ public class ListLevelsPanel extends CommonPagedPanel<ChallengeLevel>
|
|||||||
|
|
||||||
if (this.currentMode.equals(Mode.DELETE))
|
if (this.currentMode.equals(Mode.DELETE))
|
||||||
{
|
{
|
||||||
GuiUtils.fillBorder(panelBuilder, Material.RED_STAINED_GLASS_PANE);
|
PanelUtils.fillBorder(panelBuilder, Material.RED_STAINED_GLASS_PANE);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GuiUtils.fillBorder(panelBuilder);
|
PanelUtils.fillBorder(panelBuilder);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<ChallengeLevel> levelList = this.addon.getChallengesManager().getLevels(this.world).
|
List<ChallengeLevel> levelList = this.addon.getChallengesManager().getLevels(this.world).
|
||||||
|
@ -12,6 +12,7 @@ import org.bukkit.Material;
|
|||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import lv.id.bonne.panelutils.PanelUtils;
|
||||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
||||||
@ -24,7 +25,6 @@ import world.bentobox.challenges.panel.CommonPagedPanel;
|
|||||||
import world.bentobox.challenges.panel.CommonPanel;
|
import world.bentobox.challenges.panel.CommonPanel;
|
||||||
import world.bentobox.challenges.panel.util.ChallengeSelector;
|
import world.bentobox.challenges.panel.util.ChallengeSelector;
|
||||||
import world.bentobox.challenges.utils.Constants;
|
import world.bentobox.challenges.utils.Constants;
|
||||||
import world.bentobox.challenges.utils.GuiUtils;
|
|
||||||
import world.bentobox.challenges.utils.Utils;
|
import world.bentobox.challenges.utils.Utils;
|
||||||
|
|
||||||
|
|
||||||
@ -135,7 +135,7 @@ public class ListUsersPanel extends CommonPagedPanel<Player>
|
|||||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(
|
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(
|
||||||
this.user.getTranslation(Constants.TITLE + "choose-player"));
|
this.user.getTranslation(Constants.TITLE + "choose-player"));
|
||||||
|
|
||||||
GuiUtils.fillBorder(panelBuilder);
|
PanelUtils.fillBorder(panelBuilder);
|
||||||
|
|
||||||
this.populateElements(panelBuilder, this.filterElements);
|
this.populateElements(panelBuilder, this.filterElements);
|
||||||
|
|
||||||
|
@ -13,6 +13,7 @@ import java.util.stream.Collectors;
|
|||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import lv.id.bonne.panelutils.PanelUtils;
|
||||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
||||||
@ -21,7 +22,6 @@ import world.bentobox.challenges.panel.CommonPanel;
|
|||||||
import world.bentobox.challenges.panel.ConversationUtils;
|
import world.bentobox.challenges.panel.ConversationUtils;
|
||||||
import world.bentobox.challenges.panel.util.MultiBlockSelector;
|
import world.bentobox.challenges.panel.util.MultiBlockSelector;
|
||||||
import world.bentobox.challenges.utils.Constants;
|
import world.bentobox.challenges.utils.Constants;
|
||||||
import world.bentobox.challenges.utils.GuiUtils;
|
|
||||||
import world.bentobox.challenges.utils.Utils;
|
import world.bentobox.challenges.utils.Utils;
|
||||||
|
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ public class ManageBlocksPanel extends CommonPagedPanel<Material>
|
|||||||
name(this.user.getTranslation(Constants.TITLE + "manage-blocks"));
|
name(this.user.getTranslation(Constants.TITLE + "manage-blocks"));
|
||||||
|
|
||||||
// Create nice border.
|
// Create nice border.
|
||||||
GuiUtils.fillBorder(panelBuilder);
|
PanelUtils.fillBorder(panelBuilder);
|
||||||
|
|
||||||
panelBuilder.item(3, this.createButton(Button.ADD_BLOCK));
|
panelBuilder.item(3, this.createButton(Button.ADD_BLOCK));
|
||||||
panelBuilder.item(5, this.createButton(Button.REMOVE_BLOCK));
|
panelBuilder.item(5, this.createButton(Button.REMOVE_BLOCK));
|
||||||
@ -233,7 +233,7 @@ public class ManageBlocksPanel extends CommonPagedPanel<Material>
|
|||||||
return new PanelItemBuilder().
|
return new PanelItemBuilder().
|
||||||
name(this.user.getTranslation(reference + "name", "[material]",
|
name(this.user.getTranslation(reference + "name", "[material]",
|
||||||
Utils.prettifyObject(material, this.user))).
|
Utils.prettifyObject(material, this.user))).
|
||||||
icon(GuiUtils.getMaterialItem(material, this.materialMap.get(material))).
|
icon(PanelUtils.getMaterialItem(material, this.materialMap.get(material))).
|
||||||
description(description).
|
description(description).
|
||||||
clickHandler((panel, user1, clickType, slot) -> {
|
clickHandler((panel, user1, clickType, slot) -> {
|
||||||
// On right click change which entities are selected for deletion.
|
// On right click change which entities are selected for deletion.
|
||||||
|
@ -14,6 +14,7 @@ import org.bukkit.Material;
|
|||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import lv.id.bonne.panelutils.PanelUtils;
|
||||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
||||||
@ -22,7 +23,6 @@ import world.bentobox.challenges.panel.CommonPanel;
|
|||||||
import world.bentobox.challenges.panel.ConversationUtils;
|
import world.bentobox.challenges.panel.ConversationUtils;
|
||||||
import world.bentobox.challenges.panel.util.MultiEntitySelector;
|
import world.bentobox.challenges.panel.util.MultiEntitySelector;
|
||||||
import world.bentobox.challenges.utils.Constants;
|
import world.bentobox.challenges.utils.Constants;
|
||||||
import world.bentobox.challenges.utils.GuiUtils;
|
|
||||||
import world.bentobox.challenges.utils.Utils;
|
import world.bentobox.challenges.utils.Utils;
|
||||||
|
|
||||||
|
|
||||||
@ -91,7 +91,7 @@ public class ManageEntitiesPanel extends CommonPagedPanel<EntityType>
|
|||||||
name(this.user.getTranslation(Constants.TITLE + "manage-entities"));
|
name(this.user.getTranslation(Constants.TITLE + "manage-entities"));
|
||||||
|
|
||||||
// create border
|
// create border
|
||||||
GuiUtils.fillBorder(panelBuilder);
|
PanelUtils.fillBorder(panelBuilder);
|
||||||
|
|
||||||
panelBuilder.item(3, this.createButton(Button.ADD_ENTITY));
|
panelBuilder.item(3, this.createButton(Button.ADD_ENTITY));
|
||||||
panelBuilder.item(5, this.createButton(Button.REMOVE_ENTITY));
|
panelBuilder.item(5, this.createButton(Button.REMOVE_ENTITY));
|
||||||
@ -244,8 +244,8 @@ public class ManageEntitiesPanel extends CommonPagedPanel<EntityType>
|
|||||||
name(this.user.getTranslation(reference + "name", "[entity]",
|
name(this.user.getTranslation(reference + "name", "[entity]",
|
||||||
Utils.prettifyObject(entity, this.user))).
|
Utils.prettifyObject(entity, this.user))).
|
||||||
icon(this.asEggs ?
|
icon(this.asEggs ?
|
||||||
GuiUtils.getEntityEgg(entity, this.requiredEntities.get(entity)) :
|
PanelUtils.getEntityEgg(entity, this.requiredEntities.get(entity)) :
|
||||||
GuiUtils.getEntityHead(entity, this.requiredEntities.get(entity))).
|
PanelUtils.getEntityHead(entity, this.requiredEntities.get(entity))).
|
||||||
description(description).
|
description(description).
|
||||||
clickHandler((panel, user1, clickType, slot) -> {
|
clickHandler((panel, user1, clickType, slot) -> {
|
||||||
// On right click change which entities are selected for deletion.
|
// On right click change which entities are selected for deletion.
|
||||||
|
@ -12,6 +12,7 @@ import java.util.stream.Collectors;
|
|||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import lv.id.bonne.panelutils.PanelUtils;
|
||||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
||||||
@ -19,7 +20,6 @@ import world.bentobox.bentobox.api.user.User;
|
|||||||
import world.bentobox.bentobox.util.Util;
|
import world.bentobox.bentobox.util.Util;
|
||||||
import world.bentobox.challenges.database.object.Challenge;
|
import world.bentobox.challenges.database.object.Challenge;
|
||||||
import world.bentobox.challenges.utils.Constants;
|
import world.bentobox.challenges.utils.Constants;
|
||||||
import world.bentobox.challenges.utils.GuiUtils;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -61,7 +61,7 @@ public class ChallengeSelector extends PagedSelector<Challenge>
|
|||||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user);
|
PanelBuilder panelBuilder = new PanelBuilder().user(this.user);
|
||||||
panelBuilder.name(this.user.getTranslation(Constants.TITLE + "challenge-selector"));
|
panelBuilder.name(this.user.getTranslation(Constants.TITLE + "challenge-selector"));
|
||||||
|
|
||||||
GuiUtils.fillBorder(panelBuilder, this.border);
|
PanelUtils.fillBorder(panelBuilder, this.border);
|
||||||
|
|
||||||
this.populateElements(panelBuilder, this.filterElements);
|
this.populateElements(panelBuilder, this.filterElements);
|
||||||
|
|
||||||
|
@ -8,12 +8,12 @@ import java.util.stream.Collectors;
|
|||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import lv.id.bonne.panelutils.PanelUtils;
|
||||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
||||||
import world.bentobox.bentobox.api.user.User;
|
import world.bentobox.bentobox.api.user.User;
|
||||||
import world.bentobox.challenges.utils.Constants;
|
import world.bentobox.challenges.utils.Constants;
|
||||||
import world.bentobox.challenges.utils.GuiUtils;
|
|
||||||
import world.bentobox.challenges.utils.Utils;
|
import world.bentobox.challenges.utils.Utils;
|
||||||
|
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ public class MultiBlockSelector extends PagedSelector<Material>
|
|||||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user);
|
PanelBuilder panelBuilder = new PanelBuilder().user(this.user);
|
||||||
panelBuilder.name(this.user.getTranslation(Constants.TITLE + "block-selector"));
|
panelBuilder.name(this.user.getTranslation(Constants.TITLE + "block-selector"));
|
||||||
|
|
||||||
GuiUtils.fillBorder(panelBuilder, Material.BLUE_STAINED_GLASS_PANE);
|
PanelUtils.fillBorder(panelBuilder, Material.BLUE_STAINED_GLASS_PANE);
|
||||||
|
|
||||||
this.populateElements(panelBuilder, this.filterElements);
|
this.populateElements(panelBuilder, this.filterElements);
|
||||||
|
|
||||||
@ -233,7 +233,7 @@ public class MultiBlockSelector extends PagedSelector<Material>
|
|||||||
return new PanelItemBuilder().
|
return new PanelItemBuilder().
|
||||||
name(this.user.getTranslation(reference + "name", "[material]",
|
name(this.user.getTranslation(reference + "name", "[material]",
|
||||||
Utils.prettifyObject(material, this.user))).
|
Utils.prettifyObject(material, this.user))).
|
||||||
icon(GuiUtils.getMaterialItem(material)).
|
icon(PanelUtils.getMaterialItem(material)).
|
||||||
description(description).
|
description(description).
|
||||||
clickHandler((panel, user1, clickType, slot) -> {
|
clickHandler((panel, user1, clickType, slot) -> {
|
||||||
// On right click change which entities are selected for deletion.
|
// On right click change which entities are selected for deletion.
|
||||||
|
@ -8,12 +8,12 @@ import java.util.*;
|
|||||||
import java.util.function.BiConsumer;
|
import java.util.function.BiConsumer;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import lv.id.bonne.panelutils.PanelUtils;
|
||||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
||||||
import world.bentobox.bentobox.api.user.User;
|
import world.bentobox.bentobox.api.user.User;
|
||||||
import world.bentobox.challenges.utils.Constants;
|
import world.bentobox.challenges.utils.Constants;
|
||||||
import world.bentobox.challenges.utils.GuiUtils;
|
|
||||||
import world.bentobox.challenges.utils.Utils;
|
import world.bentobox.challenges.utils.Utils;
|
||||||
|
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ public class MultiEntitySelector extends PagedSelector<EntityType>
|
|||||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user);
|
PanelBuilder panelBuilder = new PanelBuilder().user(this.user);
|
||||||
panelBuilder.name(this.user.getTranslation(Constants.TITLE + "entity-selector"));
|
panelBuilder.name(this.user.getTranslation(Constants.TITLE + "entity-selector"));
|
||||||
|
|
||||||
GuiUtils.fillBorder(panelBuilder, Material.BLUE_STAINED_GLASS_PANE);
|
PanelUtils.fillBorder(panelBuilder, Material.BLUE_STAINED_GLASS_PANE);
|
||||||
|
|
||||||
this.populateElements(panelBuilder, this.filterElements);
|
this.populateElements(panelBuilder, this.filterElements);
|
||||||
|
|
||||||
@ -217,7 +217,7 @@ public class MultiEntitySelector extends PagedSelector<EntityType>
|
|||||||
return new PanelItemBuilder().
|
return new PanelItemBuilder().
|
||||||
name(this.user.getTranslation(reference + "name", "[entity]",
|
name(this.user.getTranslation(reference + "name", "[entity]",
|
||||||
Utils.prettifyObject(entity, this.user))).
|
Utils.prettifyObject(entity, this.user))).
|
||||||
icon(this.asEgg ? GuiUtils.getEntityEgg(entity) : GuiUtils.getEntityHead(entity)).
|
icon(this.asEgg ? PanelUtils.getEntityEgg(entity) : PanelUtils.getEntityHead(entity)).
|
||||||
description(description).
|
description(description).
|
||||||
clickHandler((panel, user1, clickType, slot) -> {
|
clickHandler((panel, user1, clickType, slot) -> {
|
||||||
// On right click change which entities are selected for deletion.
|
// On right click change which entities are selected for deletion.
|
||||||
|
@ -7,12 +7,12 @@ import java.util.*;
|
|||||||
import java.util.function.BiConsumer;
|
import java.util.function.BiConsumer;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import lv.id.bonne.panelutils.PanelUtils;
|
||||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
||||||
import world.bentobox.bentobox.api.user.User;
|
import world.bentobox.bentobox.api.user.User;
|
||||||
import world.bentobox.challenges.utils.Constants;
|
import world.bentobox.challenges.utils.Constants;
|
||||||
import world.bentobox.challenges.utils.GuiUtils;
|
|
||||||
import world.bentobox.challenges.utils.Utils;
|
import world.bentobox.challenges.utils.Utils;
|
||||||
|
|
||||||
|
|
||||||
@ -114,7 +114,7 @@ public class SingleBlockSelector extends PagedSelector<Material>
|
|||||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user);
|
PanelBuilder panelBuilder = new PanelBuilder().user(this.user);
|
||||||
panelBuilder.name(this.user.getTranslation(Constants.TITLE + "block-selector"));
|
panelBuilder.name(this.user.getTranslation(Constants.TITLE + "block-selector"));
|
||||||
|
|
||||||
GuiUtils.fillBorder(panelBuilder, Material.BLUE_STAINED_GLASS_PANE);
|
PanelUtils.fillBorder(panelBuilder, Material.BLUE_STAINED_GLASS_PANE);
|
||||||
|
|
||||||
this.populateElements(panelBuilder, this.filterElements);
|
this.populateElements(panelBuilder, this.filterElements);
|
||||||
|
|
||||||
@ -197,7 +197,7 @@ public class SingleBlockSelector extends PagedSelector<Material>
|
|||||||
return new PanelItemBuilder().
|
return new PanelItemBuilder().
|
||||||
name(this.user.getTranslation(reference + "name", "[material]",
|
name(this.user.getTranslation(reference + "name", "[material]",
|
||||||
Utils.prettifyObject(material, this.user))).
|
Utils.prettifyObject(material, this.user))).
|
||||||
icon(GuiUtils.getMaterialItem(material)).
|
icon(PanelUtils.getMaterialItem(material)).
|
||||||
description(description).
|
description(description).
|
||||||
clickHandler((panel, user1, clickType, slot) -> {
|
clickHandler((panel, user1, clickType, slot) -> {
|
||||||
this.consumer.accept(true, material);
|
this.consumer.accept(true, material);
|
||||||
|
@ -9,12 +9,12 @@ import org.bukkit.Material;
|
|||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import lv.id.bonne.panelutils.PanelUtils;
|
||||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
||||||
import world.bentobox.bentobox.api.user.User;
|
import world.bentobox.bentobox.api.user.User;
|
||||||
import world.bentobox.challenges.utils.Constants;
|
import world.bentobox.challenges.utils.Constants;
|
||||||
import world.bentobox.challenges.utils.GuiUtils;
|
|
||||||
import world.bentobox.challenges.utils.Utils;
|
import world.bentobox.challenges.utils.Utils;
|
||||||
|
|
||||||
|
|
||||||
@ -107,7 +107,7 @@ public class SingleEntitySelector extends PagedSelector<EntityType>
|
|||||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user);
|
PanelBuilder panelBuilder = new PanelBuilder().user(this.user);
|
||||||
panelBuilder.name(this.user.getTranslation(Constants.TITLE + "entity-selector"));
|
panelBuilder.name(this.user.getTranslation(Constants.TITLE + "entity-selector"));
|
||||||
|
|
||||||
GuiUtils.fillBorder(panelBuilder, Material.BLUE_STAINED_GLASS_PANE);
|
PanelUtils.fillBorder(panelBuilder, Material.BLUE_STAINED_GLASS_PANE);
|
||||||
|
|
||||||
this.populateElements(panelBuilder, this.filterElements);
|
this.populateElements(panelBuilder, this.filterElements);
|
||||||
|
|
||||||
@ -159,7 +159,7 @@ public class SingleEntitySelector extends PagedSelector<EntityType>
|
|||||||
return new PanelItemBuilder().
|
return new PanelItemBuilder().
|
||||||
name(this.user.getTranslation(reference + "name", "[entity]",
|
name(this.user.getTranslation(reference + "name", "[entity]",
|
||||||
Utils.prettifyObject(entity, this.user))).
|
Utils.prettifyObject(entity, this.user))).
|
||||||
icon(this.asEggs ? GuiUtils.getEntityEgg(entity) : GuiUtils.getEntityHead(entity)).
|
icon(this.asEggs ? PanelUtils.getEntityEgg(entity) : PanelUtils.getEntityHead(entity)).
|
||||||
description(description).
|
description(description).
|
||||||
clickHandler((panel, user1, clickType, slot) -> {
|
clickHandler((panel, user1, clickType, slot) -> {
|
||||||
this.consumer.accept(true, entity);
|
this.consumer.accept(true, entity);
|
||||||
|
@ -3,19 +3,17 @@ package world.bentobox.challenges.panel.util;
|
|||||||
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.Statistic;
|
import org.bukkit.Statistic;
|
||||||
import org.bukkit.entity.EntityType;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.function.BiConsumer;
|
import java.util.function.BiConsumer;
|
||||||
import java.util.function.Consumer;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import lv.id.bonne.panelutils.PanelUtils;
|
||||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
||||||
import world.bentobox.bentobox.api.user.User;
|
import world.bentobox.bentobox.api.user.User;
|
||||||
import world.bentobox.challenges.utils.Constants;
|
import world.bentobox.challenges.utils.Constants;
|
||||||
import world.bentobox.challenges.utils.GuiUtils;
|
|
||||||
import world.bentobox.challenges.utils.Utils;
|
import world.bentobox.challenges.utils.Utils;
|
||||||
|
|
||||||
|
|
||||||
@ -70,7 +68,7 @@ public class StatisticSelector extends PagedSelector<Statistic>
|
|||||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user);
|
PanelBuilder panelBuilder = new PanelBuilder().user(this.user);
|
||||||
panelBuilder.name(this.user.getTranslation(Constants.TITLE + "statistic-selector"));
|
panelBuilder.name(this.user.getTranslation(Constants.TITLE + "statistic-selector"));
|
||||||
|
|
||||||
GuiUtils.fillBorder(panelBuilder, Material.BLUE_STAINED_GLASS_PANE);
|
PanelUtils.fillBorder(panelBuilder, Material.BLUE_STAINED_GLASS_PANE);
|
||||||
|
|
||||||
this.populateElements(panelBuilder, this.filterElements);
|
this.populateElements(panelBuilder, this.filterElements);
|
||||||
|
|
||||||
|
@ -1,414 +0,0 @@
|
|||||||
package world.bentobox.challenges.utils;
|
|
||||||
|
|
||||||
|
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.entity.EntityType;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
|
|
||||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This class contains static methods that is used through multiple GUIs.
|
|
||||||
*/
|
|
||||||
public class GuiUtils
|
|
||||||
{
|
|
||||||
// ---------------------------------------------------------------------
|
|
||||||
// Section: Border around GUIs
|
|
||||||
// ---------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This method creates border of black panes around given panel with 5 rows.
|
|
||||||
* @param panelBuilder PanelBuilder which must be filled with border blocks.
|
|
||||||
*/
|
|
||||||
public static void fillBorder(PanelBuilder panelBuilder)
|
|
||||||
{
|
|
||||||
GuiUtils.fillBorder(panelBuilder, 5, Material.BLACK_STAINED_GLASS_PANE);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This method sets black stained glass pane around Panel with given row count.
|
|
||||||
* @param panelBuilder object that builds Panel.
|
|
||||||
* @param rowCount in Panel.
|
|
||||||
*/
|
|
||||||
public static void fillBorder(PanelBuilder panelBuilder, int rowCount)
|
|
||||||
{
|
|
||||||
GuiUtils.fillBorder(panelBuilder, rowCount, Material.BLACK_STAINED_GLASS_PANE);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This method sets blocks with given Material around Panel with 5 rows.
|
|
||||||
* @param panelBuilder object that builds Panel.
|
|
||||||
* @param material that will be around Panel.
|
|
||||||
*/
|
|
||||||
public static void fillBorder(PanelBuilder panelBuilder, Material material)
|
|
||||||
{
|
|
||||||
GuiUtils.fillBorder(panelBuilder, 5, material);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This method sets blocks with given Material around Panel with given row count.
|
|
||||||
* @param panelBuilder object that builds Panel.
|
|
||||||
* @param rowCount in Panel.
|
|
||||||
* @param material that will be around Panel.
|
|
||||||
*/
|
|
||||||
public static void fillBorder(PanelBuilder panelBuilder, int rowCount, Material material)
|
|
||||||
{
|
|
||||||
// Only for useful filling.
|
|
||||||
if (rowCount < 3)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int i = 0; i < 9 * rowCount; i++)
|
|
||||||
{
|
|
||||||
// First (i < 9) and last (i > 35) rows must be filled
|
|
||||||
// First column (i % 9 == 0) and last column (i % 9 == 8) also must be filled.
|
|
||||||
|
|
||||||
if (i < 9 || i > 9 * (rowCount - 1) || i % 9 == 0 || i % 9 == 8)
|
|
||||||
{
|
|
||||||
panelBuilder.item(i, BorderBlock.getPanelBorder(material));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ---------------------------------------------------------------------
|
|
||||||
// Section: ItemStack transformations
|
|
||||||
// ---------------------------------------------------------------------
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This method transforms entity into egg or block that corresponds given entity.
|
|
||||||
* If entity egg is not found, then it is replaced by block that represents entity or
|
|
||||||
* barrier block.
|
|
||||||
* @param entity Entity which egg must be returned.
|
|
||||||
* @return ItemStack that may be egg for given entity.
|
|
||||||
*/
|
|
||||||
public static ItemStack getEntityEgg(EntityType entity)
|
|
||||||
{
|
|
||||||
return GuiUtils.getEntityEgg(entity, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This method transforms entity into egg or block that corresponds given entity.
|
|
||||||
* If entity egg is not found, then it is replaced by block that represents entity or
|
|
||||||
* barrier block.
|
|
||||||
* @param entity Entity which egg must be returned.
|
|
||||||
* @param amount Amount of ItemStack elements.
|
|
||||||
* @return ItemStack that may be egg for given entity.
|
|
||||||
*/
|
|
||||||
public static ItemStack getEntityEgg(EntityType entity, int amount)
|
|
||||||
{
|
|
||||||
ItemStack itemStack;
|
|
||||||
|
|
||||||
switch (entity)
|
|
||||||
{
|
|
||||||
case ENDER_DRAGON:
|
|
||||||
itemStack = new ItemStack(Material.DRAGON_EGG);
|
|
||||||
break;
|
|
||||||
case WITHER:
|
|
||||||
itemStack = new ItemStack(Material.SOUL_SAND);
|
|
||||||
break;
|
|
||||||
case PLAYER:
|
|
||||||
itemStack = new ItemStack(Material.PLAYER_HEAD);
|
|
||||||
break;
|
|
||||||
case MUSHROOM_COW:
|
|
||||||
itemStack = new ItemStack(Material.MOOSHROOM_SPAWN_EGG);
|
|
||||||
break;
|
|
||||||
case SNOWMAN:
|
|
||||||
itemStack = new ItemStack(Material.CARVED_PUMPKIN);
|
|
||||||
break;
|
|
||||||
case IRON_GOLEM:
|
|
||||||
itemStack = new ItemStack(Material.IRON_BLOCK);
|
|
||||||
break;
|
|
||||||
case ARMOR_STAND:
|
|
||||||
itemStack = new ItemStack(Material.ARMOR_STAND);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
Material material = Material.getMaterial(entity.name() + "_SPAWN_EGG");
|
|
||||||
|
|
||||||
if (material == null)
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.BARRIER);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(material);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (entity.name().equals("PIG_ZOMBIE"))
|
|
||||||
{
|
|
||||||
// If pig zombie exist, then pigman spawn egg exists too.
|
|
||||||
itemStack = new ItemStack(Material.getMaterial("ZOMBIE_PIGMAN_SPAWN_EGG"));
|
|
||||||
}
|
|
||||||
|
|
||||||
itemStack.setAmount(amount);
|
|
||||||
|
|
||||||
return itemStack;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This method transforms entity into player head with skin that corresponds given
|
|
||||||
* entity. If entity head is not found, then it is replaced by barrier block.
|
|
||||||
* @param entity Entity which head must be returned.
|
|
||||||
* @return ItemStack that may be head for given entity.
|
|
||||||
*/
|
|
||||||
public static ItemStack getEntityHead(EntityType entity)
|
|
||||||
{
|
|
||||||
return GuiUtils.getEntityHead(entity, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This method transforms entity into player head with skin that corresponds given
|
|
||||||
* entity. If entity head is not found, then it is replaced by barrier block.
|
|
||||||
* @param entity Entity which head must be returned.
|
|
||||||
* @param amount Amount of ItemStack elements.
|
|
||||||
* @return ItemStack that may be head for given entity.
|
|
||||||
*/
|
|
||||||
public static ItemStack getEntityHead(EntityType entity, int amount)
|
|
||||||
{
|
|
||||||
ItemStack itemStack;
|
|
||||||
|
|
||||||
switch (entity)
|
|
||||||
{
|
|
||||||
case PLAYER:
|
|
||||||
itemStack = new ItemStack(Material.PLAYER_HEAD);
|
|
||||||
break;
|
|
||||||
case WITHER_SKELETON:
|
|
||||||
itemStack = new ItemStack(Material.WITHER_SKELETON_SKULL);
|
|
||||||
break;
|
|
||||||
case ARMOR_STAND:
|
|
||||||
itemStack = new ItemStack(Material.ARMOR_STAND);
|
|
||||||
break;
|
|
||||||
case SKELETON:
|
|
||||||
itemStack = new ItemStack(Material.SKELETON_SKULL);
|
|
||||||
break;
|
|
||||||
case GIANT:
|
|
||||||
case ZOMBIE:
|
|
||||||
itemStack = new ItemStack(Material.ZOMBIE_HEAD);
|
|
||||||
break;
|
|
||||||
case CREEPER:
|
|
||||||
itemStack = new ItemStack(Material.CREEPER_HEAD);
|
|
||||||
break;
|
|
||||||
case ENDER_DRAGON:
|
|
||||||
itemStack = new ItemStack(Material.DRAGON_HEAD);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
HeadLib head = HeadLib.getHead(entity.name());
|
|
||||||
|
|
||||||
if (head == null)
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.BARRIER);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
itemStack = head.toItemStack();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
itemStack.setAmount(amount);
|
|
||||||
|
|
||||||
return itemStack;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This method transforms material into item stack that can be displayed in users
|
|
||||||
* inventory.
|
|
||||||
* @param material Material which item stack must be returned.
|
|
||||||
* @return ItemStack that represents given material.
|
|
||||||
*/
|
|
||||||
public static ItemStack getMaterialItem(Material material)
|
|
||||||
{
|
|
||||||
return GuiUtils.getMaterialItem(material, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This method transforms material into item stack that can be displayed in users
|
|
||||||
* inventory.
|
|
||||||
* @param material Material which item stack must be returned.
|
|
||||||
* @param amount Amount of ItemStack elements.
|
|
||||||
* @return ItemStack that represents given material.
|
|
||||||
*/
|
|
||||||
public static ItemStack getMaterialItem(Material material, int amount)
|
|
||||||
{
|
|
||||||
ItemStack itemStack;
|
|
||||||
|
|
||||||
// Process items that cannot be item-stacks.
|
|
||||||
if (material.name().contains("WALL_"))
|
|
||||||
{
|
|
||||||
// Materials that is attached to wall cannot be showed in GUI. But they should be in list.
|
|
||||||
|
|
||||||
Material newMaterial = Material.getMaterial(material.name().replace("WALL_", ""));
|
|
||||||
itemStack = new ItemStack(Objects.requireNonNullElse(newMaterial, material));
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.POTTED_AZALEA_BUSH))
|
|
||||||
{
|
|
||||||
return new ItemStack(Material.AZALEA);
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.POTTED_FLOWERING_AZALEA_BUSH))
|
|
||||||
{
|
|
||||||
return new ItemStack(Material.FLOWERING_AZALEA);
|
|
||||||
}
|
|
||||||
else if (material.name().startsWith("POTTED_"))
|
|
||||||
{
|
|
||||||
// Materials Potted elements cannot be in inventory.
|
|
||||||
Material newMaterial = Material.getMaterial(material.name().replace("POTTED_", ""));
|
|
||||||
itemStack = new ItemStack(Objects.requireNonNullElse(newMaterial, material));
|
|
||||||
}
|
|
||||||
else if (material.name().endsWith("CAULDRON"))
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.CAULDRON);
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.MELON_STEM) || material.equals(Material.ATTACHED_MELON_STEM))
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.MELON_SEEDS);
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.PUMPKIN_STEM) || material.equals(Material.ATTACHED_PUMPKIN_STEM))
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.PUMPKIN_SEEDS);
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.TALL_SEAGRASS))
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.SEAGRASS);
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.CARROTS))
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.CARROT);
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.BEETROOTS))
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.BEETROOT);
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.POTATOES))
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.POTATO);
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.COCOA))
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.COCOA_BEANS);
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.CAVE_VINES) || material.equals(Material.CAVE_VINES_PLANT))
|
|
||||||
{
|
|
||||||
// Process cave vines as they are glow berries
|
|
||||||
itemStack = new ItemStack(Material.GLOW_BERRIES);
|
|
||||||
}
|
|
||||||
else if (material.name().endsWith("_PLANT"))
|
|
||||||
{
|
|
||||||
// Plants cannot be displayed in GUI's.
|
|
||||||
Material newMaterial = Material.getMaterial(material.name().replace("_PLANT", ""));
|
|
||||||
itemStack = new ItemStack(Objects.requireNonNullElse(newMaterial, material));
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.REDSTONE_WIRE))
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.REDSTONE);
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.TRIPWIRE))
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.STRING);
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.FROSTED_ICE))
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.ICE);
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.END_PORTAL) || material.equals(Material.END_GATEWAY) || material.equals(Material.NETHER_PORTAL))
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.PAPER);
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.BUBBLE_COLUMN) || material.equals(Material.WATER))
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.WATER_BUCKET);
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.LAVA))
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.LAVA_BUCKET);
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.FIRE))
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.FIRE_CHARGE);
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.AIR) || material.equals(Material.CAVE_AIR) || material.equals(Material.VOID_AIR))
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.GLASS_BOTTLE);
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.PISTON_HEAD) || material.equals(Material.MOVING_PISTON))
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.PISTON);
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.BAMBOO_SAPLING))
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.BAMBOO);
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.SWEET_BERRY_BUSH))
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.SWEET_BERRIES);
|
|
||||||
}
|
|
||||||
else if (material.name().contains("CANDLE_CAKE"))
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.CAKE);
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.POWDER_SNOW))
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.POWDER_SNOW_BUCKET);
|
|
||||||
}
|
|
||||||
else if (material.equals(Material.BIG_DRIPLEAF_STEM))
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(Material.BIG_DRIPLEAF);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
itemStack = new ItemStack(material);
|
|
||||||
}
|
|
||||||
|
|
||||||
itemStack.setAmount(amount);
|
|
||||||
|
|
||||||
return itemStack;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This BorderBlock is simple PanelItem but without item meta data.
|
|
||||||
*/
|
|
||||||
private static class BorderBlock extends PanelItem
|
|
||||||
{
|
|
||||||
private BorderBlock(ItemStack icon)
|
|
||||||
{
|
|
||||||
super(new PanelItemBuilder().
|
|
||||||
icon(icon.clone()).
|
|
||||||
name(" ").
|
|
||||||
description(Collections.emptyList()).
|
|
||||||
glow(false).
|
|
||||||
clickHandler(null));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This method retunrs BorderBlock with requested item stack.
|
|
||||||
* @param material of which broder must be created.
|
|
||||||
* @return PanelItem that acts like border.
|
|
||||||
*/
|
|
||||||
private static BorderBlock getPanelBorder(Material material)
|
|
||||||
{
|
|
||||||
ItemStack itemStack = new ItemStack(material);
|
|
||||||
itemStack.getItemMeta().setDisplayName("&r&8");
|
|
||||||
|
|
||||||
return new BorderBlock(itemStack);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,289 +0,0 @@
|
|||||||
/*
|
|
||||||
* Written in 2018 by Daniel Saukel
|
|
||||||
*
|
|
||||||
* To the extent possible under law, the author(s) have dedicated all
|
|
||||||
* copyright and related and neighboring rights to this software
|
|
||||||
* to the public domain worldwide.
|
|
||||||
*
|
|
||||||
* This software is distributed without any warranty.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the CC0 Public Domain Dedication
|
|
||||||
* along with this software. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
|
|
||||||
*
|
|
||||||
* @url https://github.com/DRE2N/HeadLib
|
|
||||||
*/
|
|
||||||
package world.bentobox.challenges.utils;
|
|
||||||
|
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
|
||||||
|
|
||||||
import com.mojang.authlib.GameProfile;
|
|
||||||
import com.mojang.authlib.properties.Property;
|
|
||||||
|
|
||||||
import world.bentobox.bentobox.BentoBox;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author Daniel Saukel
|
|
||||||
*
|
|
||||||
* BONNe modified it for BentoBox by leaving only mob heads and removing unused code.
|
|
||||||
*/
|
|
||||||
public enum HeadLib
|
|
||||||
{
|
|
||||||
// ---------------------------------------------------------------------
|
|
||||||
// Section: Library of All Mob heads
|
|
||||||
// ---------------------------------------------------------------------
|
|
||||||
|
|
||||||
/**
|
|
||||||
* All enum values.
|
|
||||||
*/
|
|
||||||
SPIDER("8bdb71d0-4724-48b2-9344-e79480424798", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2Q1NDE1NDFkYWFmZjUwODk2Y2QyNThiZGJkZDRjZjgwYzNiYTgxNjczNTcyNjA3OGJmZTM5MzkyN2U1N2YxIn19fQ=="),
|
|
||||||
CAVE_SPIDER("39173a7a-c957-4ec1-ac1a-43e5a64983df", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDE2NDVkZmQ3N2QwOTkyMzEwN2IzNDk2ZTk0ZWViNWMzMDMyOWY5N2VmYzk2ZWQ3NmUyMjZlOTgyMjQifX19"),
|
|
||||||
ENDERMAN("0de98464-1274-4dd6-bba8-370efa5d41a8", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvN2E1OWJiMGE3YTMyOTY1YjNkOTBkOGVhZmE4OTlkMTgzNWY0MjQ1MDllYWRkNGU2YjcwOWFkYTUwYjljZiJ9fX0="),
|
|
||||||
SLIME("7f0b0873-df6a-4a19-9bcd-f6c90ef804c7", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODk1YWVlYzZiODQyYWRhODY2OWY4NDZkNjViYzQ5NzYyNTk3ODI0YWI5NDRmMjJmNDViZjNiYmI5NDFhYmU2YyJ9fX0="),
|
|
||||||
GUARDIAN("f3898fe0-04fb-4f9c-8f8b-146a1d894007", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzI1YWY5NjZhMzI2ZjlkOTg0NjZhN2JmODU4MmNhNGRhNjQ1M2RlMjcxYjNiYzllNTlmNTdhOTliNjM1MTFjNiJ9fX0="),
|
|
||||||
GHAST("807f287f-6499-4e93-a887-0a298ab3091f", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOGI2YTcyMTM4ZDY5ZmJiZDJmZWEzZmEyNTFjYWJkODcxNTJlNGYxYzk3ZTVmOTg2YmY2ODU1NzFkYjNjYzAifX19"),
|
|
||||||
BLAZE("7ceb88b2-7f5f-4399-abb9-7068251baa9d", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjc4ZWYyZTRjZjJjNDFhMmQxNGJmZGU5Y2FmZjEwMjE5ZjViMWJmNWIzNWE0OWViNTFjNjQ2Nzg4MmNiNWYwIn19fQ=="),
|
|
||||||
MAGMA_CUBE("96aced64-5b85-4b99-b825-53cd7a9f9726", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzg5NTdkNTAyM2M5MzdjNGM0MWFhMjQxMmQ0MzQxMGJkYTIzY2Y3OWE5ZjZhYjM2Yjc2ZmVmMmQ3YzQyOSJ9fX0="),
|
|
||||||
WITHER("119c371b-ea16-47c9-ad7f-23b3d894520a", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2RmNzRlMzIzZWQ0MTQzNjk2NWY1YzU3ZGRmMjgxNWQ1MzMyZmU5OTllNjhmYmI5ZDZjZjVjOGJkNDEzOWYifX19"),
|
|
||||||
ENDER_DRAGON("433562fa-9e23-443e-93b0-d67228435e77", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzRlY2MwNDA3ODVlNTQ2NjNlODU1ZWYwNDg2ZGE3MjE1NGQ2OWJiNGI3NDI0YjczODFjY2Y5NWIwOTVhIn19fQ=="),
|
|
||||||
SHULKER("d700b0b9-be74-4630-8cb5-62c979828ef6", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjFkMzUzNGQyMWZlODQ5OTI2MmRlODdhZmZiZWFjNGQyNWZmZGUzNWM4YmRjYTA2OWU2MWUxNzg3ZmYyZiJ9fX0="),
|
|
||||||
CREEPER("eed2d903-ca32-4cc7-b33b-ca3bdbe18da4", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjQyNTQ4MzhjMzNlYTIyN2ZmY2EyMjNkZGRhYWJmZTBiMDIxNWY3MGRhNjQ5ZTk0NDQ3N2Y0NDM3MGNhNjk1MiJ9fX0="),
|
|
||||||
ZOMBIE("9959dd98-efb3-4ee9-a8fb-2fda0218cda0", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTZmYzg1NGJiODRjZjRiNzY5NzI5Nzk3M2UwMmI3OWJjMTA2OTg0NjBiNTFhNjM5YzYwZTVlNDE3NzM0ZTExIn19fQ=="),
|
|
||||||
ZOMBIE_VILLAGER("bcaf2b85-d421-47cc-a40a-455e77bfb60b", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzdlODM4Y2NjMjY3NzZhMjE3YzY3ODM4NmY2YTY1NzkxZmU4Y2RhYjhjZTljYTRhYzZiMjgzOTdhNGQ4MWMyMiJ9fX0="),
|
|
||||||
ZOMBIE_PIGMAN("6540c046-d6ea-4aff-9766-32a54ebe6958", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzRlOWM2ZTk4NTgyZmZkOGZmOGZlYjMzMjJjZDE4NDljNDNmYjE2YjE1OGFiYjExY2E3YjQyZWRhNzc0M2ViIn19fQ=="),
|
|
||||||
DOG("9655594c-5b1c-48a5-8e12-ffd7e0c735f2", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDk1MTgzY2E0Y2RkMjk2MjhmZTZjNzIyZjc3OTA4N2I4M2MyMWJhOTdmNDIyNWU0YWQ5YjNlNjE4ZWNjZDMwIn19fQ=="),
|
|
||||||
HORSE("c6abc94e-a5ff-45fe-a0d7-4e479f290a6f", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDJlYjk2N2FiOTRmZGQ0MWE2MzI1ZjEyNzdkNmRjMDE5MjI2ZTVjZjM0OTc3ZWVlNjk1OTdmYWZjZjVlIn19fQ=="),
|
|
||||||
TURTLE("ef56c7a3-a5e7-4a7f-9786-a4b6273a591d", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTJlNTQ4NDA4YWI3NWQ3ZGY4ZTZkNWQyNDQ2ZDkwYjZlYzYyYWE0ZjdmZWI3OTMwZDFlZTcxZWVmZGRmNjE4OSJ9fX0="),
|
|
||||||
OCELOT("664dd492-3fcd-443b-9e61-4c7ebd9e4e10", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTY1N2NkNWMyOTg5ZmY5NzU3MGZlYzRkZGNkYzY5MjZhNjhhMzM5MzI1MGMxYmUxZjBiMTE0YTFkYjEifX19"),
|
|
||||||
SHEEP("fa234925-9dbe-4b8f-a544-7c70fb6b6ac5", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjMxZjljY2M2YjNlMzJlY2YxM2I4YTExYWMyOWNkMzNkMThjOTVmYzczZGI4YTY2YzVkNjU3Y2NiOGJlNzAifX19"),
|
|
||||||
COW("97ddf3b3-9dbe-4a3b-8a0f-1b19ddeac0bd", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNWQ2YzZlZGE5NDJmN2Y1ZjcxYzMxNjFjNzMwNmY0YWVkMzA3ZDgyODk1ZjlkMmIwN2FiNDUyNTcxOGVkYzUifX19"),
|
|
||||||
CHICKEN("7d3a8ace-e045-4eba-ab71-71dbf525daf1", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTYzODQ2OWE1OTljZWVmNzIwNzUzNzYwMzI0OGE5YWIxMWZmNTkxZmQzNzhiZWE0NzM1YjM0NmE3ZmFlODkzIn19fQ=="),
|
|
||||||
PIG("e1e1c2e4-1ed2-473d-bde2-3ec718535399", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjIxNjY4ZWY3Y2I3OWRkOWMyMmNlM2QxZjNmNGNiNmUyNTU5ODkzYjZkZjRhNDY5NTE0ZTY2N2MxNmFhNCJ9fX0="),
|
|
||||||
SQUID("f95d9504-ea2b-4b89-b2d0-d400654a7010", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMDE0MzNiZTI0MjM2NmFmMTI2ZGE0MzRiODczNWRmMWViNWIzY2IyY2VkZTM5MTQ1OTc0ZTljNDgzNjA3YmFjIn19fQ=="),
|
|
||||||
MUSHROOM_COW("e206ac29-ae69-475b-909a-fb523d894336", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDBiYzYxYjk3NTdhN2I4M2UwM2NkMjUwN2EyMTU3OTEzYzJjZjAxNmU3YzA5NmE0ZDZjZjFmZTFiOGRiIn19fQ=="),
|
|
||||||
ELDER_GUARDIAN("f2e933a7-614f-44e0-bf18-289b102104ab", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMWM3OTc0ODJhMTRiZmNiODc3MjU3Y2IyY2ZmMWI2ZTZhOGI4NDEzMzM2ZmZiNGMyOWE2MTM5Mjc4YjQzNmIifX19"),
|
|
||||||
STRAY("644c9bad-958b-43ce-9d2f-199d85be607c", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzhkZGY3NmU1NTVkZDVjNGFhOGEwYTVmYzU4NDUyMGNkNjNkNDg5YzI1M2RlOTY5ZjdmMjJmODVhOWEyZDU2In19fQ=="),
|
|
||||||
HUSK("2e387bc6-774b-4fda-ba22-eb54a26dfd9e", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzc3MDY4MWQxYTI1NWZiNGY3NTQ3OTNhYTA1NWIyMjA0NDFjZGFiOWUxMTQxZGZhNTIzN2I0OTkzMWQ5YjkxYyJ9fX0="),
|
|
||||||
SKELETON_HORSE("bcbce5bf-86c4-4e62-9fc5-0cc90de94b6d", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDdlZmZjZTM1MTMyYzg2ZmY3MmJjYWU3N2RmYmIxZDIyNTg3ZTk0ZGYzY2JjMjU3MGVkMTdjZjg5NzNhIn19fQ=="),
|
|
||||||
ZOMBIE_HORSE("506ced1a-dac8-4d84-b341-645fbb297335", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2Q2YjllZjhkZDEwYmE2NDE0MjJiNDQ5ZWQxNWFkYzI5MmQ3M2Y1NzI5ODRkNDdlMjhhMjI2YWE2ZWRkODcifX19"),
|
|
||||||
DONKEY("3da7917b-cb95-40b3-a516-9befa4f4d71d", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjEyNTJjMjI1MGM0NjhkOWZkZTUzODY3Nzg1NWJjOWYyODQzM2RmNjkyNDdkNzEzODY4NzgxYjgyZDE0YjU1In19fQ=="),
|
|
||||||
MULE("fac6815e-02d5-4776-a5d6-f6d6535b7831", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzY5Y2E0YzI5NTZhNTY3Yzk2ZWUwNGM1MzE0OWYxODY0NjIxODM5M2JjN2IyMWVkNDVmZGFhMTNiZWJjZGFkIn19fQ=="),
|
|
||||||
EVOKER("36ee7e5b-c092-48ad-9673-2a73b0a44b4f", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTAwZDNmZmYxNmMyZGNhNTliOWM1OGYwOTY1MjVjODY5NzExNjZkYmFlMTMzYjFiMDUwZTVlZTcxNjQ0MyJ9fX0="),
|
|
||||||
VEX("f83bcfc1-0213-4957-888e-d3e2fae71203", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNWU3MzMwYzdkNWNkOGEwYTU1YWI5ZTk1MzIxNTM1YWM3YWUzMGZlODM3YzM3ZWE5ZTUzYmVhN2JhMmRlODZiIn19fQ=="),
|
|
||||||
VINDICATOR("5f958e1c-91ea-42d3-9d26-09e5925f2d9c", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvN2RhNTg1ZWJkZGNjNDhmMzA3YmU2YTgzOTE2Zjg3OGVkNGEwMTRlYzNkNGYyODZhMmNmZDk1MzI4MTk2OSJ9fX0="),
|
|
||||||
ILLUSIONER("ccb79aa9-1764-4e5b-8ff3-e7be661ac7e2", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjYxNWUxMjQ1ZDBkODJkODFkZmEzNzUzMDYzZDhhYWQwZmE2NjU3NTk5ODcxY2Y0YzY5YmFiNzNjNjk5MDU1In19fQ=="),
|
|
||||||
PIG_ZOMBIE("6540c046-d6ea-4aff-9766-32a54ebe6958", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzRlOWM2ZTk4NTgyZmZkOGZmOGZlYjMzMjJjZDE4NDljNDNmYjE2YjE1OGFiYjExY2E3YjQyZWRhNzc0M2ViIn19fQ=="),
|
|
||||||
SILVERFISH("30a4cd5c-5754-4db8-8960-18022a74627d", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGE5MWRhYjgzOTFhZjVmZGE1NGFjZDJjMGIxOGZiZDgxOWI4NjVlMWE4ZjFkNjIzODEzZmE3NjFlOTI0NTQwIn19fQ=="),
|
|
||||||
BAT("cfdaf903-18cf-4a92-acf2-efa8626cf0b2", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOWU5OWRlZWY5MTlkYjY2YWMyYmQyOGQ2MzAyNzU2Y2NkNTdjN2Y4YjEyYjlkY2E4ZjQxYzNlMGEwNGFjMWNjIn19fQ=="),
|
|
||||||
WITCH("7f92b3d6-5ee0-4ab6-afae-2206b9514a63", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjBlMTNkMTg0NzRmYzk0ZWQ1NWFlYjcwNjk1NjZlNDY4N2Q3NzNkYWMxNmY0YzNmODcyMmZjOTViZjlmMmRmYSJ9fX0="),
|
|
||||||
ENDERMITE("33c425bb-a294-4e01-9b5b-a8ad652bb5cf", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODRhYWZmYTRjMDllMmVhZmI4NWQzNTIyMTIyZGIwYWE0NTg3NGJlYTRlM2Y1ZTc1NjZiNGQxNjZjN2RmOCJ9fX0="),
|
|
||||||
WOLF("4aabc2be-340a-46ad-a42b-0c348344750a", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDdhZGU0OWY1MDEzMTExNTExZGM1MWJhYjc2OWMxYWQ2OTUzMTlhNWQzNTViMzZhZTkyMzRlYTlkMWZmOGUifX19"),
|
|
||||||
SNOWMAN("d71e165b-b49d-4180-9ccf-8ad3084df1dc", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTdlOTgzMWRhZjY4MWY4YzRjNDc3NWNiNDY1M2MzNGJlMjg5OGY4N2VmZDNiNTk4ZDU1NTUxOGYyZmFjNiJ9fX0="),
|
|
||||||
IRON_GOLEM("7cb6e9a5-994f-40d5-9bfc-4ba5d796d21e", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODkwOTFkNzllYTBmNTllZjdlZjk0ZDdiYmE2ZTVmMTdmMmY3ZDQ1NzJjNDRmOTBmNzZjNDgxOWE3MTQifX19"),
|
|
||||||
RABBIT("2186bdc6-55b1-4b44-8a46-3c8a11d40f3d", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvN2QxMTY5YjI2OTRhNmFiYTgyNjM2MDk5MjM2NWJjZGE1YTEwYzg5YTNhYTJiNDhjNDM4NTMxZGQ4Njg1YzNhNyJ9fX0="),
|
|
||||||
POLAR_BEAR("87324464-1700-468f-8333-e7779ec8c21e", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDQ2ZDIzZjA0ODQ2MzY5ZmEyYTM3MDJjMTBmNzU5MTAxYWY3YmZlODQxOTk2NjQyOTUzM2NkODFhMTFkMmIifX19"),
|
|
||||||
LLAMA("75fb08e5-2419-46fa-bf09-57362138f234", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzJiMWVjZmY3N2ZmZTNiNTAzYzMwYTU0OGViMjNhMWEwOGZhMjZmZDY3Y2RmZjM4OTg1NWQ3NDkyMTM2OCJ9fX0="),
|
|
||||||
PARROT("da0cac14-3763-45df-b884-c99a567882ac", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTZkZTFlYjllMzI1ZTYyZjI4ZjJjMTgzZDM5YTY4MzExMzY0NDYzNjU3MjY0Njc1YThiNDYxY2QyOGM5In19fQ=="),
|
|
||||||
VILLAGER("b3ed4a1b-dfff-464c-87c0-c8029e1de47b", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzZhYjYxYWNlMTM2MDE3YTg3YjFiODFiMTQ1ZWJjNjNlMmU2ZGE5ZDM2NGM4MTE5NGIzM2VlODY2ZmU0ZCJ9fX0="),
|
|
||||||
PHANTOM("9290add8-c291-4a5a-8f8a-594f165406a3", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvN2U5NTE1M2VjMjMyODRiMjgzZjAwZDE5ZDI5NzU2ZjI0NDMxM2EwNjFiNzBhYzAzYjk3ZDIzNmVlNTdiZDk4MiJ9fX0="),
|
|
||||||
COD("d6d4c744-06b4-4a8a-bc7a-bdb0770bb1cf", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg5MmQ3ZGQ2YWFkZjM1Zjg2ZGEyN2ZiNjNkYTRlZGRhMjExZGY5NmQyODI5ZjY5MTQ2MmE0ZmIxY2FiMCJ9fX0="),
|
|
||||||
SALMON("0354c430-3979-4b6e-8e65-a99eb3ea8818", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOGFlYjIxYTI1ZTQ2ODA2Y2U4NTM3ZmJkNjY2ODI4MWNmMTc2Y2VhZmU5NWFmOTBlOTRhNWZkODQ5MjQ4NzgifX19"),
|
|
||||||
PUFFERFISH("258e3114-368c-48a1-85fd-be580912f0df", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTcxNTI4NzZiYzNhOTZkZDJhMjI5OTI0NWVkYjNiZWVmNjQ3YzhhNTZhYzg4NTNhNjg3YzNlN2I1ZDhiYiJ9fX0="),
|
|
||||||
TROPICAL_FISH("d93c1bf6-616f-401a-af6e-f9b9803a0024", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTc5ZTQ4ZDgxNGFhM2JjOTg0ZThhNmZkNGZiMTcwYmEwYmI0ODkzZjRiYmViZGU1ZmRmM2Y4Zjg3MWNiMjkyZiJ9fX0="),
|
|
||||||
DROWNED("2f169660-61be-46bd-acb5-1abef9fe5731", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzNmN2NjZjYxZGJjM2Y5ZmU5YTYzMzNjZGUwYzBlMTQzOTllYjJlZWE3MWQzNGNmMjIzYjNhY2UyMjA1MSJ9fX0="),
|
|
||||||
DOLPHIN("8b7ccd6d-36de-47e0-8d5a-6f6799c6feb8", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOGU5Njg4Yjk1MGQ4ODBiNTViN2FhMmNmY2Q3NmU1YTBmYTk0YWFjNmQxNmY3OGU4MzNmNzQ0M2VhMjlmZWQzIn19fQ=="),
|
|
||||||
// Since 1.14
|
|
||||||
CAT("f0aaa05b-0283-4663-9b57-52dbf2ca2750", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTBkYjQxMzc2Y2E1N2RmMTBmY2IxNTM5ZTg2NjU0ZWVjZmQzNmQzZmU3NWU4MTc2ODg1ZTkzMTg1ZGYyODBhNSJ9fX0="),
|
|
||||||
FOX("237a2651-7da8-457a-aaea-3714bcc196a2", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDg5NTRhNDJlNjllMDg4MWFlNmQyNGQ0MjgxNDU5YzE0NGEwZDVhOTY4YWVkMzVkNmQzZDczYTNjNjVkMjZhIn19fQ=="),
|
|
||||||
PANDA("bf7435c9-b7eb-49e9-8887-60697f8081b9", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGNhMDk2ZWVhNTA2MzAxYmVhNmQ0YjE3ZWUxNjA1NjI1YTZmNTA4MmM3MWY3NGE2MzljYzk0MDQzOWY0NzE2NiJ9fX0="),
|
|
||||||
PILLAGER("1ac9d5aa-46ef-4d71-b077-4564382c0a43", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNGFlZTZiYjM3Y2JmYzkyYjBkODZkYjVhZGE0NzkwYzY0ZmY0NDY4ZDY4Yjg0OTQyZmRlMDQ0MDVlOGVmNTMzMyJ9fX0="),
|
|
||||||
RAVAGER("def81bd7-85e5-4644-b1b2-e7521e53bba8", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMWNiOWYxMzlmOTQ4OWQ4NmU0MTBhMDZkOGNiYzY3MGM4MDI4MTM3NTA4ZTNlNGJlZjYxMmZlMzJlZGQ2MDE5MyJ9fX0="),
|
|
||||||
TRADER_LLAMA("47dbdab5-105f-42bc-9580-c61cee9231f3", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzA4N2E1NTZkNGZmYTk1ZWNkMjg0NGYzNTBkYzQzZTI1NGU1ZDUzNWZhNTk2ZjU0MGQ3ZTc3ZmE2N2RmNDY5NiJ9fX0="),
|
|
||||||
WANDERING_TRADER("943947ea-3e1a-4fdc-85e5-f538379f05e9", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNWYxMzc5YTgyMjkwZDdhYmUxZWZhYWJiYzcwNzEwZmYyZWMwMmRkMzRhZGUzODZiYzAwYzkzMGM0NjFjZjkzMiJ9fX0="),
|
|
||||||
// Since 1.15
|
|
||||||
BEE("77342662-8870-445a-869f-f0aef1406b3d", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTlhYzE2ZjI5NmI0NjFkMDVlYTA3ODVkNDc3MDMzZTUyNzM1OGI0ZjMwYzI2NmFhMDJmMDIwMTU3ZmZjYTczNiJ9fX0="),
|
|
||||||
// Since 1.16
|
|
||||||
PIGLIN("7b3f9b15-325b-4d6e-a184-0455e233a1cc", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2NlZDlkODAxYWE2ZjgzZjhlNDlmOTBkOWE4Yjg1YjdmOGZkYTU4M2Q4NWY3MmNmZmI2OTg2NzI1Nzg5ZjYzNiJ9fX0="),
|
|
||||||
ZOMBIFIED_PIGLIN("4f013cfb-84f8-4d80-8529-25127f6c70ee", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvN2VhYmFlY2M1ZmFlNWE4YTQ5Yzg4NjNmZjQ4MzFhYWEyODQxOThmMWEyMzk4ODkwYzc2NWUwYThkZTE4ZGE4YyJ9fX0="),
|
|
||||||
STRIDER("d1c2fba9-6633-4625-9cda-8528fae6fe09", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMThhOWFkZjc4MGVjN2RkNDYyNWM5YzA3NzkwNTJlNmExNWE0NTE4NjY2MjM1MTFlNGM4MmU5NjU1NzE0YjNjMSJ9fX0="),
|
|
||||||
HOGLIN("8196c240-e96a-4434-b630-6b191ceeb480", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOWJiOWJjMGYwMWRiZDc2MmEwOGQ5ZTc3YzA4MDY5ZWQ3Yzk1MzY0YWEzMGNhMTA3MjIwODU2MWI3MzBlOGQ3NSJ9fX0="),
|
|
||||||
ZOGLIN("d6f4e7ce-dc71-4c81-97dc-df0d15d39a68", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNWZhMGFkYTM0MTFmYmE4Yjg4NTgzZDg2NGIyNTI2MDZlOTNkZmRmNjQ3NjkwZDNjZjRjMDE3YjYzYmFiMTJiMCJ9fX0="),
|
|
||||||
PIGLIN_BRUTE("bf47747e-757d-3212-9848-880f64274787", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjQ4ODc5OWM4M2VjYjI5NDUyY2ViYTg5YzNjMDA5OTIxOTI3NGNlNWIyYmZiOGFkMGIzZWE0YzY1ZmFjNDYzMCJ9fX0="),
|
|
||||||
// Since 1.17
|
|
||||||
AXOLOTL("b9e1cfe8-792a-3971-855a-7e453c0c22e1", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjY3ZTE1ZWFiNzMwNjRiNjY4MGQxZGI5OGJhNDQ1ZWQwOTE0YmEzNWE3OTk5OTdjMGRhMmIwM2ZmYzNhODgyNiJ9fX0="),
|
|
||||||
GLOW_SQUID("40a2f93f-2954-3bea-91ca-85e48e63fe21", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNGIyZTliNjU4MWZlZDQ4YTk5ZTAzMjMwOTFhZDVjM2MzMjZjZGEyMDA3M2UyOGE5MDJhMDM3M2Y3MzgyYjU5ZiJ9fX0="),
|
|
||||||
GOAT("acbab1c5-e323-3a61-ac37-58d0b2a546d1", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODc0NzNlMDU1ZGY2ZTdmZDk4NjY0ZTlmZGI2MzY3NWYwODgxMDYzMDVkNzQ0MDI0YTQxYmIzNTg5MThhMTQyYiJ9fX0=");
|
|
||||||
|
|
||||||
// ---------------------------------------------------------------------
|
|
||||||
// Section: Variables
|
|
||||||
// ---------------------------------------------------------------------
|
|
||||||
|
|
||||||
/**
|
|
||||||
* User UUID that has given skin.
|
|
||||||
*/
|
|
||||||
private String uuid;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Base64 Encoded link to Minecraft texture.
|
|
||||||
*/
|
|
||||||
private String textureValue;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Skull owner.
|
|
||||||
*/
|
|
||||||
private Object skullOwner;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This map allows to access all enum values via their string.
|
|
||||||
*/
|
|
||||||
private final static Map<String, HeadLib> BY_NAME = new HashMap<>();
|
|
||||||
|
|
||||||
|
|
||||||
// ---------------------------------------------------------------------
|
|
||||||
// Section: Constructor
|
|
||||||
// ---------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This inits new enum value by given UUID and textureValue that is encoded in Base64.
|
|
||||||
* @param uuid User UUID String which skin must be loaded.
|
|
||||||
* @param textureValue Texture link encoded in Base64.
|
|
||||||
*/
|
|
||||||
HeadLib(String uuid, String textureValue)
|
|
||||||
{
|
|
||||||
this.uuid = uuid;
|
|
||||||
this.textureValue = textureValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ---------------------------------------------------------------------
|
|
||||||
// Section: Methods that returns ItemStacks
|
|
||||||
// ---------------------------------------------------------------------
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an ItemStack of the size 1 of the custom head.
|
|
||||||
*
|
|
||||||
* @return an ItemStack of the custom head.
|
|
||||||
*/
|
|
||||||
public ItemStack toItemStack()
|
|
||||||
{
|
|
||||||
return this.toItemStack(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an ItemStack of the custom head.
|
|
||||||
*
|
|
||||||
* @param amount the amount of items in the stack
|
|
||||||
* @return an ItemStack of the custom head.
|
|
||||||
*/
|
|
||||||
public ItemStack toItemStack(int amount)
|
|
||||||
{
|
|
||||||
return this.toItemStack(amount, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an ItemStack of the size 1 of the custom head.
|
|
||||||
*
|
|
||||||
* @param displayName the name to display. Supports "&" color codes
|
|
||||||
* @param loreLines optional lore lines. Supports "&" color codes
|
|
||||||
* @return an ItemStack of the custom head.
|
|
||||||
*/
|
|
||||||
public ItemStack toItemStack(String displayName, String... loreLines)
|
|
||||||
{
|
|
||||||
return this.toItemStack(1, displayName, loreLines);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an ItemStack of the custom head.
|
|
||||||
*
|
|
||||||
* @param amount the amount of items in the stack
|
|
||||||
* @param displayName the name to display. Supports "&" color codes
|
|
||||||
* @param loreLines optional lore lines. Supports "&" color codes
|
|
||||||
* @return an ItemStack of the custom head.
|
|
||||||
*/
|
|
||||||
public ItemStack toItemStack(int amount, String displayName, String... loreLines)
|
|
||||||
{
|
|
||||||
ItemStack item = new ItemStack(Material.PLAYER_HEAD, amount);
|
|
||||||
ItemMeta meta = item.getItemMeta();
|
|
||||||
|
|
||||||
// Set Lora and DisplayName
|
|
||||||
if (meta != null && displayName != null)
|
|
||||||
{
|
|
||||||
meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', displayName));
|
|
||||||
|
|
||||||
if (loreLines.length != 0)
|
|
||||||
{
|
|
||||||
List<String> loreCC = new ArrayList<>();
|
|
||||||
Arrays.stream(loreLines).forEach(l -> loreCC.add(ChatColor.translateAlternateColorCodes('&', l)));
|
|
||||||
meta.setLore(loreCC);
|
|
||||||
}
|
|
||||||
|
|
||||||
item.setItemMeta(meta);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set correct Skull texture
|
|
||||||
if (meta != null && this.textureValue != null && !this.textureValue.isEmpty())
|
|
||||||
{
|
|
||||||
GameProfile profile = new GameProfile(UUID.fromString(this.uuid), null);
|
|
||||||
profile.getProperties().put("textures", new Property("textures", this.textureValue));
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
Field profileField = meta.getClass().getDeclaredField("profile");
|
|
||||||
profileField.setAccessible(true);
|
|
||||||
profileField.set(meta, profile);
|
|
||||||
item.setItemMeta(meta);
|
|
||||||
}
|
|
||||||
catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException e)
|
|
||||||
{
|
|
||||||
BentoBox.getInstance().log("Error while creating Skull Icon");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return item;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ---------------------------------------------------------------------
|
|
||||||
// Section: Other methods
|
|
||||||
// ---------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This method returns HeadLib enum object with given name. If enum value with given name does not exist,
|
|
||||||
* then return null.
|
|
||||||
* @param name Name of object that must be returned.
|
|
||||||
* @return HeadLib with given name or null.
|
|
||||||
*/
|
|
||||||
public static HeadLib getHead(String name)
|
|
||||||
{
|
|
||||||
return BY_NAME.get(name.toUpperCase());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//
|
|
||||||
// This static call populates all existing enum values into static map.
|
|
||||||
//
|
|
||||||
static
|
|
||||||
{
|
|
||||||
for (HeadLib head : values())
|
|
||||||
{
|
|
||||||
BY_NAME.put(head.name(), head);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user