Zum Hauptinhalt springen

Pets

The Pets Extension allows players to collect, level up, and customize companion pets. These companions follow the player and can provide both cosmetic flair and practical combat assistance.

Features

  • Companions — Head or Ground following modes.
    • Progression — Leveling system with XP rewards.
    • Visuals — Custom textures and ModelEngine support.
    • Combat — Retaliation system for defense.

Architecture

Build variants

This private variant targets BornToCraft's custom Typewriter engine and custom GUI extension. It is built with JDK 25 and keeps the custom MiniPlaceholder/resolvePlain path; it must not depend on the public PlaceholderAPI bridge or legacy command-event compatibility. Persistence uses asynchronous I/O and companion updates use Folia-safe scheduling.

Entries

Quick Start

  • 1. Configure Settings — Start with the configuration entry: pet_definition. This defines global settings for the extension. → pet_definition
  • 2. Trigger Actions — Use action entries to interact with the extension: add_xp, open_menu, state. Trigger them from commands, NPCs, events, or other entries. → add_xp → open_menu

Commands

CommandDescriptionPermission
/petsOpen menutypewriter.pets.open
/pets activate <id>Activate pettypewriter.pets.activate
/pets give <id>Give pettypewriter.pets.give

Placeholders

Prefix: %pets_*%

PlaceholderDescription
%pets_active_name%Active pet name
%pets_active_level%Active pet level
%pets_pet_<id>_owned%Owns specific pet?

Permissions

PermissionDescription
typewriter.petsBase access to pet commands.
typewriter.pets.openOpen the pets menu.
typewriter.pets.giveGive a pet to a player.
typewriter.pets.removeRemove a pet.
typewriter.pets.activateActivate a pet.
typewriter.pets.deactivateDeactivate a pet.
typewriter.pets.showShow a pet.
typewriter.pets.hideHide a pet.

Dependencies

ExtensionRequiredUsage
Custom GUI ExtensionRequiredMenu rendering and registered pet_menu command handlers.
Custom Typewriter engineRequiredEntries, scheduling, storage and MiniPlaceholder resolution.

The public distribution is documented separately and uses the official GUI extension and public PlaceholderAPI bridge. The two artifacts share gameplay concepts but are intentionally not interchangeable.