#Randomized custom death messages that show what item was used to kill
1 messages · Page 1 of 1 (latest)
@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
})
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'] });```
this one works, but the names in the death messages have a % at the end of them.
this one wasn't working and was giving me this error
what is line 3
i think its just because its in typescript
const messages = (dead: Player, damaging: Player) => [