Skip to content

About

AdvancedArmorStands unlocks the full potential of Minecraft ArmorStands and opens up a world of possibilities you never knew existed

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

18 stars

Watchers

6 watching

Forks

Latest commit

 

History

1,140 Commits

Folders and files

1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.20, 1.20.6, 1.21
26.1, 26.2


Downloads GitHub repo size GitHub license GitHub Workflow Status

About

AdvancedArmorStands lets you create, customize, animate and manage armor stands on your server, with in-game menus, reusable types, animations, click actions and a developer API. It is built with XSeries1 for cross-version compatibility, so one jar works from 1.8 all the way up to the latest versions.


Table of Contents

By using this plugin, you agree to the Terms of Service.


Links

Platform Link
Polymart advancedarmorstands
Spigot advancedarmorstands.121022
Website advancedarmorstands.ir
Documentation docs.advancedarmorstands.ir
Status status.advancedarmorstands.ir

Supported Languages

English, Italian, Persian, Portuguese, Russian, Spanish, Turkish, Bangla, Indonesian, Polish, Romanian, and more. Add your own2!


Requirements

Server Requirements

  • A Bukkit-based server such as Spigot3, Paper4, Purpur5, or another compatible Bukkit/Paper fork.

Optional Dependencies


Configs

This document contains the configuration details for AdvancedArmorStands.

Main Configuration

The config.yml file is the plugin's main configuration file:

# Main configuration

config-version: 1.0.2 # <========== Config version (don't touch)

language: en # <========== Language

hide-cache-folder: true # <========== Hide the cache folder (windows only)

debug: false # <========== Enable & Disable debug

shift-right-click-to-add: true # <========== Enable & Disable shift-right-click to add ArmorStand

shift-click-to-delete: false # <========== Enable & Disable shift-right-click to delete ArmorStand

auto-load-armor-stands: false # <========== Automatically reload armor stands on server restart

ai:
  token: 'PLACE_YOUR_TOKEN_HERE' # <========== Token for AI integration (place your actual token here)

  allow-players: true # <========== Allow players to interact with the AI system

Types Configuration

The types.yml file is the configuration for types:

default: # <====== Name of the type
  arms: true # <====== Has arms?
  basePlate: false # <====== Does it have a baseplate?
  customName: '&cMade with aas' # <====== Custom name for the entity
  isCustomNameVisible: false # <====== Should the custom name be visible?
  isVisible: true # <====== Is visible?
  isSmall: false # <====== Is small?
  itemInHandMaterial: WOOD_SWORD # <====== Item held in the hand
  headPos: {} # <====== Head position (empty by default)
  rightArmPose: # <====== Right arm pose
    x: -45
    y: 0
    z: 0
  leftArmPose: # <====== Left arm pose
    x: 45
    y: 0
    z: 0
  rightLegPose: # <====== Right leg pose
    x: 45
    y: 0
    z: 0
  leftLegPose: # <====== Left leg pose
    x: -45
    y: 0
    z: 0

Important

Modify itemInHandMaterial to any valid Minecraft material (on your Minecraft version).

Note

Players can create as many types as they want, but each type must have a unique name.
Each type can be used in-game with the create sub-command.

Animations Configuration

The animations.yml file is the configuration for animations:

animations:
  wave: # <====== Animation name or type
    interval: 10 # <====== Interval between each animation frame (in ticks)
    loop: true # <====== Should the animation loop? (true or false)
    steps: # <====== List of animation steps
      - head: # <====== Head pose for this step
          x: 0   # <====== Head X rotation
          y: 0   # <====== Head Y rotation
          z: 0   # <====== Head Z rotation
        left_arm: # <====== Left arm pose for this step
          x: -30 # <====== Left arm X rotation
          y: 0   # <====== Left arm Y rotation
          z: -10 # <====== Left arm Z rotation
        right_arm: # <====== Right arm pose for this step
          x: -30 # <====== Right arm X rotation
          y: 0   # <====== Right arm Y rotation
          z: 10  # <====== Right arm Z rotation
        left_leg: #<====== Left leg X rotation
          y: 0   #  <====== Left leg pose for this step
          x: 10  # <====== Left leg Y rotation
          z: 0   # <====== Left leg Z rotation
        right_leg: # <====== Right leg pose for this step
          x: -10 # <====== Right leg X rotation
          y: 0   # <====== Right leg Y rotation
          z: 0   # <====== Right leg Z rotation
      - head:
          x: 0   # <====== Head X rotation
          y: 0   # <====== Head Y rotation
          z: 0   # <====== Head Z rotation
        left_arm:
          x: -10 # <====== Left arm X rotation
          y: 0   # <====== Left arm Y rotation
          z: 30  # <====== Left arm Z rotation
        right_arm:
          x: -10 # <====== Right arm X rotation
          y: 0   # <====== Right arm Y rotation
          z: -30 # <====== Right arm Z rotation
        left_leg:
          x: -10 # <====== Left leg X rotation
          y: 0   # <====== Left leg Y rotation
          z: 0   # <====== Left leg Z rotation
        right_leg:
          x: 10  # <====== Right leg X rotation
          y: 0   # <====== Right leg Y rotation
          z: 0   # <====== Right leg Z rotation

