AnimatedArchitecture
AnimatedArchitecture is a plugin for the Minecraft server mod
Spigot. Its aim is to enhance your
server with animated blocks that can be used to create many kinds of animated architectural structures.
AnimatedArchitecture is a rewrite of the old BigDoors plugin. You can find the legacy BigDoors plugin
here.
Preview
Supported structure types
The following structure types are currently supported:
- Big Doors
- Clocks that display the in-game time
- Drawbridges
- Flags
- Garage Doors
- Portcullises
- Revolving Doors
- Sliding Doors
- Windmills
Using AnimatedArchitecture
Requirements:
- Java 21+
- A Spigot server (or a fork of Spigot) for Minecraft 1.20+
- Vault
Installation:
- Grab the files of the latest release. You will need
to grab the AnimatedArchitecture-Spigot.jar file.
- Place the AnimatedArchitecture-Spigot.jar in the plugins directory of your server.
- (Re)start your server.
- Optionally, configure the plugin to your liking by editing the config files in the newly generated
AnimatedArchitecture folder.
Importing BigDoors' Database
As of
release Alpha 0.1.8.44, BigDoors has a command that allows
you to export the old database to the new format. Newer versions may contain additional improvements to the export
process, so it is recommended to use the latest version of BigDoors to export your database.
While running a supported version, you can run the
BigDoors PrepareDatabaseForV2 command
in
the console to export the database. Read the output in the console to see if everything was exported correctly.
Running this command does not affect the existing database for BigDoors.
After the export process has completed, you can copy the new
structures.db file out of the
BigDoors folder into
the
AnimatedArchitecture folder. You will now be able to use the structures you created in BigDoors!
Please note that the export process may not always produce a perfect conversion, potentially leading to minor
inconsistencies, such as incorrect opening directions under certain circumstances. Despite these occasional
discrepancies, the majority of exported structures should function properly. Any errors can be easily rectified in-game
using available commands or the menu.
Translations
Official translations
Official translations are managed through
Weblate:
Custom translations
By default, the plugin will use the messages from
localization/translations.bundle.
This file is regenerated every time the plugin restarts, so please do not edit this file manually.
All translation keys used by the plugin are also written to a
localization/translations.properties file.
When you provide one or more keys with a value, the plugin will create a new file the next time it restarts:
localization/translations_patched.properties. This file contains the same data as the 'base' bundle, except for any
lines you changed in the properties file.
To put it simply, you can override any of the official translations using the properties file.
One thing to keep in mind when trying to override translations is that it respects the locale entry.
This means that the
translations.properties file only overrides the base localization messages.
The way the localization system works, is that it first tries to get the translated message from the locale defined in
the config, and, if that does not exist, from the base localization file.
For example, if you set the locale to
nl_NL (Dutch) in the config, the plugin will try to retrieve messages from
translations_nl_NL.properties first. If no value is provided for the key the plugin is looking for, it will try the
translations.properties file next.
So, if you have set your locale to
nl_NL in the config and want to override the default translations,
follow these steps:
- Copy translations.properties to translations_nl_NL.properties.
- Apply the changes you wish to make.
- You can check the files in localization/translations.bundle to see the current translations.
- Restart either the server or the plugin.
- You can restart the plugin with /AnimatedArchitecture restart
Compiling AnimatedArchitecture
Compilation requirements:
You can then compile the project by running the following command in this directory:
mvn package
To also run all the tests, static analysis tools etc., you can run the following command:
mvn -P=errorprone test package checkstyle:checkstyle pmd:check
The
AnimatedArchitecture-Spigot.jar file can then be found
in
animatedarchitecture-spigot/spigot-core/target/AnimatedArchitecture-Spigot.jar.</br>
The jars for each structure type can be found in
structures/StructuresOutput/<StructureType>.jar.
Developers
This project can be included as a dependency using
JitPack.
For the
artifactId field, you can use any of the
core modules. For the following examples below, we will
use
spigot-core. This module contains the implementations for the Spigot platform, as well as some utility methods and
classes that make it easier to work with.
You could also use
animatedarchitecture-core if you wish to only use the API and not the Spigot platform.
Maven
Code (XML):
<repositories>
<repository>
<id>jitpack.io
</id>
<url>https://jitpack.io
</url>
</repository>
</repositories>
Code (XML):
<dependencies>
<dependency>
<groupId>com.github.PimvanderLoos.AnimatedArchitecture
</groupId>
<artifactId>spigot-core
</artifactId>
<version>0.5
</version>
<scope>provided
</scope>
</dependency>
</dependencies>
Gradle
Code (gradle (Unknown Language)):
repositories {
maven { url "https://jitpack.io/" }
}
dependencies {
compileOnly("com.github.PimvanderLoos.AnimatedArchitecture", "spigot-core", "0.5")
}
Documentation
The javadocs for this project can be found
here.