I've been stuck on this for three days now, and I can't find any answer online that makes sense. I'm creating a sword that, among other things, sets mobs and players on fire upon damage. I wrote the following code, and it doesn't seem to apply to the sword.
@SubscribeEvent
public static void setOnFire(final LivingDamageEvent event)
{
if (event.getSource().equals(ItemInit.EMBERCLEAVE))
{
event.getEntity().setSecondsOnFire(10);
}
}
"EMBERCLEAVE" is what the sword is registered as. I have tried removing the setSecondsOnFire code from the If statement and having it run regardless, and it works (it just means that any source of damage sets things on fire for 10 seconds, including its own fire ticks, leading to infinite seconds on fire).
When hovering above equals, my IDE says "'equals' between objects of inconvertible types 'DamageSource' and 'RegistryObject<SwordItem>'." I'm guessing that this is the issue, and the event can't figure out how to convert the values, but I don't know how to fix this issue.