RPX Vehicles
Sistema de vehículos con matrícula única por ciudadano, combustible, daño y persistencia de posición en base de datos.
Introducción
RPX Vehicles gestiona vehículos con propiedad por ciudadano, matrícula autogenerada, combustible consumible, salud del vehículo y guardado automático de la última posición. Los vehículos se definen en VehicleRegistry y se spawnan como entidades en el mundo.
Atención
Para spawnear vehículos en producción los jugadores deben adquirirlos mediante RPXCrafting (fábrica de vehículos). El comando /vehicle spawn es solo para administradores.
- Matrícula única autogenerada por propietario (ciudadano IC)
- Combustible consumible — el vehículo se detiene al vaciarse
- Salud del vehículo — daño por colisiones o disparos
- lastLocation persistente — los vehículos conservan su posición al reiniciar
- Modo stored: el vehículo puede estar en el 'garage' hasta que el jugador lo saque
Modelo de Vehículo
// Vehicle.java
int id // ID interno BD
int ownerCitizenId // ciudadano propietario (IC)
String plate // matrícula autogenerada
String modelId // ref a VehicleRegistry (ej: "sedan_rojo")
double fuel // 0.0 - 100.0
double health // 0.0 - 100.0
String lastLocation // "world,x,y,z,yaw,pitch"
boolean stored // true = en garage, false = en el mundoVehicleRegistry almacena la configuración de cada tipo (velocidad máxima, capacidad de combustible, pasajeros, modelo 3D en ItemsAdder).
Flujo de Uso
- El jugador fabrica o adquiere un vehículo → se crea una entrada en BD con stored=true.
- Al usar el vehículo, VehicleManager spawnea la entidad en el mundo y stored pasa a false.
- El VehicleManager consume combustible periódicamente. Al llegar a 0 el vehículo se para.
- Al guardar el vehículo, lastLocation se actualiza y stored vuelve a true.
- La matrícula se vincula al ciudadano — puede consultarse desde la PDA policial.
Consejo
Para repostar, los jugadores deben interactuar con una gasolinera (furniture configurado) que use VehicleManager.addFuel().
Comandos
| Comando | Permiso | Descripción |
|---|---|---|
| /vehicle spawn <modelId> | rpxvehicles.admin | Spawnea un vehículo del modelo indicado en tu posición. Devuelve la matrícula generada. |
Información
Los jugadores normales interactúan con sus vehículos a través de inventario y menús contextuales, no por comandos directos.