@Mod.EventBusSubscriber(modid = BadMinecraftFeatures.MOD_ID, bus = Bus.FORGE, value = Dist.CLIENT)
public class OnPlayerDamage
{
@SuppressWarnings("resource")
@SubscribeEvent
public static void onPlayerDamage(LivingDamageEvent event) throws InterruptedException
{
Entity entity = event.getEntity();
if (!entity.world.isRemote())
{
if (entity instanceof PlayerEntity)
{
Item MainItem = ((PlayerEntity) entity).getHeldItemMainhand().getItem();
if (MainItem == ItemInit.totem_of_dying)
{
double x = entity.getPosX();
double y = entity.getPosY();
double z = entity.getPosZ();
((PlayerEntity) entity).inventory.deleteStack(((PlayerEntity) entity).getHeldItemMainhand());
//Minecraft.getInstance().gameRenderer.displayItemActivation(new ItemStack(ItemInit.totem_of_dying, 1));
entity.world.playSound( x, y, z, SoundEvents.ITEM_TOTEM_USE, SoundCategory.MASTER, 1.0F, 1.0F, false);
entity.attackEntityFrom(CustomDamageSources.TotemDamage, 100);
//Minecraft.getInstance().particles.addParticleEmitter(entity, ParticleTypes.TOTEM_OF_UNDYING);
}
}
}
else
{
return;
}
}
}
I did multiple tests with removing some parts of the code, and every time it worked fine in singleplayer but just didn't run in multiplayer. The items were initialized and everything, it's just that the event didn't run.