mirror of
https://github.com/FancyInnovations/FancyPlugins.git
synced 2025-12-06 07:43:36 +00:00
fancyholograms: Optimize hologram updates by submitting tasks to the hologram thread on player events
This commit is contained in:
@@ -44,24 +44,30 @@ public final class PlayerListener implements Listener {
|
|||||||
|
|
||||||
@EventHandler(priority = EventPriority.MONITOR)
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
public void onJoin(@NotNull final PlayerJoinEvent event) {
|
public void onJoin(@NotNull final PlayerJoinEvent event) {
|
||||||
for (final var hologram : this.plugin.getHologramsManager().getHolograms()) {
|
FancyHolograms.get().getHologramThread().submit(() -> {
|
||||||
hologram.forceHideHologram(event.getPlayer());
|
for (final var hologram : this.plugin.getHologramsManager().getHolograms()) {
|
||||||
hologram.forceUpdateShownStateFor(event.getPlayer());
|
hologram.forceHideHologram(event.getPlayer());
|
||||||
}
|
hologram.forceUpdateShownStateFor(event.getPlayer());
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.MONITOR)
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
public void onTeleport(@NotNull final PlayerTeleportEvent event) {
|
public void onTeleport(@NotNull final PlayerTeleportEvent event) {
|
||||||
for (final Hologram hologram : this.plugin.getHologramsManager().getHolograms()) {
|
FancyHolograms.get().getHologramThread().submit(() -> {
|
||||||
hologram.forceUpdateShownStateFor(event.getPlayer());
|
for (final Hologram hologram : this.plugin.getHologramsManager().getHolograms()) {
|
||||||
}
|
hologram.forceUpdateShownStateFor(event.getPlayer());
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.MONITOR)
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
public void onWorldChange(@NotNull final PlayerChangedWorldEvent event) {
|
public void onWorldChange(@NotNull final PlayerChangedWorldEvent event) {
|
||||||
for (final Hologram hologram : this.plugin.getHologramsManager().getHolograms()) {
|
FancyHolograms.get().getHologramThread().submit(() -> {
|
||||||
hologram.forceUpdateShownStateFor(event.getPlayer());
|
for (final Hologram hologram : this.plugin.getHologramsManager().getHolograms()) {
|
||||||
}
|
hologram.forceUpdateShownStateFor(event.getPlayer());
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.MONITOR)
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
@@ -83,9 +89,11 @@ public final class PlayerListener implements Listener {
|
|||||||
// Removing player from the map, as they're no longer needed here.
|
// Removing player from the map, as they're no longer needed here.
|
||||||
loadingResourcePacks.remove(playerUniqueId);
|
loadingResourcePacks.remove(playerUniqueId);
|
||||||
// Refreshing holograms as to make sure custom textures are loaded.
|
// Refreshing holograms as to make sure custom textures are loaded.
|
||||||
for (final Hologram hologram : this.plugin.getHologramsManager().getHolograms()) {
|
FancyHolograms.get().getHologramThread().submit(() -> {
|
||||||
hologram.refreshHologram(event.getPlayer());
|
for (final Hologram hologram : this.plugin.getHologramsManager().getHolograms()) {
|
||||||
}
|
hologram.refreshHologram(event.getPlayer());
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,10 +35,12 @@ public final class PlayerListener implements Listener {
|
|||||||
|
|
||||||
@EventHandler(priority = EventPriority.MONITOR)
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
public void onJoin(@NotNull final PlayerJoinEvent event) {
|
public void onJoin(@NotNull final PlayerJoinEvent event) {
|
||||||
for (final var hologram : this.plugin.getRegistry().getAll()) {
|
FancyHologramsPlugin.get().getHologramThread().submit(() -> {
|
||||||
hologram.removeViewer(event.getPlayer().getUniqueId());
|
for (final var hologram : this.plugin.getRegistry().getAll()) {
|
||||||
FancyHologramsPlugin.get().getController().refreshHologram(hologram, event.getPlayer());
|
hologram.removeViewer(event.getPlayer().getUniqueId());
|
||||||
}
|
FancyHologramsPlugin.get().getController().refreshHologram(hologram, event.getPlayer());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
if (!this.plugin.getHologramConfiguration().areVersionNotificationsMuted() && event.getPlayer().hasPermission("fancyholograms.admin")) {
|
if (!this.plugin.getHologramConfiguration().areVersionNotificationsMuted() && event.getPlayer().hasPermission("fancyholograms.admin")) {
|
||||||
FancyHologramsPlugin.get().getHologramThread().submit(() -> FancyHologramsPlugin.get().getVersionConfig().checkVersionAndDisplay(event.getPlayer(), true));
|
FancyHologramsPlugin.get().getHologramThread().submit(() -> FancyHologramsPlugin.get().getVersionConfig().checkVersionAndDisplay(event.getPlayer(), true));
|
||||||
@@ -57,17 +59,21 @@ public final class PlayerListener implements Listener {
|
|||||||
|
|
||||||
@EventHandler(priority = EventPriority.MONITOR)
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
public void onTeleport(@NotNull final PlayerTeleportEvent event) {
|
public void onTeleport(@NotNull final PlayerTeleportEvent event) {
|
||||||
for (final Hologram hologram : this.plugin.getRegistry().getAll()) {
|
FancyHologramsPlugin.get().getHologramThread().submit(() -> {
|
||||||
FancyHologramsPlugin.get().getController().refreshHologram(hologram, event.getPlayer());
|
for (final Hologram hologram : this.plugin.getRegistry().getAll()) {
|
||||||
}
|
FancyHologramsPlugin.get().getController().refreshHologram(hologram, event.getPlayer());
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.MONITOR)
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
public void onWorldChange(@NotNull final PlayerChangedWorldEvent event) {
|
public void onWorldChange(@NotNull final PlayerChangedWorldEvent event) {
|
||||||
for (final Hologram hologram : this.plugin.getRegistry().getAll()) {
|
FancyHologramsPlugin.get().getHologramThread().submit(() -> {
|
||||||
hologram.removeViewer(event.getPlayer().getUniqueId());
|
for (final Hologram hologram : this.plugin.getRegistry().getAll()) {
|
||||||
FancyHologramsPlugin.get().getController().refreshHologram(hologram, event.getPlayer());
|
hologram.removeViewer(event.getPlayer().getUniqueId());
|
||||||
}
|
FancyHologramsPlugin.get().getController().refreshHologram(hologram, event.getPlayer());
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.MONITOR)
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
@@ -89,9 +95,11 @@ public final class PlayerListener implements Listener {
|
|||||||
// Removing player from the map, as they're no longer needed here.
|
// Removing player from the map, as they're no longer needed here.
|
||||||
loadingResourcePacks.remove(playerUniqueId);
|
loadingResourcePacks.remove(playerUniqueId);
|
||||||
// Refreshing holograms as to make sure custom textures are loaded.
|
// Refreshing holograms as to make sure custom textures are loaded.
|
||||||
for (final Hologram hologram : this.plugin.getRegistry().getAll()) {
|
FancyHologramsPlugin.get().getHologramThread().submit(() -> {
|
||||||
FancyHologramsPlugin.get().getController().refreshHologram(hologram, event.getPlayer());
|
for (final Hologram hologram : this.plugin.getRegistry().getAll()) {
|
||||||
}
|
FancyHologramsPlugin.get().getController().refreshHologram(hologram, event.getPlayer());
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
2.7.0.288
|
2.7.0.289
|
||||||
Reference in New Issue
Block a user