-
Notifications
You must be signed in to change notification settings - Fork 0
Home
- Introducción
- Requisitos
- Instalación
- Registro de la API
- Eventos principales
- Uso de RollbackStorage
- Ejemplos prácticos
- Preguntas frecuentes (FAQ)
- Contribuciones
- Licencia
RollbackAPI es una biblioteca para desarrolladores de plugins PocketMine-MP que necesitan gestionar de forma eficiente eventos relacionados con el rollback de objetos e inventarios tras la muerte de un jugador.
La API permite capturar eventos críticos, almacenar datos importantes, y ofrecer un sistema estandarizado para consultarlos o restaurarlos.
- PHP 8.1 o superior
- PocketMine-MP 5.x
- Conocimientos básicos de programación en PHP y plugins PocketMine.
- Clona o descarga el repositorio de RollbackAPI.
- Copia la carpeta
RollbackAPIdentro del directoriosrc/de tu plugin. - Importa y registra la API en el método
onEnable()de tu plugin:
use RollbackAPI\Register;
public function onEnable(): void {
if (!Register::isRegister()) {
Register::register();
}
}Para que RollbackAPI funcione correctamente, debes registrar la API con:
Register::register();Este registro se encarga de iniciar el listener principal para el manejo de eventos.
-
Evento personalizado que se dispara internamente cuando un jugador muere (
PlayerDeathEvent). -
Contiene la información de:
- Jugador (
Player) - Ítems perdidos (array)
- Fecha y hora del evento
- ID único del rollback (int)
- Jugador (
Puedes escuchar este evento en tu plugin para reaccionar o modificar el comportamiento:
use RollbackAPI\events\RollbackEvent;
use pocketmine\event\Listener;
use pocketmine\event\EventPriority;
use pocketmine\event\player\PlayerDeathEvent;
class YourListener implements Listener {
public function onRollback(RollbackEvent $event): void {
$player = $event->getPlayer();
$items = $event->getItems();
$player->sendMessage("Tus ítems fueron guardados para rollback.");
}
}RollbackStorage es la clase responsable del manejo persistente de datos.
Automático al morir el jugador, pero también disponible para guardar manualmente.
use RollbackAPI\storages\RollbackStorage;
$data = RollbackStorage::getRollbackData("PlayerName");
if ($data !== null) {
// Procesar $data['items'], $data['date'], $data['id']
}RollbackStorage::removeRollbackData("PlayerName");use RollbackAPI\events\RollbackEvent;
use pocketmine\event\Listener;
class MyPluginListener implements Listener {
public function onRollback(RollbackEvent $event): void {
$player = $event->getPlayer();
$player->sendMessage("¡Rollback registrado para ti!");
}
}use RollbackAPI\storages\RollbackStorage;
$rollbackData = RollbackStorage::getRollbackData("JugadorEjemplo");
if ($rollbackData !== null) {
// Por ejemplo, obtener ítems y hacer algo con ellos
$items = $rollbackData['items'];
}Q: ¿Puedo usar esta API sin registrar Register::register()?
A: No. El registro es obligatorio para que el listener principal se active y los eventos funcionen.
Q: ¿Dónde se guardan los datos?
A: En un archivo JSON llamado rollback.json dentro de la carpeta de datos de tu plugin.
Q: ¿Puedo modificar el archivo JSON directamente?
A: Se recomienda usar los métodos de RollbackStorage para evitar corrupción.
¡Las contribuciones son bienvenidas! Puedes abrir issues, enviar pull requests o sugerir mejoras vía GitHub.
RollbackAPI está bajo la licencia MIT, libre para usar y modificar.