rock-mod
Version:
Rock-Mod is a powerful framework designed for creating and managing mods for Grand Theft Auto (GTA) games.
117 lines (83 loc) • 3.12 kB
Markdown
**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:
```bash
npm install rock-mod
```
### Usage
On the server-side, initialize Rock-Mod with the appropriate multiplayer type:
```typescript
const rockMod = await RockMod.create({
multiplayer: "RageMP", // or "AltV", or "Mock"
});
```
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 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:
```typescript
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:
```typescript
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);
```
- **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
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.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.