var _a, _b, _c, _d, _e;
import * as mc from "@minecraft/server";
import * as utils from "../utils/index";
export var DropTiming;
(function (DropTiming) {
    DropTiming[DropTiming["before"] = 0] = "before";
    DropTiming[DropTiming["after"] = 1] = "after";
})(DropTiming || (DropTiming = {}));
;
export var DeathEffects;
(function (DeathEffects) {
    DeathEffects[DeathEffects["particles"] = 0] = "particles";
    DeathEffects[DeathEffects["disappear"] = 1] = "disappear";
    DeathEffects[DeathEffects["none"] = 2] = "none";
})(DeathEffects || (DeathEffects = {}));
;
export class Settings {
    static get DropTiming() {
        return Settings.dropTiming;
    }
    static get PlayerGravestone() {
        return Settings.playerGravestone;
    }
    static get MobGravestone() {
        return Settings.mobGravestone;
    }
    static get MobGravestoneGuaranteed() {
        return Settings.mobGravestoneGuaranteed;
    }
    static get DeathEffects() {
        return Settings.deathEffects;
    }
    static set DropTiming(value) {
        Settings.dropTiming = value;
        utils.writeDynamicProperty(mc.world, "ldz_250121:settings.dropTiming", value);
    }
    static set PlayerGravestone(value) {
        Settings.playerGravestone = value;
        utils.writeDynamicProperty(mc.world, "ldz_250121:settings.playerGravestone", value);
    }
    static set MobGravestone(value) {
        Settings.mobGravestone = value;
        utils.writeDynamicProperty(mc.world, "ldz_250121:settings.mobGravestone", value);
    }
    static set MobGravestoneGuaranteed(value) {
        Settings.mobGravestoneGuaranteed = value;
        utils.writeDynamicProperty(mc.world, "ldz_250121:settings.mobGravestoneGuaranteed", value);
    }
    static set DeathEffects(v) {
        Settings.deathEffects = v;
        utils.writeDynamicProperty(mc.world, "ldz_250121:settings.deathEffects", v);
    }
}
Settings.dropTiming = (_a = utils.readDynamicProperty(mc.world, "ldz_250121:settings.dropTiming")) !== null && _a !== void 0 ? _a : 0;
Settings.playerGravestone = (_b = utils.readDynamicProperty(mc.world, "ldz_250121:settings.playerGravestone")) !== null && _b !== void 0 ? _b : true;
Settings.mobGravestone = (_c = utils.readDynamicProperty(mc.world, "ldz_250121:settings.mobGravestone")) !== null && _c !== void 0 ? _c : true;
Settings.mobGravestoneGuaranteed = (_d = utils.readDynamicProperty(mc.world, "ldz_250121:settings.mobGravestoneGuaranteed")) !== null && _d !== void 0 ? _d : false;
Settings.deathEffects = (_e = utils.readDynamicProperty(mc.world, "ldz_250121:settings.deathEffects")) !== null && _e !== void 0 ? _e : 0;
