Pixelib Logo

PixelScript

The JavaScript revolution for Minecraft plugins. Build 10x faster with modular code and hot reloading.

// Event listener
registerListener($.PlayerJoinEvent, event => {
  const player = event.getPlayer();
  player.sendMessage('§8Welcome to the server!');
  giveStarterItems(player);
  recordPlayerLogin(player.getName());
});
// Command definition
registerCommand('shop', (sender) =>
  openShopGUI(sender);
  metricsService.addCommandUsage('shop');
);
// Dynamic configuration
export const CONFIG = {
  name: 'DusDucoGames',
  mode: 'production',
  motd: 'Welcome to DusDucoGames!',
  getCurrentTime: () => new Date().toLocaleTimeString(),
};

Currently in early access.

How PixelScript Works

JavaScript Files

Write your plugins using modern modules and import them directly.

init.js
create_sql.js
commands.js
features/...
Pixelib Logo

PixelScript Engine

Supercharge your Minecraft server with our powerful JavaScript runtime engine.

Bytecode
Hot Reloading
File Watcher
Dependencies
Profiling
Optimization

Minecraft Server

Your code runs seamlessly within the Minecraft server environment.

$ Running PixelScript v1.0
$ Compiling files...
$ Watching for changes...

PixelScript bridges modern JavaScript development and Minecraft servers, bringing the full power of ES6 modules and hot module reloading to Spigot plugin development.

Powerful Yet Simple

main.js
// Create powerful Spigot features with modern JavaScript
import { getPlayerStats } from 'utils/player_stats.js';
import { formatTimeAgo } from 'utils/time_formatter.js';

// Easily register commands with modern syntax
registerCommand('profile', (player, args) => {
  if (!(player instanceof $.Player)) {
    player.sendMessage('This command can only be used by players.');
    return;
  }
  
  const stats = getPlayerStats(player.getUniqueId());
  
  player.sendMessage(`You joined ${formatTimeAgo(stats.firstJoin)}`);
  player.sendMessage(`You have played for ${stats.playTime} hours`);
});

// Hot reload enabled - changes are applied instantly!

Game-Changing Features

Real-time Hot Reloading

Make changes to your code and see them applied instantly without restarting the server. The days of waiting for server restarts are over.

Feature showcase 1
plugin.js
// This file will import a few other files
// Should any of them change, this file will be reloaded as well
import { getTranslatedMessage } from '../utils/translations.js';

registerEvent($.PlayerJoinEvent, (event) => {
  const player = event.getPlayer();
  player.sendMessage(getTranslatedMessage(player, 'join_message'));
});
features/init.js
// Scripts can watch other scripts too
// This fill only load scripts that have been added or removed, letting you
// enable feature releases on the fly, without triggering an entire reload
Watcher.watch([
  "features/economy/init.js",
  "features/quests/init.js"
  
  // Uncomment to enable new feature on the fly, the other features will not change
  // "features/new_feature/init.js"
]);
Early Access

Join the PixelScript Closed Beta

PixelScript is currently in closed beta testing with select Minecraft servers. Submit your application below to join our growing community of developers.

Request Beta Access via Discord

Please DM one of our team members:

#
Mindgamesnl
#
Duckelekuuk

Include in your message:

  • Your server name
  • What you'll be using PixelScript for
  • Information about your server (size, type, etc.)
  • Any other details to help us understand your use case

Key Features

HR
Hot Reloading

Changes to your code are applied instantly without server restarts.

ES
ES6 Modules

Use modular code from the beginning, and let PixelScript handle the rest.

GM
Global State Management

Share data between scripts with GlobalMap and GlobalNotification for lightweight events.

FW
File Watcher

Automatic monitoring of script files for seamless development experience.

HP
High Performance

JavaScript compiles to bytecode, there is no special interpreter.

DT
Developer Tools

Built-in debugging, logging, and profiling for professional development.

Why We Built It

PixelScript was born from frustration with traditional Minecraft plugin development. We wanted to bring the speed and flexibility of modern JavaScript to the Spigot ecosystem.

By eliminating the compile-test-reload cycle and introducing hot module reloading, we've revolutionized how developers build and maintain Minecraft plugins. What used to take days now takes hours.

Unlike other JavaScript solutions for Minecraft, PixelScript is designed from the ground up for performance and developer experience. The runtime is optimized specifically for Minecraft servers, ensuring your plugins run efficiently even on busy servers.

D
M
Duco & Mats