Giter Site home page Giter Site logo

holographicextension's People

Contributors

andre601 avatar andris155 avatar fabianmakila avatar niall7459 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

holographicextension's Issues

Error mostly appears when a player joins

Hello!

When a player joins the server an error appears on the console, however, this doesn't happen all the time. Sometimes it appears and other times it doesn't.
Here is the error that appears: https://pastebin.com/CyrbDNqv

HolographicDisplays version:

[18:15:56 INFO]: Commands: /hd help
[18:15:56 INFO]: Server is running Holographic Displays v2.4.2 by filoghost

Server version:

[18:16:11 INFO]: Checking version, please wait...
[18:16:11 INFO]: This server is running Paper version git-Paper-334 (MC: 1.15.2) (Implementing API version 1.15.2-R0.1-SNAPSHOT)
[18:16:12 INFO]: You are 11 version(s) behind
[18:16:12 INFO]: Previous version: git-Paper-217 (MC: 1.15.2)

HolgraphicExtension version:

[18:16:50 INFO]: Authors: [Niall7459]
[18:16:50 INFO]: HolographicExtension 1.10.9
[18:16:50 INFO]: Add fun animations and thousands of placeholders into holograms!

Thanks!

CHUNk placeholder VAULT tps peaks!

Hello I noticed that I had lags on my server, after several tests etc, I noticed that the placeholders of vault economy(see photo) repeat every x seconds create peaks of tps on the servers because it makes bug the complete chunk.
image

the check pauses and then resumes (see config), which causes tps peaks
image

if I move away from this placeholder, for example I put myself on a par chunk, the place where it was before doesn't create peaks anymore, but the new place where I will create peaks of tps

i use Holographics Display and HolographicExtensions(for placeholder)

config:
image

it should be known that only vault causes this problem the other permanent check plugins like bentobox or dkcoins do not cause this kind of problem.

I reported that bug to vault, too .MilkBowl/Vault#807

thank you!

Formatting/color codes removes using {placeholders}

When you set a line like /hd addline test Currently Online: &b{slow}%server_online% does the extension remove any color code whatsoever set before the {slow} placeholder.

This doesn't happen when setting the color/formatting code after it, but it's still annoying.

Additionally does the placeholder add an extra space, which would be nice, if it could be removed in some way.

Refresh not working

Whenever I use the refresh placeholder, it just leaves the placeholder in the hologram and doesn't do anything. I'm on 1.8.8 with viaversion...

Performance issue with packets

I've been seeing a lot of HolographicExt on Spark reports and below is a 5-second report from ProtocolLib and you can see it already took 30~ms

=== PLUGIN HolographicExtension ===
TYPE: SYNC_SERVER_SIDE
Protocol: Name: ID: Count: Min (ms): Max (ms): Mean (ms): Std (ms):
PLAY ENTITY_METADATA 68 452 0.010352 0.365226 0.068448 0.055185
=> Time on main thread: 30.938601 ms

Compare that to something like AAC, an anti-cheat in the same 5 seconds

=== PLUGIN AAC ===
TYPE: SYNC_SERVER_SIDE
Protocol: Name: ID: Count: Min (ms): Max (ms): Mean (ms): Std (ms):
PLAY POSITION 52 4 0.008903 0.012351 0.010403 0.001432
PLAY ENTITY_VELOCITY 70 800 0.001190 0.049398 0.006124 0.007397
SUM - - 804 0.001190 0.049398 0.006145 0.007385
=> Time on main thread: 4.940971 ms

Only 5ms in the same timeframe.

Code in question: https://github.com/Niall7459/HolographicExtension/blob/master/src/main/java/net/kitesoftware/holograms/listener/PacketPlaceholderListener.java#L52

Missing dependency declaration

Spigot 1.15.2 (Jenkins 2596)
HolographicExtension 1.10.8

Description
Beginning with Spigot 1.15.2 (Jenkins 2596), missing dependency declarations are reported in the log on server start-up as WARN messages.

Reference: https://hub.spigotmc.org/jira/browse/SPIGOT-5546

The relevant log entry is:

[22:03:34] [Server thread/WARN]: [HolographicExtension] Loaded class com.comphenix.protocol.events.PacketListener from ProtocolLib v4.5.1-SNAPSHOT-b445 which is not a depend, softdepend or loadbefore of this plugin.

Steps to reproduce the behavior

  • Update Spigot to 1.15.2 latest
  • Start the server
  • Search the log for 'Loaded class'

Expected behavior
Dependencies should be declared in plugin.yml

crash report

[00:13:18] [Server thread/ERROR]: [HolographicExtension] Unhandled exception occured in onPacketSending(PacketEvent) for HolographicExtension
java.lang.UnsupportedOperationException: The method getWorld is not supported for temporary players.
at com.comphenix.protocol.injector.server.TemporaryPlayerFactory$1.delegate(TemporaryPlayerFactory.java:166) ~[?:?]
at com.comphenix.protocol.injector.server.TemporaryPlayerInvocationHandler.getWorld(Unknown Source) ~[?:?]
at net.kitesoftware.holograms.listener.wrapper.WrapperPlayServerEntityMetadata.getEntity(WrapperPlayServerEntityMetadata.java:82) ~[?:?]
at net.kitesoftware.holograms.listener.PacketPlaceholderListener.onPacketSending(PacketPlaceholderListener.java:56) ~[?:?]
at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:195) ~[?:?]
at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149) ~[?:?]
at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:535) ~[?:?]
at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:516) ~[?:?]
at com.comphenix.protocol.injector.netty.ProtocolInjector.packetQueued(ProtocolInjector.java:346) ~[?:?]
at com.comphenix.protocol.injector.netty.ProtocolInjector.onPacketSending(ProtocolInjector.java:308) ~[?:?]
at com.comphenix.protocol.injector.netty.ChannelInjector.processSending(ChannelInjector.java:433) ~[?:?]
at com.comphenix.protocol.injector.netty.ChannelInjector.access$800(ChannelInjector.java:70) ~[?:?]
at com.comphenix.protocol.injector.netty.ChannelInjector$3.handleScheduled(ChannelInjector.java:373) ~[?:?]
at com.comphenix.protocol.injector.netty.ChannelInjector$3.onMessageScheduled(ChannelInjector.java:343) ~[?:?]
at com.comphenix.protocol.injector.netty.ChannelProxy$2.schedulingRunnable(ChannelProxy.java:127) ~[?:?]
at com.comphenix.protocol.injector.netty.EventLoopProxy.execute(EventLoopProxy.java:95) ~[?:?]
at net.minecraft.server.v1_12_R1.NetworkManager.a(NetworkManager.java:209) ~[patched_1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.NetworkManager.sendPacket(NetworkManager.java:157) ~[patched_1.12.2.jar:git-Paper-1618]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:564) ~[?:?]
at com.comphenix.protocol.injector.netty.ChannelInjector.invokeSendPacket(ChannelInjector.java:743) ~[?:?]
at com.comphenix.protocol.injector.netty.ChannelInjector.lambda$scheduleMainThread$0(ChannelInjector.java:560) ~[?:?]
at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:64) ~[patched_1.12.2.jar:git-Paper-1618]
at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:423) ~[patched_1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:840) ~[patched_1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423) ~[patched_1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:774) ~[patched_1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666) ~[patched_1.12.2.jar:git-Paper-1618]
at java.lang.Thread.run(Thread.java:832) [?:?]
[00:13:18] [Server thread/ERROR]: Parameters:
net.minecraft.server.v1_12_R1.PacketPlayOutEntityMetadata@6e3c4309[
a=1046
b=[net.minecraft.server.v1_12_R1.DataWatcher$Item@63662b94, net.minecraft.server.v1_12_R1.DataWatcher$Item@28547658, net.minecraft.server.v1_12_R1.DataWatcher$Item@3485d9c6, net.minecraft.server.v1_12_R1.DataWatcher$Item@382de054, net.minecraft.server.v1_12_R1.DataWatcher$Item@6ac5564e, net.minecraft.server.v1_12_R1.DataWatcher$Item@61a81bf8, net.minecraft.server.v1_12_R1.DataWatcher$Item@7b79b5e2, net.minecraft.server.v1_12_R1.DataWatcher$Item@2c01c599, net.minecraft.server.v1_12_R1.DataWatcher$Item@6cb68171, net.minecraft.server.v1_12_R1.DataWatcher$Item@4de020c4, net.minecraft.server.v1_12_R1.DataWatcher$Item@7b005a3f, net.minecraft.server.v1_12_R1.DataWatcher$Item@598f75cb, net.minecraft.server.v1_12_R1.DataWatcher$Item@1eada82, net.minecraft.server.v1_12_R1.DataWatcher$Item@4d403c7b, net.minecraft.server.v1_12_R1.DataWatcher$Item@34e8464e, net.minecraft.server.v1_12_R1.DataWatcher$Item@166b4c35, net.minecraft.server.v1_12_R1.DataWatcher$Item@4102aab0]
]

