Skip to content

AtomPilz-DevTeam/StationofDoomPlugin

Repository files navigation

Stationofdoom Plugin Discord wakatime CodeFactor Reposilte

A minecraft paper survival plugin for private servers

List of features

  • Custom enchantments Flight -> Entities you hit fly up and receive fall damage as they fall down
    Furnace -> Ore are smelted directly when you break them
    Telepathy -> Items you break go directly to your inventory
  • Support for multiple languages
    Currently, German and English are supported. Use /language to change your language
  • Quality of life improvements - /ping -> Get your current ping
    - /voterestart -> Vote for a serverrestart - if the majority of online players vote for a restart the server will be restartet
    - /sit -> Allows you to sit
    - /afk -> Show in the tablist that you are afk
    - Custom tab list
    - Custom join/quit messages
    - Support for MiniMessage in chat messages
  • Bow combo Deal more damage with your bow when you hit a combo
  • DeathMinigame A Jump 'n' Run minigame that triggers upon player death:

    How it works:

    • Upon death, players get a chance to recover their items by completing a parkour challenge
      • the experience will still be dropped to balance the plugin
    • Successfully completing the challenge returns all items to the player
    • Failing the challenge drops items at the death location

    Difficulty System:

    • Difficulty increases with each successful completion
    • Players can spend diamonds to lower their difficulty
    • Maximum difficulty: default is 10
    • Diamond cost: default is 6

    Commands:

    • Settings menu: /game settings

    Configuration:

    • Use /game settings to configure parkour parameters
    • See "In game settings menu" section for details
  • In game settings menu

    This plugin features an in game settings menu to every operator of the server. It can be reached through the command /game settings. In the settings many important values can be changed to fix problems or set up the plugin.

    • Menus inside the settings:
      • setUp: hosts all settings to set up the plugin before a playthrough
        • parkourStartHeight: Starting height for parkour generation (Default: 100)
        • parkourLength: Length of the parkour course (Default: 10)
        • costToLowerTheDifficulty: Diamond cost to reduce difficulty (Default: 6)
        • timeToDecideWhenRespawning: Time limit for minigame decision in seconds (Default: 10)
      • introduction: Manage player introduction status
        • Players start with 'false' and receive a brief introduction on first death
      • difficulty: Manage individual player parkour difficulty
        • difficultyPlayerSettings: Configure difficulty level per player
      • usesPlugin: Toggle whether players can access the parkour minigame
  • Database Connection
    • Usage of the plugin is possible with or without a PostgreSQL database, without a database all stats and info created by the plugin are only saved until the next server restart.
    • Connecting a database
      1. Start the server and plugin once
      2. Enter your database-parameters into the config.yml file from this plugin
      3. finished

Support and Project Discussion:

Installation and Usage

First download the latest version and move it to your server's plugins folder.

Make sure to have a server based on the paper software

Finding the configuration file

First make sure that the jar is in the correct directory, then start the server. If everything works there should be a config.yml file in the StationOfDoom directory.

Enabling discord webhooks

Go to your Discord channel where you want to receive the messages and create a new webhook. Copy the url, paste it into the config.yml and set enabled to true.

How To (GitHub download)

Download the plugin from the releases tab and copy the plugin to your plugins folder.

How To (Compiling Jar From Source)

To compile the plugin, you need JDK 21 and an internet connection.

Clone this repo and run gradle jar from your terminal. You can find the compiled jar in the project root's build/libs directory.

API Usage

Add the plugin as a dependency to your plugin

Gradle (Groovy dsl)
maven {
    name "reposiliteRepositoryReleases"
    url "https://repo.jonasfranke.xyz/releases"
}


dependencies {
    implementation "com.github.atompilz-devteam:TAG"
}
Gradle (Kotlin dsl)
maven {
    name = "reposiliteRepositoryReleases"
    url = uri("https://repo.jonasfranke.xyz/releases")
}

dependencies {
    implementation("com.github.atompilz-devteam:TAG")
}
Maven
<repository>
    <id>reposilite-repository</id>
    <name>Jonas Franke Repository</name>
    <url>https://repo.jonasfranke.xyz/<repository></url>
</repository>

<dependency>
    <groupId>com.github.atompilz-devteam</groupId>
    <artifactId>stationofdoom</artifactId>
    <version>TAG</version>
</dependency>

Support Me

Contributions, issues, and feature requests are welcome! Give a ⭐️ if you like this project!