Coder Social home page Coder Social logo

decentsoftware-eu / decentholograms Goto Github PK

View Code? Open in Web Editor NEW
188.0 7.0 85.0 942 KB

A lightweight but powerful hologram plugin with many features and configuration options.

Home Page: https://www.spigotmc.org/resources/96927/

License: GNU General Public License v3.0

Java 100.00%
minecraft spigot bukkit hologram

decentholograms's Introduction

Decent Holograms

SpigotMC Downloads SpigotMC Version Tested Versions GPLv3 License

A lightweight yet very powerful hologram plugin with many features and configuration options.

Links:

Support

We are mostly active on Discord so the best way to get support is joining our Discord Server. Also, it is okay to report bugs here on GitHub or in the 'Discussion' page on the Spigot Page of Decent Holograms.

Minecraft Limitations

  • Text is always facing the player.
  • Text size or font cannot be changed.
  • Some entities make sounds. It only applies to a few entities like the Warden which makes this heartbeat sound.
  • Icons (#ICON:) are always going to rotate and bob up and down.

Contributing PR's Welcome

Pull requests are welcome. But for major changes, please create an issue to discuss the changes first.

Building

Building DecentHolograms is very simple. All you need is JDK 8+, Gradle, Git and an IDE or Command Line.

  1. Clone the project to your machine using Git.
  2. Open the project using your IDE or open a command line at the projects' location.
  3. Run gradle clean shadowJar and DecentHolograms will build.
  4. You can find the jar at ./build/libs/DecentHolograms-VERSION.jar

API

How to get DecentHolograms API into your project:

Replace VERSION with the current version of DecentHolograms. (Latest release)

Maven
<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>com.github.decentsoftware-eu</groupId>
        <artifactId>decentholograms</artifactId>
        <version>VERSION</version>
        <scope>provided</scope>
    </dependency>
</dependencies>
Gradle
repositories {
    maven { url 'https://jitpack.io' }
}

dependencies {
    compileOnly 'com.github.decentsoftware-eu:decentholograms:VERSION'
}

bStats

decentholograms's People

Contributors

andre601 avatar d0by1 avatar dajokni avatar epicknarvik97 avatar golfing7 avatar hsgamer avatar inanmu avatar itismaku avatar jesuschrist69 avatar leomelonseeds avatar m0diis avatar maxcom1 avatar murreey avatar pierreschwang avatar resi23 avatar ruviolence avatar tatteaid avatar xxy233 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

decentholograms's Issues

Being able to rename Holograms with /dh rename <old name> <new name>

Just making sure

  • I have read the wiki and made sure, this feature is not yet in the plugin.
  • I believe, that this feature is possible to implement.
  • I made sure, that this feature has not been requested yet.

Problem

I am unable to achieve '...'
I think it would be useful for 'not having to mess around with files or having to do extra steps'

Feature

Being able to rename a hologram simply by using /dh rename

The hologram should also be renamed in files then

Alternatives

Placeholders not working inside animations

On Spigot 1.18.2 with DecentHolograms 2.3.1 if you set placeholder inside custom animation it doesnt change.

Also if you set line ex "%parkour_leaderboard_kosmos_<#ANIM:pa></#ANIM>%". where "pa" just rotates between numbers placeholder gets invalid.

Wrong permissions on hologram file causes server crash

First of all, thanks for that awesome plugin ! Sadly, I had an crash while testing it (and in a early step !), so here it is 😅

Information

Minecraft version 1.18.2
Server type Purpur, version git-Purpur-1616 (latest)

Steps to reproduce

Logs

[23:48:37] [Server thread/WARN]: java.io.FileNotFoundException: plugins/DecentHolograms/holograms/example_entity.yml (Permission denied)
[23:48:37] [Server thread/WARN]:        at java.base/java.io.FileOutputStream.open0(Native Method)
[23:48:37] [Server thread/WARN]:        at java.base/java.io.FileOutputStream.open(Unknown Source)
[23:48:37] [Server thread/WARN]:        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
[23:48:37] [Server thread/WARN]:        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
[23:48:37] [Server thread/WARN]:        at org.bukkit.configuration.file.FileConfiguration.save(FileConfiguration.java:67)
[23:48:37] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.save(Configuration.java:104)
[23:48:37] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:93)
[23:48:37] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.holograms.Hologram.save(Hologram.java:301)
[23:48:37] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.plugin.commands.HologramSubCommand$HologramMovehereSub.lambda$getCommandHandler$0(HologramSubCommand.java:866)
[23:48:37] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.commands.DecentCommand.handle(DecentCommand.java:122)
[23:48:37] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.commands.DecentCommand.handle(DecentCommand.java:114)
[23:48:37] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.commands.DecentCommand.execute(DecentCommand.java:57)
[23:48:37] [Server thread/WARN]:        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:172)
[23:48:37] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_18_R2.CraftServer.dispatchCommand(CraftServer.java:906)
[23:48:37] [Server thread/WARN]:        at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:2389)
[23:48:37] [Server thread/WARN]:        at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:2200)
[23:48:37] [Server thread/WARN]:        at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:2181)
[23:48:37] [Server thread/WARN]:        at net.minecraft.network.protocol.game.PacketPlayInChat.a(PacketPlayInChat.java:46)
[23:48:37] [Server thread/WARN]:        at net.minecraft.network.protocol.game.PacketPlayInChat.a(PacketPlayInChat.java:6)
[23:48:37] [Server thread/WARN]:        at net.minecraft.network.protocol.PlayerConnectionUtils.lambda$ensureRunningOnSameThread$1(PlayerConnectionUtils.java:51)
[23:48:37] [Server thread/WARN]:        at net.minecraft.server.TickTask.run(TickTask.java:18)
[23:48:37] [Server thread/WARN]:        at net.minecraft.util.thread.IAsyncTaskHandler.d(IAsyncTaskHandler.java:153)
[23:48:37] [Server thread/WARN]:        at net.minecraft.util.thread.IAsyncTaskHandlerReentrant.d(IAsyncTaskHandlerReentrant.java:24)
[23:48:37] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1426)
[23:48:37] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:188)
[23:48:37] [Server thread/WARN]:        at net.minecraft.util.thread.IAsyncTaskHandler.y(IAsyncTaskHandler.java:126)
[23:48:37] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.be(MinecraftServer.java:1403)
[23:48:37] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.y(MinecraftServer.java:1396)
[23:48:37] [Server thread/WARN]:        at net.minecraft.util.thread.IAsyncTaskHandler.bo(IAsyncTaskHandler.java:114)
[23:48:37] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1530)
[23:48:37] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1246)
[23:48:37] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:320)
[23:48:37] [Server thread/WARN]:        at java.base/java.lang.Thread.run(Unknown Source)
[23:48:37] [Server thread/INFO]: [DecentHolograms] Attempting to fix error...
[23:48:37] [Server thread/WARN]: java.io.FileNotFoundException: plugins/DecentHolograms/holograms/example_entity.yml (Permission denied)
[23:48:37] [Server thread/WARN]:        at java.base/java.io.FileOutputStream.open0(Native Method)
[23:48:37] [Server thread/WARN]:        at java.base/java.io.FileOutputStream.open(Unknown Source)
[23:48:37] [Server thread/WARN]:        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
[23:48:37] [Server thread/WARN]:        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
[23:48:37] [Server thread/WARN]:        at org.bukkit.configuration.file.FileConfiguration.save(FileConfiguration.java:67)
[23:48:37] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.save(Configuration.java:104)
[23:48:37] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:93)