ClassCastException on player join

Spigot 1.15.1 (Jenkins 2525)
ProtocolLib 4.5.0-b439
HolographicDisplays 2.4.1-b98
HolographicExtension 1.10.7

No errors on start-up. When player joins, there are many of these per second:

[07:14:11] [Server thread/ERROR]: [HolographicExtension] Unhandled exception occured in onPacketSending(PacketEvent) for HolographicExtension
java.lang.ClassCastException: class java.util.Optional cannot be cast to class java.lang.String (java.util.Optional and java.lang.String are in module java.base of loader 'bootstrap')
        at net.kitesoftware.holograms.listener.PacketPlaceholderListener.replacePlaceholders(PacketPlaceholderListener.java:74) ~[HolographicExtension-1.10.7.jar:?]
        at net.kitesoftware.holograms.listener.PacketPlaceholderListener.onPacketSending(PacketPlaceholderListener.java:44) ~[HolographicExtension-1.10.7.jar:?]
        at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:195) [ProtocolLib-4.5.0-b439.jar:4.5.0-SNAPSHOT-b439]
        at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149) [ProtocolLib-4.5.0-b439.jar:4.5.0-SNAPSHOT-b439]
        at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:588) [ProtocolLib-4.5.0-b439.jar:4.5.0-SNAPSHOT-b439]
        at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:564) [ProtocolLib-4.5.0-b439.jar:4.5.0-SNAPSHOT-b439]
        at com.comphenix.protocol.injector.netty.ProtocolInjector.packetQueued(ProtocolInjector.java:338) [ProtocolLib-4.5.0-b439.jar:4.5.0-SNAPSHOT-b439]
        at com.comphenix.protocol.injector.netty.ProtocolInjector.onPacketSending(ProtocolInjector.java:298) [ProtocolLib-4.5.0-b439.jar:4.5.0-SNAPSHOT-b439]
        at com.comphenix.protocol.injector.netty.ChannelInjector.processSending(ChannelInjector.java:378) [ProtocolLib-4.5.0-b439.jar:4.5.0-SNAPSHOT-b439]
        at com.comphenix.protocol.injector.netty.ChannelInjector.access$800(ChannelInjector.java:64) [ProtocolLib-4.5.0-b439.jar:4.5.0-SNAPSHOT-b439]
        at com.comphenix.protocol.injector.netty.ChannelInjector$3.handleScheduled(ChannelInjector.java:343) [ProtocolLib-4.5.0-b439.jar:4.5.0-SNAPSHOT-b439]
        at com.comphenix.protocol.injector.netty.ChannelInjector$3.onMessageScheduled(ChannelInjector.java:313) [ProtocolLib-4.5.0-b439.jar:4.5.0-SNAPSHOT-b439]
        at com.comphenix.protocol.injector.netty.ChannelProxy$2.schedulingRunnable(ChannelProxy.java:127) [ProtocolLib-4.5.0-b439.jar:4.5.0-SNAPSHOT-b439]
        at com.comphenix.protocol.injector.netty.EventLoopProxy.execute(EventLoopProxy.java:95) [ProtocolLib-4.5.0-b439.jar:4.5.0-SNAPSHOT-b439]
        at net.minecraft.server.v1_15_R1.NetworkManager.b(NetworkManager.java:185) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.NetworkManager.sendPacket(NetworkManager.java:155) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at com.denizenscript.denizen.nms.v1_15.impl.network.handlers.DenizenNetworkManagerImpl.sendPacket(DenizenNetworkManagerImpl.java:152) [Denizen-1.1.2-b4474.jar:?]
        at net.minecraft.server.v1_15_R1.PlayerConnection.a(PlayerConnection.java:1410) [?:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.PlayerConnection.sendPacket(PlayerConnection.java:1383) [?:git-Spigot-2ee05fe-90ef74e]
        at com.denizenscript.denizen.nms.v1_15.impl.network.handlers.AbstractListenerPlayInImpl.sendPacket(AbstractListenerPlayInImpl.java:50) [Denizen-1.1.2-b4474.jar:?]
        at com.denizenscript.denizen.nms.v1_15.impl.network.handlers.DenizenPacketListenerImpl.sendPacket(DenizenPacketListenerImpl.java:47) [Denizen-1.1.2-b4474.jar:?]
        at net.minecraft.server.v1_15_R1.PlayerList.a(PlayerList.java:210) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.LoginListener.c(LoginListener.java:154) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.LoginListener.tick(LoginListener.java:53) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.NetworkManager.a(NetworkManager.java:220) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.ServerConnection.c(ServerConnection.java:129) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.MinecraftServer.b(MinecraftServer.java:1099) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:393) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:978) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:823) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at java.lang.Thread.run(Thread.java:834) [?:?]

followed by

