From 1fcbe27d6a10028f728b28631ace7fac28a39fb2 Mon Sep 17 00:00:00 2001 From: Fisher2911 Date: Sun, 6 Mar 2022 17:02:48 -0500 Subject: [PATCH] Fixed placeholders --- .../config/ActionSerializer.class | Bin 18337 -> 18337 bytes .../config/WardrobeSettings.class | Bin 8664 -> 8663 bytes common/build/resources/main/config.yml | 2 +- .../compileJava/previous-compilation-data.bin | Bin 62728 -> 62727 bytes .../hmccosmetics/config/ActionSerializer.java | 2 -- .../hmccosmetics/config/TokenLoader.java | 5 ++++- .../fisher2911/hmccosmetics/gui/Token.java | 10 ++++++++- .../fisher2911/hmccosmetics/gui/TokenGui.java | 19 +++++++++++++++--- common/src/main/resources/tokens.yml | 4 +++- 9 files changed, 33 insertions(+), 9 deletions(-) diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/config/ActionSerializer.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/config/ActionSerializer.class index 07c1288a3511e4cad8e0dea70aaf824017664f30..dbd6f3ea8047f6b521a8f53823057e9eae577d57 100644 GIT binary patch delta 575 zcmWNPduYvJ7{@=aIXMTXnNrGMXW1Vv4dWb}4QD%KnZ>Y+#gLd>nmdQN?1B^>_RcJq zIGMRKe&n*;Wx1vhlRrkngjPd~T)zK2y*+*3=lgv=?;DMnXv8$!O^iwQ4|bXoLtR|M z=#1aS1`53?bY%pwq|%2`c2%IngzSevb3ztwCNPj}l9@;blgMQX1>{i3WWr3PlsxDC z@G8@olK*EMTSTdKNneQ_75gJ6?9si->%8YSu1_sFKLC zjB3etvx$9FP(vkq)Y(fd2b|p0UnZxH9vs0(JxLrT#BoJDA*WN!;53UkBd4>vc8+75 zS9Q3;1@3T>dtBl(muXk$H&=~|M&st1b7*9Z@qNU@Cnaj7zXXH$u4Jtu@`E&f5~RcC zk3Q`ALpT1?oqskaSYTXsdeEA9+ZN1M%}mcS?Y26-*!xAQuTp&z&o;-M;WN{&3*`-Z za+BWNBEW6N(+YmQvNqI(jvuM zp7G8p55;xLULyQU8NhNSUxA<1WU@x@71nF5WghD&kwI8wYuP}Qjns+oNy=!TTt*cd bSV;$)1!k+$GB(Y4`sz~*5s)OCFs}4JIC-A9 delta 575 zcmWlXduYvJ7{@=aSv$venyHoY*O4igwle$8akl)nV_7&DX2(J!e!cz92)$Bb9tcU^~@Tr73bgTb&tUJj`M|vzbH*h0LW?E5ba=na?H`5GCSv z=Qf!!OG#rHBUw&1E11ek!c<7STBkLvWgQz?&sHkk)Fi@NO^WNVgk}l% zQ$>qp2dLo)^&F&uL-HJ!)#{c82TaKchH?@=ZA{=4Ax<-sGs<+9#hg=~c4a!RXRZ_% zWL@Mcm$=7e?#uehHGXoPKin{h+%z6;xkvL`jQIn(K3EPZ70OO^Ey95C zO*!WMOR|9!W1Iv#Vv?Liwqr&)y>^-Q;({5b&uK2G@O>kh@1)QxoH~-B1F-l45M*8;2Q#)AnmKy+vsH-+wzCKW&H)e~I^_!xABRUb29=1h zu(KYs<^+=g5On?D9pU1gW$?ZqfTlzaXtRk1yaEvOdZv1Oc;L3x8IvgTaijyYRSE3^ z5Cq!OeH~=C1F-l45T=K((f|Wp1)lFw$8Bsldb0=v&H)gg>CSZ>id*+ZaP5xC zFKNcJ<^+=g5QxQ8DsU$~WxkTo!CG`{JhO=gyaEu(;%ZwqAzJSj9KTjRXxs6#RSE3^ z5O6o(#J^_?D}PG;R3DzdXtPobq5}m6^8vR4v-b~#7#J7B0jUDI0`&ou0>=T!0U*%< c*a4*hhXJ#dC}zwJ0e=9n0RaNY0m}gZ09IE=bN~PV diff --git a/common/src/main/java/io/github/fisher2911/hmccosmetics/config/ActionSerializer.java b/common/src/main/java/io/github/fisher2911/hmccosmetics/config/ActionSerializer.java index e0a70ca6..186707ca 100644 --- a/common/src/main/java/io/github/fisher2911/hmccosmetics/config/ActionSerializer.java +++ b/common/src/main/java/io/github/fisher2911/hmccosmetics/config/ActionSerializer.java @@ -1,11 +1,9 @@ package io.github.fisher2911.hmccosmetics.config; -import com.comphenix.protocol.wrappers.EnumWrappers; import dev.triumphteam.gui.guis.GuiItem; import io.github.fisher2911.hmccosmetics.HMCCosmetics; import io.github.fisher2911.hmccosmetics.gui.ArmorItem; import io.github.fisher2911.hmccosmetics.gui.CosmeticGui; -import io.github.fisher2911.hmccosmetics.inventory.PlayerArmor; import io.github.fisher2911.hmccosmetics.message.Message; import io.github.fisher2911.hmccosmetics.message.MessageHandler; import io.github.fisher2911.hmccosmetics.message.Placeholder; diff --git a/common/src/main/java/io/github/fisher2911/hmccosmetics/config/TokenLoader.java b/common/src/main/java/io/github/fisher2911/hmccosmetics/config/TokenLoader.java index 12e01dbf..ef402ea5 100644 --- a/common/src/main/java/io/github/fisher2911/hmccosmetics/config/TokenLoader.java +++ b/common/src/main/java/io/github/fisher2911/hmccosmetics/config/TokenLoader.java @@ -11,12 +11,14 @@ import org.spongepowered.configurate.yaml.YamlConfigurationLoader; import java.io.File; import java.nio.file.Path; +import java.util.List; public class TokenLoader { private static final String FILE_NAME = "tokens.yml"; private static final String TOKEN_PATH = "tokens"; private static final String ID_PATH = "id"; + private static final String COMMANDS_PATH = "commands"; private final HMCCosmetics plugin; private final CosmeticManager cosmeticManager; @@ -46,7 +48,8 @@ public class TokenLoader { if (armorItem == null) { this.plugin.getLogger().severe("Could not find armor item for token: " + id + " with id: " + id); } - this.cosmeticManager.addToken(new Token(itemStack, armorItem)); + final List commands = node.node(COMMANDS_PATH).getList(String.class); + this.cosmeticManager.addToken(new Token(itemStack, armorItem, commands)); } } catch (final ConfigurateException exception) { this.plugin.getLogger().severe("Error loading tokens!"); diff --git a/common/src/main/java/io/github/fisher2911/hmccosmetics/gui/Token.java b/common/src/main/java/io/github/fisher2911/hmccosmetics/gui/Token.java index df5af81e..ca65ecff 100644 --- a/common/src/main/java/io/github/fisher2911/hmccosmetics/gui/Token.java +++ b/common/src/main/java/io/github/fisher2911/hmccosmetics/gui/Token.java @@ -4,14 +4,18 @@ import io.github.fisher2911.hmccosmetics.util.Keys; import org.bukkit.inventory.ItemStack; import org.bukkit.persistence.PersistentDataType; +import java.util.List; + public class Token { private final ItemStack itemStack; private final ArmorItem armorItem; + private final List commands; - public Token(final ItemStack itemStack, final ArmorItem armorItem) { + public Token(final ItemStack itemStack, final ArmorItem armorItem, final List commands) { this.itemStack = itemStack; this.armorItem = armorItem; + this.commands = commands; Keys.setKey(this.itemStack, Keys.TOKEN_KEY, PersistentDataType.STRING, this.armorItem.getId()); } @@ -26,4 +30,8 @@ public class Token { public ArmorItem getArmorItem() { return armorItem; } + + public List getCommands() { + return commands; + } } diff --git a/common/src/main/java/io/github/fisher2911/hmccosmetics/gui/TokenGui.java b/common/src/main/java/io/github/fisher2911/hmccosmetics/gui/TokenGui.java index 55ed98ca..87320e29 100644 --- a/common/src/main/java/io/github/fisher2911/hmccosmetics/gui/TokenGui.java +++ b/common/src/main/java/io/github/fisher2911/hmccosmetics/gui/TokenGui.java @@ -6,6 +6,7 @@ import io.github.fisher2911.hmccosmetics.cosmetic.CosmeticManager; import io.github.fisher2911.hmccosmetics.message.Messages; import io.github.fisher2911.hmccosmetics.message.Placeholder; import io.github.fisher2911.hmccosmetics.user.User; +import io.github.fisher2911.hmccosmetics.util.builder.ItemBuilder; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -72,7 +73,14 @@ public class TokenGui extends CosmeticGui { return; } final ArmorItem item = token.getArmorItem(); - inventory.setItem(this.cosmeticSlot, item.getItemStack(ArmorItem.Status.ALLOWED)); + inventory.setItem(this.cosmeticSlot, + this.applyPlaceholders( + user, + player, + item, + true + ) + ); return; } if (inHand != null && inHand.getType() != Material.AIR) { @@ -81,7 +89,7 @@ public class TokenGui extends CosmeticGui { } tokenItem = inventory.getItem(this.tokenSlot); token = this.cosmeticManager.getToken(tokenItem); - if (token == null) { + if (tokenItem == null || token == null) { event.setCancelled(true); return; } @@ -100,7 +108,12 @@ public class TokenGui extends CosmeticGui { tokenItem.setAmount(tokenItem.getAmount() - 1); inventory.setItem(this.tokenSlot, tokenItem); clicked.setAmount(0); - player.addAttachment(this.plugin, armorItem.getPermission(), true); + for (final String command : token.getCommands()) { + Bukkit.dispatchCommand( + Bukkit.getConsoleSender(), + command.replace(Placeholder.PLAYER, player.getName()) + ); + } this.messageHandler.sendMessage( player, Messages.TRADED_TOKEN, diff --git a/common/src/main/resources/tokens.yml b/common/src/main/resources/tokens.yml index 9d4f7543..25716c19 100644 --- a/common/src/main/resources/tokens.yml +++ b/common/src/main/resources/tokens.yml @@ -2,4 +2,6 @@ tokens: 1: id: colorful_hat material: emerald - name: "Colorful hat token" \ No newline at end of file + name: "Colorful hat token" + commands: + - "lp user %player% permission set cosmetics.colorful_hat"op \ No newline at end of file