Skip to content

Commit 545a779

Browse files
newer methods.
.clone() exists; you can now clone menu items. .equals and .hashCode also exist (thank you lombok :D)
1 parent f85f45f commit 545a779

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

src/main/java/me/flame/menus/items/MenuItem.java

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package me.flame.menus.items;
22

3+
import lombok.EqualsAndHashCode;
4+
35
import me.flame.menus.components.nbt.ItemNbt;
6+
47
import org.bukkit.Material;
58
import org.bukkit.event.inventory.InventoryClickEvent;
69
import org.bukkit.inventory.ItemStack;
@@ -25,15 +28,19 @@
2528
* ...
2629
* });
2730
*
28-
* // implementing a new MenuItem:
29-
* menu.addItem(ItemBuilder.of(itemStack, 2) // 2 is the amount of items you get from this "ItemBuilder"
31+
* // implementing a new itemStack:
32+
* menu.addItem(new ItemBuilder(itemStack, 2) // 2 is the amount of items you get from this "ItemBuilder"
3033
* .setName(...).setLore(...)
3134
* .buildItem(() -> ...);
3235
* // the lambda (Consumer) at ItemBuilder#buildItem(Consumer) is optional and you do not have to provide an action, you can use ItemBuilder#buildItem()
3336
* }</pre>
3437
*/
38+
39+
//changed
40+
41+
@EqualsAndHashCode
3542
@SuppressWarnings("unused")
36-
public final class MenuItem {
43+
public final class MenuItem implements Cloneable {
3744
private @Nullable Consumer<InventoryClickEvent> clickAction;
3845
private ItemStack itemStack;
3946
private final UUID uuid = UUID.randomUUID();
@@ -72,4 +79,10 @@ public void setItemStack(ItemStack itemStack) {
7279
public Material getType() {
7380
return itemStack.getType();
7481
}
82+
83+
@SuppressWarnings("MethodDoesntCallSuperMethod")
84+
@Override
85+
public MenuItem clone() {
86+
return new MenuItem(itemStack, clickAction);
87+
}
7588
}

0 commit comments

Comments
 (0)