Fixed loot populator

This commit is contained in:
Auxilor 2022-01-26 19:58:07 +00:00
parent f07f50e614
commit 336236240c

View File

@ -14,7 +14,6 @@ import org.bukkit.block.BlockState;
import org.bukkit.block.Chest; import org.bukkit.block.Chest;
import org.bukkit.enchantments.Enchantment; import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.minecart.StorageMinecart; import org.bukkit.entity.minecart.StorageMinecart;
import org.bukkit.generator.BlockPopulator; import org.bukkit.generator.BlockPopulator;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
@ -22,6 +21,7 @@ import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.EnchantmentStorageMeta; import org.bukkit.inventory.meta.EnchantmentStorageMeta;
import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.ItemMeta;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
@ -77,21 +77,15 @@ public class LootPopulator extends BlockPopulator {
} }
} }
/** private void modifyItem(@Nullable final ItemStack item) {
* Modify given inventory with EcoEnchants enchantments
*
* @param inventory The target inventory
*/
public void modifyInventory(Inventory inventory) {
for (ItemStack item : inventory) {
if (item == null) { if (item == null) {
continue; return;
} }
if (!EnchantmentTarget.ALL.getMaterials().contains(item.getType())) { if (!EnchantmentTarget.ALL.getMaterials().contains(item.getType())) {
continue; return;
} }
if (item.getType().equals(Material.BOOK)) { if (item.getType().equals(Material.BOOK)) {
continue; return;
} }
Map<Enchantment, Integer> toAdd = new HashMap<>(); Map<Enchantment, Integer> toAdd = new HashMap<>();
@ -188,6 +182,16 @@ public class LootPopulator extends BlockPopulator {
item.setItemMeta(meta); item.setItemMeta(meta);
} }
} }
/**
* Modify given inventory with EcoEnchants enchantments
*
* @param inventory The target inventory
*/
public void modifyInventory(@NotNull final Inventory inventory) {
for (ItemStack item : inventory) {
this.plugin.getScheduler().runLater(1, () -> modifyItem(item));
}
} }
} }