#Randomized custom death messages that show what item was used to kill

1 messages · Page 1 of 1 (latest)

kindred lagoon
#

Just want the death messages I made to be made so that either one can play and it shows what item was used to kill the player.

viral copper
#

@kindred lagoon maybe like this?

const messages = [
    "%deadPlayer% got destroyed by %damagingPlayer%",
    "%deadPlayer% got killed by %damagingPlayer%",
    "%deadPlayer% got demplished by %damagingPlayer%",
    "%damagingPlayer% send %deadPlayer% into his grave",
    "%damagingPlayer% beat %deadPlayer%",
]

world.afterEvents.entityDie.subscribe((data) => {
    const deadPlayer = data.deadEntity
    const damagingPlayer = data.damageSource.damagingEntity

    // if the damaging entity was a player
    if (damagingPlayer instanceof Player) {
        let randomMessage = messages[Math.floor(Math.random() * (messages.length + 1))]
        randomMessage = randomMessage.replace(/deadPlayer/g, deadPlayer.name).replace(/damagingPlayer/g, damagingPlayer.name)
        
        world.sendMessage(randomMessage)
        damagingPlayer.runCommandAsync('scoreboard players add @s kills 1');
        damagingPlayer.runCommandAsync('scoreboard players add @s coins 3');
        damagingPlayer.sendMessage(`§7+ §e3 Coins §7(kill)`);
        damagingPlayer.playSound(`random.orb`);
    }

    // add deaths even if the damaging entity isnt a player
    deadPlayer.runCommandAsync(`scoreboard players add @s deaths 1`)
    deadPlayer.teleport( { x: 0.50, y: -20, z:-17.50 }, { facingLocation: { x: 0, y: -20, z:-15 } } )
},
{
    entityTypes: ['minecraft:player'] // track for kill thing
})
rigid phoenix
# viral copper <@696128356453974107> maybe like this? ```js const messages = [ "%deadPlayer...
const messages = (dead: Player, damaging: Player) => [
    `${dead} got destroyed by ${damaging}!`,
    `${dead} was killed by ${damaging}.`,
    `${dead} got demolished by ${damaging}!`,
    `${damaging} sent ${dead} into his grave..`,
    `${damaging} beat ${dead}..`,
];

world.afterEvents.entityDie.subscribe((data) => {
    const deadPlayer = data.deadEntity as Player;
    const damagingPlayer = data.damageSource.damagingEntity;

    if (damagingPlayer instanceof Player) {
        const randomMessage = messages(deadPlayer, damagingPlayer)[Math.floor(Math.random() * messages.length)];

        world.sendMessage(randomMessage);
        world.scoreboard.getObjective("kills").addScore(damagingPlayer.scoreboardIdentity, 1);
        world.scoreboard.getObjective("coins").addScore(damagingPlayer.scoreboardIdentity, 3);
        world.scoreboard.getObjective("deaths").addScore(deadPlayer.scoreboardIdentity, 1);

        damagingPlayer.sendMessage(`§7+ §e3 Coins §7(kill)`);
        damagingPlayer.playSound(`random.orb`);
    }
    deadPlayer.teleport({ x: 0.50, y: -20, z: -17.50 }, { facingLocation: { x: 0, y: -20, z: -15 } });
}, { entityTypes: ['minecraft:player'] });```
viral copper
#

that really works?

#

lol nvm i see now

kindred lagoon
kindred lagoon
rigid phoenix
#

i think its just because its in typescript

kindred lagoon
#

const messages = (dead: Player, damaging: Player) => [

rigid phoenix
#

so you have to remove the typings

#

yeah

#

remove the typings