HoloAPI
An advanced and powerful holographic display plugin
Features
With the discovery of new hologram technology (as seen in the video below), HoloAPI is designed to bring you a seamless experience in holographic display creation through the powerful command base and API.
Providing advanced Hologram Technology for your Bukkit server, HoloAPI has the following features (and more!):
Easily manage your own holographic displays | |
Create Holographic displays with images, animations (GIFs) and multi-line text | |
Allows developers to create and manage their own holographic displays through the extensive API | |
Holographic chat bubbles (captions) that show chat messages above the speaker'a head | |
Animated text support | |
Automatic UTF-8 character formatting and replacing | |
Super smooth Animated Holograms and hologram teleportation! | |
Automatic tag replacement e.g. "Hello there %name%!" (Where name is replaced with the observer's name) | |
Holographic chat bubbles with in-built support for VanishNoPacket | |
TouchScreen Holograms with an extensive and easy to use API | |
Floating Item displays with easy to use tags - %item:id% | |
BungeeCord support for TouchScreen holograms and online count placeholders | |
Supports Bukkit from 1.6.4 through to 1.7.9 and MCPC+ 1.6.4 |
Stay up to date and make sure you have the latest version of HoloAPI!
This extensive API is designed to provide you with the easiest, most feature packed resources for creating and managing your own holograms.
HoloAPI also uses intelligent image-translation technology (thanks to @bobacadodl) to transform ordinary images into futuristic holograms that can enhance your server in ways that you have never imagined.
or
Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
Commands and Permissions
Command | Permission | Description |
---|---|---|
/holoupdate | holoapi.update | Update HoloAPI if a new version has been found. |
/holo | holoapi.holo | Base HoloAPI command. All in-game methods for creating holographic displays can be found under this command. Entering this command by itself will provide version information for HoloAPI. |
/holo create | holoapi.holo.create | Create a holographic display. Lines can be entered one after each other. |
/holo create image <image_id> | holoapi.holo.create | Create a holographic display from an image. See the Configuration page on the Wiki for more information on how to set this up. |
/holo create animation | holoapi.holo.create | Create an animated holographic display from lines of text. |
/holo create animation <animation_id> | holoapi.holo.create | Create an animated hologram. See the Configuration Wiki page for info on how to set up GIFs. |
/holo remove <id> | holoapi.holo.remove | Remove a hologram by its assigned ID. |
/holo info | holoapi.holo.info | View all active holographic displays and their respective IDs. |
/holo move <id> | holoapi.holo.move | Move a hologram to your current position. |
/holo teleport <id> | holoapi.holo.teleport | Teleport to a specific hologram. |
/holo build | holoapi.holo.build | Dynamically build a combined hologram of both text and images. |
/holo edit <id> <line> | holoapi.holo.edit | Edit a line of an existing hologram. |
/holo edit <id> <line> <content> | holoapi.holo.edit | Edit a line of an existing hologram. The content can be more than one line. |
/holo nearby <radius> | holoapi.holo.nearby | View information on all nearby holograms within the specified radius |
/holo copy <id> | holoapi.holo.copy | Copy an existing hologram to your current position. |
/holo refresh <id> | holoapi.holo.refresh | Refresh a Hologram of the specified ID. |
/holo reload | holoapi.holo.reload | Reload all configuration files and holograms |
TouchScreen Hologram Commands
Command | Permission | Description |
---|---|---|
/holo touch add <id> <command> | holoapi.holo.touch.add | Add an action for a certain hologram to perform when touched. Actions defined without the use of the API (through this command) may only be commands. The `%name%` placeholder can be used to define the user that touched the hologram. Commands can be more than one word. |
/holo touch add <id> <command> <as_console> | holoapi.holo.touch.add | Same functionality as `/holo touch add <command>`. `<as_console>` defines whether the action is performed by the console or the player that touched the hologram |
/holo touch remove <id> <touch_id> | holoapi.holo.touch.remove | Remove an action for a TouchScreen hologram, where `<touch_id>` is the ID of the TouchAction. To remove a command-based Touch Action, simply enter the command" |
/holo touch clear <id> | holoapi.holo.touch.clear | Clear all Touch Actions for a particular TouchScreen hologram |
/holo touch info <id> | holoapi.holo.touch.info | View information on all Touch Actions for a particular TouchScreen hologram |
Configuration
Metrics
Metrics is used to collect plugin statistics. Only data such as plugin version and players online is collected. If you do not wish for this data to be collected, disable it in the 'Plugin Metrics' folder of your 'plugins' directory.
Update Checking
HoloAPI comes with an auto-updater to save you, as a server owner, from continually checking this page for new files. It simply connects to dev.bukkit.org and compares the versions of available files. If you do not wish for HoloAPI to perform this check, navigate to the Configuration File (config.yml) in the HoloAPI directory of your plugins folder and change "checkForUpdates" and "autoUpdate" to "false". The first value disables the version comparison altogether and the second updates the plugin automatically if new files are detected.
Plugins Using HoloAPI
Some of the plugins that utilise the powerful features in HoloAPI:
...And many more!
Credit to Asdjke for coming up with the idea
@SteviemonPlays
Try using the latest dev-build from DSH105's Jenkins.
The latest version of HoloAPI generates this error EVERY TIME I load up my Lobby server. It works fine on CraftBukkit, but it does this when I run it on my Spigot server (part of my BungeeCord network server) Any help?
[16:48:27] [Server thread/WARN]: [HoloAPI] No such field: t! [16:48:27] [Server thread/WARN]: [HoloAPI] Task #716 for HoloAPI v1.2.3 generated an exception java.lang.NullPointerException at com.dsh105.holoapi.util.ReflectionUtil.setField(ReflectionUtil.java:114) [?:?] at com.dsh105.holoapi.util.wrapper.protocol.Packet.write(Packet.java:84) [?:?] at com.dsh105.holoapi.util.wrapper.WrapperPacketSpawnEntityLiving.setMetadata(WrapperPacketSpawnEntityLiving.java:130) [?:?] at com.dsh105.holoapi.api.Hologram.generate(Hologram.java:755) [?:?] at com.dsh105.holoapi.api.Hologram.show(Hologram.java:618) [?:?] at com.dsh105.holoapi.api.Hologram.show(Hologram.java:587) [?:?] at com.dsh105.holoapi.listeners.HoloListener$1.run(HoloListener.java:84) [?:?] at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:71) [spigot.jar:git-Spigot-1596] at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:346) [spigot.jar:git-Spigot-1596] at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:641) [spigot.jar:git-Spigot-1596] at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [spigot.jar:git-Spigot-1596] at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [spigot.jar:git-Spigot-1596] at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [spigot.jar:git-Spigot-1596] at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Spigot-1596] [16:48:27] [Server thread/WARN]: [HoloAPI] No such field: t! [16:48:27] [Server thread/WARN]: [HoloAPI] Task #718 for HoloAPI v1.2.3 generated an exception java.lang.NullPointerException at com.dsh105.holoapi.util.ReflectionUtil.setField(ReflectionUtil.java:114) [?:?] at com.dsh105.holoapi.util.wrapper.protocol.Packet.write(Packet.java:84) [?:?] at com.dsh105.holoapi.util.wrapper.WrapperPacketSpawnEntityLiving.setMetadata(WrapperPacketSpawnEntityLiving.java:130) [?:?] at com.dsh105.holoapi.api.Hologram.generate(Hologram.java:755) [?:?] at com.dsh105.holoapi.api.Hologram.show(Hologram.java:618) [?:?] at com.dsh105.holoapi.api.Hologram.show(Hologram.java:587) [?:?] at com.dsh105.holoapi.listeners.HoloListener$1.run(HoloListener.java:84) [?:?] at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:71) [spigot.jar:git-Spigot-1596] at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:346) [spigot.jar:git-Spigot-1596] at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:641) [spigot.jar:git-Spigot-1596] at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [spigot.jar:git-Spigot-1596] at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [spigot.jar:git-Spigot-1596] at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [spigot.jar:git-Spigot-1596] at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Spigot-1596] [16:48:27] [Server thread/WARN]: [HoloAPI] No such field: t! [16:48:27] [Server thread/WARN]: [HoloAPI] Task #717 for HoloAPI v1.2.3 generated an exception java.lang.NullPointerException at com.dsh105.holoapi.util.ReflectionUtil.setField(ReflectionUtil.java:114) [?:?] at com.dsh105.holoapi.util.wrapper.protocol.Packet.write(Packet.java:84) [?:?] at com.dsh105.holoapi.util.wrapper.WrapperPacketSpawnEntityLiving.setMetadata(WrapperPacketSpawnEntityLiving.java:130) [?:?] at com.dsh105.holoapi.api.Hologram.generate(Hologram.java:755) [?:?] at com.dsh105.holoapi.api.Hologram.show(Hologram.java:618) [?:?] at com.dsh105.holoapi.api.Hologram.show(Hologram.java:587) [?:?] at com.dsh105.holoapi.listeners.HoloListener$1.run(HoloListener.java:84) [?:?] at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:71) [spigot.jar:git-Spigot-1596] at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:346) [spigot.jar:git-Spigot-1596] at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:641) [spigot.jar:git-Spigot-1596] at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [spigot.jar:git-Spigot-1596] at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [spigot.jar:git-Spigot-1596] at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [spigot.jar:git-Spigot-1596] at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Spigot-1596]
@desht You can also use .updateDisplay() to avoid the flicker.
@CaptainBern
Hmm, OK. The problem being the old call in v1.2.4 caused an immediate (flicker-free) update of the hologram, and manager.setLineContent() doesn't update the hologram at all. Only way I could make it update is with .refreshDisplay(), and that causes an annoying flicker.
Hi, I really need some quick help! I love using this plugin for my server it's amazing, however I wanted to create some image and animation holograms. The problem is everytime I edit the config.yml it and then start the server up it resets! I know I am not entering it wrong as for example the chat bubble show players command, I changed it from false to true and yet it still resets. It seems whatever I alter in it, it just always resets. I make sure to stop the server everytime I alter the file but it just doesn't work, Any advice? I'm running it on 1.7.2 which is my server type also :/
@desht
manager.setLineContent(...); It basically just calls the deprecated one, just adds some checks.
@SterlingX
The latest version (dev-build 2.0.0) should be compatible.
@LogicalKnight
Added.
Hello,
A while back, I made a thread in the WIP section of the bukkit forums about the Overscroll plugin, a continuation of Scroll that uses HoloAPI.
I finally got around to making an official BukkitDev repo for it, and the plugin itself works perfectly. You can find it here.
I was wondering if you could showcase it. :) If not, that's fine as well.
- skyrimfan1
@CaptainBern
That's great! Is there, by chance, a development version that works with Spigot 1.7.10? Thanks!
Quick API question for v2.0 - what's the recommended way now to modify the text an existing hologram? In v1.x I used
hologram.updateLines(String[])
, but that's deprecated now, so I've triedHoloManager.setLineContent(Hologram, String[])
, but that doesn't actually cause the hologram to redraw.I also added a call to
hologram.refreshDisplay()
, which does update the hologram to reflect the new text contents, but it also causes the hologram to flicker annoyingly (and a wither skull is very briefly visible). The v1.xupdateLines()
method repainted the hologram nicely without any flicker - is there a better way to do it in v2.0 than what I've been trying?Thanks!
@SterlingX
We just fixed some errors. A release will be ready soon :)
We need a version for Spigot 1.7.10. Take your time, of course.
@DSH105 Sure if the project is still active, ill help you to finish version v2.
Guys Ill update this to 1.7.9 & 1.7.10 for personal purposes. My 1.7.9 server is lagging extremely with the current version. The source is OpenSource so ill probably will release a updated version in a week.The updated version will be available for me tomorrow so who wants to get it earlier, just contact me!
Will this be updated to 1.7.10 ? I need it for a plugin...
I turn on the damage , gain health and exp holo after I found it would spawn so much unknown data in data.yml! I guess these are some bug. Just 2 day on my server!! The file has become 20MB!!
Some example following:
'-32767': worldName: world x: -24.522185862264624 y: 66.0 z: 368.57697706695325 lines: '0': type: text value: '&a&l+0.0 ?' '-32762': worldName: world x: -27.70209127164037 y: 66.0 z: 365.3374867531757 lines: '0': type: text value: '&a&l+0.0 ?' '-32757': worldName: world x: 184.5 y: 72.0 z: 398.5 lines: '0': type: text value: '&a&l+0.0 ?' '-32752': worldName: world x: -3.569973821232667 y: 68.0 z: 388.1889287607077 lines: '0': type: text value: '&a&l+0.0 ?'
Whenever i try to start my server with this plugin it freezes and doesnt load anymore plugins.
03.08 04:47:51 [Server] INFO [04:47:51 INFO]: [HoloAPI] [Vault] Successfully hooked 03.08 04:47:50 [Server] INFO [04:47:50 INFO]: [HoloAPI] Enabling HoloAPI v1.2.3
After it hooks it freezes. Im using cauldron-1.7.10-1.1187.01.127-server and the latest HoloApi
Update to 1.7.10 please?
Hello dev's, how can i get this plugin to work with spigot?
Hey there, i used this plugin for an spawn deep in the ground but all the text holograms are really dark like there is missing light. How to fix this?
When i trow an potion of night vision on myslef all colors are bright and ok, how get this without the potion? And yes the spawn is lighted well with glowstone etc.