[07:14:11] [Server thread/ERROR]: [HolographicExtension] Unhandled exception number 32 occured in onPacketSending(PacketEvent) for HolographicExtension
java.lang.ClassCastException: class java.util.Optional cannot be cast to class java.lang.String (java.util.Optional and java.lang.String are in module java.base of loader 'bootstrap')
        at net.kitesoftware.holograms.listener.PacketPlaceholderListener.replacePlaceholders(PacketPlaceholderListener.java:74) ~[?:?]
        at net.kitesoftware.holograms.listener.PacketPlaceholderListener.onPacketSending(PacketPlaceholderListener.java:44) ~[?:?]
        at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:195) ~[?:?]
        at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149) ~[?:?]
        at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:588) ~[?:?]
        at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:564) ~[?:?]
        at com.comphenix.protocol.injector.netty.ProtocolInjector.packetQueued(ProtocolInjector.java:338) ~[?:?]
        at com.comphenix.protocol.injector.netty.ProtocolInjector.onPacketSending(ProtocolInjector.java:298) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector.processSending(ChannelInjector.java:378) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector.access$800(ChannelInjector.java:64) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector$3.handleScheduled(ChannelInjector.java:343) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector$3.onMessageScheduled(ChannelInjector.java:313) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelProxy$2.schedulingRunnable(ChannelProxy.java:127) ~[?:?]
        at com.comphenix.protocol.injector.netty.EventLoopProxy.execute(EventLoopProxy.java:95) ~[?:?]
        at net.minecraft.server.v1_15_R1.NetworkManager.b(NetworkManager.java:185) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.NetworkManager.sendPacket(NetworkManager.java:155) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at com.denizenscript.denizen.nms.v1_15.impl.network.handlers.DenizenNetworkManagerImpl.sendPacket(DenizenNetworkManagerImpl.java:152) ~[?:?]
        at net.minecraft.server.v1_15_R1.PlayerConnection.a(PlayerConnection.java:1410) ~[?:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.PlayerConnection.sendPacket(PlayerConnection.java:1383) ~[?:git-Spigot-2ee05fe-90ef74e]
        at com.denizenscript.denizen.nms.v1_15.impl.network.handlers.AbstractListenerPlayInImpl.sendPacket(AbstractListenerPlayInImpl.java:50) ~[?:?]
        at com.denizenscript.denizen.nms.v1_15.impl.network.handlers.DenizenPacketListenerImpl.sendPacket(DenizenPacketListenerImpl.java:47) ~[?:?]
        at net.minecraft.server.v1_15_R1.EntityTrackerEntry.a(EntityTrackerEntry.java:244) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.EntityTrackerEntry.b(EntityTrackerEntry.java:226) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.PlayerChunkMap$EntityTracker.updatePlayer(PlayerChunkMap.java:1258) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.PlayerChunkMap.a(PlayerChunkMap.java:1122) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.PlayerChunkMap.lambda$43(PlayerChunkMap.java:654) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[?:?]
        at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) ~[?:?]
        at java.util.Iterator.forEachRemaining(Iterator.java:133) ~[?:?]
        at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) ~[?:?]
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?]
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]
        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]
        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
        at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) ~[?:?]
        at net.minecraft.server.v1_15_R1.PlayerChunkMap.lambda$42(PlayerChunkMap.java:653) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at com.mojang.datafixers.util.Either.lambda$mapLeft$0(Either.java:162) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at com.mojang.datafixers.util.Either.mapLeft(Either.java:162) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.PlayerChunkMap.lambda$40(PlayerChunkMap.java:649) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:714) ~[?:?]
        at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478) ~[?:?]
        at net.minecraft.server.v1_15_R1.ChunkTaskQueueSorter.b(SourceFile:58) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeTask(SourceFile:144) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeNext(SourceFile:118) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.ChunkProviderServer$a.executeNext(ChunkProviderServer.java:567) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.awaitTasks(SourceFile:127) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:104) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.IChunkProvider.getChunkAt(SourceFile:16) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at org.bukkit.craftbukkit.v1_15_R1.CraftWorld.isChunkLoaded(CraftWorld.java:342) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at org.spigotmc.ActivationRange.activateEntities(ActivationRange.java:144) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.WorldServer.doTick(WorldServer.java:353) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.MinecraftServer.b(MinecraftServer.java:1076) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:393) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:978) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:823) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at java.lang.Thread.run(Thread.java:834) [?:?]

and

[07:14:11] [Server thread/ERROR]: [HolographicExtension] Unhandled exception number 64 occured in onPacketSending(PacketEvent) for HolographicExtension
java.lang.ClassCastException: class java.util.Optional cannot be cast to class java.lang.String (java.util.Optional and java.lang.String are in module java.base of loader 'bootstrap')
        at net.kitesoftware.holograms.listener.PacketPlaceholderListener.replacePlaceholders(PacketPlaceholderListener.java:74) ~[?:?]
        at net.kitesoftware.holograms.listener.PacketPlaceholderListener.onPacketSending(PacketPlaceholderListener.java:44) ~[?:?]
        at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:195) ~[?:?]
        at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149) ~[?:?]
        at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:588) ~[?:?]
        at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:564) ~[?:?]
        at com.comphenix.protocol.injector.netty.ProtocolInjector.packetQueued(ProtocolInjector.java:338) ~[?:?]
        at com.comphenix.protocol.injector.netty.ProtocolInjector.onPacketSending(ProtocolInjector.java:298) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector.processSending(ChannelInjector.java:378) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector.access$800(ChannelInjector.java:64) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector$3.handleScheduled(ChannelInjector.java:343) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector$3.onMessageScheduled(ChannelInjector.java:313) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelProxy$2.schedulingRunnable(ChannelProxy.java:127) ~[?:?]
        at com.comphenix.protocol.injector.netty.EventLoopProxy.execute(EventLoopProxy.java:95) ~[?:?]
        at net.minecraft.server.v1_15_R1.NetworkManager.b(NetworkManager.java:185) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.NetworkManager.sendPacket(NetworkManager.java:155) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at com.denizenscript.denizen.nms.v1_15.impl.network.handlers.DenizenNetworkManagerImpl.sendPacket(DenizenNetworkManagerImpl.java:152) ~[?:?]
        at net.minecraft.server.v1_15_R1.PlayerConnection.a(PlayerConnection.java:1410) ~[?:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.PlayerConnection.sendPacket(PlayerConnection.java:1383) ~[?:git-Spigot-2ee05fe-90ef74e]
        at com.denizenscript.denizen.nms.v1_15.impl.network.handlers.AbstractListenerPlayInImpl.sendPacket(AbstractListenerPlayInImpl.java:50) ~[?:?]
        at com.denizenscript.denizen.nms.v1_15.impl.network.handlers.DenizenPacketListenerImpl.sendPacket(DenizenPacketListenerImpl.java:47) ~[?:?]
        at net.minecraft.server.v1_15_R1.EntityTrackerEntry.a(EntityTrackerEntry.java:244) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.EntityTrackerEntry.b(EntityTrackerEntry.java:226) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.PlayerChunkMap$EntityTracker.updatePlayer(PlayerChunkMap.java:1258) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.PlayerChunkMap.a(PlayerChunkMap.java:1122) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.PlayerChunkMap.lambda$43(PlayerChunkMap.java:654) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[?:?]
        at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) ~[?:?]
        at java.util.Iterator.forEachRemaining(Iterator.java:133) ~[?:?]
        at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) ~[?:?]
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?]
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]
        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]
        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
        at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) ~[?:?]
        at net.minecraft.server.v1_15_R1.PlayerChunkMap.lambda$42(PlayerChunkMap.java:653) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at com.mojang.datafixers.util.Either.lambda$mapLeft$0(Either.java:162) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at com.mojang.datafixers.util.Either.mapLeft(Either.java:162) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.PlayerChunkMap.lambda$40(PlayerChunkMap.java:649) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:714) ~[?:?]
        at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478) ~[?:?]
        at net.minecraft.server.v1_15_R1.ChunkTaskQueueSorter.b(SourceFile:58) ~[spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeTask(SourceFile:144) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeNext(SourceFile:118) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.ChunkProviderServer$a.executeNext(ChunkProviderServer.java:567) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.awaitTasks(SourceFile:127) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:104) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.IChunkProvider.getChunkAt(SourceFile:16) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at org.bukkit.craftbukkit.v1_15_R1.CraftWorld.isChunkLoaded(CraftWorld.java:342) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at org.spigotmc.ActivationRange.activateEntities(ActivationRange.java:144) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.WorldServer.doTick(WorldServer.java:353) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.MinecraftServer.b(MinecraftServer.java:1076) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:393) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:978) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:823) [spigot-1.15.1.jar-2019-12-18-2121:git-Spigot-2ee05fe-90ef74e]
        at java.lang.Thread.run(Thread.java:834) [?:?]

Pinger not working in hologram but works in papi parse?

Hey, I've got an issue with using pinger by placeholderAPI in holograms;

As seen here, pinging hypixel in chat works fine;
yye68ibz
but when used in a hologram it seems to just not function at all;
ejxyuoho

Any way to fix this possibly?

I'm running tuinity 1.15.2

1.15.1 Support ?

Hello,

is there some dev build or snapshot that works well with 1.15.1 spigot ? Plugin commands seems to work but placeholders does not.. (I want to update my survival from 1.13.2 to 1.15.1)
Also there are some errors that console prints.

