#how to stop this error from happening

1 messages · Page 1 of 1 (latest)

molten valley
#

the code works even when this error is shown, but only shows when the player dies to something other than a player, such as fall damage. how do I fix that


world.afterEvents.entityDie.subscribe((data) => {
  let deadEntity = data.deadEntity;
  let damagingEntity = data.damageSource.damagingEntity;

  if (damagingEntity.typeId != 'minecraft:player' || deadEntity.typeId != 'minecraft:player') return;

    let messages = [
      `§cdeadEntity §7got destroyed by §cdamagingEntity§7!`,
      `§cdeadEntity §7was killed by §cdamagingEntity§7.`,
      `§cdeadEntity §7got demolished by §cdamagingEntity§7!`,
      `§cdamagingEntity §7sent §cdeadEntity §7into their grave.`,
      `§cdamagingEntity §7beat §cdeadEntity§7.`,
      `§cdamagingEntity §7sent §cdeadEntity §7to the shadow realm.`
    ];
    
    let randomMessage = messages[Math.floor(Math.random() * messages.length)];
    randomMessage = randomMessage.replace(/deadEntity/g, deadEntity.name).replace(/damagingEntity/g, damagingEntity.name);
    
    world.sendMessage(randomMessage)

    world.scoreboard.getObjective("kills").addScore(damagingEntity.scoreboardIdentity, 1);
    world.scoreboard.getObjective("coins").addScore(damagingEntity.scoreboardIdentity, 3);
    damagingEntity.sendMessage(`§7+ §e3 Coins §7(kill)`);
    damagingEntity.playSound(`random.orb`);

    deadEntity.runCommand(`clear @s`)
});```
kindred swift
#

Add a null check before doing anything else. Something like js if(!damagingEntity){ return; }

mild eagle
#

Or just use damagingEntity?.typeId !== 'minecraft:player