[...]

[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)
[23:49:40] [Server thread/WARN]:        at DecentHolograms-2.3.1.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)

Behaviour & Fix

I understand that the permissions on my file were wrong (root permissions instead of my user), but the hologram still got loaded and displayed, and then when I tried to move it, it caused the crash... There should be something to avoid this, and even maybe displaying an error message (and not the hologram, as if it worked)

I hope I gave you enough information, and if needed I'll be glad to help fixing this 🤙

PAPI Spam

Hello!
I realised that DecentHolograms asks for Placeholders alltime, which can cause lag. Is it possible to put a short delay between the requests for Placeholders from PAPI, so the Server could chill a bit?

Thanks
Verklickt

Suggestion: Hiding armorstand in GM3 or making the entity configurable

I know there's no actual entity and that a packet is sent, however, currently, all holograms are based on an armorstand.

In GM3 this armorstand is visible, and it visually breaks some concepts I had in mind.

Making another entity configurable for this would be useful (I could personally just set it to ambient particle or something really small and imperceptible). I doubt making the armorstand invisible in GM3 is an option though?

Holograms do not update properly when logging in

If you have a hologram that has an update interval of like 10 seconds, when you log in to a location, it will not force update the holograms in your location so they will just be null holos (wont return anything)

Hologram Initial Visiblity

