Add jitpack as a repository and the API as a dependency.
Gradle example:
repositories {
maven { url "https://jitpack.io" }
}
dependencies {
compile "com.github.randombyte-developer.holograms:holograms-api:v2.1.1"
}That dependency only contains this one file.
Although everything is documented in theHologramService.kt
it may not be clear how to use that Service written in Kotlin from a plugin written in Java.
Basically, the fields prefixed with var like text and location have a getter and a setter method automatically generated to be used from the Java side.
Here is an example:
Optional<HologramsService> hologramsServiceOptional = Sponge.getServiceManager().provide(HologramsService.class); HologramsService hologramsService = hologramsServiceOptional.orElseThrow( () -> new RuntimeException("HologramsAPI not available! Is the plugin 'holograms' installed?")); // Creating a Hologram Optional<HologramsService.Hologram> hologramOptional = hologramsService .createHologram(player.getLocation(), Text.of(TextColors.GREEN, "Example text")); if (!hologramOptional.isPresent()) { player.sendMessage(Text.of("Hologram couldn't be spawned!")); return CommandResult.success(); } // Modifying the Hologram Hologram hologram = hologramOptional.get(); hologram.setText(Text.of("New text")); Location<World> newLocation = hologram.getLocation().add(0.0, 5.0, 0.0); hologram.setLocation(newLocation); // Finding the Hologram by UUID // Both UUIDs are saved somewhere (e.g. in a config file) UUID hologramUuid = hologram.getUuid(); UUID worldUuid = hologram.getWorldUuid(); Optional<World> worldOptional = Sponge.getServer().getWorld(worldUuid); if (!worldOptional.isPresent()) { player.sendMessage(Text.of("Couldn't find world!")); return CommandResult.success(); } World world = worldOptional.get(); Optional<? extends Hologram> loadedHologramOptional = hologramsService.getHologram(world, hologramUuid); if (!loadedHologramOptional.isPresent()) { player.sendMessage(Text.of("Couldn't find Hologram!")); return CommandResult.success(); } Hologram loadedHologram = loadedHologramOptional.get(); loadedHologram.setText(Text.of("This Hologram was found!")); // Removing the Hologram loadedHologram.remove();
If you have questions, please ask me!