Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

rock-mod

xvetal143MIT0.12.0TypeScript support: included

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

gta, multiplayer, altv, ragemp

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.