A utility library to streamline the development process for Minecraft Bedrock's Script API, providing essential tools for vector operations, polyfills, and time measurements.
applyImpulse
: Apply an impulse to a player.clearVelocity
: Clears the velocity of a player.console.log
to display messages in the chat as well.begin(operation:string)
: Begin a timing operation.end()
: Conclude the timing operation.player
, entity
, block
).info
, warn
, error
).ColorJSON.DEFAULT.stringify
function to convert any value to a JSON string with color formatting.npm install @bedrock-oss/bedrock-boost
import { Vec3 } from "@bedrock-oss/bedrock-boost";
import { world } from "@minecraft/server";
world.beforeEvents.itemUse.subscribe((event) => {
event.source.applyImpulse(Vec3.from(event.source.getViewDirection()).setY(0).normalize().multiply(2));
})
import { Logger } from "@bedrock-oss/bedrock-boost"
const log = Logger.getLogger("main", "tag1", "tag2");
log.info("Hello, Minecraft World!");
It also includes 2 commands to control the logging system:
scriptevent logging:level <level either as string or as a number>
# or
scriptevent log:level <level either as string or as a number>
scriptevent logging:filter <comma separated tags>
# or
scriptevent log:filter <comma separated tags>
import { Logger } from "@bedrock-oss/bedrock-boost"
const log = Logger.getLogger("main", "tag1", "tag2");
log.info("Hello, Minecraft World!");
import { Direction, world } from "@minecraft/server";
import { Vec3 } from "@bedrock-oss/bedrock-boost";
import { Polyfill } from "@bedrock-oss/bedrock-boost"
Polyfill.installPlayer();
world.getAllPlayers().forEach(player => {
// Apply an impulse to the player
player.applyImpulse(Vec3.from(Direction.Up).multiply(2));
});
import { Polyfill } from "@bedrock-oss/bedrock-boost"
Polyfill.installConsole();
// Log messages in the game world
console.log("Hello, Minecraft World!");
import { Timings } from "@bedrock-oss/bedrock-boost"
Timings.begin("big operation 1");
// Some operations...
// Beginning another operation will automatically end the previous one
Timings.begin("big operation 2");
// Some operations...
Timings.end();
Feel free to raise an issue or submit a pull request if you have any improvements or features to suggest.
This project is licensed under the MIT License.