From af9af75983b2b3ab7457eb00983d900a068e22c2 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Thu, 21 Oct 2021 13:58:51 +0100 Subject: [PATCH] Added support for player heads with textures as gui items --- .../com/willfp/ecoskills/gui/SkillGUI.java | 6 +++--- .../com/willfp/ecoskills/EcoSkillsPlayer.kt | 2 +- .../com/willfp/ecoskills/skills/SkillGUI.kt | 20 +++++-------------- 3 files changed, 9 insertions(+), 19 deletions(-) diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoskills/gui/SkillGUI.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoskills/gui/SkillGUI.java index 4ff311b..f42d08a 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoskills/gui/SkillGUI.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoskills/gui/SkillGUI.java @@ -5,6 +5,7 @@ import com.willfp.eco.core.gui.menu.Menu; import com.willfp.eco.core.gui.slot.FillerMask; import com.willfp.eco.core.gui.slot.MaskMaterials; import com.willfp.eco.core.gui.slot.Slot; +import com.willfp.eco.core.items.Items; import com.willfp.eco.core.items.builder.ItemStackBuilder; import com.willfp.eco.core.items.builder.SkullBuilder; import com.willfp.eco.util.StringUtils; @@ -57,8 +58,7 @@ public class SkillGUI { .toArray(Material[]::new); - Material closeMaterial = Material.getMaterial(plugin.getConfigYml().getString("gui.close.material", false).toUpperCase()); - assert closeMaterial != null; + ItemStack closeItem = Items.lookup(plugin.getConfigYml().getString("gui.close.material", false)).getItem(); Function playerHeadItemBuilder = player -> { ItemStack itemStack = new SkullBuilder() @@ -108,7 +108,7 @@ public class SkillGUI { .setSlot(plugin.getConfigYml().getInt("gui.close.location.row"), plugin.getConfigYml().getInt("gui.close.location.column"), Slot.builder( - new ItemStackBuilder(closeMaterial) + new ItemStackBuilder(closeItem) .setDisplayName(plugin.getConfigYml().getString("gui.close.name")) .build() ).onLeftClick((event, slot) -> { diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/EcoSkillsPlayer.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/EcoSkillsPlayer.kt index 55a9a9b..4d7f094 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/EcoSkillsPlayer.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/EcoSkillsPlayer.kt @@ -99,7 +99,7 @@ fun OfflinePlayer.getSkillLevel(skill: Skill): Int { } fun OfflinePlayer.setSkillLevel(skill: Skill, level: Int) { - return profile.write(skill.id, level) + profile.write(skill.id, level) } fun OfflinePlayer.getSkillProgressToNextLevel(skill: Skill): Double { diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/skills/SkillGUI.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/skills/SkillGUI.kt index e95912a..a763fe4 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/skills/SkillGUI.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/skills/SkillGUI.kt @@ -5,6 +5,7 @@ import com.willfp.eco.core.gui.menu.Menu import com.willfp.eco.core.gui.slot.FillerMask import com.willfp.eco.core.gui.slot.MaskMaterials import com.willfp.eco.core.gui.slot.Slot +import com.willfp.eco.core.items.Items import com.willfp.eco.core.items.builder.ItemStackBuilder import com.willfp.eco.util.NumberUtils import com.willfp.eco.util.StringUtils @@ -28,9 +29,7 @@ class SkillGUI( ) { val slot: Slot = Slot.builder { player: Player -> ItemStackBuilder( - Material.getMaterial( - skill.config.getString("gui.item").uppercase() - )!! + Items.lookup(skill.config.getString("gui.item")).item ).addItemFlag( ItemFlag.HIDE_ATTRIBUTES ).setDisplayName( @@ -131,18 +130,9 @@ class SkillGUI( val pages = ceil(skill.maxLevel / progressionSlots.size.toDouble()).toInt() val levelsPerPage = progressionSlots.size - val closeMaterial = - Material.getMaterial( - plugin.configYml.getString("level-gui.progression-slots.close.material", false).uppercase() - )!! - val homeMaterial = - Material.getMaterial( - plugin.configYml.getString("level-gui.progression-slots.prev-page.material", false).uppercase() - )!! - val nextMaterial = - Material.getMaterial( - plugin.configYml.getString("level-gui.progression-slots.next-page.material", false).uppercase() - )!! + val closeMaterial = Items.lookup(plugin.configYml.getString("level-gui.progression-slots.close.material", false)).item + val homeMaterial = Items.lookup(plugin.configYml.getString("level-gui.progression-slots.prev-page.material", false)).item + val nextMaterial = Items.lookup(plugin.configYml.getString("level-gui.progression-slots.next-page.material", false)).item val pageKey = plugin.namespacedKeyFactory.create("page")