I'm moving from using holodisplays API to DH for my hologram stuff - something HD does better is that you can use the visibility manager stuff to change who can see it, before it's spawned in, so it doesn't appear then get hidden. With DH, if the user lags or there's a TPS spike for any reason, they'll see the hologram right as its created, before .hide() is reached.

Long story short, this is a request to allow created holograms to default to invisible, so they are never rendered, even for a moment, for players who haven't been shown the hologram with .show()

Skull unusable in certain hologram type

Just making sure

  • I made sure, this bug is not already known or reported.
  • I believe, that this bug is fixable.

Reproduction

In my plugin, I am using the API. When making a shop in my plugin, I place a hologram at the shop's location. If the item used to make the shop is a skull (Material.PLAYER_HEAD), then an error is thrown. If I try to make another shop there (the same action that caused the first error), it says that the hologram of that name already exists, meaning that the hologram is somewhat created but I cannot see it in the world.

This is the code in my plugin that causes the error. The "item" variable is just the ItemStack the player was holding in their hand.
Hologram hologram = DHAPI.createHologram(Objects.requireNonNull(containerLocation.getWorld()).getName() + "-" + containerLocation.getX() + "-" + containerLocation.getY() + "-" + containerLocation.getZ(), location, false); DHAPI.addHologramLine(hologram, item);

Solution

Something isn't working quite right with reflection

Server Version

Paper 1.18.2

Client Version

1.18.2

Plugin Version

2.7.4

Log

https://pastebin.com/651y0cJd

Can not work with the last ProtocolLib-#597

Just making sure

  • I made sure, this bug is not already known or reported.
  • I believe, that this bug is fixable.

Reproduction

  1. Install DecentHolograms...
  2. add ProtocolLib 5.0.0-SNAPSHOT-b597
  3. Right click hologram
  4. Server thread terminated
  5. server shutdown...

Solution

①.Downgrade ProtocolLib 5.0.0-SNAPSHOT-b597 to ProtocolLib 5.0.0-SNAPSHOT-b586
②.DecentHolograms-2.5.3 works normally

Server Version

1.19.2

Client Version

1.19.1

Plugin Version

DecentHolograms-2.5.3

Log

https://paste.helpch.at/wisepewati.md

Unable to move holograms to ~0.x height Y

Just making sure

  • I have read the wiki and made sure, this feature is not yet in the plugin.
  • I believe, that this feature is possible to implement.
  • I made sure, that this feature has not been requested yet.

Problem

I wanted to use holograms as an NPC nametag to show servers player
but DecentHolograms unable to move the holograms to Y=~0.5

Feature

beable to move holograms to 0.x

Alternatives

i saw Gholo and holographic could do this and why not DH too

Suggestion about performing a blocking I/O operation on the main thread

Just making sure

  • I have read the wiki and made sure, this feature is not yet in the plugin.
  • I believe, that this feature is possible to implement.
  • I made sure, that this feature has not been requested yet.

Problem

I found this suggestion from another spigot plugin called Lagmonitor : Make stop the plugin from doing a blocking I/O operation on the main thread because this could affect the server performance, the thread pauses until it gets the response. Such operations should be performed asynchronous from the main thread. Besides gameplay performance it could also improve startup time.

DecentHolograms Version: 2.5.3 / Server: Purpur-1762 (MC: 1.19.2) (Implementing API version 1.19.2-R0.1-SNAPSHOT) (Git: 39e30d6 on HEAD).

Feature

I would like to see this was performed asynchronous from the main thread.

Alternatives

