mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-20 03:35:51 +00:00
Did another requested change.
This commit is contained in:
parent
833b2d3943
commit
942bf436bb
@ -3,6 +3,7 @@ package io.github.thebusybiscuit.slimefun4.implementation.items.magical;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.EnumMap;
|
import java.util.EnumMap;
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
@ -87,20 +88,27 @@ public class EnchantmentRune extends SimpleSlimefunItem<ItemDropHandler> {
|
|||||||
Item entity = (Item) optional.get();
|
Item entity = (Item) optional.get();
|
||||||
ItemStack target = entity.getItemStack();
|
ItemStack target = entity.getItemStack();
|
||||||
|
|
||||||
List<Enchantment> enchantmentList = new ArrayList<>(applicableEnchantments.getOrDefault(target.getType(), new ArrayList<>()));
|
List<Enchantment> applicableEnchantmentList = new ArrayList<>(applicableEnchantments.getOrDefault(target.getType(), new ArrayList<>()));
|
||||||
if (enchantmentList.isEmpty()) {
|
if (applicableEnchantmentList.isEmpty()) {
|
||||||
SlimefunPlugin.getLocal().sendMessage(p, "messages.enchantment-rune.fail", true);
|
SlimefunPlugin.getLocal().sendMessage(p, "messages.enchantment-rune.fail", true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Removing the enchantments that the item already has from enchantmentSet
|
//Removing the enchantments that the item already has from enchantmentSet
|
||||||
enchantmentList.removeIf(enchantment -> target.getEnchantments().containsKey(enchantment));
|
for (Enchantment itemEnchantment : target.getEnchantments().keySet()) {
|
||||||
if (enchantmentList.isEmpty()) {
|
for (Enchantment applicableEnchantment : applicableEnchantmentList) {
|
||||||
|
if (applicableEnchantment == itemEnchantment || applicableEnchantment.conflictsWith(itemEnchantment)) {
|
||||||
|
applicableEnchantmentList.remove(applicableEnchantment);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (applicableEnchantmentList.isEmpty()) {
|
||||||
SlimefunPlugin.getLocal().sendMessage(p, "messages.enchantment-rune.no-enchantment", true);
|
SlimefunPlugin.getLocal().sendMessage(p, "messages.enchantment-rune.no-enchantment", true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Enchantment enchantment = enchantmentList.get(ThreadLocalRandom.current().nextInt(enchantmentList.size()));
|
Enchantment enchantment = applicableEnchantmentList.get(ThreadLocalRandom.current().nextInt(applicableEnchantmentList.size()));
|
||||||
int level = 1;
|
int level = 1;
|
||||||
if (enchantment.getMaxLevel() != 1) {
|
if (enchantment.getMaxLevel() != 1) {
|
||||||
level = ThreadLocalRandom.current().nextInt(enchantment.getMaxLevel()) + 1;
|
level = ThreadLocalRandom.current().nextInt(enchantment.getMaxLevel()) + 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user