Skip to content

TridentSDK/TridentSDK

Repository files navigation

TridentSDK Build Status Coverage Status

The TridentSDK project. The API for the new generation of multithreaded, high-performance, cleanroom Minecraft servers.

Latest Release

Not released

Getting a JAR

One would need a TridentSDK JAR to debug plugins, use the plugin API, or otherwise any application that isn't evil.

Method one: Build it yourself

If you have decided that our forms of distribution are questionable, or you would like to modify something before getting a JAR file, you want to build from the source directly.

Prerequisites

  1. A computer
  2. Git
  3. Maven

Directions

Type in the following into the command line:

git clone -b [master|bleeding-edge] https://github.com/TridentSDK/TridentSDK.git
cd TridentSDK
mvn clean install

One would use master to ensure compatibility with the latest build of Trident. Otherwise, for the most up-to-date (and potentially breaking) build of TridentSDK, one would use bleeding-edge. If you are building the JAR yourself, it is your responsibility to know which one is right for you.

The built JAR will ./TridentSDK/target/tridentsdk-*.jar

Method two: Download from Sonatype Nexus

For a precompiled solution, one which has passed the tests we have wrote, as well as if you are too lazy to download 2 files and install the Method one prerequeisites, you can download one yourself.

Prerequisites

  1. A mouse
  2. A web browser
  3. A computer

Directions

  1. Click
  2. Click "Keep"

Method three: Get one from us

If we've released a JAR for you to use, it usually comes with a nice read. So if you like nice reads or the look of our official website, you can go rummage around the releases forum and look for a download link.

Prerequisites

  1. A mouse
  2. A web browser
  3. A computer

Directions

Fortunately, because there are no releases yet, you don't need to do that quite yet.

Tools

None yet

API

TridentSDK provides an extensive API which allows both high and low level control over the Trident server.

A jar placed in the plugins folder is a valid plugin, if it has a class that does not have the same descriptor as an existing Trident or TridentSDK class. It must also have one and only one class whose superclass is net.tridentsdk.plugin.Plugin, annotated with net.tridentsdk.plugin.annotation.PluginDesc with a non-empty name field.

Example:

package com.example;

import net.tridentsdk.plugin.Plugin;

@PluginDesc(name = "Plugin")
public class ExamplePlugin extends Plugin {
}

This is the minimal requirements to have a plugin loaded by the server.

For more information on how to use the API, visit the Wiki page.