1212import com .badbones69 .crazyenchantments .paper .api .enums .pdc .EnchantedBook ;
1313import com .badbones69 .crazyenchantments .paper .api .objects .CEnchantment ;
1414import com .badbones69 .crazyenchantments .paper .api .utils .ColorUtils ;
15+ import com .google .gson .Gson ;
1516import io .papermc .paper .datacomponent .DataComponentTypes ;
1617import io .papermc .paper .datacomponent .item .ItemLore ;
1718import io .papermc .paper .persistence .PersistentDataContainerView ;
1819import net .kyori .adventure .text .Component ;
1920import net .kyori .adventure .text .TextComponent ;
21+ import net .kyori .adventure .text .logger .slf4j .ComponentLogger ;
2022import org .bukkit .Color ;
2123import org .bukkit .GameMode ;
2224import org .bukkit .Sound ;
@@ -41,6 +43,8 @@ public class DustControlListener implements Listener {
4143 @ NotNull
4244 private final CrazyEnchantments plugin = JavaPlugin .getPlugin (CrazyEnchantments .class );
4345
46+ private final ComponentLogger logger = this .plugin .getComponentLogger ();
47+
4448 @ NotNull
4549 private final Starter starter = this .plugin .getStarter ();
4650
@@ -90,9 +94,12 @@ public void onInventoryClick(InventoryClickEvent event) { // dust use
9094 if (book .getAmount () > 1 ) return ;
9195
9296 final PersistentDataContainerView container = dust .getPersistentDataContainer ();
97+ final PersistentDataContainerView bookContainer = book .getPersistentDataContainer ();
98+
99+ final Gson gson = Methods .getGson ();
93100
94- final DustData dustData = Methods . getGson () .fromJson (container .get (DataKeys .dust .getNamespacedKey (), PersistentDataType .STRING ), DustData .class );
95- final EnchantedBook bookData = Methods . getGson (). fromJson (container .get (DataKeys .stored_enchantments .getNamespacedKey (), PersistentDataType .STRING ), EnchantedBook .class ); //Once Books have PDC
101+ final DustData dustData = gson .fromJson (container .get (DataKeys .dust .getNamespacedKey (), PersistentDataType .STRING ), DustData .class );
102+ final EnchantedBook bookData = gson . fromJson (bookContainer .get (DataKeys .stored_enchantments .getNamespacedKey (), PersistentDataType .STRING ), EnchantedBook .class ); //Once Books have PDC
96103
97104 if (bookData == null || dustData == null ) return ;
98105
@@ -110,7 +117,9 @@ public void onInventoryClick(InventoryClickEvent event) { // dust use
110117
111118 if (!toggle ) return ;
112119
113- if (dustData .getConfigName ().equalsIgnoreCase (Dust .SUCCESS_DUST .getConfigName ())) {
120+ final String configName = dustData .getConfigName ();
121+
122+ if (configName .equalsIgnoreCase (Dust .SUCCESS_DUST .getConfigName ())) {
114123 int per = dustData .getChance ();
115124
116125 if (this .methods .hasArgument ("%success_rate%" , config .getStringList ("Settings.EnchantmentBookLore" ))) {
@@ -138,7 +147,7 @@ public void onInventoryClick(InventoryClickEvent event) { // dust use
138147 return ;
139148 }
140149
141- if (dustData . getConfigName () .equalsIgnoreCase (Dust .DESTROY_DUST .getConfigName ())) {
150+ if (configName .equalsIgnoreCase (Dust .DESTROY_DUST .getConfigName ())) {
142151 int per = dustData .getChance ();
143152
144153 if (this .methods .hasArgument ("%destroy_rate%" , config .getStringList ("Settings.EnchantmentBookLore" ))) {
0 commit comments