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

rock-mod

v0.9.0

Published

Rock-Mod is a powerful framework designed for creating and managing mods for Grand Theft Auto (GTA) games.

Downloads

546

Readme

Rock-Mod

Rock-Mod is a versatile and powerful framework designed for cross-platform mod development for Grand Theft Auto (GTA) servers. It supports RageMP, AltV, and Mock multiplayer platforms, allowing you to build and manage mods seamlessly across these environments.

Installation

To get started, simply install the package:

npm install rock-mod

Usage

On the server-side, initialize Rock-Mod with the appropriate multiplayer type:

const rockMod = await RockMod.create({
  multiplayer: "RageMP", // or "AltV", or "Mock"
});

Multiplayer Types

Rock-Mod supports three multiplayer types:

  1. RageMP - For developing mods for RageMP servers
  2. AltV - For developing mods for AltV servers
  3. Mock - For testing and development without multiplayer dependencies

Mock Mode

Mock mode provides a complete mock environment for testing your mods without requiring a multiplayer server. It includes:

  • Full entity hierarchy (BaseObject, WorldObject, Entity)
  • All entity types (Blip, Colshape, Marker, Object, Ped, Player, Vehicle)
  • Type-safe events and RPC system
  • In-memory state management
  • Player connection simulation

Example using Mock mode for development:

import { RockMod } from "rock-mod";

// Initialize in Mock mode
const rockMod = await RockMod.create({
  multiplayer: "Mock",
});

// Subscribe to events
rockMod.net.events.on({
  "rm::playerConnected": (player) => {
    console.log(`Player ${player.name} connected`);
  },
  "rm::playerDisconnected": (player) => {
    console.log(`Player ${player.name} disconnected`);
  },
});

// Register RPC handlers
rockMod.net.rpc.register("getPlayerInfo", (player) => {
  return {
    id: player.id,
    name: player.name,
    position: player.position,
  };
});

Example using Mock mode for testing:

import { TestRockMod } from "rock-mod/testing";

// Initialize test environment
const rockMod = await TestRockMod.create({
  multiplayer: "Mock",
});

// Simulate player connection
const player = rockMod.simulatePlayerConnect({
  name: "TestPlayer",
  position: { x: 0, y: 0, z: 0 },
  health: 100,
});

// Test your mod logic here
// ...

// Simulate player disconnection
rockMod.simulatePlayerDisconnect(player);

Features

  • Cross-Platform Support: Write once, run on any supported platform
  • Type Safety: Full TypeScript support with proper type definitions
  • Entity Management: Unified API for managing game entities
  • Networking: Type-safe events and RPC system
  • Testing: Dedicated testing API through rock-mod/testing
  • Modular Design: Easy to extend and customize

Documentation

Please note that client-side implementation is not yet available in this version.

Rock-Mod simplifies multiplayer mod development by providing unified tools for managing game entities, networking, and more across different platforms.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.