[13:10:00] [Server thread/WARN]: [LagMonitor] Loaded class eu.decentsoftware.holograms.api.utils.file.FileUtils from DecentHolograms v2.5.3 which is not a depend or softdepend of this plugin. [13:10:00] [Server thread/WARN]: [LagMonitor] Plugin DecentHolograms is performing a blocking I/O operation (Permission: plugins\DecentHolograms\holograms) on the main thread. This could affect the server performance, because the thread pauses until it gets the response. Such operations should be performed asynchronous from the main thread. Besides gameplay performance it could also improve startup time. Keep in mind to keep the code thread-safe. Report it to the plugin author [13:10:00] [Server thread/WARN]: [LagMonitor] The following exception is not an error. It's a hint for the plugin developers to find the source. LagMonitor doesn't prevent this action. It just warns you about it. java.lang.IllegalAccessException: null at com.github.games647.lagmonitor.threading.BlockingActionManager.logCurrentStack(BlockingActionManager.java:65) ~[LagMonitor.jar:?] at com.github.games647.lagmonitor.threading.BlockingActionManager.checkBlockingAction(BlockingActionManager.java:51) ~[LagMonitor.jar:?] at com.github.games647.lagmonitor.threading.BlockingSecurityManager.checkMainThreadOperation(BlockingSecurityManager.java:40) ~[LagMonitor.jar:?] at com.github.games647.lagmonitor.threading.BlockingSecurityManager.checkPermission(BlockingSecurityManager.java:35) ~[LagMonitor.jar:?] at java.lang.SecurityManager.checkRead(SecurityManager.java:756) ~[?:?] at java.io.File.exists(File.java:829) ~[?:?] at eu.decentsoftware.holograms.api.utils.file.FileUtils.getFileNames(FileUtils.java:24) ~[DecentHolograms-2.5.3.jar:?] at eu.decentsoftware.holograms.api.holograms.HologramManager.loadHolograms(HologramManager.java:248) ~[DecentHolograms-2.5.3.jar:?] at eu.decentsoftware.holograms.api.holograms.HologramManager.reload(HologramManager.java:135) ~[DecentHolograms-2.5.3.jar:?] at org.bukkit.craftbukkit.v1_19_R1.scheduler.CraftTask.run(CraftTask.java:101) ~[purpur-1.19.2.jar:git-Purpur-1762] at org.bukkit.craftbukkit.v1_19_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:483) ~[purpur-1.19.2.jar:git-Purpur-1762] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1155) ~[purpur-1.19.2.jar:git-Purpur-1762] at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:310) ~[purpur-1.19.2.jar:git-Purpur-1762] at java.lang.Thread.run(Thread.java:833) ~[?:?]

Thanks =D.

Random text when using `[` in line

Just making sure

  • I made sure, this bug is not already known or reported.
  • I believe, that this bug is fixable.

Reproduction

  1. Create a hologram
  2. Add [text] as a line
  3. see random stuff added replacing [
    image

Solution

No response

Server Version

1.18.2 Paper 387

Client Version

1.18.2

Plugin Version

2.7.1

Log

Conversion from HolographicDisplays

Just making sure

  • I made sure, this bug is not already known or reported.
  • I believe, that this bug is fixable.

Reproduction

  1. Make a Hologram in HolographicDisplay with ICON: WHEAT
  2. Use ./dh import HolographicDisplays
  3. The hologram imported to DH isnt correctly displayed

Solution

- lines:
  - content: ICON:SNOW_BALL
    height: 0.3

the content should be '#ICON: SNOW_BALL'

Server Version

1.17.1

Client Version

1.18.2

Plugin Version

DecentHolograms-2.7.2

Log

https://paste.helpch.at/jupiyarore.md

Various Suggestions

This issue is for me to make various suggestions which could help improving the plugin and adding QoL changes to it that benefit the end-users.

1. Relative coordinates support for move

When moving the Hologram would it be cool to have a way of using relative coordinates to move the hologram relative to its current position.
This is especially useful, if you added new lines and need to move the hologram up a bit.

Example:

/dh holo move example ~ ~2 ~

This would move the hologram 2 block up from its current position.

2. JSON text for quick actions (add line, set line, etc.)

This is imo one of the best features in HolographicDisplays and I would love if DecentHolograms could also include it.
The idea would be that DH would display a line of text with quick actions such as adding a new line to the hologram you just interacted with.

For example would running /dh holo create example print the line [Add line] [Set line] [Insert Line] [Delete Hologram] where each text has one of the corresponding commands attached.
So would clicking [Add Line] insert the command /dh l add example into the player's chatbar for them to finally add the text to it.

This could speed up the process of editing holograms.

And while we're at commands...

3. Better command syntax

I personally don't get the appeal of having creating and deleting holograms and editing lines in separate sub-commands...

In general is the whole command syntax a bit confusing, but this is mostly because I'm used to HolographicDisplay's command syntax at this point.

I still think tho that a switch from like /dh holo create example to just /dh create example would be good since I don't see any particular reason why it should have this specific holo distinction.

Personally can I understand if this won't be changed as it could cause confusion amongst people that are already used to the current syntax, but I hope you consider to improve it in some way.

Convert from CMI

Just making sure

  • I made sure, this bug is not already known or reported.
  • I believe, that this bug is fixable.

Reproduction

  1. Install DecentHolograms...
  2. Convert from CMI
  3. Gradient colors are not converted correctly, it's only a static color and there are some characters ({, }) at the start and in the end of the hologram line.

Solution

No response

Server Version

CraftBukkit 1.19.2

Client Version

1.18.2

Plugin Version

2.7.2

Log

Not required

Plugin is unfunctional when loaded on Minecraft 1.18.2.

Description

When attempting to use the plugin on Minecraft 1.18.2, 2 errors are thrown to console that prevent you from doing so.

Error Logs

[07:36:47 INFO]: [DecentHolograms] Enabling DecentHolograms v2.2.9
[07:36:47 ERROR]: Error occurred while enabling DecentHolograms v2.2.9 (Is it up to date?)
java.lang.ExceptionInInitializerError: null
        at eu.decentsoftware.holograms.api.DecentHolograms.enable(DecentHolograms.java:57) ~[DecentHolograms-2.2.9.jar:?]
        at eu.decentsoftware.holograms.api.DecentHologramsAPI.onEnable(DecentHologramsAPI.java:20) ~[DecentHolograms-2.2.9.jar:?]
        at eu.decentsoftware.holograms.plugin.DecentHologramsPlugin.onEnable(DecentHologramsPlugin.java:23) ~[DecentHolograms-2.2.9.jar:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:501) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_18_R2.CraftServer.enablePlugin(CraftServer.java:559) ~[purpur-1.18.2.jar:git-Purpur-1574]
        at org.bukkit.craftbukkit.v1_18_R2.CraftServer.enablePlugins(CraftServer.java:473) ~[purpur-1.18.2.jar:git-Purpur-1574]
        at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:671) ~[purpur-1.18.2.jar:git-Purpur-1574]
        at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:438) ~[purpur-1.18.2.jar:git-Purpur-1574]
        at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:352) ~[purpur-1.18.2.jar:git-Purpur-1574]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1172) ~[purpur-1.18.2.jar:git-Purpur-1574]
        at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:322) ~[purpur-1.18.2.jar:git-Purpur-1574]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.NullPointerException: Cannot invoke "eu.decentsoftware.holograms.api.utils.reflect.Version.getMinor()" because "eu.decentsoftware.holograms.api.utils.reflect.Version.CURRENT" is null
        at eu.decentsoftware.holograms.api.utils.reflect.Version.afterOrEqual(Version.java:62) ~[DecentHolograms-2.2.9.jar:?]
        at eu.decentsoftware.holograms.api.nms.NMS.<clinit>(NMS.java:40) ~[DecentHolograms-2.2.9.jar:?]
        ... 14 more
