Allow whitescrolls to only be applied to enchantable items.

This commit is contained in:
Brianna 2021-01-19 13:54:44 -06:00
parent ac3599b0af
commit 37c048090f
2 changed files with 18 additions and 2 deletions

View File

@ -1,5 +1,7 @@
package com.songoda.epicenchants.listeners.item;
import com.songoda.core.compatibility.CompatibleMaterial;
import com.songoda.core.nms.nbt.NBTCompound;
import com.songoda.core.nms.nbt.NBTItem;
import com.songoda.epicenchants.EpicEnchants;
import com.songoda.epicenchants.utils.objects.ItemBuilder;
@ -26,6 +28,9 @@ public class WhiteScrollListener extends ItemListener {
return;
}
if (!instance.getItemGroup().isValid(CompatibleMaterial.getMaterial(event.getCurrentItem())))
return;
current.set("protected", true);
instance.getLocale().getMessage("whitescrollapplied").sendPrefixedMessage(event.getWhoClicked());

View File

@ -4,9 +4,13 @@ import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
import com.songoda.core.compatibility.CompatibleMaterial;
import org.apache.commons.lang.StringUtils;
import org.bukkit.Material;
import java.util.*;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import static com.songoda.core.compatibility.CompatibleMaterial.*;
@ -55,6 +59,13 @@ public class ItemGroup {
return output;
}
public boolean isValid(CompatibleMaterial material) {
for (Group group : groupMap.keys())
if (getMaterials(group).contains(material))
return true;
return false;
}
public Set<String> getGroups(Set<CompatibleMaterial> materials) {
Set<String> groups = new HashSet<>();