Skip to content

Commit c4bafaf

Browse files
committed
Use new api for setting glow effect for newer minecraft versions
- Added reflection to invoke `setEnchantmentGlintOverride` method. - Handled potential exceptions during reflection invocation. - Ensured compatibility with older versions lacking the method. - Updated `addGlow` to set enchantment glint override if available. - Retained existing functionality to hide enchantments.
1 parent 414e157 commit c4bafaf

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

AdvancedCore/src/main/java/com/bencodez/advancedcore/api/item/ItemBuilder.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.bencodez.advancedcore.api.item;
22

33
import java.io.IOException;
4+
import java.lang.reflect.InvocationTargetException;
45
import java.util.ArrayList;
56
import java.util.Collection;
67
import java.util.HashMap;
@@ -508,6 +509,20 @@ public ItemBuilder addEnchantments(Map<Enchantment, Integer> enchantments) {
508509

509510
public ItemBuilder addGlow() {
510511
ItemMeta meta = is.getItemMeta();
512+
513+
try {
514+
// for newer minecraft versions
515+
meta.setEnchantmentGlintOverride(true);
516+
if (meta.getClass().getMethod("setEnchantmentGlintOverride", boolean.class) != null) {
517+
meta.getClass().getMethod("setEnchantmentGlintOverride", boolean.class).invoke(meta, true);
518+
is.setItemMeta(meta);
519+
return this;
520+
}
521+
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException
522+
| SecurityException e) {
523+
e.printStackTrace();
524+
}
525+
511526
meta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
512527
is.setItemMeta(meta);
513528

0 commit comments

Comments
 (0)