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