https://pastebin.com/2vFLbJZp

Best regards.

Holograms not updating

Holograms not updating, only with using /hd reload

Description

When setting up some placeholders, I realised that the Placeholders don't update.
I set up a Placeholder, that is displaying the time a game is going to run.
It stays on the start time, unless I update HolographicDisplays with /hd reload
Is that a Problem from hext or hd?

How to recreate

  1. create a new hologram with an updating placeholder, like a countdown, with /hd add {speed}%placeholder%
  2. If the placeholder doesn't update, you can manually update it with /hd reload

Server Info:

  • paper 1.15-385
  • HolographicExtensions 1.10.9
  • ProtocolLib 4.5.1
  • PlaceholderAPI 2.10.9

Countdown Placeholders Not Working

The countdown placeholder does not appear to be working. I am using HolographicDisplays, HolographicExtension, PlacehodlerAPI, and ProtocolLib. All other placeholders appear to work except for this one.

image

Little blank space before hologram

Describe the bug
There is a little blank space before the text in each hologram using {slow}, {medium}, ecc.. placeholders.

To Reproduce
Steps to reproduce the behavior:

  1. Create an hologram with {slow}
  2. Use a Papi placeholder for example
  3. See the blank space

Expected behavior
Remove that blank space that triggers me! :O

Screenshots
https://imgur.com/a/6tfjr8q

Bug when player join server next to a hologram with placeholders.

[00:15:56] [Server thread/ERROR]: [HolographicExtension] Unhandled exception occured in onPacketSending(PacketEvent) for HolographicExtension
java.lang.NullPointerException: null
at levelpoints.levelpoints.LevelPointsExpansion.onRequest(LevelPointsExpansion.java:160) ~[?:?]
at me.clip.placeholderapi.replacer.CharsReplacer.apply(CharsReplacer.java:156) ~[?:?]
at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:69) ~[?:?]
at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:97) ~[?:?]
at net.kitesoftware.holograms.listener.PacketPlaceholderListener.replacePlaceholders(PacketPlaceholderListener.java:98) ~[?:?]
at net.kitesoftware.holograms.listener.PacketPlaceholderListener.onPacketSending(PacketPlaceholderListener.java:65) ~[?:?]
at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:195) ~[?:?]
at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149) ~[?:?]
at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:535) ~[?:?]
at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:516) ~[?:?]
at com.comphenix.protocol.injector.netty.ProtocolInjector.packetQueued(ProtocolInjector.java:334) ~[?:?]
at com.comphenix.protocol.injector.netty.ProtocolInjector.onPacketSending(ProtocolInjector.java:296) ~[?:?]
at com.comphenix.protocol.injector.netty.ChannelInjector.processSending(ChannelInjector.java:382) ~[?:?]
at com.comphenix.protocol.injector.netty.ChannelInjector.access$800(ChannelInjector.java:64) ~[?:?]
at com.comphenix.protocol.injector.netty.ChannelInjector$3.handleScheduled(ChannelInjector.java:347) ~[?:?]
at com.comphenix.protocol.injector.netty.ChannelInjector$3.onMessageScheduled(ChannelInjector.java:317) ~[?:?]
at com.comphenix.protocol.injector.netty.ChannelProxy$2.schedulingRunnable(ChannelProxy.java:127) ~[?:?]
at com.comphenix.protocol.injector.netty.EventLoopProxy.execute(EventLoopProxy.java:95) ~[?:?]
at net.minecraft.server.v1_16_R3.NetworkManager.b(NetworkManager.java:293) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.NetworkManager.dispatchPacket(NetworkManager.java:249) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.NetworkManager.sendPacket(NetworkManager.java:225) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.PlayerConnection.a(PlayerConnection.java:1736) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.PlayerConnection.sendPacket(PlayerConnection.java:1709) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.EntityTrackerEntry.a(EntityTrackerEntry.java:287) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.EntityTrackerEntry.b(EntityTrackerEntry.java:269) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.PlayerChunkMap$EntityTracker.updatePlayer(PlayerChunkMap.java:2432) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.PlayerChunkMap.a(PlayerChunkMap.java:2245) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.PlayerChunkMap.sendChunk(PlayerChunkMap.java:1542) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.PlayerChunkMap.lambda$new$9(PlayerChunkMap.java:440) ~[paper.jar:git-Paper-345]
at com.destroystokyo.paper.util.misc.AreaMap.addObjectTo(AreaMap.java:228) ~[paper.jar:git-Paper-345]
at com.destroystokyo.paper.util.misc.AreaMap.addObject(AreaMap.java:279) ~[paper.jar:git-Paper-345]
at com.destroystokyo.paper.util.misc.AreaMap.add(AreaMap.java:129) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.PlayerChunkMap.addPlayerToDistanceMaps(PlayerChunkMap.java:227) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.PlayerChunkMap.a(PlayerChunkMap.java:1817) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.PlayerChunkMap.addEntity(PlayerChunkMap.java:1997) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.PlayerList.postChunkLoadJoin(PlayerList.java:306) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.PlayerList.lambda$null$1(PlayerList.java:220) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.PlayerConnection.tick(PlayerConnection.java:167) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.NetworkManager.a(NetworkManager.java:390) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.ServerConnection.c(ServerConnection.java:145) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1381) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:377) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1209) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:997) ~[paper.jar:git-Paper-345]
at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:178) ~[paper.jar:git-Paper-345]
at java.lang.Thread.run(Thread.java:834) [?:?]
[00:15:56] [Server thread/ERROR]: Parameters:
net.minecraft.server.v1_16_R3.PacketPlayOutEntityMetadata@1bd6be46[
a=747
b=[net.minecraft.server.v1_16_R3.DataWatcher$Item@225b1b65, net.minecraft.server.v1_16_R3.DataWatcher$Item@5c8f774b, net.minecraft.server.v1_16_R3.DataWatcher$Item@3f00146, net.minecraft.server.v1_16_R3.DataWatcher$Item@2d7aabf0, net.minecraft.server.v1_16_R3.DataWatcher$Item@57000d09, net.minecraft.server.v1_16_R3.DataWatcher$Item@70121d8d, net.minecraft.server.v1_16_R3.DataWatcher$Item@736bd8f8, net.minecraft.server.v1_16_R3.DataWatcher$Item@b36c84e, net.minecraft.server.v1_16_R3.DataWatcher$Item@5c09f464, net.minecraft.server.v1_16_R3.DataWatcher$Item@3c17641d, net.minecraft.server.v1_16_R3.DataWatcher$Item@1116d77f, net.minecraft.server.v1_16_R3.DataWatcher$Item@2c5f09ab, net.minecraft.server.v1_16_R3.DataWatcher$Item@3f666290, net.minecraft.server.v1_16_R3.DataWatcher$Item@38d6deed, net.minecraft.server.v1_16_R3.DataWatcher$Item@1f5c4ba7, net.minecraft.server.v1_16_R3.DataWatcher$Item@4b1a1bb6, net.minecraft.server.v1_16_R3.DataWatcher$Item@476492a7, net.minecraft.server.v1_16_R3.DataWatcher$Item@494b1d10, net.minecraft.server.v1_16_R3.DataWatcher$Item@343776ed, net.minecraft.server.v1_16_R3.DataWatcher$Item@2feb0c76, net.minecraft.server.v1_16_R3.DataWatcher$Item@4cf94286]
]

Unhandled exception occured in onPacketSending 1.17.1

