### Create a Hologram with a Text Line (Java) Source: https://github.com/filoghost/holographicdisplays/wiki/Basic-tutorial This Java code demonstrates how to obtain the HolographicDisplays API instance and create a basic hologram with a single line of text. It shows how to get the API, create the hologram at a specific location, and add a text line to it. ```Java Plugin plugin = ... // Your plugin's instance Location where = ... // The location where the hologram will be placed HolographicDisplaysAPI api = HolographicDisplaysAPI.get(plugin); // The API instance for your plugin Hologram hologram = api.createHologram(plugin, where); TextHologramLine textLine = hologram.getLines().appendText("A hologram line"); ``` -------------------------------- ### Add HolographicDisplays as Soft Dependency (YAML) Source: https://github.com/filoghost/holographicdisplays/wiki/Basic-tutorial This YAML snippet shows how to declare HolographicDisplays as a soft dependency in a plugin's plugin.yml file. This allows the server to start even if HolographicDisplays is not present, preventing errors. ```YAML softdepend: [HolographicDisplays] ``` -------------------------------- ### Insert and Modify ItemLine Source: https://github.com/filoghost/holographicdisplays/wiki/Changing-the-lines Inserts a new ItemLine with a bedrock ItemStack at the beginning of the hologram and then changes it to a grass ItemStack. This showcases insertItem and modifying an ItemLine. ```Java ItemLine itemLine = hologram.getLines().insertItem(0, new ItemStack(Material.BEDROCK)); itemLine.setItemStack(new ItemStack(Material.GRASS)); ``` -------------------------------- ### Get VisibilitySettings for a Hologram Source: https://github.com/filoghost/holographicdisplays/wiki/Individual-holograms Retrieves the VisibilitySettings object for a given hologram, allowing for dynamic visibility control. Requires the HolographicDisplaysAPI and a hologram instance. ```java HolographicDisplaysAPI api = HolographicDisplaysAPI.get(plugin); Hologram hologram = api.createHologram(player.getLocation()); VisibilitySettings visibilitySettings = hologram.getVisibilitySettings(); ``` -------------------------------- ### Add Lines to Hologram Source: https://github.com/filoghost/holographicdisplays/wiki/Changing-the-lines Adds five numbered lines to an existing Hologram object. This demonstrates the basic appendText method. ```Java for (int i = 1; i <= 5; i++) { hologram.getLines().appendText(Integer.toString(i)); } ``` -------------------------------- ### Create Power-Up Hologram with Pickup Handler (Java) Source: https://github.com/filoghost/holographicdisplays/wiki/Power-Ups This snippet demonstrates creating a power-up hologram that grants fire resistance to a player upon pickup. It utilizes the HolographicDisplaysAPI to create a hologram with text and an item, and sets a pickup listener to handle player interaction. ```Java Location where = ... // Suppose you have a random location in your minigame String text = ChatColor.GOLD + "" + ChatColor.BOLD + "Fire Resistance"; ItemStack icon = new ItemStack(Material.BLAZE_POWDER); HolographicDisplaysAPI api = HolographicDisplaysAPI.get(this); final Hologram hologram = api.createHologram(where.add(0.0, 0.6, 0.0)); hologram.getLines().appendText(text); ItemHologramLine itemLine = hologram.getLines().appendItem(icon); itemLine.setPickupListener((HologramLinePickupEvent pickupEvent) -> { Player player = pickupEvent.getPlayer(); // Play a sound player.playSound(player.getLocation(), Sound.LEVEL_UP, 1F, 2F); // Play an effect player.playEffect(hologram.getLocation(), Effect.MOBSPAWNER_FLAMES, null); // 1 minute of fire resistance player.addPotionEffect(new PotionEffect(PotionEffectType.FIRE_RESISTANCE, 60 * 20, 0)); // Delete the hologram hologram.delete(); }); ``` -------------------------------- ### Remove and Append Item Source: https://github.com/filoghost/holographicdisplays/wiki/Changing-the-lines Removes the last line from the hologram and appends a new ItemLine with a sponge ItemStack. This demonstrates removing a line by index and appending a new item. ```Java hologram.getLines().remove(hologram.size() - 1); // Remember how arrays work, it's the same here hologram.getLines().appendItem(new ItemStack(Material.SPONGE)); ``` -------------------------------- ### Check HolographicDisplays Plugin Status (Java) Source: https://github.com/filoghost/holographicdisplays/wiki/Basic-tutorial This Java code snippet demonstrates how to check if the HolographicDisplays plugin is enabled on a Bukkit server. It includes logic to disable the current plugin if HolographicDisplays is not found, or to set a flag indicating its availability. ```Java @Override public void onEnable() { if (!Bukkit.getPluginManager().isPluginEnabled("HolographicDisplays")) { getLogger().severe("*** HolographicDisplays is not installed or not enabled. ***"); getLogger().severe("*** This plugin will be disabled. ***"); this.setEnabled(false); return; } // ... } ``` ```Java private boolean useHolographicDisplays; @Override public void onEnable() { useHolographicDisplays = Bukkit.getPluginManager().isPluginEnabled("HolographicDisplays"); // ... } ``` -------------------------------- ### Hologram Line Return Types (Java) Source: https://github.com/filoghost/holographicdisplays/wiki/Basic-tutorial This Java code illustrates the return types when adding or inserting lines into a hologram. It shows that methods like `appendText` and `insertText` return `TextHologramLine` objects, while `appendItem` and `insertItem` return `ItemHologramLine` objects. ```Java TextHologramLine textLine1 = hologram.getLines().appendText("..."); TextHologramLine textLine2 = hologram.getLines().insertText(0, "..."); ItemHologramLine itemLine1 = hologram.getLines().appendItem(new ItemStack(Material.STONE)); ItemHologramLine itemLine2 = hologram.getLines().insertItem(0, new ItemStack(Material.STONE)); ``` -------------------------------- ### Set Individual Player Hologram Visibility Source: https://github.com/filoghost/holographicdisplays/wiki/Individual-holograms Allows setting specific visibility rules for individual players, overriding the global setting. Requires a player object and a visibility state (VISIBLE/HIDDEN). ```java visibilitySettings.setGlobalVisibility(Visibility.HIDDEN); visibilitySettings.setIndividualVisibility(player, Visibility.VISIBLE); ``` -------------------------------- ### Reset Hologram Visibility Settings Source: https://github.com/filoghost/holographicdisplays/wiki/Individual-holograms Resets a hologram's visibility to its default state by clearing all individual player-specific settings and setting global visibility back to visible. ```java visibilitySettings.setGlobalVisibility(Visibility.VISIBLE); visibilitySettings.clearIndividualVisibilities(); ``` -------------------------------- ### Set Global Hologram Visibility Source: https://github.com/filoghost/holographicdisplays/wiki/Individual-holograms Controls the default visibility of a hologram for all players. Can be set to VISIBLE or HIDDEN. ```java visibilitySettings.setGlobalVisibility(Visibility.HIDDEN); // or visibilitySettings.setGlobalVisibility(Visibility.VISIBLE); ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.