Files
Reeks2Missie6/scripts/Commandeer/utils/vectorUtils.ts
Bram Verhulst ba384d79d8 feat: Add cracked glass block and texture
Added the cracked glass block and its corresponding texture to the resource packs. Also made changes to the maker.ts file to include a save operation. Additionally, added a new behavior pack for the cracked glass block with specific properties. Updated the vectorUtils.ts file to include a new function for converting a Vector3 object to a command string. Finally, made changes to the triggers.ts file to register new triggers and update existing ones.
2024-07-05 14:14:17 +02:00

72 lines
2.1 KiB
TypeScript

import { Vector3 } from "@minecraft/server";
function vector3(x: number, y: number, z: number): Vector3 {
return { x: x, y: y, z: z };
}
function Vector3ToString(vector: Vector3) {
return vector.x + "," + vector.y + "," + vector.z;
}
function Vector3ToCommandString(vector: Vector3) {
return `${vector.x} ${vector.y} ${vector.z}`;
}
function Vector3ToFancyString(vector: Vector3) {
return `{X: ${Math.floor(vector.x)}, Y: ${Math.floor(vector.y)}, Z: ${Math.floor(vector.z)}}`;
}
function Vector3Add(vector1: Vector3, vector2: Vector3): Vector3 {
return { x: vector1.x + vector2.x, y: vector1.y + vector2.y, z: vector1.z + vector2.z };
}
function Vector3Subtract(vector1: Vector3, vector2: Vector3): Vector3 {
return { x: vector1.x - vector2.x, y: vector1.y - vector2.y, z: vector1.z - vector2.z };
}
function Vector3Multiply(vector1: Vector3, vector2: Vector3): Vector3 {
return { x: vector1.x * vector2.x, y: vector1.y * vector2.y, z: vector1.z * vector2.z };
}
function Vector3Divide(vector1: Vector3, vector2: Vector3): Vector3 {
return { x: vector1.x / vector2.x, y: vector1.y / vector2.y, z: vector1.z / vector2.z };
}
function Vector3Floor(vector: Vector3): Vector3 {
return { x: Math.floor(vector.x), y: Math.floor(vector.y), z: Math.floor(vector.z) };
}
function Vector3Ceil(vector: Vector3): Vector3 {
return { x: Math.ceil(vector.x), y: Math.ceil(vector.y), z: Math.ceil(vector.z) };
}
function Vector3Round(vector: Vector3): Vector3 {
return { x: Math.round(vector.x), y: Math.round(vector.y), z: Math.round(vector.z) };
}
function Vector3Abs(vector: Vector3): Vector3 {
return { x: Math.abs(vector.x), y: Math.abs(vector.y), z: Math.abs(vector.z) };
}
function vector3Distance(vector1: Vector3, vector2: Vector3): number {
return Math.sqrt(
Math.pow(vector2.x - vector1.x, 2) + Math.pow(vector2.y - vector1.y, 2) + Math.pow(vector2.z - vector1.z, 2)
);
}
export {
Vector3ToString,
Vector3ToFancyString,
Vector3Add,
Vector3Subtract,
Vector3Multiply,
Vector3Divide,
Vector3Floor,
Vector3Ceil,
Vector3Round,
Vector3Abs,
vector3Distance,
Vector3ToCommandString,
vector3,
};