Skip to content

Instantly share code, notes, and snippets.

@melluh
Last active March 13, 2024 15:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save melluh/2a0468a43f78bc8acdd79ce759a74df3 to your computer and use it in GitHub Desktop.
Save melluh/2a0468a43f78bc8acdd79ce759a74df3 to your computer and use it in GitHub Desktop.
Getting started with the ServerTours API

Useful links

Adding the dependency

Gradle (Groovy DSL)

repositories {
    maven {
        name = "melluh-releases"
        url = "https://repo.melluh.com/releases"
    }
}

dependencies {
    compileOnly "com.melluh.servertours:servertours-api:2.0.1"
}

Gradle (Kotlin DSL)

repositories {
    maven {
        name = "melluh-releases"
        url = uri("https://repo.melluh.com/releases")
    }
}

dependencies {
    compileOnly("com.melluh.servertours:servertours-api:2.0.1")
}

Maven

<repositories>
    <repository>
        <id>melluh-releases</id>
        <url>https://repo.melluh.com/releases</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.melluh.servertours</groupId>
        <artifactId>servertours-api</artifactId>
        <version>2.0.1</version>
    </dependency>
</dependencies>

Basic Examples

Starting playback of a tour

Route route = ServerToursAPI.getRouteManager().getRoute(routeName);
ServerToursAPI.getPlaybackManager().showTour(player, route);

Kicking a player out of a tour

TouringPlayer touringPlayer = ServerToursAPI.getPlaybackManager().getTouringPlayer(player);
touringPlayer.exit();

Creating a tour route programatically

Route route = ServerToursAPI.getRouteManager().createRoute(routeName);
route.createPoint(firstLocation, RoutePointType.STATIONARY);
route.createPoint(secondLocation, RoutePointType.STATIONARY);
OrbitPoint orbitPoint = (OrbitPoint) route.createPoint(thirdLocation, RoutePointType.ORBIT);
orbitPoint.setDistance(10.0f);
route.saveToDisk(); // If this isn't called, the route won't be saved

Events

Name Description Cancellable?
RouteCreateEvent Triggered when a route is created, either by a player or through the API. No
RouteRemoveEvent Triggered when a route is removed, either by a player or through the API. No
RoutePlaybackBeginEvent Triggered when a player starts watching a tour. No
RotuePlaybackEndEvent Triggered when a player stops watching a tour, for example by reaching the end. If cancelled, the tour will restart from the beginning. Yes
RoutePlaybackPointEvent Triggered when a player reaches a oint in a tour. No
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment