RPXv1.0

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

java
// 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 mundo

VehicleRegistry 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

ComandoPermisoDescripción
/vehicle spawn <modelId>rpxvehicles.adminSpawnea 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.