[00:28:02] [Server thread/ERROR]: [HolographicExtension] Unhandled exception occured in onPacketSending(PacketEvent) for HolographicExtension
java.lang.RuntimeException: Unable to clone object PacketContainer[type=ENTITY_METADATA[class=PacketPlayOutEntityMetadata, id=77], structureModifier=StructureModifier[fieldType=class java.lang.Object, data=[private final int net.minecraft.network.protocol.game.PacketPlayOutEntityMetadata.a, private final java.util.List net.minecraft.network.protocol.game.PacketPlayOutEntityMetadata.b]]] (com.comphenix.protocol.events.PacketContainer)
at com.comphenix.protocol.reflect.cloning.SerializableCloner.clone(SerializableCloner.java:44) ~[?:?]
at com.comphenix.protocol.events.PacketContainer.deepClone(PacketContainer.java:256) ~[?:?]
at net.kitesoftware.holograms.listener.PacketPlaceholderListener.onPacketSending(PacketPlaceholderListener.java:56) ~[?:?]
at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:195) ~[?:?]
at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149) ~[?:?]
at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:535) ~[?:?]
at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:516) ~[?:?]
at com.comphenix.protocol.injector.netty.ProtocolInjector.packetQueued(ProtocolInjector.java:346) ~[?:?]
at com.comphenix.protocol.injector.netty.ProtocolInjector.onPacketSending(ProtocolInjector.java:308) ~[?:?]
at com.comphenix.protocol.injector.netty.ChannelInjector.processSending(ChannelInjector.java:433) ~[?:?]
at com.comphenix.protocol.injector.netty.ChannelInjector.access$800(ChannelInjector.java:70) ~[?:?]
at com.comphenix.protocol.injector.netty.ChannelInjector$3.handleScheduled(ChannelInjector.java:373) ~[?:?]
at com.comphenix.protocol.injector.netty.ChannelInjector$3.onMessageScheduled(ChannelInjector.java:343) ~[?:?]
at com.comphenix.protocol.injector.netty.ChannelProxy$2.schedulingRunnable(ChannelProxy.java:127) ~[?:?]
at com.comphenix.protocol.injector.netty.EventLoopProxy.execute(EventLoopProxy.java:95) ~[?:?]
at net.minecraft.network.Connection.sendPacket(Connection.java:294) ~[?:?]
at net.minecraft.network.Connection.send(Connection.java:258) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.send(ServerGamePacketListenerImpl.java:1905) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.send(ServerGamePacketListenerImpl.java:1891) ~[?:?]
at net.minecraft.server.level.ServerEntity.a(ServerEntity.java:285) ~[?:?]
at net.minecraft.server.level.ServerEntity.addPairing(ServerEntity.java:268) ~[?:?]
at net.minecraft.server.level.ChunkMap$TrackedEntity.updatePlayer(ChunkMap.java:2397) ~[?:?]
at net.minecraft.server.level.ChunkMap.addEntity(ChunkMap.java:2014) ~[patched_1.17.1.jar:git-Paper-133]
at net.minecraft.server.level.ServerChunkCache.addEntity(ServerChunkCache.java:963) ~[?:?]
at net.minecraft.server.level.ServerLevel$EntityCallbacks.onTrackingStart(ServerLevel.java:2140) ~[?:?]
at net.minecraft.server.level.ServerLevel$EntityCallbacks.onTrackingStart(ServerLevel.java:2098) ~[?:?]
at net.minecraft.world.level.entity.PersistentEntitySectionManager.startTracking(PersistentEntitySectionManager.java:140) ~[patched_1.17.1.jar:git-Paper-133]
at net.minecraft.world.level.entity.PersistentEntitySectionManager.addEntity(PersistentEntitySectionManager.java:103) ~[patched_1.17.1.jar:git-Paper-133]
at net.minecraft.world.level.entity.PersistentEntitySectionManager.addNewEntity(PersistentEntitySectionManager.java:86) ~[patched_1.17.1.jar:git-Paper-133]
at net.minecraft.server.level.ServerLevel.addPlayer(ServerLevel.java:1138) ~[?:?]
at net.minecraft.server.level.ServerLevel.addRespawnedPlayer(ServerLevel.java:1126) ~[?:?]
at net.minecraft.server.players.PlayerList.moveToWorld(PlayerList.java:956) ~[patched_1.17.1.jar:git-Paper-133]
at net.minecraft.server.players.PlayerList.moveToWorld(PlayerList.java:817) ~[patched_1.17.1.jar:git-Paper-133]
at org.bukkit.craftbukkit.v1_17_R1.entity.CraftPlayer.teleport(CraftPlayer.java:987) ~[patched_1.17.1.jar:git-Paper-133]
at org.bukkit.craftbukkit.v1_17_R1.entity.CraftEntity.teleport(CraftEntity.java:546) ~[patched_1.17.1.jar:git-Paper-133]
at me.bluecoaster455.worldspawn.services.SpawnDelayService.teleport(SpawnDelayService.java:47) ~[?:?]
at me.bluecoaster455.worldspawn.services.SpawnDelayService.lambda$0(SpawnDelayService.java:93) ~[?:?]
at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftTask.run(CraftTask.java:101) ~[patched_1.17.1.jar:git-Paper-133]
at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:483) ~[patched_1.17.1.jar:git-Paper-133]
at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1490) ~[patched_1.17.1.jar:git-Paper-133]
at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:479) ~[patched_1.17.1.jar:git-Paper-133]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1406) ~[patched_1.17.1.jar:git-Paper-133]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1188) ~[patched_1.17.1.jar:git-Paper-133]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:316) ~[patched_1.17.1.jar:git-Paper-133]
at java.lang.Thread.run(Thread.java:831) [?:?]
Caused by: java.lang.IllegalArgumentException: Unable to find a method that matches {modifiers=[required: 1000, banned: 0], return=Exact class net.minecraft.network.protocol.game.PacketPlayOutEntityMetadata, params=[{Type: Exact class net.minecraft.network.PacketDataSerializer, Index: 0}], paramCount=1}
at com.comphenix.protocol.reflect.FuzzyReflection.getMethod(FuzzyReflection.java:174) ~[?:?]
at com.comphenix.protocol.events.PacketContainer.readObject(PacketContainer.java:330) ~[?:?]
at jdk.internal.reflect.GeneratedMethodAccessor82.invoke(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?]
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1224) ~[?:?]
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2378) ~[?:?]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2212) ~[?:?]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1689) ~[?:?]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:495) ~[?:?]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:453) ~[?:?]
at com.comphenix.protocol.reflect.cloning.SerializableCloner.clone(SerializableCloner.java:42) ~[?:?]
... 44 more
[00:28:02] [Server thread/ERROR]: Parameters:
net.minecraft.network.protocol.game.PacketPlayOutEntityMetadata@7bd011a0[
a=5351
b=[net.minecraft.network.syncher.DataWatcher$Item@d55cb10, net.minecraft.network.syncher.DataWatcher$Item@251f91dd, net.minecraft.network.syncher.DataWatcher$Item@5e39c9cf, net.minecraft.network.syncher.DataWatcher$Item@34f18717, net.minecraft.network.syncher.DataWatcher$Item@175fc7d2, net.minecraft.network.syncher.DataWatcher$Item@4e973d9d, net.minecraft.network.syncher.DataWatcher$Item@5ef0e231, net.minecraft.network.syncher.DataWatcher$Item@66810fc7, net.minecraft.network.syncher.DataWatcher$Item@f893592, net.minecraft.network.syncher.DataWatcher$Item@78859a2b, net.minecraft.network.syncher.DataWatcher$Item@213d1e60, net.minecraft.network.syncher.DataWatcher$Item@4facd2b7, net.minecraft.network.syncher.DataWatcher$Item@9cf5b75, net.minecraft.network.syncher.DataWatcher$Item@5dcfcca5, net.minecraft.network.syncher.DataWatcher$Item@14c81762, net.minecraft.network.syncher.DataWatcher$Item@3dd85626, net.minecraft.network.syncher.DataWatcher$Item@4ebfa61b, net.minecraft.network.syncher.DataWatcher$Item@6d36f18d, net.minecraft.network.syncher.DataWatcher$Item@3991984e, net.minecraft.network.syncher.DataWatcher$Item@4687903c, net.minecraft.network.syncher.DataWatcher$Item@753b6989, net.minecraft.network.syncher.DataWatcher$Item@2fdb443a]

Upgrade version

Can you please add the placeholder support correct for 1.7.10, I understand that this is an old version, but I would really like to use this plugin. Unfortunately, only placeholders do not work. I tried to compile from the source myself, changing the dependencies, but this did not give any result.
https://imgur.com/a/fW7HurW

.!.

๐Ÿ˜ญ๐Ÿ˜ญ

IllegalArgumentException on 1.17

Spigot 1.17 or Paper 1.17
ProtocolLib 4.7.0-SNAPSHOT-b522
PlaceholderAPI version 2.10.10-DEV-123
HolographicExtension version 1.10.9

Update needed to play nicely with the above configuration.

[15:51:44] [Server thread/ERROR]: [HolographicExtension] Unhandled exception occured in onPacketSending(PacketEvent) for HolographicExtension
java.lang.RuntimeException: Unable to clone object PacketContainer[type=ENTITY_METADATA[class=PacketPlayOutEntityMetadata, id=77], structureModifier=StructureModifier[fieldType=class java.lang.Object, data=[private final int net.minecraft.network.protocol.game.PacketPlayOutEntityMetadata.a, private final java.util.List net.minecraft.network.protocol.game.PacketPlayOutEntityMetadata.b]]] (com.comphenix.protocol.events.PacketContainer)
        at com.comphenix.protocol.reflect.cloning.SerializableCloner.clone(SerializableCloner.java:44) ~[?:?]
        at com.comphenix.protocol.events.PacketContainer.deepClone(PacketContainer.java:249) ~[?:?]
        at net.kitesoftware.holograms.listener.PacketPlaceholderListener.onPacketSending(PacketPlaceholderListener.java:56) ~[?:?]
        at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:195) ~[?:?]
        at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149) ~[?:?]
        at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:535) ~[?:?]
        at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:516) ~[?:?]
        at com.comphenix.protocol.injector.netty.ProtocolInjector.packetQueued(ProtocolInjector.java:346) ~[?:?]
        at com.comphenix.protocol.injector.netty.ProtocolInjector.onPacketSending(ProtocolInjector.java:308) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector.processSending(ChannelInjector.java:433) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector.access$800(ChannelInjector.java:70) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector$3.handleScheduled(ChannelInjector.java:373) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector$3.onMessageScheduled(ChannelInjector.java:343) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelProxy$2.schedulingRunnable(ChannelProxy.java:127) ~[?:?]
        at com.comphenix.protocol.injector.netty.EventLoopProxy.execute(EventLoopProxy.java:95) ~[?:?]
        at net.minecraft.network.Connection.sendPacket(Connection.java:294) ~[?:?]
        at net.minecraft.network.Connection.send(Connection.java:258) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.send(ServerGamePacketListenerImpl.java:1920) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.send(ServerGamePacketListenerImpl.java:1906) ~[?:?]
        at net.minecraft.server.level.ServerEntity.a(ServerEntity.java:285) ~[?:?]
        at net.minecraft.server.level.ServerEntity.addPairing(ServerEntity.java:268) ~[?:?]
        at net.minecraft.server.level.ChunkMap$TrackedEntity.updatePlayer(ChunkMap.java:2381) ~[?:?]
        at net.minecraft.server.level.ChunkMap$TrackedEntity.updatePlayers(ChunkMap.java:2292) ~[?:?]
        at net.minecraft.server.level.ChunkMap.addEntity(ChunkMap.java:1991) ~[patched_1.17.jar:git-Paper-49]
        at net.minecraft.server.level.ServerChunkCache.addEntity(ServerChunkCache.java:950) ~[?:?]
        at net.minecraft.server.level.ServerLevel$EntityCallbacks.onTrackingStart(ServerLevel.java:2179) ~[?:?]
        at net.minecraft.server.level.ServerLevel$EntityCallbacks.onTrackingStart(ServerLevel.java:2137) ~[?:?]
        at net.minecraft.world.level.entity.PersistentEntitySectionManager.startTracking(PersistentEntitySectionManager.java:140) ~[patched_1.17.jar:git-Paper-49]
        at net.minecraft.world.level.entity.PersistentEntitySectionManager.addEntity(PersistentEntitySectionManager.java:103) ~[patched_1.17.jar:git-Paper-49]
        at net.minecraft.world.level.entity.PersistentEntitySectionManager.addNewEntity(PersistentEntitySectionManager.java:86) ~[patched_1.17.jar:git-Paper-49]
        at net.minecraft.server.level.ServerLevel.addEntity0(ServerLevel.java:1221) ~[?:?]
        at net.minecraft.server.level.ServerLevel.addEntity(ServerLevel.java:1128) ~[?:?]
        at org.bukkit.craftbukkit.v1_17_R1.CraftWorld.dropItem(CraftWorld.java:774) ~[patched_1.17.jar:git-Paper-49]
        at org.bukkit.craftbukkit.v1_17_R1.CraftWorld.dropItem(CraftWorld.java:763) ~[patched_1.17.jar:git-Paper-49]
        at one.lindegaard.MobHunting.rewards.RewardManager.dropMoneyOnGround_RewardManager(RewardManager.java:350) ~[?:?]
        at one.lindegaard.MobHunting.MobHuntingManager.onMobDeath(MobHuntingManager.java:1720) ~[?:?]
        at com.destroystokyo.paper.event.executor.MethodHandleEventExecutor.execute(MethodHandleEventExecutor.java:37) ~[patched_1.17.jar:git-Paper-49]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.17.jar:git-Paper-49]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.17.jar:git-Paper-49]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:624) ~[patched_1.17.jar:git-Paper-49]
        at org.bukkit.craftbukkit.v1_17_R1.event.CraftEventFactory.callEntityDeathEvent(CraftEventFactory.java:843) ~[patched_1.17.jar:git-Paper-49]
        at net.minecraft.world.entity.LivingEntity.dropAllDeathLoot(LivingEntity.java:1703) ~[?:?]
        at net.minecraft.world.entity.LivingEntity.die(LivingEntity.java:1624) ~[?:?]
        at net.minecraft.world.entity.LivingEntity.hurt(LivingEntity.java:1455) ~[?:?]
        at net.minecraft.world.entity.projectile.AbstractArrow.onHitEntity(AbstractArrow.java:397) ~[?:?]
        at net.minecraft.world.entity.projectile.Projectile.onHit(Projectile.java:181) ~[?:?]
        at net.minecraft.world.entity.projectile.Projectile.preOnHit(Projectile.java:172) ~[?:?]
        at net.minecraft.world.entity.projectile.AbstractArrow.tick(AbstractArrow.java:241) ~[?:?]
        at net.minecraft.world.entity.projectile.Arrow.tick(Arrow.java:112) ~[?:?]
        at net.minecraft.server.level.ServerLevel.tickNonPassenger(ServerLevel.java:942) ~[?:?]
        at net.minecraft.world.level.Level.guardEntityTick(Level.java:857) ~[?:?]
        at net.minecraft.server.level.ServerLevel.lambda$tick$5(ServerLevel.java:639) ~[?:?]
        at net.minecraft.world.level.entity.EntityTickList.forEach(EntityTickList.java:54) ~[patched_1.17.jar:git-Paper-49]
        at net.minecraft.server.level.ServerLevel.tick(ServerLevel.java:620) ~[?:?]
        at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1551) ~[patched_1.17.jar:git-Paper-49]
        at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:477) ~[patched_1.17.jar:git-Paper-49]
        at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1404) ~[patched_1.17.jar:git-Paper-49]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1180) ~[patched_1.17.jar:git-Paper-49]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:320) ~[patched_1.17.jar:git-Paper-49]
        at java.lang.Thread.run(Thread.java:831) [?:?]
        at java.lang.Thread.run(Thread.java:831) [?:?]