Tip

Prefer a visual approach? Use the in-game animation creator or the online editor.

Actions Configuration

The actions.yml file is the configuration for actions:

armorstand:
  SavedStand101: # <====== Name of the armor stand
    say-hello-world: # <====== Command name (use '-' instead of spaces)
      type: player # <====== Command executor ('player' or 'server')
      trigger: all # <====== Interaction that triggers the action

Tip

Use the Armor Stand menu to create or delete actions easily.

Caution

Don't touch cache .aas files.

For more details, refer to the official documentation or community guides.


Artificial Intelligence 6

Since v1.26.0, AdvancedArmorStands includes AI features powered by Google Gemini.

Note

AI is disabled by default. You need to add your own API token before it will work.


How to set it up

1. Get a free API key from Google AI Studio.

2. Open your plugin's config.yml and find the ai section. Replace the placeholder with your key:

 ai:
-  token: 'PLACE_YOUR_TOKEN_HERE' # <========== Token for AI integration
+  token: 'AIzaSy...your-real-key' # <========== Paste your Google AI Studio key here
   allow-players: true            # <========== Allow players to interact with the AI system

Important

The AI features will not work until you replace the placeholder with a valid token.

Warning

Never share your token or post your config.yml publicly. Anyone with your key can use your Google quota.

3. Restart the server. The AI options will now be unlocked.

Option Description
token Your Google AI Studio API key
allow-players Set to false if only admins should be able to use the AI

How it works

When someone asks the AI for help, the plugin sends the request to Gemini in the background, so your server never freezes while waiting. Gemini answers with a structured command, and the plugin carries it out.

flowchart LR
    A[Player asks AI] --> B[Plugin sends request<br/>to Google Gemini]
    B --> C[Gemini replies with<br/>an action]
    C --> D{Which action?}
    D -- create --> E[Spawns an armor stand]
    D -- remove --> F[Deletes an armor stand]
    D -- pose --> G[Changes the pose]
    D -- none --> H[Nothing happens]
    E --> I[Reply is sent to the player]
    F --> I
    G --> I
    H --> I
Loading
Technical details (for developers)

 

sequenceDiagram
    autonumber
    actor P as Player
    participant AU as AiUtils (main thread)
    participant AS as Async Thread
    participant G as Google Gemini API
    participant AA as handleAiAction
    participant API as ArmorstandApi

    P->>AU: Asks the AI for help
    AU->>AU: getAssistInstructions() builds system prompt
    AU->>AS: requestAsync(apiKey, instructions, userInput)

    Note over AS,G: model gemini-3.5-flash-lite<br/>temperature 0.2, max 1024 tokens<br/>30s connect and read timeout

    AS->>G: POST /v1beta/openai/chat/completions<br/>system = instructions, user = player message
    G-->>AS: JSON reply (action, name, params, response)

    alt Network error or HTTP code not 200
        AS->>AS: resolveResult builds errorJson (action = none)
    else HTTP 200
        AS->>AS: parseChatCompletionsResponse extracts the text
    end

    AS->>AU: runTask back on the main thread
    AU->>AA: handleAiAction(finalResult, player)
    AA->>AA: extractJson strips markdown fences and parses JSON

    alt action = create
        AA->>API: createArmorStand(name, pose, location, player)
    else action = remove
        AA->>API: removeArmorStand(name)
    else action = pose
        AA->>API: previewPose(name, pose, player) then reloadPlugin()
    else action = none or unknown
        AA->>AA: warn "AI did not provide a valid action"
    end

    AU->>P: callback sends the "response" text from the JSON
Loading

Contributors

Donate

AdvancedArmorStands is a completely independent project that I have built and maintained entirely on my own. I've put a lot of time and effort into the plugin, even though it currently has a relatively small user base.

I'm always doing my best to improve AdvancedArmorStands, fix issues, add new features, and make the experience as smooth and enjoyable as possible for everyone who uses it.

If you find the project useful and would like to support its development, you can make a donation below. Every bit of support is greatly appreciated and helps me keep working on the project.

Donate Crypto on Plisio Donate Crypto on NOWPayments

Footnotes

  1. XSeries is a Minecraft library that makes it possible to support different Minecraft versions with the same code ↩

  2. To customize a language, copy it and rename it using the 'messages_.yml' format, then set this value to your custom language iso ↩

  3. Spigot is a minecraft server software based on Bukkit that supports plugins ↩

  4. Paper minecraft server software based on Spigot with improved performance and additional features ↩

  5. Purpur minecraft server software based on Paper with extra configuration options and features ↩

  6. AI is technology that enables computers to learn, understand information, and perform tasks that normally require human intelligence ↩

About

AdvancedArmorStands unlocks the full potential of Minecraft ArmorStands and opens up a world of possibilities you never knew existed

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

18 stars

Watchers

6 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages