rock-mod
v1.1.0
Published
Rock-Mod is a powerful framework designed for creating and managing mods for Grand Theft Auto (GTA) games.
Readme
Rock-Mod
Rock-Mod is a versatile and powerful framework designed for cross-platform mod development for Grand Theft Auto (GTA) servers. VIMP is the primary and recommended multiplayer platform; RageMP, AltV, and Mock are also supported, allowing you to build and manage mods seamlessly across these environments.
Installation
To get started, simply install the package:
npm install rock-modUsage
On the server-side, initialize Rock-Mod with the appropriate multiplayer type:
const rockMod = await RockMod.create({
multiplayer: "VIMP", // recommended; also supports "RageMP", "AltV", and "Mock"
});Multiplayer Types
Rock-Mod supports four multiplayer types:
- VIMP - Primary and recommended platform for developing mods for VIMP servers
- 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.
