mirror of
https://github.com/Auxilor/EcoEnchants.git
synced 2025-02-13 04:01:30 +01:00
Fixed ItemConversions bugs
This commit is contained in:
parent
7e7d8e9f49
commit
1dad05e834
@ -1,6 +1,7 @@
|
|||||||
package com.willfp.ecoenchants.enchantments.util;
|
package com.willfp.ecoenchants.enchantments.util;
|
||||||
|
|
||||||
import com.willfp.eco.core.EcoPlugin;
|
import com.willfp.eco.core.EcoPlugin;
|
||||||
|
import com.willfp.eco.core.config.updating.ConfigUpdater;
|
||||||
import com.willfp.ecoenchants.EcoEnchantsPlugin;
|
import com.willfp.ecoenchants.EcoEnchantsPlugin;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.experimental.UtilityClass;
|
import lombok.experimental.UtilityClass;
|
||||||
@ -79,6 +80,7 @@ public class ItemConversionOptions {
|
|||||||
*
|
*
|
||||||
* @param plugin Instance of ecoenchants.
|
* @param plugin Instance of ecoenchants.
|
||||||
*/
|
*/
|
||||||
|
@ConfigUpdater
|
||||||
public void reload(@NotNull final EcoPlugin plugin) {
|
public void reload(@NotNull final EcoPlugin plugin) {
|
||||||
usingLoreGetter = plugin.getConfigYml().getBool("advanced.lore-getter.enabled");
|
usingLoreGetter = plugin.getConfigYml().getBool("advanced.lore-getter.enabled");
|
||||||
usingAggressiveLoreGetter = plugin.getConfigYml().getBool("advanced.lore-getter.aggressive");
|
usingAggressiveLoreGetter = plugin.getConfigYml().getBool("advanced.lore-getter.aggressive");
|
||||||
|
@ -247,7 +247,7 @@ public class ItemConversions extends PluginDependent<EcoPlugin> implements Liste
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemStack itemStack = event.getPlayer().getInventory().getItem(event.getNewSlot());
|
ItemStack itemStack = event.getPlayer().getInventory().getItemInMainHand();
|
||||||
|
|
||||||
clampItemLevels(itemStack, event.getPlayer());
|
clampItemLevels(itemStack, event.getPlayer());
|
||||||
}
|
}
|
||||||
@ -267,15 +267,17 @@ public class ItemConversions extends PluginDependent<EcoPlugin> implements Liste
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (meta instanceof EnchantmentStorageMeta) {
|
Map<Enchantment, Integer> levels = FastItemStack.wrap(itemStack).getEnchants(true);
|
||||||
new HashMap<>(((EnchantmentStorageMeta) meta).getStoredEnchants()).forEach((enchantment, integer) -> {
|
|
||||||
|
if (meta instanceof EnchantmentStorageMeta storageMeta) {
|
||||||
|
levels.forEach((enchantment, integer) -> {
|
||||||
if (integer > enchantment.getMaxLevel()) {
|
if (integer > enchantment.getMaxLevel()) {
|
||||||
((EnchantmentStorageMeta) meta).removeStoredEnchant(enchantment);
|
storageMeta.removeStoredEnchant(enchantment);
|
||||||
((EnchantmentStorageMeta) meta).addStoredEnchant(enchantment, enchantment.getMaxLevel(), true);
|
storageMeta.addStoredEnchant(enchantment, enchantment.getMaxLevel(), true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
new HashMap<>(meta.getEnchants()).forEach((enchantment, integer) -> {
|
levels.forEach((enchantment, integer) -> {
|
||||||
if (integer > enchantment.getMaxLevel()) {
|
if (integer > enchantment.getMaxLevel()) {
|
||||||
meta.removeEnchant(enchantment);
|
meta.removeEnchant(enchantment);
|
||||||
meta.addEnchant(enchantment, enchantment.getMaxLevel(), true);
|
meta.addEnchant(enchantment, enchantment.getMaxLevel(), true);
|
||||||
@ -287,7 +289,7 @@ public class ItemConversions extends PluginDependent<EcoPlugin> implements Liste
|
|||||||
|
|
||||||
if (ItemConversionOptions.isUsingLevelClampDelete()) {
|
if (ItemConversionOptions.isUsingLevelClampDelete()) {
|
||||||
itemStack.setType(Material.AIR);
|
itemStack.setType(Material.AIR);
|
||||||
itemStack.setItemMeta(new ItemStack(Material.AIR).getItemMeta());
|
itemStack.setAmount(0);
|
||||||
Bukkit.getLogger().warning(player.getName() + " has/had an illegal item!");
|
Bukkit.getLogger().warning(player.getName() + " has/had an illegal item!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user