npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

bc-minecraft-project

v1.21.44-0

Published

A library that provides object and handling for minecraft projects

Downloads

11,759

Readme

Blockception Minecraft Project

Npm Package & Publish Npm Test tagged-release

A Typescript library for dealing with minecraft bedrock project data

Examples

let project = MCProject.loadSync("some folder");

//First way of getting data
let tags = project.definitions.tag;
if (tags && tags.defined.includes('target')) {
  ...
}

//Second way of getting data
let tag = MCDefinition.getOrAdd(project.definitions, "tag");
if (tag.defined.includes("target")) {
  ...
}

//First way of getting project attribute
if (project.attributes.diagnose === "true") {
  ...
}

//Second way of gettin project attribute
if (MCAttributes.getOrAdd(project.attributes, "diagnose", "false") === "true") {
  ...
}

Project Attribute

This standard will introduce 3 new file that will help with project definition, attributes, excluded/includes of folders/files and settings that deal with project for minecraft bedrock.
The file can be found in the root of the project. The following files will be added:

McAttributes

The file with the name: .mcattributes. This file stores any of the settings or attribtues related to the project. Which uses universal determined keys along each project. Each tool/program may also introduce each own set of keys, aslong as they are unique to the tool/program. Other programs/tools simply ignore these keys. But when overwriting the file, must keep the old keys from other tools or programs.

A wider specification can be found in McAttributes

Example

diagnose=true
diagnose.objectives=true
diagnose.tags=true
diagnose.mcfunctions=true

world.area_used=0 0 0 1000 256 1000

McDefinitions

This file specifies anything that is included in the project, but cannot be found in the project files itself, or not easly. At the same time the user can also blacklist definition through this same project.

A wider specification can be found in McDefinitions

Example

## I am a comment

## Tags used in the map
tag=initialized
tag=calculating
tag=enemy
tag=monster

## Tags to be black listed
tag=!Monster

## Objectives used in the map
objective=var
objective=coin
objective=foo

## Objectives blacklisted
objective=!Var
objective=!Coin

## Families
family=npc

## Families Blacklisted
family=!Npc

## Entity names
name=Steve

## Entity names blacklisted
name=!steve

McIgnore

Based upon .gitignore. This file specifies through glob-patterns what files, folder to included/excluded from the project.

A wider specification can be found in McIgnore

Example

## This is a comment
## this will ignore the folders/file called Template
Template

## This will included file/folders that are in a folder called template and have the name and extension: settings.json
!Template/settings.json

Contributing

First, read the contributing guide. fork the project, clone it and run the following commands:

Installation

  npm ci
  npm update