From 47c5514e285522f96e237c16745be2b117f32164 Mon Sep 17 00:00:00 2001 From: HeroBrineGoat <76707404+MasterOfTheFish@users.noreply.github.com> Date: Thu, 11 Nov 2021 20:39:19 -0500 Subject: [PATCH] Fixed dyes not working and lore changing with permission --- .../fisher2911/hmccosmetics/gui/CosmeticGui.java | 12 ++++++------ .../fisher2911/hmccosmetics/gui/DyeSelectorGui.java | 8 ++++++++ .../io/github/fisher2911/hmccosmetics/user/User.java | 6 ++++++ 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/gui/CosmeticGui.java b/src/main/java/io/github/fisher2911/hmccosmetics/gui/CosmeticGui.java index 5f9b07b5..23dd78a3 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/gui/CosmeticGui.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/gui/CosmeticGui.java @@ -78,22 +78,22 @@ public class CosmeticGui { final String permission = armorItem.getPermission() == null ? "" : armorItem.getPermission(); + final boolean hasPermission = permission.isBlank() || player.hasPermission(permission); + placeholders.put( Placeholder.ALLOWED, - String.valueOf( - player.hasPermission(permission)). - toUpperCase(Locale.ROOT) - ); + String.valueOf(hasPermission). + toLowerCase(Locale.ROOT)); this.gui.setItem(slot, new GuiItem( ItemBuilder.from( - armorItem.getItemStack() + armorItem.getItemStack(hasPermission) ).namePlaceholders(placeholders). lorePlaceholders(placeholders). build(), event -> { - if (!permission.isBlank() && !player.hasPermission(armorItem.getPermission())) { + if (!hasPermission) { this.messageHandler.sendMessage( player, Messages.NO_PERMISSION diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/gui/DyeSelectorGui.java b/src/main/java/io/github/fisher2911/hmccosmetics/gui/DyeSelectorGui.java index c075a55a..4f23b316 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/gui/DyeSelectorGui.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/gui/DyeSelectorGui.java @@ -10,10 +10,12 @@ import io.github.fisher2911.hmccosmetics.util.builder.ColorBuilder; import net.kyori.adventure.text.Component; import org.bukkit.Color; import org.bukkit.Material; +import org.bukkit.entity.HumanEntity; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.LeatherArmorMeta; import java.util.Map; +import java.util.Optional; public class DyeSelectorGui extends CosmeticGui{ @@ -107,4 +109,10 @@ public class DyeSelectorGui extends CosmeticGui{ return gui; } + + @Override + public void open(final HumanEntity player) { + final Optional optionalUser = this.plugin.getUserManager().get(player.getUniqueId()); + optionalUser.ifPresent(user -> this.getGui(user, user.getLastSetItem()).open(player)); + } } diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/user/User.java b/src/main/java/io/github/fisher2911/hmccosmetics/user/User.java index 93777a1a..8953ef99 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/user/User.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/user/User.java @@ -20,6 +20,7 @@ public class User { private final UUID uuid; private final PlayerArmor playerArmor; private ArmorStand attached; + private ArmorItem lastSetItem; public User(final UUID uuid, final PlayerArmor playerArmor) { this.uuid = uuid; @@ -40,6 +41,7 @@ public class User { public void setBackpack(final ArmorItem backpack) { this.playerArmor.setBackpack(backpack); + this.lastSetItem = backpack; } // return true if backpack was set @@ -81,6 +83,7 @@ public class User { public void setHat(final ArmorItem hat) { this.playerArmor.setHat(hat); this.getPlayer().getEquipment().setHelmet(this.playerArmor.getHat().getItemStack()); + this.lastSetItem = hat; } // return true if hat was set @@ -169,4 +172,7 @@ public class User { player.getLocation().getPitch()); } + public ArmorItem getLastSetItem() { + return lastSetItem; + } }