diff --git a/src/main/java/wayoftime/bloodmagic/util/Utils.java b/src/main/java/wayoftime/bloodmagic/util/Utils.java index a7093ffc7..15a8c9d21 100644 --- a/src/main/java/wayoftime/bloodmagic/util/Utils.java +++ b/src/main/java/wayoftime/bloodmagic/util/Utils.java @@ -8,6 +8,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; @@ -43,6 +44,7 @@ import net.minecraftforge.items.wrapper.SidedInvWrapper; import wayoftime.bloodmagic.api.compat.IDemonWillViewer; import wayoftime.bloodmagic.common.tile.TileInventory; +import wayoftime.bloodmagic.util.helper.InventoryHelper; import wayoftime.bloodmagic.util.helper.NBTHelper; public class Utils @@ -571,55 +573,27 @@ public static ItemStack[] combineStacks(ItemStack stack1, ItemStack stack2) public static boolean canPlayerSeeDemonWill(Player player) { - IItemHandler inventory = new PlayerMainInvWrapper(player.getInventory()); - - for (int i = 0; i < inventory.getSlots(); i++) + NonNullList inventory = InventoryHelper.getActiveInventories(player); + for (ItemStack stack : inventory) { - ItemStack stack = inventory.getStackInSlot(i); - if (stack.isEmpty()) - { - continue; - } - if (stack.getItem() instanceof IDemonWillViewer && ((IDemonWillViewer) stack.getItem()).canSeeDemonWillAura(player.getCommandSenderWorld(), stack, player)) { return true; } } - - ItemStack offhandStack = player.getOffhandItem(); - if (!offhandStack.isEmpty() && offhandStack.getItem() instanceof IDemonWillViewer && ((IDemonWillViewer) offhandStack.getItem()).canSeeDemonWillAura(player.getCommandSenderWorld(), offhandStack, player)) - { - return true; - } - return false; } public static double getDemonWillResolution(Player player) { - IItemHandler inventory = new PlayerMainInvWrapper(player.getInventory()); - - for (int i = 0; i < inventory.getSlots(); i++) + NonNullList inventory = InventoryHelper.getActiveInventories(player); + for (ItemStack stack : inventory) { - ItemStack stack = inventory.getStackInSlot(i); - if (stack.isEmpty()) - { - continue; - } - if (stack.getItem() instanceof IDemonWillViewer && ((IDemonWillViewer) stack.getItem()).canSeeDemonWillAura(player.getCommandSenderWorld(), stack, player)) { return ((IDemonWillViewer) stack.getItem()).getDemonWillAuraResolution(player.getCommandSenderWorld(), stack, player); } } - - ItemStack offhandStack = player.getOffhandItem(); - if (!offhandStack.isEmpty() && offhandStack.getItem() instanceof IDemonWillViewer && ((IDemonWillViewer) offhandStack.getItem()).canSeeDemonWillAura(player.getCommandSenderWorld(), offhandStack, player)) - { - return ((IDemonWillViewer) offhandStack.getItem()).getDemonWillAuraResolution(player.getCommandSenderWorld(), offhandStack, player); - } - return 100; } diff --git a/src/main/resources/data/curios/tags/items/charm.json b/src/main/resources/data/curios/tags/items/charm.json index e2c10b162..74d4fbc50 100644 --- a/src/main/resources/data/curios/tags/items/charm.json +++ b/src/main/resources/data/curios/tags/items/charm.json @@ -8,6 +8,7 @@ "bloodmagic:sigilofholding", "bloodmagic:divinationsigil", "bloodmagic:seersigil", - "bloodmagic:experiencebook" + "bloodmagic:experiencebook", + "bloodmagic:demonwillgauge" ] } \ No newline at end of file diff --git a/src/main/resources/data/curios/tags/items/living_armour_socket.json b/src/main/resources/data/curios/tags/items/living_armour_socket.json index c177aeb10..7287eb9f9 100644 --- a/src/main/resources/data/curios/tags/items/living_armour_socket.json +++ b/src/main/resources/data/curios/tags/items/living_armour_socket.json @@ -13,6 +13,7 @@ "bloodmagic:soulgemlesser", "bloodmagic:soulgemcommon", "bloodmagic:soulgemgreater", - "bloodmagic:upgradetrainer" + "bloodmagic:upgradetrainer", + "bloodmagic:demonwillgauge" ] } \ No newline at end of file