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:
- RageMP - For developing mods for RageMP servers
- AltV - For developing mods for AltV servers
- 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.