minesochism/src/display.ts

51 lines
949 B
TypeScript

/**
* This file is just an example.
* You can delete it!
*/
import {
abs,
Advancement,
MCFunction,
Objective,
particle,
playsound,
rel,
Selector,
sleep,
_,
} from "sandstone";
const reward = MCFunction("reward", async () => {
particle("minecraft:heart", rel(0, 1, 0), abs(0, 3, 0), 0.8, 5);
playsound("minecraft:entity.villager.celebrate", "player", Selector("@a"), rel(0, 0, 0), 100, 0, 0);
await sleep("2s")
dmg.revoke(Selector("@a"))
})
const dmg = Advancement("take_dmg", {
criteria: {
impossible: {
trigger: "minecraft:impossible",
},
},
rewards: {
function: reward
}
});
const dmg_score = Objective.create("dmg", "minecraft.custom:minecraft.damage_taken");
MCFunction(
"ontick",
async () => {
const selector = Selector("@a", {
scores: {
dmg: [1, +Infinity],
},
});
dmg.grant(selector)
dmg_score(selector).set(0)
},
{runEachTick: true}
);