pluginiPlugin
Configuration

Pet Configuration


Directories Configuration

Supports unlimited nested directories
example.yml
hello.yml
world.yml

Nodes

id

A unique identifier for each pet.

pet:
  id: test // [!code highlight]

default

Defines default initial attributes and settings.

pet:
  default: 
    exp: 30 // [!code highlight]
    level: 66 // [!code highlight]
    attribute:
      ...
NodeData TypeDefaultDescription
expInt100Experience required to level up
levelInt100Maximum level
attributeRelated attributes

attribute

Defines default values for attributes.

pet:
  default:
    attribute: 
      health: 20.22 // [!code highlight]
      speed: 2.0 // [!code highlight]
      attack: 0.3 // [!code highlight]
      hook: 
        ...
NodeData TypeDefaultDescription
healthdouble20.0Maximum health
speeddouble1.0Speed
attackdouble0.0Attack damage
hook

The attribute system storage is a flexible data management method that stores and retrieves various attributes of pets using a key-value pair format.

This storage method functions similarly to a simple database, where the key represents the name of the attribute, and the value is the specific value or state of that attribute.

It can be used as a storage system or as an attribute system (driver required).

pet:
  default:
      hook: 
        - key: key1 // [!code highlight]
          value: value1 // [!code highlight]
        - type: ATTRIBUTE_PLUS // [!code highlight]
          key: key2 // [!code highlight]
          value: value2 // [!code highlight]
NodeData TypeDefaultDescriptionOptions
typeSTORAGEStorage system
参数描述
STORAGE存储键值对内容
ATTRIBUTE_PLUS由AttributePlus插件驱动的属性系统
keyStringKey
valueStringValue

entityType

The type of entity, with a default value of PIG.

pet:
  entityType: PIG // [!code highlight]

addon

Addons are additional components that can be attached to pets, providing extra features like holographic displays or making the pet invincible.

pet:
  addon: 
    - type: NAME // [!code highlight]
      select: ADYESHACH // [!code highlight]
      height: 2.0 // [!code highlight]
      lines: 
        - "{{pet name}}"
        - "Lv.{{pet level}}"
    - type: INVINCIBLE // [!code highlight]
      select: PLAYER // [!code highlight]

Invincibility

NodeParameter TypeDescriptionOptions
typeSets the pet to be invincibleINVINCIBLE
selectSpecifies the entities that are immune
参数描述
PLAYER玩家
ALL所有对象
pet:
  addon:
    - type: INVINCIBLE // [!code highlight]
      select: PLAYER // [!code highlight]

Holographic Display

NodeParameter TypeDescriptionOptions
typeHolographic displayNAME
selectTarget
参数描述
AdyeshachAdyeshach 全息提供商
DECENT_HOLOGRAMSDecentHolograms 全息提供商
heightDoubleHeight
linesString[]Display content
pet:
  addon:
    - type: NAME // [!code highlight]
      select: ADYESHACH // [!code highlight]
      height: 2.0 // [!code highlight]
      lines: 
        - "{{pet name}}"
        - "Lv.{{pet level}}"

action

pet:
  action: 
    - id: attack // [!code highlight]
      priority: 11 // [!code highlight]
    - id: walk // [!code highlight]
      priority: 10 // [!code highlight]
    - id: lookowner
      priority: 9
NodeParameter TypeDescriptionOptions
idStringIdentifier for the action behavior
priorityIntAction priority, lower values are executed first

Built-in Behaviors

Action IDDescription
attackA melee attack mechanism similar to a wolf
walkFollows the owner

Custom behaviors can be defined through configuration files or developed using an API, identified by their IDs.

Behavior configuration files are located in: imiPetCore/action/...

The default behavior configuration includes an example, lookowner, which makes the pet occasionally look at its owner.

model

Allows you to choose different model providers and define the model behavior for pets.

You can customize the appearance and animations of pets using model providers such as MODEL_ENGINE or COMMON.

pet:
  model: 
    select: MODEL_ENGINE // [!code highlight]
    id: hour // [!code highlight]
    state: 
      - ...
NodeParameter TypeDefaultDescriptionOptions
selectStringCOMMONThe name of the model provider, specifying which model engine to use
参数描述
COMMON原版实体
MODEL_ENGINEModelEngine 插件的模型显示
ORANGE_ENGINEOrangeEngine 插件的模型显示
GERM_ENGINEGermEngine 插件的模型显示
DRAGON_COREDragonCore 插件的模型显示
idStringEntity type (for COMMON) or model identifier
stateStringAnimation state configuration for controlling model behavior and duration

state

Defines how the model behaves in different scenarios, such as when the pet attacks or follows its owner.

Each state can be customized with parameters like lerpin, lerpout, and speed.

pet:
  model:
    state: 
      - id: attack // [!code highlight]
        lerpin: 0 // [!code highlight]
        lerpout: 1 // [!code highlight]
        speed: 1.0 // [!code highlight]
      - id: lookowner
        lerpin: 0
        lerpout: 1
        speed: 1.0
NodeParameter TypeDefaultDescriptionNotes
idStringAction identifier
lerpinDouble0.0Transition time into the animationOnly required for ModelEngine
lerpoutDouble0.0Transition time out of the animationOnly required for ModelEngine
speedDouble1.0Animation playback speedOnly required for ModelEngine
forceBooleanfalseWhether to force the animation to playOnly required for ModelEngine
timeInt3Duration of the animationRequired for GermEngine and DragonCore

skill

Defines the default values for pet skills.

pet:
  skill: 
    number: 3 // [!code highlight]
NodeParameter TypeDefaultDescription
numberInt3Maximum default number of skills

icon

Used to define how the pet is displayed in the interface, including item material, name, description, and custom model data.

This configuration allows for the specific information about the pet to be displayed in menus and interfaces.

pet:
  icon: 
    material: APPLE // [!code highlight]
    name: "&f"
    lore: 
      - "     &fName: &8{{pet name}}"
      - ""
    modelData: 12 // [!code highlight]
NodeParameter TypeDefaultDescription
materialStringZOMBIE_HEADItem material
nameStringItem name
loreString[]Item lore (description)
modelDataInt0Custom model data for the item

Variable Support

The icon configuration supports Kether statements, allowing dynamic variables to be embedded in the form of {{ kether }}.

For example:

  • {{pet name}} represents the pet's name.
  • {{pet level}} represents the pet's level.

By using these dynamic variables, the icon descriptions can be made more personalized and updated in real-time.

On this page