[07:36:47 INFO]: [DecentHolograms] Disabling DecentHolograms v2.2.9
[07:36:47 ERROR]: Error occurred while disabling DecentHolograms v2.2.9 (Is it up to date?)
java.lang.NullPointerException: Cannot invoke "eu.decentsoftware.holograms.api.nms.PacketListener.destroy()" because "this.packetListener" is null
        at eu.decentsoftware.holograms.api.DecentHolograms.disable(DecentHolograms.java:92) ~[DecentHolograms-2.2.9.jar:?]
        at eu.decentsoftware.holograms.api.DecentHologramsAPI.onDisable(DecentHologramsAPI.java:28) ~[DecentHolograms-2.2.9.jar:?]
        at eu.decentsoftware.holograms.plugin.DecentHologramsPlugin.onDisable(DecentHologramsPlugin.java:37) ~[DecentHolograms-2.2.9.jar:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:266) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:401) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:538) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:376) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:501) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_18_R2.CraftServer.enablePlugin(CraftServer.java:559) ~[purpur-1.18.2.jar:git-Purpur-1574]
        at org.bukkit.craftbukkit.v1_18_R2.CraftServer.enablePlugins(CraftServer.java:473) ~[purpur-1.18.2.jar:git-Purpur-1574]
        at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:671) ~[purpur-1.18.2.jar:git-Purpur-1574]
        at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:438) ~[purpur-1.18.2.jar:git-Purpur-1574]
        at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:352) ~[purpur-1.18.2.jar:git-Purpur-1574]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1172) ~[purpur-1.18.2.jar:git-Purpur-1574]
        at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:322) ~[purpur-1.18.2.jar:git-Purpur-1574]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]

Information

Server Software: Purpur 1.18.2 (Build 1574)
Java Version: Java 17.0.2

CustomModelData does not show in hologram items

Just making sure

  • I have read the wiki and made sure, this feature is not yet in the plugin.
  • I believe, that this feature is possible to implement.
  • I made sure, that this feature has not been requested yet.

Feature