Caused by: java.lang.IllegalArgumentException: Unable to find a method that matches {modifiers=[required: 1000, banned: 0], return=Exact class net.minecraft.network.protocol.game.PacketPlayOutEntityMetadata, params=[{Type: Exact class net.minecraft.network.PacketDataSerializer, Index: 0}], paramCount=1}
        at com.comphenix.protocol.reflect.FuzzyReflection.getMethod(FuzzyReflection.java:174) ~[?:?]
        at com.comphenix.protocol.events.PacketContainer.readObject(PacketContainer.java:323) ~[?:?]
        at jdk.internal.reflect.GeneratedMethodAccessor230.invoke(Unknown Source) ~[?:?]
        at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?]
        at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1224) ~[?:?]
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2378) ~[?:?]
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2212) ~[?:?]
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1689) ~[?:?]
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:495) ~[?:?]
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:453) ~[?:?]
        at com.comphenix.protocol.reflect.cloning.SerializableCloner.clone(SerializableCloner.java:42) ~[?:?]
        ... 59 more

Update checker setting ignored?

Spigot 1.16.1
HE 1.10.9

config.yml

enable-update-check: false

but network log shows

Sun Jun 28 17:40:10 PDT 2020: Intercepted outgoing connection to host 'api.spigotmc.org'
        at net.kitesoftware.holograms.updater.UpdateChecker.lambda$checkUpdates$0(UpdateChecker.java:47)
        at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
        at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1692)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
        at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)

