Skip to content

Repository files navigation

Skuld

Never forget where your players have been.

Features

  • Obtain custom player heads using the /skull command.
  • Track the name of players as they join your server using /namehistory.
  • Configurable XP cost for obtaining skulls.
  • Asynchronous UUID and texture data fetching to minimize server lag.
  • Support for multiple databases:
    • PostgreSQL
    • MySQL
    • SQLite

Usage

Requirements

  • Paper or a compatible fork.
  • A database for player history. You can choose between PostgreSQL, MySQL, or SQLite.

Building from source

To build the plugin from source, you will need Gradle and Java 21. Follow these steps:

  1. Clone the Repository:

    git clone https://github.com/WinSMP/Skuld.git
    cd Skuld
  2. Build the code:

    ./gradlew build
  3. Get the JAR: The built jar file will be located in the build/libs directory.

Configuration

In the config.yml file, you'll get to see some options. Here is information about them.

ValueDescriptionDefault
xp-costThe amount of XP (in points) required to be given a skull100
history.enabledWhether to enable the name history feature. If this is disabled, you do not need a database.true
database.typeThe type of database to use. Can be "sqlite", "mysql", or "postgresql"."sqlite"
database.max-connectionsThe number of maximum connections to the database10
database.postgresql.nameThe name of the PostgreSQL database"skuld_names"
database.postgresql.usernameThe username for the PostgreSQL database"postgres"
database.postgresql.passwordThe password for the PostgreSQL database"password"
database.mysql.nameThe name of the MySQL database"skuld_names"
database.mysql.usernameThe username for the MySQL database"root"
database.mysql.passwordThe password for the MySQL database"password"

Commands

  • /skull <username>: Obtains the skull of the specified player.
  • /namehistory <player>: Gets the name history of the specified player who joined on the server.

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

Roadmap

  • Further improvements to the plugin logic
    • Split code across multiple classes
  • Running the main API logic in a different thread
    • Probably use a thread pool for better performance when under load.
  • Allow for multiple databases/caches:
    • MySQL
    • SQLite
    • Redis/Valkey
  • More...

Support

If you encounter any issues or have questions, please open an issue.

Acknowledgements

License

This plugin is licensed under the Mozilla Public License 2.0.

About

Skuld is a Minecraft plugin (Paper/Folia) that lets players summon custom player skulls using just a username — complete with caching and XP costs.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages