1919
2020import lol .hyper .toolstats .ToolStats ;
2121import lol .hyper .toolstats .UUIDDataType ;
22+ import org .bukkit .ChatColor ;
2223import org .bukkit .Material ;
2324import org .bukkit .entity .Player ;
2425import org .bukkit .event .EventHandler ;
@@ -46,6 +47,9 @@ public CraftItem(ToolStats toolStats) {
4647
4748 @ EventHandler
4849 public void onCraft (CraftItemEvent event ) {
50+ if (event .isCancelled ()) {
51+ return ;
52+ }
4953 Player player = (Player ) event .getWhoClicked ();
5054 ItemStack itemStack = event .getCurrentItem ();
5155 if (itemStack == null || itemStack .getType () == Material .AIR ) {
@@ -54,6 +58,12 @@ public void onCraft(CraftItemEvent event) {
5458 String name = itemStack .getType ().toString ().toLowerCase (Locale .ROOT );
5559 for (String x : validItems ) {
5660 if (name .contains (x )) {
61+ if (event .isShiftClick ()) {
62+ String configMessage = toolStats .config .getString ("messages.shift-click-warning.crafting" );
63+ if (configMessage != null ) {
64+ event .getWhoClicked ().sendMessage (ChatColor .translateAlternateColorCodes ('&' , configMessage ));
65+ }
66+ }
5767 if (addLore (itemStack , player ) == null ) {
5868 return ;
5969 }
@@ -71,6 +81,11 @@ private ItemStack addLore(ItemStack itemStack, Player owner) {
7181 long timeCreated = System .currentTimeMillis ();
7282 Date finalDate = new Date (timeCreated );
7383 PersistentDataContainer container = meta .getPersistentDataContainer ();
84+
85+ if (container .has (toolStats .timeCreated , PersistentDataType .LONG ) || container .has (toolStats .genericOwner , PersistentDataType .LONG )) {
86+ return null ;
87+ }
88+
7489 container .set (toolStats .timeCreated , PersistentDataType .LONG , timeCreated );
7590 container .set (toolStats .genericOwner , new UUIDDataType (), owner .getUniqueId ());
7691
0 commit comments