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

@chemicalheads/as-badlads

v1.0.5

Published

BadLads server plugin host API implementation in AssemblyScript.

Downloads

6

Readme

as-badlads

GitHub npm version GitHub package.json dependency version (dev dep on branch) Discord

BadLads server plugin host API implementation in AssemblyScript. Proper documentation coming soon!

What is as-badlads?

as-badlads is a BadLads WebAssembly host implementation, used for BadLads server plugins. The as prefix stands for AssemblyScript, which is what the API is written in.

What isn't as-badlads?

as-badlads is not Javascript! There is no Javascript here.

Prerequisites

Node. While we don't use Javascript in any way whatsoever, we require the npm package manager which is bundled with node.

Quick Start with as-badlads

  1. Find your BadLads plugins folder, named BadLadsPlugins, under Windows it'll be located under C:\Users\yourusername\AppData\Local\BadLads\Saved.
  2. Create a new directory in BadLadsPlugins, this will be the root directory of your plugin. Go inside your new plugin directory.
  3. Create a workspace with npm init
  4. Install AssemblyScript with: npm install --save-dev assemblyscript
  5. Install the BadLads API with npm install @chemicalheads/as-badlads
  6. Setup your AssemblyScript workspace with npx asinit .
  7. Create a plugin.json file. Must be all lowercase! Here's a template.
  8. Add exportRuntime: true to the release and debug targets in asconfig.json. That might sound confusing, so here's a copyable example..
  9. You are done with the setup process. Congrats. Let's move on to the fun part!
  10. Open your favorite TypeScript compatible IDE (mine being VSCode), and add the plugin directory as a workspace/folder/whatever.
  11. Open up the assembly/index.ts file and start cracking. Here's an example index.ts.

If you want to explore the plugin API's functionality, middle click on one of the imports at the top. That will take you the plugin definitions, filled with documentation and goodies. Make sure to scroll down to skip the rough stuff.

  1. Compile, run npm run asbuild. You can open the Sandbox mode in BadLads and start working, by default the game has hot reload enabled.

If you want to check for new plugins while the game is open, run the /reloadplugins command in chat. The game will tell you when you have hot reloaded, or if you have any weird errors.