Currently, CustomModelData does not show up on itemstacks in hologram lines (1.14+). This could be trivially implemented as easily as item durability in holograms.

Incomprehensible error.

Just making sure

  • I made sure, this bug is not already known or reported.
  • I believe, that this bug is fixable.

Reproduction

Sorry but i have no idea ... It's fully random ...

Solution

No response

Server Version

Current: git-Purpur-1749 (MC: 1.19.1)

Client Version

1.19.2 Lunar Client

Plugin Version

2.6.0

Log

https://pastebin.com/FxFmFPnS

DHAPI#setHologramLines should not reset visibility

Here's the sample of the kotlin code running in a loop

DHAPI.setHologramLines(hologram, listOf("this is a string"))
DHAPI.hide(player)

This will cause the hologram to appear momentarily to the player when the contents of the list changes.

DecentHolograms sometimes disappearing when switching servers quickly

Hello there, I'm using latest version of DH and a issue I encountered twice in a span of a week is that holograms sometimes disappear if switching servers quickly (joining the specific server that has DH holograms installed). I have no guaranteed way of replicating the issue but is there a possibility to somehow make a forced check for that? The server is running on BungeeCord, using latest version of DH. (The DH is used in server, not in bungee - of course).

The holograms fix after doing /dh reload.

About ENTITY

Just making sure

  • I have read the wiki and made sure, this feature is not yet in the plugin.
  • I believe, that this feature is possible to implement.
  • I made sure, that this feature has not been requested yet.

Problem

Don't want to use npc plugin

Feature

  1. Entities support showing players and can be skinned
  2. Entity supports armor stand display (supports custom actions, custom equipment, leather equipment colors, hand-held items, custom avatars)

Alternatives

none

Divides by zero when creating a gradient.

It spams the console until player left the area.

