29 lines
729 B
JavaScript
29 lines
729 B
JavaScript
/** @type {Object<string, ?Internal.ItemStack>} */
|
|
const tickets = {};
|
|
|
|
// Register ticket on player death
|
|
EntityEvents.death("player", (event) => {
|
|
const player = event.player;
|
|
const uuid = String(player.uuid);
|
|
|
|
if (
|
|
event.entity.isPlayer() &&
|
|
String(player.level.dimension) !== "retards:adventure"
|
|
) {
|
|
tickets[uuid] = null;
|
|
|
|
iterateInventory(player, (item) => {
|
|
if (item.nbt && item.nbt.get("EternalKeep")) tickets[uuid] = item.copy();
|
|
});
|
|
}
|
|
});
|
|
|
|
// Give ticket on player respawn
|
|
PlayerEvents.respawned((event) => {
|
|
const player = event.player;
|
|
const uuid = String(player.uuid);
|
|
|
|
const ticket = tickets[uuid];
|
|
if (ticket) player.give(Item.of(ticket, 1));
|
|
tickets[uuid] = null;
|
|
});
|