We block these sorts of requests at the network (we have our own automagical update checker). The failed connection produces a Spigot log ERROR

[17:58:56] [Server thread/ERROR]: java.io.IOException: Connect failed
[17:58:58] [ForkJoinPool.commonPool-worker-3/WARN]: java.io.IOException: Connect failed
[17:58:58] [ForkJoinPool.commonPool-worker-3/WARN]: 	at me.lucko.networkinterceptor.interceptors.ProxySelectorInterceptor$LoggingSelector.select(ProxySelectorInterceptor.java:59)
[17:58:58] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1181)
[17:58:58] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081)
[17:58:58] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
[17:58:58] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587)
[17:58:58] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1515)
[17:58:58] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:250)
[17:58:58] [ForkJoinPool.commonPool-worker-3/WARN]: 	at net.kitesoftware.holograms.updater.UpdateChecker.lambda$checkUpdates$0(UpdateChecker.java:47)
[17:58:58] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
[17:58:58] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1692)
[17:58:58] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
[17:58:58] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
[17:58:58] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
[17:58:58] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
[17:58:58] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)

Requests:

  • Update checking should be disabled, per the configuration setting.
  • The error should be caught and handled.

Please advise.

Periods in Placeholders

  • [Y ] You're using the latest build for your server version
  • [Y] This isn't an issue caused by another plugin

Relevant errors:
No errors from what I can tell.

You can't put periods in the placeholder or it will not recognise them.
E.g. I'm using
/papi parse me %luckperms_check_permission_map.snowy%
works perfectly returning the correct thing (notice there is a period here and it works)

However %luckperms_check_permission_map.snowy% is not recognised by holographic extension as something to parse, so it doesn't even attempt to and just displays the raw data.
If I remove the period, holographic extensions works flawlessly and returns the correct thing in the hologram. However, this is a problem for permission nodes with periods in them :P.

Essentially, the problem is periods in placeholders when being used in a hologram.

Thanks in advanced!

ProtocolLib integration

Spigot 1.14
Citizens 2.0.25-b1672
Denizen 1.0.5-b779
HolographicDisplays 2.3.3-b61
HolographicExtension 1.10.6
ProtocolLib 4.5.0-b4

on server start-up