[23:51:23 WARN]: java.lang.ArithmeticException: / by zero
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.utils.color.IridiumColorAPI.createGradient(IridiumColorAPI.java:206)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.utils.color.IridiumColorAPI.color(IridiumColorAPI.java:115)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.utils.color.patterns.GradientPattern.process(GradientPattern.java:28)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.utils.color.IridiumColorAPI.process(IridiumColorAPI.java:66)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.utils.Common.colorize(Common.java:34)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.holograms.HologramLine.getText(HologramLine.java:289)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.holograms.HologramLine.updateAnimations(HologramLine.java:400)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.holograms.Hologram.lambda$updateAnimations$6(Hologram.java:392)
[23:51:23 WARN]: at com.google.common.collect.ImmutableList.forEach(ImmutableList.java:422)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.holograms.Hologram.updateAnimations(Hologram.java:392)
[23:51:23 WARN]: at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.holograms.Hologram.updateAnimationsAll(Hologram.java:398)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.holograms.Hologram.tick(Hologram.java:216)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.utils.tick.Ticker.lambda$tick$1(Ticker.java:79)
[23:51:23 WARN]: at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)
[23:51:23 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[23:51:23 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[23:51:23 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)
[23:51:23 WARN]: java.lang.ArithmeticException: / by zero
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.utils.color.IridiumColorAPI.createGradient(IridiumColorAPI.java:206)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.utils.color.IridiumColorAPI.color(IridiumColorAPI.java:115)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.utils.color.patterns.GradientPattern.process(GradientPattern.java:28)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.utils.color.IridiumColorAPI.process(IridiumColorAPI.java:66)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.utils.Common.colorize(Common.java:34)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.holograms.HologramLine.getText(HologramLine.java:289)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.holograms.HologramLine.updateAnimations(HologramLine.java:400)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.holograms.Hologram.lambda$updateAnimations$6(Hologram.java:392)
[23:51:23 WARN]: at com.google.common.collect.ImmutableList.forEach(ImmutableList.java:422)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.holograms.Hologram.updateAnimations(Hologram.java:392)
[23:51:23 WARN]: at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.holograms.Hologram.updateAnimationsAll(Hologram.java:398)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.holograms.Hologram.tick(Hologram.java:216)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.utils.tick.Ticker.lambda$tick$1(Ticker.java:79)
[23:51:23 WARN]: at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)
[23:51:23 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[23:51:23 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[23:51:23 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)
[23:51:23 WARN]: java.lang.ArithmeticException: / by zero
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.utils.color.IridiumColorAPI.createGradient(IridiumColorAPI.java:206)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.utils.color.IridiumColorAPI.color(IridiumColorAPI.java:115)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.utils.color.patterns.GradientPattern.process(GradientPattern.java:28)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.utils.color.IridiumColorAPI.process(IridiumColorAPI.java:66)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.utils.Common.colorize(Common.java:34)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.holograms.HologramLine.getText(HologramLine.java:289)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.holograms.HologramLine.updateAnimations(HologramLine.java:400)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.holograms.Hologram.lambda$updateAnimations$6(Hologram.java:392)
[23:51:23 WARN]: at com.google.common.collect.ImmutableList.forEach(ImmutableList.java:422)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.holograms.Hologram.updateAnimations(Hologram.java:392)
[23:51:23 WARN]: at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.holograms.Hologram.updateAnimationsAll(Hologram.java:398)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.holograms.Hologram.tick(Hologram.java:216)
[23:51:23 WARN]: at DecentHolograms-2.2.5.jar//eu.decentsoftware.holograms.api.utils.tick.Ticker.lambda$tick$1(Ticker.java:79)
[23:51:23 WARN]: at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)
[23:51:23 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[23:51:23 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[23:51:23 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)
[23:51:25 WARN]: java.lang.ArithmeticException
[23:51:25 WARN]: java.lang.ArithmeticException
[23:51:25 WARN]: java.lang.ArithmeticException
[23:51:28 WARN]: java.lang.ArithmeticException
[23:51:28 WARN]: java.lang.ArithmeticException
[23:51:28 WARN]: java.lang.ArithmeticException
[23:51:30 WARN]: java.lang.ArithmeticException
[23:51:30 WARN]: java.lang.ArithmeticException
[23:51:30 WARN]: java.lang.ArithmeticException
[23:51:33 WARN]: java.lang.ArithmeticException
[23:51:33 WARN]: java.lang.ArithmeticException
[23:51:33 WARN]: java.lang.ArithmeticException

[Suggestion] Text Anchor

Add option to change text anchor by default or per-hologram

example config.yml

defaults:
  # Available options: above / center / below
  # Default: above
  text-anchor: above

example command: /dh h anchor {hologram} {option}

Hologram with that name already exists after destroying it

Just making sure

  • I made sure, this bug is not already known or reported.
  • I believe, that this bug is fixable.

Reproduction

  1. Install DecentHolograms 2.4.2

I'm using the API to create a hologram:

Hologram hologram = DHAPI.createHologram(identifier, location, lines)

When server operators use a command to reload our configs, I destroy all holograms I created:

hologram.destroy();

I have even tried to also remove the hologram by name:

DHAPI.removeHologram(this.hologram.getName());

Next the createHologram logic above runs again since we're re-initializing everything with updated config data.

DH errors with: Hologram with that name already exists! (testcrate_x-2_y79_z-15)

Despite having not saved the file, destroyed the instance, and removed it from the API, it still exists in memory.

Solution

Fix code so I can destroy and then re-make the hologram.

Server Version

git-Paper-52 (MC: 1.19) (Implementing API version 1.19-R0.1-SNAPSHOT) (Git: 6ea73e7)

Client Version

1.19

Plugin Version

2.4.2

Log

https://paste.helpch.at/eyekiyehan.md

Mobs can be interacted

Just making sure

  • I made sure, this bug is not already known or reported.
  • I believe, that this bug is fixable.

Reproduction

  1. Install DecentHolograms...
  2. Make/Set/Add an intractable mob (cow) in one of your lines.
  3. Interact with the cow (empty bucket)

Notes:

  • Cutting the wool on sheeps doesn't work.
  • I only tried on sheeps and cows.
Bug.mp4

Solution

I think since the sheep's wool can't be cut, there's probably a missing flag for the cow.

Server Version

git-Paper-387 (MC: 1.18.2) (Implementing API version 1.18.2-R0.1-SNAPSHOT)

Client Version

Vanilla 1.18.2 (Optifine)

Plugin Version

2.6.0

Log

/

Cannot use DHAPI

I'm trying to create a new hologram, but keep getting this error
java.lang.NoClassDefFoundError: Could not initialize class eu.decentsoftware.holograms.api.holograms.Hologram.
This is my code:

Hologram campfireHologram = DHAPI.createHologram("campfire-hologram", ConfigUtils.campfireHologramLocation(world), List.of(String.format(ConfigUtils.remainingBurnTime(), this.formatSeconds(ConfigUtils.startBurnTime()))));

Very easy to get crash

I literally just put a colon ( : ) into the when creating a hologram and it crashed

Spammed this error into my logs, had to force shutdown to stop it and manually delete the hologram in the plugins folder.
[20:27:39] [Server thread/WARN]: at DecentHolograms-2.3.0.jar//eu.decentsoftware.holograms.api.utils.config.Configuration.saveData(Configuration.java:98)

I had done '/dh hologram create n:south South'

Add height component for Damage and Healing displays.

Just making sure

  • I have read the wiki and made sure, this feature is not yet in the plugin.
  • I believe, that this feature is possible to implement.
  • I made sure, that this feature has not been requested yet.

Problem

I cannot change the height of Damage/Healing displays through the plugin.
This makes these displays get in the way of player cameras and obscure combat.
It ends up being annoying for players.

Feature

I would like to have a Height component added to the Damage Display and Healing Displays section of the Config.
This would work by adding this value as an offset to the height of the display.
I believe the height of the display is currently dynamic to the center of the model so just added it to that seems like it would work.
This would let the placement be managed by the server operator so they can determine what works best for them.

Alternatives

There could be other ways of doing this but I feel this is a pretty small addition.

Update interval ignored, seems to always update every tick

Using this hologram to test:

location: world:-298.849:147.429:-157.192
enabled: true
display-range: 48
update-range: 48
update-interval: 20
facing: 0.0
down-origin: false
pages:
- lines:
  - content: '%rng_random%'
    height: 0.3
  actions: {}

update-interval: 20 seems to be ignored, and it seems to update every tick:
https://cdn.discordapp.com/attachments/854816829263314959/960590264072818718/filtered-D527317D-471E-4E3E-9638-23C48C1D49D0.mp4
(link to the message on discord so you dont have to download it from the link above)

I'm running DecentHolograms version 2.3.1

First page in actions

Hello,
Iam trying to make a hologram with multiple lines, but when I want to make an action that will switch back to the first line i do

" actions:
LEFT:
- FIRST_PAGE " ?
It does not work. Is there a way I can switch to the first line?

Ticked closed without confirmation/disconfirmation

Just making sure

  • I have read the wiki and made sure, this feature is not yet in the plugin.
  • I believe, that this feature is possible to implement.

Problem

#53

Feature

My request was closed, without further comments, not sure if it was completed (it doesn't seem like it) or just closed because there is no implementation intentions.

I do believe implementing this is technically posible.

One of the arguments against this idea was the imposibility of click detection with certain entities. Not every context requires click detection, so I believe this is not an issue.

Alternatives

No response

Adding support for custom mobs (MythicMobs & ModelEngine)

Just making sure

  • I have read the wiki and made sure, this feature is not yet in the plugin.
  • I believe, that this feature is possible to implement.
  • I made sure, that this feature has not been requested yet.

Problem

I am unable to achieve '...'
I think it would be useful for '...'

Feature

Hello, I suggest you add support for MythicMobs and ModelEngine. This will add uniqueness to your plugin.

Alternatives

It would also be possible by doing '...'

Update releases on github

Could you update the github releases ? On www.spigotmc.org, there is version 2.2.7 against 2.2.5 on github
It is more convenient to update plugins with scripts via github, spigotmc blocks curl and wget commands

Thank you for your work, your plugin is easier to use than HolographicDisplays ^^

DecentHolograms undo

Just making sure

  • I have read the wiki and made sure, this feature is not yet in the plugin.
  • I believe, that this feature is possible to implement.
  • I made sure, that this feature has not been requested yet.

Problem

/DecentHolograms movehere

Easy move wrong

Feature

like some plugins undo command

Alternatives

No response

Entity

Just making sure

  • I have read the wiki and made sure, this feature is not yet in the plugin.
  • I believe, that this feature is possible to implement.
  • I made sure, that this feature has not been requested yet.

Problem

The plugin is cool, there are no problems.

Feature

Please add that the entity reacts to the movements, that is, does not stop looking at the player.

Alternatives

No response

Strange bug in combat

Just making sure

  • I made sure, this bug is not already known or reported.
  • I believe, that this bug is fixable.

Reproduction

Hello!
I have a problem with DecentHolograms, with the latest version as strange as it may seem, on my purple survival server 1.19.2 combat functions such as the "sweeping edge" enchantment, critical hits, and sword area damage do not work!
I'm not sure what causes it, but it only works properly if I remove all plugins and leave only decentholograms.

Solution

No response

Server Version

Purpur #1759 - 1.19.2

Client Version

1.19.2

Plugin Version

2.5.3

Log

¡Sorry, not error in console!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.