working version without custom blocks/textures
This commit is contained in:
@@ -7,6 +7,7 @@ import { vector3, Vector3Add, Vector3ToCommandString } from "../../Commandeer/ut
|
||||
// import { level2Conditions } from "../../levelConditions/level2";
|
||||
import { mindKeeper, CURRENT_LEVEL } from "../../main";
|
||||
import { MinecraftBlockTypes } from "../../vanilla-data/mojang-block";
|
||||
import level3 from "./mission2";
|
||||
const level2CommandBlockPos: Vector3 = vector3(-111, 70, 282);
|
||||
|
||||
const level2StartPosition: Vector3 = vector3(-111, 69, 272);
|
||||
@@ -18,7 +19,7 @@ const level2: Level = new Level(
|
||||
pupeteer.sendWorldMessage("%message.level2.started");
|
||||
pupeteer.setTitleTimed("%message.level2.name", 2.5);
|
||||
startLevel(level2CommandBlockPos);
|
||||
teleportAgent(level2StartPosition);
|
||||
teleportAndFaceAgent(level2StartPosition, vector3(-125, 69, 272));
|
||||
},
|
||||
() => {
|
||||
pupeteer.setActionBar("%message.level2.make");
|
||||
@@ -27,15 +28,15 @@ const level2: Level = new Level(
|
||||
pupeteer.clearActionBar();
|
||||
pupeteer.sendWorldMessage("%message.level2.complete");
|
||||
pupeteer.setTitleTimed("%message.level2.complete", 2.5);
|
||||
|
||||
world.getDimension("Overworld").runCommand("/fill -128 71 255 -128 74 276 air replace barrier");
|
||||
mindKeeper.increment(CURRENT_LEVEL);
|
||||
level3.reset();
|
||||
world.getDimension("Overworld").runCommand("/fill -154 69 255 -154 74 276 barrier replace air");
|
||||
},
|
||||
() => {
|
||||
let isComplete = false;
|
||||
let isOutOfBounds = false;
|
||||
|
||||
//6 blocks lower is lava
|
||||
|
||||
let agentPos = getAgentLocation();
|
||||
let blockAir = world.getDimension("overworld").getBlock(Vector3Add(agentPos, vector3(0, -1, 0)));
|
||||
|
||||
@@ -47,22 +48,38 @@ const level2: Level = new Level(
|
||||
isComplete = true;
|
||||
}
|
||||
|
||||
// world.sendMessage(`isComplete: ${isComplete}`);
|
||||
// world.sendMessage(`isOutOfBounds: ${isOutOfBounds}`);
|
||||
|
||||
if (isOutOfBounds) {
|
||||
pupeteer.sendWorldMessage("%message.level2.outOfBounds");
|
||||
pupeteer.setTitleTimed("%message.level2.outOfBounds", 2.5);
|
||||
// world.getDimension("overworld").runCommand("/kill @e[type=agent]");
|
||||
world.getDimension("overworld").runCommand("execute as @p run codebuilder runtime stop @s");
|
||||
world.getDimension("Overworld").runCommand("/fill -111 69 272 -124 69 258 air replace sweet_berry_bush");
|
||||
world.getDimension("Overworld").runCommand("/fill -111 69 272 -124 69 258 air replace jungle_sapling");
|
||||
|
||||
teleportAgent(level2StartPosition);
|
||||
teleportAndFaceAgent(level2StartPosition, vector3(-125, 69, 272));
|
||||
return false;
|
||||
} else if (isComplete) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
() => {
|
||||
world.getDimension("Overworld").runCommand("/fill -111 69 272 -124 69 258 air replace sweet_berry_bush");
|
||||
world.getDimension("Overworld").runCommand("/fill -111 69 272 -124 69 258 air replace jungle_sapling");
|
||||
}
|
||||
);
|
||||
|
||||
function teleportAndFaceAgent(position: Vector3, facing: Vector3 = vector3(0, 0, 0)): void {
|
||||
if (facing == vector3(-125, 69, 272)) {
|
||||
world
|
||||
.getDimension("overworld")
|
||||
.runCommand(`/execute as @a run tp @e[type=agent] ${position.x} ${position.y} ${position.z}`);
|
||||
} else {
|
||||
world
|
||||
.getDimension("overworld")
|
||||
.runCommand(
|
||||
`/execute as @a run tp @e[type=agent] ${position.x} ${position.y} ${position.z} facing ${facing.x} ${facing.y} ${facing.z}`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default level2;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Vector3, world } from "@minecraft/server";
|
||||
import { BlockVolume, Vector3, world } from "@minecraft/server";
|
||||
import Level from "../../Commandeer/level/level";
|
||||
import pupeteer from "../../Commandeer/pupeteer";
|
||||
import { teleportAgent, isAgentAt, getAgentLocation, getAgent } from "../../Commandeer/utils/agentUtils";
|
||||
@@ -6,6 +6,7 @@ import { startLevel } from "../../Commandeer/utils/levelUtils";
|
||||
import { vector3, Vector3Add, Vector3ToCommandString } from "../../Commandeer/utils/vectorUtils";
|
||||
import { mindKeeper, CURRENT_LEVEL } from "../../main";
|
||||
import { MinecraftBlockTypes } from "../../vanilla-data/mojang-block";
|
||||
import level4 from "./mission3";
|
||||
const Level3CommandBlockPos: Vector3 = vector3(-133, 68, 281);
|
||||
|
||||
const level3StartPosition: Vector3 = vector3(-133, 68, 265);
|
||||
@@ -17,7 +18,7 @@ const level3: Level = new Level(
|
||||
pupeteer.sendWorldMessage("%message.level3.started");
|
||||
pupeteer.setTitleTimed("%message.level3.name", 2.5);
|
||||
startLevel(Level3CommandBlockPos);
|
||||
teleportAgent(level3StartPosition);
|
||||
teleportAndFaceAgent(level3StartPosition, vector3(-148, 68, 265));
|
||||
},
|
||||
() => {
|
||||
pupeteer.setActionBar("%message.level3.make");
|
||||
@@ -26,48 +27,66 @@ const level3: Level = new Level(
|
||||
pupeteer.clearActionBar();
|
||||
pupeteer.sendWorldMessage("%message.level3.complete");
|
||||
pupeteer.setTitleTimed("%message.level3.complete", 2.5);
|
||||
|
||||
world.getDimension("Overworld").runCommand("/fill -154 69 255 -154 74 276 air replace barrier");
|
||||
mindKeeper.increment(CURRENT_LEVEL);
|
||||
level4.reset();
|
||||
world.getDimension("Overworld").runCommand("/fill -182 69 255 -182 74 276 barrier replace air");
|
||||
},
|
||||
() => {
|
||||
let isComplete = false;
|
||||
let isOutOfBounds = false;
|
||||
|
||||
//6 blocks lower is lava
|
||||
|
||||
let agentPos = getAgentLocation();
|
||||
let blockLava = world.getDimension("overworld").getBlock(Vector3Add(agentPos, vector3(0, -7, 0)));
|
||||
let blockAir = world.getDimension("overworld").getBlock(Vector3Add(agentPos, vector3(0, -1, 0)));
|
||||
let blockBarrier = world.getDimension("overworld").getBlock(Vector3Add(agentPos, vector3(0, -2, 0)));
|
||||
|
||||
if (
|
||||
blockLava &&
|
||||
blockLava.type.id === MinecraftBlockTypes.Lava &&
|
||||
blockAir &&
|
||||
blockAir.type.id === MinecraftBlockTypes.Air
|
||||
) {
|
||||
isOutOfBounds = true;
|
||||
if (blockAir && blockAir.type.id === MinecraftBlockTypes.Air) {
|
||||
if (blockBarrier && blockBarrier.type.id === MinecraftBlockTypes.Barrier) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (isAgentAt(Level3EndPosition)) {
|
||||
isComplete = true;
|
||||
}
|
||||
|
||||
// world.sendMessage(`isComplete: ${isComplete}`);
|
||||
// world.sendMessage(`isOutOfBounds: ${isOutOfBounds}`);
|
||||
|
||||
if (isOutOfBounds) {
|
||||
pupeteer.sendWorldMessage("%message.level3.outOfBounds");
|
||||
pupeteer.setTitleTimed("%message.level3.outOfBounds", 2.5);
|
||||
// world.getDimension("overworld").runCommand("/kill @e[type=agent]");
|
||||
world.getDimension("overworld").runCommand("execute as @p run codebuilder runtime stop @s");
|
||||
world.getDimension("Overworld").runCommand("/fill -133 68 272 -148 68 258 air replace sweet_berry_bush");
|
||||
world.getDimension("Overworld").runCommand("/fill -133 67 272 -148 67 258 magma replace cobblestone");
|
||||
world.getDimension("overworld").runCommand("/execute at @e[tag=KillingPandas] run kill @e[type=panda, r=10]");
|
||||
|
||||
teleportAgent(level3StartPosition);
|
||||
teleportAndFaceAgent(level3StartPosition, vector3(-148, 68, 265));
|
||||
return false;
|
||||
} else if (isComplete) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
() => {
|
||||
world.getDimension("Overworld").runCommand("/fill -133 68 272 -148 68 258 air replace sweet_berry_bush");
|
||||
world.getDimension("Overworld").runCommand("/fill -133 67 272 -148 67 258 magma replace cobblestone");
|
||||
let volume: BlockVolume = new BlockVolume(vector3(-131, 69, 284), vector3(-131, 69, 284));
|
||||
world.getDimension("overworld").fillBlocks(volume, MinecraftBlockTypes.RedstoneBlock);
|
||||
}
|
||||
);
|
||||
|
||||
function teleportAndFaceAgent(position: Vector3, facing: Vector3 = vector3(0, 0, 0)): void {
|
||||
if (facing == vector3(-148, 68, 265)) {
|
||||
world
|
||||
.getDimension("overworld")
|
||||
.runCommand(`/execute as @a run tp @e[type=agent] ${position.x} ${position.y} ${position.z}`);
|
||||
} else {
|
||||
world
|
||||
.getDimension("overworld")
|
||||
.runCommand(
|
||||
`/execute as @a run tp @e[type=agent] ${position.x} ${position.y} ${position.z} facing ${facing.x} ${facing.y} ${facing.z}`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default level3;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Vector3, world } from "@minecraft/server";
|
||||
import { BlockVolume, Vector3, world } from "@minecraft/server";
|
||||
import Level from "../../Commandeer/level/level";
|
||||
import pupeteer from "../../Commandeer/pupeteer";
|
||||
import { teleportAgent, isAgentAt, getAgentLocation, getAgent } from "../../Commandeer/utils/agentUtils";
|
||||
@@ -6,6 +6,7 @@ import { startLevel } from "../../Commandeer/utils/levelUtils";
|
||||
import { vector3, Vector3Add, Vector3ToCommandString } from "../../Commandeer/utils/vectorUtils";
|
||||
import { mindKeeper, CURRENT_LEVEL } from "../../main";
|
||||
import { MinecraftBlockTypes } from "../../vanilla-data/mojang-block";
|
||||
import level5 from "../level3/mission1";
|
||||
const Level4CommandBlockPos: Vector3 = vector3(-161, 68, 291);
|
||||
const level4StartPosition: Vector3 = vector3(-161, 62, 261);
|
||||
const level4EndPosition: Vector3 = vector3(-174, 62, 268);
|
||||
@@ -16,7 +17,7 @@ const level4: Level = new Level(
|
||||
pupeteer.sendWorldMessage("%message.level4.started");
|
||||
pupeteer.setTitleTimed("%message.level4.name", 2.5);
|
||||
startLevel(Level4CommandBlockPos);
|
||||
teleportAgent(level4StartPosition);
|
||||
teleportAndFaceAgent(level4StartPosition, vector3(-175, 62, 261));
|
||||
},
|
||||
() => {
|
||||
pupeteer.setActionBar("%message.level4.make");
|
||||
@@ -25,25 +26,18 @@ const level4: Level = new Level(
|
||||
pupeteer.clearActionBar();
|
||||
pupeteer.sendWorldMessage("%message.level4.complete");
|
||||
pupeteer.setTitleTimed("%message.level4.complete", 2.5);
|
||||
|
||||
world.getDimension("Overworld").runCommand("/fill -182 69 255 -182 74 276 air replace barrier");
|
||||
mindKeeper.increment(CURRENT_LEVEL);
|
||||
level5.reset();
|
||||
},
|
||||
() => {
|
||||
let isComplete = false;
|
||||
let isOutOfBounds = false;
|
||||
|
||||
//6 blocks lower is lava
|
||||
|
||||
let agentPos = getAgentLocation();
|
||||
let blockLava = world.getDimension("overworld").getBlock(Vector3Add(agentPos, vector3(0, -7, 0)));
|
||||
let blockAir = world.getDimension("overworld").getBlock(Vector3Add(agentPos, vector3(0, -1, 0)));
|
||||
|
||||
if (
|
||||
blockLava &&
|
||||
blockLava.type.id === MinecraftBlockTypes.Lava &&
|
||||
blockAir &&
|
||||
blockAir.type.id === MinecraftBlockTypes.Air
|
||||
) {
|
||||
if (blockAir && blockAir.type.id === MinecraftBlockTypes.Air) {
|
||||
isOutOfBounds = true;
|
||||
}
|
||||
|
||||
@@ -51,16 +45,14 @@ const level4: Level = new Level(
|
||||
isComplete = true;
|
||||
}
|
||||
|
||||
// world.sendMessage(`isComplete: ${isComplete}`);
|
||||
// world.sendMessage(`isOutOfBounds: ${isOutOfBounds}`);
|
||||
|
||||
if (isOutOfBounds) {
|
||||
pupeteer.sendWorldMessage("%message.level4.outOfBounds");
|
||||
pupeteer.setTitleTimed("%message.level4.outOfBounds", 2.5);
|
||||
// world.getDimension("overworld").runCommand("/kill @e[type=agent]");
|
||||
world.getDimension("overworld").runCommand("execute as @p run codebuilder runtime stop @s");
|
||||
let volume: BlockVolume = new BlockVolume(vector3(-163, 67, 291), vector3(-163, 67, 291));
|
||||
world.getDimension("overworld").fillBlocks(volume, MinecraftBlockTypes.RedstoneBlock);
|
||||
|
||||
teleportAgent(level4StartPosition);
|
||||
teleportAndFaceAgent(level4StartPosition, vector3(-175, 62, 261));
|
||||
return false;
|
||||
} else if (isComplete) {
|
||||
return true;
|
||||
@@ -69,4 +61,18 @@ const level4: Level = new Level(
|
||||
}
|
||||
);
|
||||
|
||||
function teleportAndFaceAgent(position: Vector3, facing: Vector3 = vector3(0, 0, 0)): void {
|
||||
if (facing == vector3(-175, 62, 261)) {
|
||||
world
|
||||
.getDimension("overworld")
|
||||
.runCommand(`/execute as @a run tp @e[type=agent] ${position.x} ${position.y} ${position.z}`);
|
||||
} else {
|
||||
world
|
||||
.getDimension("overworld")
|
||||
.runCommand(
|
||||
`/execute as @a run tp @e[type=agent] ${position.x} ${position.y} ${position.z} facing ${facing.x} ${facing.y} ${facing.z}`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default level4;
|
||||
|
||||
Reference in New Issue
Block a user