First Version

This commit is contained in:
2024-09-13 11:28:44 +02:00
parent e5d35618f8
commit 18346549de
15 changed files with 311 additions and 78 deletions

View File

@@ -3,6 +3,7 @@ import { Mindkeeper, StoreType } from "../mindKeeper";
import { vector3 } from "../utils/vectorUtils";
import { Maker } from "./maker";
import { Trigger } from "./trigger";
import { DEVELOPER_MODE } from "../../main";
export class TriggerEvent {
player: Player;
@@ -101,7 +102,9 @@ export class Manager {
players.forEach((player) => {
// player.sendMessage(`Player ${player.name} is in trigger ${trigger.IsPlayerInside(player)}`);
if (trigger.hasPlayerEnterdTrigger(player)) {
world.sendMessage(`Player ${player.name} entered trigger`);
if (DEVELOPER_MODE) {
world.sendMessage(`Player ${player.name} entered trigger`);
}
//Check if a function trigger is set
const isFunctionSet = this.functionTriggers.has(trigger.eventToDispatch);
@@ -110,7 +113,9 @@ export class Manager {
this.functionTriggers.get(trigger.eventToDispatch)!(event);
} else {
world.sendMessage(`Triggered ${trigger.eventToDispatch}`);
if (DEVELOPER_MODE) {
world.sendMessage(`Triggered ${trigger.eventToDispatch}`);
}
}
}
});

View File

@@ -60,7 +60,7 @@ class AbstractAgentTrackMission extends Level {
// world.getDimension("overworld").runCommand("/kill @e[type=agent]");
world.getDimension("overworld").runCommand("execute as @p run codebuilder runtime stop @s");
teleportAgent(agentStartPositon);
teleportAgent(agentStartPositon, agentStartFacing);
return false;
} else if (isComplete) {
return true;

View File

@@ -25,7 +25,8 @@ function isAgentAt(position: Vector3): boolean {
.getEntitiesAtBlockLocation(position)
.forEach((entity) => {
if (!entity.isValid()) {
world.sendMessage("INVALID ENTITY");
// world.sendMessage("INVALID ENTITY");
world.sendMessage("Please re-open the CodeEditor");
return;
}
if (entity.typeId == "minecraft:agent") {

View File

@@ -3,7 +3,7 @@ import Level from "../../Commandeer/level/level";
import pupeteer from "../../Commandeer/pupeteer";
import { teleportAgent, isAgentAt } from "../../Commandeer/utils/agentUtils";
import { vector3 } from "../../Commandeer/utils/vectorUtils";
import { mindKeeper, CURRENT_LEVEL } from "../../main";
import { mindKeeper, CURRENT_LEVEL, DEVELOPER_MODE } from "../../main";
import { MinecraftBlockTypes } from "../../vanilla-data/mojang-block";
import { mission2part1Conditions } from "../../levelConditions/mission2part1Conditions";
import { checkBlockCondition } from "../../Commandeer/level/levelTypes";
@@ -44,12 +44,14 @@ const mission2part1: Level = new Level(
if (isCorrect) {
isComplete = true;
world.sendMessage("Shit works");
if(DEVELOPER_MODE){
world.sendMessage("Shit works");
}
} else {
isComplete = false;
pupeteer.sendWorldMessage("%message.incorrect");
pupeteer.setTitleTimed("%message.incorrect", 2.5);
teleportAgent(mission2part1StartPosition);
teleportAgent(mission2part1StartPosition, mission2Part1AgentFacing);
world
.getDimension("overworld")
.setBlockType(mission2part1ResetCommandBlockPos, MinecraftBlockTypes.RedstoneBlock);

View File

@@ -44,12 +44,11 @@ const mission2part2: Level = new Level(
if (isCorrect) {
isComplete = true;
world.sendMessage("Shit works");
} else {
isComplete = false;
pupeteer.sendWorldMessage("%message.incorrect");
pupeteer.setTitleTimed("%message.incorrect", 2.5);
teleportAgent(mission2part2StartPosition);
teleportAgent(mission2part2StartPosition, mission2Part1AgentFacing);
world
.getDimension("overworld")
.setBlockType(mission2part2ResetCommandBlockPos, MinecraftBlockTypes.RedstoneBlock);

View File

@@ -158,6 +158,7 @@ system.runInterval(() => {
await randomExplosions();
blowUpDoor();
triggerAlarm();
setNPCDialog("chanel1", "chanel_goto_temple");
mindKeeper.increment(CURRENT_LEVEL);
}
})();
@@ -249,6 +250,10 @@ system.runInterval(() => {
Pupeteer.setActionBar("%message.goto.bilal");
setNPCDialog("bilal1", "bilal_end_1");
break;
case 24:
//Goto learning platform
Pupeteer.setActionBar("%message.goto.learningplatform");
break;
}
}
});
@@ -414,6 +419,7 @@ system.afterEvents.scriptEventReceive.subscribe((event) => {
checkNpcResponse(event, "cc:level2Intermezzo", 15);
checkNpcResponse(event, "cc:afterLevel2", 17);
checkNpcResponse(event, "cc:afterLevel3", 21);
checkNpcResponse(event, "cc:endMission", 23);
});
function checkNpcResponse(event: ScriptEventCommandMessageAfterEvent, id: string, level: number) {
@@ -619,7 +625,9 @@ triggerManager.RegisterFunctionTrigger("FrontAirLockInside", async () => {
triggerManager.RegisterFunctionTrigger("BackAirLockOutside", async () => {
if (backAirlockState == AirLockState.Open) {
world.sendMessage("Closing back door");
if (DEVELOPER_MODE) {
world.sendMessage("Closing back door");
}
await PlayBackDoorCloseAnimation();
backAirlockState = AirLockState.Closed;
}