Skip to content

Commit 495d40d

Browse files
committed
refactor: Add KEY_MARKED migration
1 parent 336c104 commit 495d40d

File tree

2 files changed

+21
-8
lines changed

2 files changed

+21
-8
lines changed

src/main/java/ru/endlesscode/markitem/ItemMarker.java

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,15 @@
99
import java.util.ArrayList;
1010
import java.util.List;
1111

12+
import static ru.endlesscode.markitem.util.Items.*;
13+
1214
class ItemMarker {
1315

1416
private final ItemsPatternMatcher matcher;
1517
private final List<String> markText;
1618

17-
private static final NamespacedKey KEY_MARKED = MarkItemPlugin.namespacedKey("markitem_marked");
19+
private static final NamespacedKey KEY_MARKED = MarkItemPlugin.namespacedKey("marked");
20+
private static final NamespacedKey KEY_MARKED_LEGACY = MarkItemPlugin.namespacedKey("markitem_marked");
1821

1922
ItemMarker(ItemsPatternMatcher matcher, List<String> markText) {
2023
this.matcher = matcher;
@@ -36,12 +39,22 @@ class ItemMarker {
3639
lore.addAll(this.markText);
3740
im.setLore(lore);
3841
});
39-
Items.addFlag(markedItem, KEY_MARKED);
42+
addFlag(markedItem, KEY_MARKED);
4043

4144
return markedItem;
4245
}
4346

4447
static boolean itemIsMarked(@NotNull ItemStack item) {
45-
return Items.hasFlag(item, KEY_MARKED);
48+
return hasFlag(item, KEY_MARKED) || migrateLegacyFlag(item);
49+
}
50+
51+
// TODO: Remove after v1.1
52+
private static boolean migrateLegacyFlag(ItemStack item) {
53+
if (hasFlag(item, KEY_MARKED_LEGACY)) {
54+
addFlag(item, KEY_MARKED);
55+
removeFlag(item, KEY_MARKED_LEGACY);
56+
return true;
57+
}
58+
return false;
4659
}
4760
}

src/main/java/ru/endlesscode/markitem/util/Items.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ public static boolean isNotEmpty(@Nullable ItemStack itemStack) {
2424
}
2525

2626
public static void addFlag(@NotNull ItemStack itemStack, @NotNull NamespacedKey flag) {
27-
ItemMeta itemMeta = itemStack.getItemMeta();
28-
if (itemMeta != null) {
29-
itemMeta.getPersistentDataContainer().set(flag, BYTE, (byte) 1);
30-
itemStack.setItemMeta(itemMeta);
31-
}
27+
editItemMeta(itemStack, im -> im.getPersistentDataContainer().set(flag, BYTE, (byte) 1));
28+
}
29+
30+
public static void removeFlag(@NotNull ItemStack itemStack, @NotNull NamespacedKey flag) {
31+
editItemMeta(itemStack, im -> im.getPersistentDataContainer().remove(flag));
3232
}
3333

3434
public static boolean hasFlag(@NotNull ItemStack itemStack, @NotNull NamespacedKey flag) {

0 commit comments

Comments
 (0)