mirror of
https://github.com/Auxilor/EcoEnchants.git
synced 2025-02-25 06:01:40 +01:00
Added aggressive option to lore getter
This commit is contained in:
parent
dbdce95220
commit
c45a9e3aa4
@ -59,7 +59,13 @@ public class DisplayOptions extends PluginDependent {
|
||||
* Allow reading enchantments from lore-based plugins.
|
||||
*/
|
||||
@Getter
|
||||
private boolean useLoreGetter = false;
|
||||
private boolean usingLoreGetter = false;
|
||||
|
||||
/**
|
||||
* Allow reading enchantments from lore-based plugins aggressively.
|
||||
*/
|
||||
@Getter
|
||||
private boolean usingAggressiveLoreGetter = false;
|
||||
|
||||
/**
|
||||
* If the experimental hide fixer is being used.
|
||||
@ -106,7 +112,8 @@ public class DisplayOptions extends PluginDependent {
|
||||
.collect(Collectors.toList()));
|
||||
sortedRarities.addAll(EnchantmentRarity.values().stream().filter(enchantmentRarity -> !sortedRarities.contains(enchantmentRarity)).collect(Collectors.toList()));
|
||||
|
||||
useLoreGetter = this.getPlugin().getConfigYml().getBool("advanced.lore-getter");
|
||||
usingLoreGetter = this.getPlugin().getConfigYml().getBool("advanced.lore-getter.enabled");
|
||||
usingAggressiveLoreGetter = this.getPlugin().getConfigYml().getBool("advanced.lore-getter.aggressive");
|
||||
usingExperimentalHideFixer = this.getPlugin().getConfigYml().getBool("advanced.hide-fixer.enabled");
|
||||
usingAggressiveExperimentalHideFixer = this.getPlugin().getConfigYml().getBool("advanced.hide-fixer.aggressive");
|
||||
|
||||
|
@ -46,8 +46,34 @@ public class ItemConversions extends PluginDependent implements Listener {
|
||||
*/
|
||||
@EventHandler
|
||||
public void loreConverter(@NotNull final PlayerItemHeldEvent event) {
|
||||
if (!((EnchantDisplay) this.getPlugin().getDisplayModule()).getOptions().isUsingLoreGetter()) {
|
||||
return;
|
||||
}
|
||||
|
||||
ItemStack itemStack = event.getPlayer().getInventory().getItem(event.getNewSlot());
|
||||
|
||||
convertLore(itemStack);
|
||||
}
|
||||
|
||||
/**
|
||||
* On player hold item.
|
||||
* <p>
|
||||
* Listener for lore conversion.
|
||||
*
|
||||
* @param event The event to listen for.
|
||||
*/
|
||||
@EventHandler
|
||||
public void aggressiveLoreConverter(@NotNull final InventoryOpenEvent event) {
|
||||
if (!((EnchantDisplay) this.getPlugin().getDisplayModule()).getOptions().isUsingAggressiveLoreGetter()) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (ItemStack itemStack : event.getInventory().getContents()) {
|
||||
convertLore(itemStack);
|
||||
}
|
||||
}
|
||||
|
||||
private void convertLore(@Nullable final ItemStack itemStack) {
|
||||
if (itemStack == null) {
|
||||
return;
|
||||
}
|
||||
@ -59,10 +85,6 @@ public class ItemConversions extends PluginDependent implements Listener {
|
||||
|
||||
Map<Enchantment, Integer> toAdd = new HashMap<>();
|
||||
|
||||
if (!((EnchantDisplay) this.getPlugin().getDisplayModule()).getOptions().isUseLoreGetter()) {
|
||||
return;
|
||||
}
|
||||
|
||||
List<String> lore = meta.getLore();
|
||||
|
||||
if (lore == null) {
|
||||
@ -146,7 +168,7 @@ public class ItemConversions extends PluginDependent implements Listener {
|
||||
* @param event The event to listen for.
|
||||
*/
|
||||
@EventHandler
|
||||
public void hideFixer(@NotNull final InventoryOpenEvent event) {
|
||||
public void aggressiveHideFixer(@NotNull final InventoryOpenEvent event) {
|
||||
if (!((EnchantDisplay) this.getPlugin().getDisplayModule()).getOptions().isUsingAggressiveExperimentalHideFixer()) {
|
||||
return;
|
||||
}
|
||||
|
@ -112,10 +112,14 @@ drops:
|
||||
# Enabling this option makes all drops go through telekinesis listeners
|
||||
|
||||
advanced:
|
||||
lore-getter: false
|
||||
# This converts enchantments with matching names from other enchantment plugins from lore into real enchantments.
|
||||
# This is experimental not recommended to be used for extended periods of time: enchantments are automatically converted.
|
||||
# Only use this if absolutely necessary as it may cause some bugs.
|
||||
lore-getter:
|
||||
# This converts enchantments with matching names from other enchantment plugins from lore into real enchantments.
|
||||
# This is experimental not recommended to be used for extended periods of time: enchantments are automatically converted.
|
||||
# Only use this if absolutely necessary as it may cause some bugs.
|
||||
enabled: false
|
||||
aggressive: false
|
||||
# Aggressive mode converts all items in all inventories when opened.
|
||||
# This will most likely have a significant performance penalty.
|
||||
hide-fixer:
|
||||
# Fixes some items obtained in older versions with a bug that caused enchantments to be hidden.
|
||||
# Works both in packets to display the enchants to the client as well as changing the server-side item too.
|
||||
|
Loading…
Reference in New Issue
Block a user