Resource Page - XZot1K/HyperDrive GitHub Wiki

Image

► What is HyperDrive? ►

HyperDrive is an advanced teleportation-based plugin that provides the capabilities of standard teleportation and a unique, yet, powerful warping system. HyperDrive has many "Under The Hood" features that other teleportation plugins don't have. Some of these under the hood features include algorithm usage, global tasks instead of individual, and even warp registry meaning that your warps will load once and save once. The plugin is optimized from the bottom up to guarantee optimal performance!

Image

Curious about a feature or how something may work? Check the developer notes wiki as it may already have an in-depth description. You can find this page here.

What are the highlighted features of HyperDrive?

Though HyperDrive is rich with features, the prime highlights are its advanced random teleportation system with the all-new Smart Bounds feature, Quick-Sort algorithm usage for all menu paging systems, and Cross-Server teleportation without the need of a BungeeCord plugin.

  • Smart Bounds is a new system used for random teleportation that essentially decreases the overall radius until the center location is reached. This feature is used to find a safe location with or without hooks faster and guarantee a safe location with the capability to ignore loading or generating new chunks.
  • Cross-Server teleportation currently is only available for warping and coordinate teleportation. More will be coming, but HyperDrive's cross-server teleportation is done without the use of a BungeeCord plugin. [THIS FEATURE IS EXPERIMENTAL]
  • Quick-Sort algorithm usage is simply a lightning-fast sorting method to get to sort a list of objects and provide the end result as fast as possible.

Below are all of HyperDrive's key features:

  • Fully Customizable GUIs
  • Warp Conversion System (From HyperDrive 4.x and Essentials)
  • Customizable Particle Teleportation Animation Sets
  • Quick-Sort Algorithm Filtering and Paging Systems (This provides HyperDrive with hasty load times, faster navigation, and much more!)
  • Standalone Teleportation Commands (/tpa, /tp, and more)
  • Group Teleportation (Player Head Selection GUIs)
  • Cross-Server Teleportation (Warps are fully cross-server alongside the /crossserver command, done using BungeeCord and MySQL)
  • MySQL and FlatFile Storage Support
  • Advanced Random Teleportation System (Using the all-new Smart-Bounds system)
  • A Wide Variety of Hook Support (WorldGuard, Factions, FactionsUUID, ASkyBlock, and more)
  • A Powerful API (Providing capabilities for almost anything)
  • Warp Administration & Ownership (Players can have their own warps with restrictions)
  • Full Warp Customization (Warp GUI Icons can be modified and edited to any player's desires)
  • Sign Manipulation (Group Warp Signs, Random Teleportation Signs, etc.)
  • Auto-Configuration Updater (HyperDrive watches your config and updates it if new feature and options are added, removed, changed, etc.)
  • Featuring System - Warps can gain featured based on the number of visits they have above a threshold.
  • Like & Dislike Ratings - players are able like and dislike warps to affect their sorting style in the warp list menu!
  • Warp Name Tab-Completion - When using the /warps command players can use tab to cycle through warp names they have access too!

Below is a small representation of what the new and improved default animation looks like! Image

Below is a small representation of what HyperDrive's fully customizable GUI menus look like by default! Image

For sign creation the format can be found in the GIF below; however, note that the header can also be [HD] and the 'rtp' value doesn't require the world argument on the third line! Image

Image

All the available commands can be found here.

All the available permissions can be found here. Image

All class, objects, enumerations, etc. within the "xzot1k.plugins.hd.api" package are the tools intended for developers; however, here is a general breakdown of the API:

  • The Manager.class is the bread and butter of the HyperDrive API. This class provides pretty much all necessary API functions such as loaded warps and warp limits.
  • The TeleportationHandler.class is the hub where all teleportation related API methods can be found.
  • The EnumContainer.class is the class that contains every single Enumeration the plugin uses.
  • The Warp.class is an object that contains all information and variable about a single warp.
  • The GroupTeleportEvent is fired when a group has finished the teleportation process and is sent to the destination.
  • The HookCheckEvent is fired whenever hooks are used in a check to see if a location is safe and playing by the rules. This is what you want to use if you would like to add your own hooks to the plugin.
  • The EconomyReturnEvent is fired when HyperDrive tries to give money back to a player.
  • The EconomyChargeEvent is fired when HyperDrive tries to take money from a player.
  • The MenuOpenEvent is fired whenever the player opens a HyperDrive menu.
  • The RandomTeleportEvent is fired when a player is teleported to a random location through the random teleportation system.
  • The WarpEvent is fired when a player simply teleports to a warp.

If more detail is needed, feel free to contact the developer directly or review the GitHub page.

Image

The old HyperDrive page can be found here.

The requirements for HyperDrive are:

  • Paper or a similar fork sharing the same API packages. (Required)
  • Factions Massive Core or FactionsUUID (Optional)
  • ASkyBlock (Optional)
  • Residence (Optional)
  • Vault (Optional)
  • Towny (Optional)
  • WorldEdit & WorldGuard (Optional)
  • GriefPrevention (Optional)

All hooks are automatic now as of 5.3.8, but the WorldGuard hook now works off of the "canBuild" function.

Don't like the standalone teleportation commands like /tp or /tpa and want to use another plugin's version? Follow these steps:

  • Download and then open the HyperDrive.jar with a ZIP file manager.
  • Open the plugin.yml with any text editor, preferably not notepad.
  • Remove any unwanted commands including the indented options located under them from the commands section inside the plugin.yml.
  • Save the plugin.yml, but do NOT close the ZIP file manager until you are sure it saved to the JAR file which is HyperDrive.
  • Install it to your server's plugins folder, if not already installed.
  • Enjoy a version of HyperDrive without the commands you don't need!

As for installation follow these steps:

  • Step 1 Make sure the server is offline or another instance of the HyperDrive plugin is not enabled.
  • Step 2 Place the freshly downloaded JAR file into your plugins folder. If HyperDrive 4.x was installed previously delete everything except your warps folder.
  • Step 3 Start the server and let HyperDrive generate appropriate configuration files for your server version.
  • Step 4 If the warps folder exists, this is the time to remove it from the HyperDrive folder as all warps have already been converted automatically.
  • Step 5 Enjoy the plugin!