[21:33:18] [Server thread/ERROR]: [HolographicExtension] Unhandled exception occured in onPacketSending(PacketEvent) for HolographicExtension
java.lang.ClassCastException: class java.util.Optional cannot be cast to class java.lang.String (java.util.Optional and java.lang.String are in module java.base of loader 'bootstrap')
        at net.kitesoftware.holograms.listener.PacketPlaceholderListener.replacePlaceholders(PacketPlaceholderListener.java:76) ~[HolographicExtension-1.10.6.jar:?]
        at net.kitesoftware.holograms.listener.PacketPlaceholderListener.onPacketSending(PacketPlaceholderListener.java:46) ~[HolographicExtension-1.10.6.jar:?]
        at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:195) [ProtocolLib-4.5.0-b4.jar:?]
        at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149) [ProtocolLib-4.5.0-b4.jar:?]
        at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:588) [ProtocolLib-4.5.0-b4.jar:?]
        at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:564) [ProtocolLib-4.5.0-b4.jar:?]
        at com.comphenix.protocol.injector.netty.ProtocolInjector.packetQueued(ProtocolInjector.java:338) [ProtocolLib-4.5.0-b4.jar:?]
        at com.comphenix.protocol.injector.netty.ProtocolInjector.onPacketSending(ProtocolInjector.java:298) [ProtocolLib-4.5.0-b4.jar:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector.processSending(ChannelInjector.java:364) [ProtocolLib-4.5.0-b4.jar:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector.access$800(ChannelInjector.java:63) [ProtocolLib-4.5.0-b4.jar:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector$3.handleScheduled(ChannelInjector.java:329) [ProtocolLib-4.5.0-b4.jar:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector$3.onMessageScheduled(ChannelInjector.java:299) [ProtocolLib-4.5.0-b4.jar:?]
        at com.comphenix.protocol.injector.netty.ChannelProxy$2.schedulingRunnable(ChannelProxy.java:127) [ProtocolLib-4.5.0-b4.jar:?]
        at com.comphenix.protocol.injector.netty.EventLoopProxy.execute(EventLoopProxy.java:95) [ProtocolLib-4.5.0-b4.jar:?]
        at net.minecraft.server.v1_14_R1.NetworkManager.b(NetworkManager.java:193) [spigot-1.14.jar-2019-05-05-0756:git-Spigot-1eece4f-84400e6]
        at net.minecraft.server.v1_14_R1.NetworkManager.sendPacket(NetworkManager.java:157) [spigot-1.14.jar-2019-05-05-0756:git-Spigot-1eece4f-84400e6]
        at net.aufdemrand.denizen.nms.impl.packets.handlers.DenizenNetworkManager_v1_14_R1.sendPacket(DenizenNetworkManager_v1_14_R1.java:294) [Denizen-1.0.5-b779.jar:?]
        at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:1419) [spigot-1.14.jar-2019-05-05-0756:git-Spigot-1eece4f-84400e6]
        at net.minecraft.server.v1_14_R1.PlayerConnection.sendPacket(PlayerConnection.java:1392) [spigot-1.14.jar-2019-05-05-0756:git-Spigot-1eece4f-84400e6]
        at net.aufdemrand.denizen.nms.impl.packets.handlers.AbstractListenerPlayIn_v1_14_R1.sendPacket(AbstractListenerPlayIn_v1_14_R1.java:50) [Denizen-1.0.5-b779.jar:?]
        at net.aufdemrand.denizen.nms.impl.packets.handlers.DenizenPacketListener_v1_14_R1.sendPacket(DenizenPacketListener_v1_14_R1.java:47) [Denizen-1.0.5-b779.jar:?]
        at net.minecraft.server.v1_14_R1.PlayerList.a(PlayerList.java:206) [spigot-1.14.jar-2019-05-05-0756:git-Spigot-1eece4f-84400e6]
        at net.minecraft.server.v1_14_R1.LoginListener.c(LoginListener.java:149) [spigot-1.14.jar-2019-05-05-0756:git-Spigot-1eece4f-84400e6]
        at net.minecraft.server.v1_14_R1.LoginListener.tick(LoginListener.java:53) [spigot-1.14.jar-2019-05-05-0756:git-Spigot-1eece4f-84400e6]
        at net.minecraft.server.v1_14_R1.NetworkManager.a(NetworkManager.java:230) [spigot-1.14.jar-2019-05-05-0756:git-Spigot-1eece4f-84400e6]
        at net.minecraft.server.v1_14_R1.ServerConnection.c(ServerConnection.java:119) [spigot-1.14.jar-2019-05-05-0756:git-Spigot-1eece4f-84400e6]
        at net.minecraft.server.v1_14_R1.MinecraftServer.b(MinecraftServer.java:1081) [spigot-1.14.jar-2019-05-05-0756:git-Spigot-1eece4f-84400e6]
        at net.minecraft.server.v1_14_R1.DedicatedServer.b(DedicatedServer.java:396) [spigot-1.14.jar-2019-05-05-0756:git-Spigot-1eece4f-84400e6]
        at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:957) [spigot-1.14.jar-2019-05-05-0756:git-Spigot-1eece4f-84400e6]
        at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:802) [spigot-1.14.jar-2019-05-05-0756:git-Spigot-1eece4f-84400e6]
        at java.lang.Thread.run(Thread.java:834) [?:?]

See also filoghost/HolographicDisplays#134

Placeholder problem with glow

Describe the bug
When using the glow plugin, The placeholder %player_name% won't work when the colours move onto it.

To Reproduce
Steps to reproduce the behavior:

Go to 'Animations.yml'
paste in https://pastebin.com/fMUYA8zx
Try it out
See error
Expected behavior
The playername stays loaded as the PAPI placeholder rather than literally %player_name%.

Screenshots
Minecraft Screenshot 2020 05 06 - 11 11 08 00
Minecraft Screenshot 2020 05 06 - 11 13 12 99

Individual placeholders

Hey there,

I created a hologram with some statistic placeholders (PlayTime, Advancements, Homes, Votes) and when I was creating it, it showed to all players my data (as creator) but they couldn't see their statistics. So.. How can players see (as viewer) their own data from placeholders and not from the creator?

Is this even problem with HolographicExtension or I need to work with PlaceHolderAPI?

Unwanted values in placeholder.

I have added a PlaceHolder from the BetonQuest plugin in a HD and BetonQuest gives me this error in the console:
[BetonQuest] Could not create variable: Variable type "},{"clickEvent":{"action":"open_url","value":"http://globalpoint is not registered
This was the command i used to add the line to the hologram:
/hd addline waitingPlayers {fast}%betonquest_Hungergames:globalpoint.waitingPlayers.amount%

I made sure the placeholder is not broken on BetonQuests side using this PAPI bcparse command which returned the correct result: /papi bcparse SaltyAimbOtter %betonquest_Hungergames:globalpoint.waitingPlayers.amount%

Therefore i guess that some clickEvent metadata is parsed to BetonQuest when the placeholder is read from the HD.

Feature request: configuration to disable update checking

HolographicExtension 1.10.4

Please add configuration option to disable update checks. I have my own homegrown automagical update checker, and I disable unnecessary (by my own standards) outgoing calls at the network level, using NetworkInterceptor. So console/log is spammed with

[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: java.io.IOException: Connect failed
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at me.lucko.networkinterceptor.interceptors.ProxySelectorInterceptor$LoggingSelector.select(ProxySelectorInterceptor.java:59)
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1175)
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1065)
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1063)
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/java.security.AccessController.doPrivileged(Native Method)
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/java.security.AccessController.doPrivilegedWithCombiner(AccessController.java:793)
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1062)
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1581)
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/sun.net.www.protocol.http.HttpURLConnection$9.run(HttpURLConnection.java:1501)
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/sun.net.www.protocol.http.HttpURLConnection$9.run(HttpURLConnection.java:1499)
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/java.security.AccessController.doPrivileged(Native Method)
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/java.security.AccessController.doPrivilegedWithCombiner(AccessController.java:793)
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:245)
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at net.kitesoftware.holograms.updater.UpdateChecker.lambda$checkUpdates$0(UpdateChecker.java:38)
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1692)
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
[08:01:27] [ForkJoinPool.commonPool-worker-3/WARN]: 	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)

Server crashed

Hey!

For some reason HolographicExtension is crashing my Server randomly
It seems like its spamming errors so fast (330k lines in the log in 10 Seconds) so the lobby server is crashing.

https://pastebin.com/n1bMgWGR

Paperspigot 1.8.8

Time placeholders not working when you use time formatt.

When I use time placeholders in holograms they don't work.
For example %server_time_dd.MM.yyyy% or %localtime_time_dd.MM.yyyyy HH:mm%.
I tested it with these 2 expansions and it worked when I used %localtime_time% but it broke when I formatted the time.
Also I made sure to have ProtcolLib, PlaceholderAPI, HolographicDisplay, HolographicExpansion.
So placeholders work until I use a time placeholder that is formatted. Also I made sure to use these as well:
{fastest} - 0.1 seconds.
{fast} - 0.5 seconds
{medium} - 1 seconds
{slow} - 5 seconds
{slowest} - 10 seconds.

PlaceholderAPI 2.10.6-DEV-${build_number} xD
HolographicDisplay 2.4.1
HolographicExtension 1.10.8
ProtocolLib 4.5.0
Server 1.14.4 Paper (latest build for 1.14.4 which is 243)

Error with ProtocolLib

Hi,

I come to report an error, the same error was appear also in a other plugin (WorldChangeScreenRemover), so I have report the error at the author of plugin and and he managed to correct it, here's what he said : "Basically, that error is coming from protocol lib. It seems it doesn't have the unload chunk packet for 1.8 set up correctly. I've released a new update that should get around that issue."

Logs error : https://framabin.org/p/?cff08335dcc88eae#zAPBEEOKRziSlVcYBnYuwYGMwepOqgyBqrsv4dgvH6k=

Broken update-check config

Spigot 1.15.2
HolographicExtension v1.10.9

Despite configuration

enable-update-check: false

on startup

[10:54:06] [ForkJoinPool.commonPool-worker-3/INFO]: [HolographicExtension] A new update is available for download at https://www.spigotmc.org/resources/holographicextension.18461/

This is not true. It is just that SpigotMC hasn't cached the latest value, so still returns 1.10.8.
Please observe the false setting if the installed version is greater than the "update" version.

Humor alternative: implement (and observe) a new setting:

really-disable-update-check-if-operator-knows-what-they-are-doing: true

Periods in Placeholders Not Working

#17 Bumping this, same issue except I'm using a Denizens placeholder: %denizens_<server.flag[dirt]>%. The value of "dirt" here is just the number one (1). Denizens has a debugger and threw the following error:

     Error Message: Tag <"},{"italic":false,"color":"green","clickEvent":{"action":"open_url","value":"http://server.flag[worthof_dirt]> is invalid!

From what I understand from this: The plugin is converting the text into raw JSON containing a URL, when it shouldn't be the case (server.flag is not a URL, it's the placeholder)

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.