diff --git a/src/main/java/com/sammy/malum/common/item/curiosities/CatalystFlingerItem.java b/src/main/java/com/sammy/malum/common/item/curiosities/CatalystFlingerItem.java index 98b1940a6..dd9ca92f9 100644 --- a/src/main/java/com/sammy/malum/common/item/curiosities/CatalystFlingerItem.java +++ b/src/main/java/com/sammy/malum/common/item/curiosities/CatalystFlingerItem.java @@ -87,20 +87,22 @@ public InteractionResultHolder use(Level worldIn, Player playerIn, In sound = SoundRegistry.CATALYST_LOBBER_UNLOCKED.get(); } case 1 -> { - ItemStack ammo = ItemStack.EMPTY; - for (int i = 0; i < playerIn.getInventory().getContainerSize(); i++) { - ItemStack maybeAmmo = playerIn.getInventory().getItem(i); - if (maybeAmmo.getItem().equals(ItemRegistry.AURIC_EMBERS.get())) { - ammo = maybeAmmo; - break; + if (!playerIn.isCreative()) { + ItemStack ammo = ItemStack.EMPTY; + for (int i = 0; i < playerIn.getInventory().getContainerSize(); i++) { + ItemStack maybeAmmo = playerIn.getInventory().getItem(i); + if (maybeAmmo.getItem().equals(ItemRegistry.AURIC_EMBERS.get())) { + ammo = maybeAmmo; + break; + } } - } - if (ammo.isEmpty()) { - return InteractionResultHolder.fail(stack); + if (ammo.isEmpty()) { + return InteractionResultHolder.fail(stack); + } + ammo.shrink(1); } cooldown = 20; state = 2; - ammo.shrink(1); sound = SoundRegistry.CATALYST_LOBBER_PRIMED.get(); } case 2 -> { diff --git a/src/main/java/com/sammy/malum/core/handlers/SoulHarvestHandler.java b/src/main/java/com/sammy/malum/core/handlers/SoulHarvestHandler.java index b971d8e01..8408cc9a9 100644 --- a/src/main/java/com/sammy/malum/core/handlers/SoulHarvestHandler.java +++ b/src/main/java/com/sammy/malum/core/handlers/SoulHarvestHandler.java @@ -49,7 +49,7 @@ public static void onDeath(LivingDeathEvent event) { var attacker = source.getEntity() instanceof LivingEntity living ? living : target.getLastHurtByMob(); if (data.shouldDropSpirits()) { var itemAsSoul = EntitySpiritDropData.getSpiritData(target).map(s -> s.itemAsSoul).orElse(null); - if (itemAsSoul != null) { + if (itemAsSoul == null) { spawnSpirits(target, attacker, source); } else { var uuid = attacker != null ? attacker.getUUID() : null; diff --git a/src/main/java/com/sammy/malum/mixin/PlayerMixin.java b/src/main/java/com/sammy/malum/mixin/PlayerMixin.java index 93d882345..2c07c00ac 100644 --- a/src/main/java/com/sammy/malum/mixin/PlayerMixin.java +++ b/src/main/java/com/sammy/malum/mixin/PlayerMixin.java @@ -11,7 +11,7 @@ @Mixin(Player.class) public abstract class PlayerMixin { - @ModifyArg(method = "aiStep", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/Level;getEntities(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/phys/AABB;)Ljava/util/List;")) + @ModifyArg(method = "aiStep", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/Level;getEntities(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/phys/AABB;)Ljava/util/List;"), index = 1) private AABB malum$aiStep(AABB aabb) { Player player = (Player) (Object) this; return AqueousAura.growBoundingBox(player, aabb); diff --git a/src/main/resources/data/malum/damage_type/scythe_melee.json b/src/main/resources/data/malum/damage_type/scythe_melee.json index 9f7671c0f..92f80c55f 100644 --- a/src/main/resources/data/malum/damage_type/scythe_melee.json +++ b/src/main/resources/data/malum/damage_type/scythe_melee.json @@ -1,5 +1,5 @@ { - "exhaustion": 0.0, + "exhaustion": 0.1, "message_id": "scythe_melee", "scaling": "when_caused_by_living_non_player" } \ No newline at end of file