diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemSacrificialDagger.java b/src/main/java/WayofTime/bloodmagic/item/ItemSacrificialDagger.java index 960b52a0..62632247 100644 --- a/src/main/java/WayofTime/bloodmagic/item/ItemSacrificialDagger.java +++ b/src/main/java/WayofTime/bloodmagic/item/ItemSacrificialDagger.java @@ -94,14 +94,16 @@ public class ItemSacrificialDagger extends ItemEnum<ItemSacrificialDagger.Dagger return super.onItemRightClick(world, player, hand); if (evt.shouldDrainHealth) { + DamageSourceBloodMagic damageSrc = DamageSourceBloodMagic.INSTANCE; player.hurtResistantTime = 0; - player.attackEntityFrom(DamageSourceBloodMagic.INSTANCE, 0.001F); - player.setHealth(Math.max(player.getHealth() - 2, 0.0001f)); - if (player.getHealth() <= 0.001f) { - player.onDeath(DamageSourceBloodMagic.INSTANCE); - player.setHealth(0); + float playerHealth = player.getHealth(); + if (Math.ceil(player.getHealth() - 2) <= 0) { + player.attackEntityFrom(damageSrc, Float.MAX_VALUE); + } else { + float damageAmount = net.minecraftforge.common.ForgeHooks.onLivingDamage(player, damageSrc, 2.0F); + player.getCombatTracker().trackDamage(damageSrc, playerHealth, damageAmount); + player.setHealth(Math.max(player.getHealth() - 2, 0.001f)); } -// player.attackEntityFrom(BloodMagicAPI.getDamageSource(), 2.0F); } if (!evt.shouldFillAltar) diff --git a/src/main/java/WayofTime/bloodmagic/tile/TileDemonCrucible.java b/src/main/java/WayofTime/bloodmagic/tile/TileDemonCrucible.java index 7685e0fc..52ff0be5 100644 --- a/src/main/java/WayofTime/bloodmagic/tile/TileDemonCrucible.java +++ b/src/main/java/WayofTime/bloodmagic/tile/TileDemonCrucible.java @@ -204,7 +204,7 @@ public class TileDemonCrucible extends TileInventory implements ITickable, IDemo @Override public boolean canInsertItem(int index, ItemStack stack, EnumFacing direction) { - return !stack.isEmpty() && (stack.getItem() instanceof IDemonWillGem || stack.getItem() instanceof IDiscreteDemonWill); + return !stack.isEmpty() && inventory.get(0).isEmpty() && (stack.getItem() instanceof IDemonWillGem || stack.getItem() instanceof IDiscreteDemonWill); } @Override