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.
|
* Allow reading enchantments from lore-based plugins.
|
||||||
*/
|
*/
|
||||||
@Getter
|
@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.
|
* If the experimental hide fixer is being used.
|
||||||
@ -106,7 +112,8 @@ public class DisplayOptions extends PluginDependent {
|
|||||||
.collect(Collectors.toList()));
|
.collect(Collectors.toList()));
|
||||||
sortedRarities.addAll(EnchantmentRarity.values().stream().filter(enchantmentRarity -> !sortedRarities.contains(enchantmentRarity)).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");
|
usingExperimentalHideFixer = this.getPlugin().getConfigYml().getBool("advanced.hide-fixer.enabled");
|
||||||
usingAggressiveExperimentalHideFixer = this.getPlugin().getConfigYml().getBool("advanced.hide-fixer.aggressive");
|
usingAggressiveExperimentalHideFixer = this.getPlugin().getConfigYml().getBool("advanced.hide-fixer.aggressive");
|
||||||
|
|
||||||
|
@ -46,8 +46,34 @@ public class ItemConversions extends PluginDependent implements Listener {
|
|||||||
*/
|
*/
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void loreConverter(@NotNull final PlayerItemHeldEvent event) {
|
public void loreConverter(@NotNull final PlayerItemHeldEvent event) {
|
||||||
|
if (!((EnchantDisplay) this.getPlugin().getDisplayModule()).getOptions().isUsingLoreGetter()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
ItemStack itemStack = event.getPlayer().getInventory().getItem(event.getNewSlot());
|
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) {
|
if (itemStack == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -59,10 +85,6 @@ public class ItemConversions extends PluginDependent implements Listener {
|
|||||||
|
|
||||||
Map<Enchantment, Integer> toAdd = new HashMap<>();
|
Map<Enchantment, Integer> toAdd = new HashMap<>();
|
||||||
|
|
||||||
if (!((EnchantDisplay) this.getPlugin().getDisplayModule()).getOptions().isUseLoreGetter()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
List<String> lore = meta.getLore();
|
List<String> lore = meta.getLore();
|
||||||
|
|
||||||
if (lore == null) {
|
if (lore == null) {
|
||||||
@ -146,7 +168,7 @@ public class ItemConversions extends PluginDependent implements Listener {
|
|||||||
* @param event The event to listen for.
|
* @param event The event to listen for.
|
||||||
*/
|
*/
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void hideFixer(@NotNull final InventoryOpenEvent event) {
|
public void aggressiveHideFixer(@NotNull final InventoryOpenEvent event) {
|
||||||
if (!((EnchantDisplay) this.getPlugin().getDisplayModule()).getOptions().isUsingAggressiveExperimentalHideFixer()) {
|
if (!((EnchantDisplay) this.getPlugin().getDisplayModule()).getOptions().isUsingAggressiveExperimentalHideFixer()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -112,10 +112,14 @@ drops:
|
|||||||
# Enabling this option makes all drops go through telekinesis listeners
|
# Enabling this option makes all drops go through telekinesis listeners
|
||||||
|
|
||||||
advanced:
|
advanced:
|
||||||
lore-getter: false
|
lore-getter:
|
||||||
# This converts enchantments with matching names from other enchantment plugins from lore into real enchantments.
|
# 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.
|
# 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.
|
# 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:
|
hide-fixer:
|
||||||
# Fixes some items obtained in older versions with a bug that caused enchantments to be hidden.
|
# 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.
|
# 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