Add Formatting (Thank God)

This commit is contained in:
2024-08-29 15:47:58 +02:00
parent 545e47a9f3
commit 1ab45204b9
35 changed files with 2331 additions and 254 deletions

View File

@@ -5,7 +5,6 @@ import {
MolangVariableMap,
ChatSendAfterEvent,
Dimension,
TicksPerSecond,
BlockVolume,
ScriptEventCommandMessageAfterEvent,
} from "@minecraft/server";
@@ -32,23 +31,16 @@ import mission1part1 from "./levels/mission1/mission1part1";
import mission1part2 from "./levels/mission1/mission1part2";
import mission1part3 from "./levels/mission1/mission1part3";
import mission2part1 from "./levels/mission2/mission2part1";
import { mission2part1Conditions } from "./levelConditions/mission2part1Conditions";
import mission2part2 from "./levels/mission2/mission2part2";
import { mission2part2Conditions } from "./levelConditions/mission2part2Conditions";
// eslint-disable-next-line @typescript-eslint/no-unused-vars
import Chalk from "./Commandeer/chalk";
import mission3part1 from "./levels/mission3/mission3part1";
import mission3part2 from "./levels/mission3/mission3part2";
import mission3part3 from "./levels/mission3/mission3part3";
import { runEntityEventOnTag, setNPCDialog } from "./Commandeer/utils/entityUtils";
import {
animationPlaying,
ClonePos,
playAnimation,
setAmimationPlaying,
SetFrame,
} from "./Commandeer/animations/animation";
import { animationPlaying, playAnimation, setAmimationPlaying, SetFrame } from "./Commandeer/animations/animation";
import { doNothingStupidTSIWantFilesNotAGiantAssMainFile } from "./triggers";
import { clearWall, fillWall, startLevel, Wall } from "./Commandeer/utils/levelUtils";
import { fillWall, startLevel, Wall } from "./Commandeer/utils/levelUtils";
import { drawArrow } from "./Commandeer/utils/arrow";
import {
glassBreakingFrames,
@@ -71,7 +63,7 @@ export { mindKeeper, CURRENT_LEVEL, triggerManager, PREFIX, DEVELOPER_MODE };
// loadTriggers();
// loadCommands();
triggerManager.RegisterFunctionTrigger("resetPath", (event) => {
triggerManager.RegisterFunctionTrigger("resetPath", () => {
resetLightPath();
});
@@ -79,19 +71,16 @@ async function resetLightPath() {
world.getDimension("overworld").runCommand("/fill 2467 9 87 2468 9 105 air");
}
let introToGlassBreakTimer: number = 0;
const glassBreakTime = 1 * TicksPerSecond;
let isIntroToLevel1Sqeuence = false;
let introTrail: Trail = new Trail("introTrail", 2, 25 / 5);
const introTrail: Trail = new Trail("introTrail", 2, 25 / 5);
introTrail.fromTrail(startTrail);
let introToLevelTrail = new Trail("introToLevelTrail", 2, 74 / 2);
const introToLevelTrail = new Trail("introToLevelTrail", 2, 74 / 2);
introToLevelTrail.fromTrail(IntroToLevel1Trail);
//fill 2466 0 48 2469 -1 48
let bilalBlock: Wall = {
const bilalBlock: Wall = {
startPos: vector3(2466, 0, 48),
endPos: vector3(2469, -1, 48),
};
@@ -101,10 +90,11 @@ let prevCurrentLevel: number = 0;
let isBreaking: boolean = false;
let airlockParticles = new ParticleColumn(vector3(2475.5, 10, 92), 2, 2, 3, 0.5, PARTICLES.point);
const airlockParticles = new ParticleColumn(vector3(2475.5, 10, 92), 2, 2, 3, 0.5, PARTICLES.point);
let level1Particles = new ParticleColumn(vector3(2455, -1, 49), 1.1, 2, 4, 0.7, PARTICLES.balloon_gas_particle);
const level1Particles = new ParticleColumn(vector3(2455, -1, 49), 1.1, 2, 4, 0.7, PARTICLES.balloon_gas_particle);
airlockParticles.generatePoints();
level1Particles.generatePoints();
let tickCounter = 0;
system.runInterval(() => {
tickCounter++;
@@ -242,27 +232,32 @@ system.runInterval(() => {
}
});
triggerManager.RegisterFunctionTrigger("lightPath", (event) => {
triggerManager.RegisterFunctionTrigger("lightPath", () => {
lightUpPath();
});
Commands.register(PREFIX, "k3isgeweldig", () => {
world.sendMessage("K3 is geweldig! - Bram");
DEVELOPER_MODE = true;
});
//fill 2467 9 87 2468 9 105 redstone_block
async function lightUpPath() {
let overworld: Dimension = world.getDimension("overworld");
let pos1 = vector3(2467, 9, 87);
let pos2 = vector3(2468, 9, 105);
const overworld: Dimension = world.getDimension("overworld");
const pos1 = vector3(2467, 9, 87);
const pos2 = vector3(2468, 9, 105);
for (let z = pos2.z; z >= pos1.z; z--) {
let volume: BlockVolume = new BlockVolume(vector3(pos1.x, pos1.y, z), vector3(pos1.x + 1, pos1.y, z));
const volume: BlockVolume = new BlockVolume(vector3(pos1.x, pos1.y, z), vector3(pos1.x + 1, pos1.y, z));
overworld.fillBlocks(volume, MinecraftBlockTypes.RedstoneBlock);
await delay(4);
}
// let pos2 = vector3(2468, 9, 105);
}
let triggerAlarm = () => runEntityEventOnTag("alarmLights", "cc:add_rotating");
const triggerAlarm = () => runEntityEventOnTag("alarmLights", "cc:add_rotating");
let resetAlarm = () => runEntityEventOnTag("alarmLights", "cc:remove_rotating");
const resetAlarm = () => runEntityEventOnTag("alarmLights", "cc:remove_rotating");
world.afterEvents.worldInitialize.subscribe(() => {
mindKeeper.registerStore(CURRENT_LEVEL, StoreType.number);
@@ -283,11 +278,11 @@ world.beforeEvents.itemUseOn.subscribe((event) => {
});
async function randomExplosions() {
let pos1 = vector3(2465, 10, 82);
let pos2 = vector3(2471, 18, 90);
const pos1 = vector3(2465, 10, 82);
const pos2 = vector3(2471, 18, 90);
for (let i = 0; i < 5; i++) {
let pos = vector3(
const pos = vector3(
pos1.x + Math.random() * (pos2.x - pos1.x),
pos1.y + Math.random() * (pos2.y - pos1.y),
pos1.z + Math.random() * (pos2.z - pos1.z)
@@ -299,14 +294,6 @@ async function randomExplosions() {
}
}
let originalDoorPos = vector3(2465, 10, 82);
let closedDoorPos = vector3(2465, 10, 82);
let openDoorPos = vector3(2465, 10, 82);
let doorSize = vector3(7, 7, 7);
///clone 2463 -10 81 2470 -3 87 2463 10 81
///clone 2463 -30 81 2470 -23 87 2463 10 81
function blowUpDoor() {
if (DEVELOPER_MODE) {
world.sendMessage("Blowing up door");
@@ -369,7 +356,7 @@ world.afterEvents.chatSend.subscribe(async (event: ChatSendAfterEvent) => {
system.afterEvents.scriptEventReceive.subscribe((event) => {
if (event.id == "cc:getId") {
let id = event.message;
const id = event.message;
if (DEVELOPER_MODE) {
world.sendMessage("Script got the id " + id);
}
@@ -412,13 +399,13 @@ triggerManager.RegisterFunctionTrigger("tp", (event) => {
// end center pos /setblock 2490 -12 118
// start center pos /setblock 2489 10 118
let pos = vector3(2489, 10, 118);
let endPos = vector3(2490, -12, 118);
const pos = vector3(2489, 10, 118);
const endPos = vector3(2490, -12, 118);
world.sendMessage(Vector3ToFancyString(Vector3Subtract(endPos, pos)));
//Find offset and tp player to end pos + offset so its seamless
let playerPos = event.player.location;
let offset = Vector3Subtract(endPos, playerPos);
let finalPos = Vector3Add(pos, offset);
const playerPos = event.player.location;
const offset = Vector3Subtract(endPos, playerPos);
const finalPos = Vector3Add(pos, offset);
event.player.teleport(finalPos);
});
@@ -443,7 +430,7 @@ Commands.register(PREFIX, "info", (arg) => {
world.sendMessage("-----------------");
});
Commands.register(PREFIX, "kboom", (arg) => {
Commands.register(PREFIX, "kboom", () => {
if (DEVELOPER_MODE) {
(async () => {
for (let i = 0; i < 10; i++) {
@@ -455,20 +442,20 @@ Commands.register(PREFIX, "kboom", (arg) => {
}
});
let openDoor = () => {
const openDoor = () => {
runEntityEventOnTag("door", "cc:add_open");
if (DEVELOPER_MODE) {
world.sendMessage("Opening door");
}
};
let closeDoor = () => {
const closeDoor = () => {
runEntityEventOnTag("door", "cc:remove_open");
if (DEVELOPER_MODE) {
world.sendMessage("Closing door");
}
};
Commands.register(PREFIX, "restore", (arg) => {
Commands.register(PREFIX, "restore", () => {
restoreDoor();
});
@@ -490,26 +477,15 @@ enum AirLockChamberState {
Empty,
}
enum ExplosiveDoorState {
Closed,
Open,
}
let glassWindowState: GlassWindowState = GlassWindowState.Fixed;
let explosiveDoorState: ExplosiveDoorState = ExplosiveDoorState.Closed;
const doorRoot: Vector3 = vector3(2465, 11, 94);
const glassWindowClonePos: ClonePos = {
point1: vector3(2465, 14, 94),
point2: vector3(2470, 11, 94),
};
Commands.register(PREFIX, "breakGlass", (arg) => {
Commands.register(PREFIX, "breakGlass", () => {
breakGlassWindow();
glassWindowState = GlassWindowState.Broken;
});
Commands.register(PREFIX, "restoreGlass", (arg) => {
Commands.register(PREFIX, "restoreGlass", () => {
restoreGlassWindow();
glassWindowState = GlassWindowState.Fixed;
});
@@ -529,11 +505,11 @@ async function CycleAirLockWater(fill: boolean, delayTime: number) {
return;
}
setAmimationPlaying(true);
let frameCount = AirLockWaterFrames.length;
const frameCount = AirLockWaterFrames.length;
for (let i = 0; i < frameCount; i++) {
let frame = fill ? AirLockWaterFrames[i] : AirLockWaterFrames[frameCount - i - 1];
let blockToFill = fill ? "minecraft:water" : "minecraft:air";
const frame = fill ? AirLockWaterFrames[i] : AirLockWaterFrames[frameCount - i - 1];
const blockToFill = fill ? "minecraft:water" : "minecraft:air";
await world
.getDimension("overworld")
.runCommandAsync(
@@ -552,7 +528,7 @@ let chamberState: AirLockChamberState = AirLockChamberState.Full;
//The airlock sequence is
//Player enters FrontAirLockOutside
//Front door opens
triggerManager.RegisterFunctionTrigger("FrontAirLockOutside", async (event) => {
triggerManager.RegisterFunctionTrigger("FrontAirLockOutside", async () => {
if (chamberState == AirLockChamberState.Empty) {
if (DEVELOPER_MODE) {
world.sendMessage("Filling airlock");
@@ -567,7 +543,7 @@ triggerManager.RegisterFunctionTrigger("FrontAirLockOutside", async (event) => {
}
});
triggerManager.RegisterFunctionTrigger("TempleFrontDoor", async (event) => {
triggerManager.RegisterFunctionTrigger("TempleFrontDoor", async () => {
if (mindKeeper.get(CURRENT_LEVEL) == 8) {
closeDoor();
}
@@ -578,7 +554,7 @@ triggerManager.RegisterFunctionTrigger("TempleFrontDoor", async (event) => {
}
});
triggerManager.RegisterFunctionTrigger("level1start", async (event) => {
triggerManager.RegisterFunctionTrigger("level1start", async () => {
// This is after the player talks to suki
if (mindKeeper.get(CURRENT_LEVEL) == 9) {
mindKeeper.increment(CURRENT_LEVEL);
@@ -589,7 +565,7 @@ triggerManager.RegisterFunctionTrigger("level1start", async (event) => {
//Front door closes
//Water drains
//Back door opens
triggerManager.RegisterFunctionTrigger("FrontAirLockInside", async (event) => {
triggerManager.RegisterFunctionTrigger("FrontAirLockInside", async () => {
if (frontAirlockState == AirLockState.Open) {
await PlayFrontDoorCloseAnimation();
frontAirlockState = AirLockState.Closed;
@@ -612,7 +588,7 @@ triggerManager.RegisterFunctionTrigger("FrontAirLockInside", async (event) => {
//Player enters BackAirLockOutside
//Back door closes
triggerManager.RegisterFunctionTrigger("BackAirLockOutside", async (event) => {
triggerManager.RegisterFunctionTrigger("BackAirLockOutside", async () => {
if (backAirlockState == AirLockState.Open) {
world.sendMessage("Closing back door");
await PlayBackDoorCloseAnimation();
@@ -622,8 +598,8 @@ triggerManager.RegisterFunctionTrigger("BackAirLockOutside", async (event) => {
//#endregion Airlock
let activateAirlockLights = () => runEntityEventOnTag("airlockLights", "cc:add_rotating");
let deactivateAirlockLights = () => runEntityEventOnTag("airlockLights", "cc:remove_rotating");
const activateAirlockLights = () => runEntityEventOnTag("airlockLights", "cc:add_rotating");
const deactivateAirlockLights = () => runEntityEventOnTag("airlockLights", "cc:remove_rotating");
function resetAirLock() {
SetFrontDoorClosed();
@@ -636,42 +612,45 @@ function resetAirLock() {
glassWindowState = GlassWindowState.Fixed;
}
Commands.register(PREFIX, "resetAirlock", (arg) => resetAirLock);
Commands.register(PREFIX, "resetAirlock", () => resetAirLock);
let frontDoorRoot: Vector3 = vector3(2474, 11, 94);
let backDoorRoot: Vector3 = vector3(2472, 11, 100);
const frontDoorRoot: Vector3 = vector3(2474, 11, 94);
const backDoorRoot: Vector3 = vector3(2472, 11, 100);
const frameDuration = 7;
let SetFrontDoorClosed = () => SetFrame(FrontAirLockOpenFrames[0], frontDoorRoot);
let SetFrontDoorOpen = () => SetFrame(FrontAirLockOpenFrames[FrontAirLockOpenFrames.length - 1], frontDoorRoot);
let PlayFrontDoorOpenAnimation = async () => {
const SetFrontDoorClosed = () => SetFrame(FrontAirLockOpenFrames[0], frontDoorRoot);
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const SetFrontDoorOpen = () => SetFrame(FrontAirLockOpenFrames[FrontAirLockOpenFrames.length - 1], frontDoorRoot);
const PlayFrontDoorOpenAnimation = async () => {
playAnimation(FrontAirLockOpenFrames, frameDuration, false, frontDoorRoot);
if (mindKeeper.get(CURRENT_LEVEL) == 0) {
mindKeeper.increment(CURRENT_LEVEL);
}
};
let PlayFrontDoorCloseAnimation = async () => playAnimation(FrontAirLockOpenFrames, frameDuration, true, frontDoorRoot);
const PlayFrontDoorCloseAnimation = async () =>
playAnimation(FrontAirLockOpenFrames, frameDuration, true, frontDoorRoot);
let SetBackDoorClosed = () => SetFrame(BackAirLockOpenFrames[0], backDoorRoot);
let SetBackDoorOpen = () => SetFrame(BackAirLockOpenFrames[BackAirLockOpenFrames.length - 1], backDoorRoot);
let PlayBackDoorOpenAnimation = async () => playAnimation(BackAirLockOpenFrames, frameDuration, false, backDoorRoot);
let PlayBackDoorCloseAnimation = async () =>
const SetBackDoorClosed = () => SetFrame(BackAirLockOpenFrames[0], backDoorRoot);
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const SetBackDoorOpen = () => SetFrame(BackAirLockOpenFrames[BackAirLockOpenFrames.length - 1], backDoorRoot);
const PlayBackDoorOpenAnimation = async () => playAnimation(BackAirLockOpenFrames, frameDuration, false, backDoorRoot);
const PlayBackDoorCloseAnimation = async () =>
playAnimation(BackAirLockOpenFrames, frameDuration, true, backDoorRoot, true);
let FillAirlockWater = async () => CycleAirLockWater(true, frameDuration / 1.5);
let EmptyAirlockWater = async () => {
const FillAirlockWater = async () => CycleAirLockWater(true, frameDuration / 1.5);
const EmptyAirlockWater = async () => {
await CycleAirLockWater(false, frameDuration / 1.5);
if (mindKeeper.get(CURRENT_LEVEL) == 1) {
mindKeeper.increment(CURRENT_LEVEL);
}
};
triggerManager.RegisterFunctionTrigger("openFrontDoor", (event) => PlayFrontDoorOpenAnimation());
triggerManager.RegisterFunctionTrigger("closeFrontDoor", (event) => PlayFrontDoorCloseAnimation());
triggerManager.RegisterFunctionTrigger("openFrontDoor", () => PlayFrontDoorOpenAnimation());
triggerManager.RegisterFunctionTrigger("closeFrontDoor", () => PlayFrontDoorCloseAnimation());
triggerManager.RegisterFunctionTrigger("openBackDoor", (event) => PlayBackDoorOpenAnimation());
triggerManager.RegisterFunctionTrigger("closeBackDoor", (event) => PlayBackDoorCloseAnimation());
triggerManager.RegisterFunctionTrigger("openBackDoor", () => PlayBackDoorOpenAnimation());
triggerManager.RegisterFunctionTrigger("closeBackDoor", () => PlayBackDoorCloseAnimation());
triggerManager.RegisterFunctionTrigger("fillAirlock", (event) => FillAirlockWater());
triggerManager.RegisterFunctionTrigger("emptyAirlock", (event) => EmptyAirlockWater());
triggerManager.RegisterFunctionTrigger("fillAirlock", () => FillAirlockWater());
triggerManager.RegisterFunctionTrigger("emptyAirlock", () => EmptyAirlockWater());