AxiomH
Create a premium Minecraft plugin called **AxiomH**. Platform: - Paper 1.21.4 - 1.21.8 - Java 21 - Folia support - Maven project - No compilation errors - Deliver a fully working .jar This must look and feel like a real premium plugin similar to FancyHolograms. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ MAIN FEATURE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Command: /axiomh create <text> Example: /axiomh create [F454&lCFE854&lREDB54&lACCF54&lTBC254&lEYB654&lS The hologram is created exactly where the player is looking using ray tracing. If looking at a block:
Read the full description
Spawn slightly above that block. If looking into the air: Spawn 5 blocks in front of the player. The hologram never moves after being created. Supports: ✔ Unlimited lines ✔ Unlimited text length ✔ HEX colors ✔ RGB ✔ Legacy colors ✔ MiniMessage ✔ Gradients ✔ Bold ✔ Italic ✔ Underline ✔ Strikethrough ✔ Obfuscated text Black background behind text. Visibility distance: 100 blocks. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ COMMAND SYSTEM ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Create a professional command system exactly like a premium plugin. Base command: /axiomh Subcommands: /axiomh help /axiomh create <text> /axiomh delete <id> /axiomh remove <id> /axiomh edit <id> /axiomh rename <id> <text> /axiomh addline <id> <text> /axiomh removeline <id> <line> /axiomh setline <id> <line> <text> /axiomh move <id> /axiomh teleport <id> /axiomh tp <id> /axiomh list /axiomh nearby /axiomh reload /axiomh info <id> Every command must: ✔ Have permissions ✔ Have tab completion ✔ Have usage messages ✔ Have success messages ✔ Have error messages ✔ Validate arguments ✔ Never throw console errors Example: /axiomh help Shows: ━━━━━━━━━━━━━━━━━━ AxiomH Commands ━━━━━━━━━━━━━━━━━━ /axiomh create <text> Create a hologram. /axiomh delete <id> Delete a hologram. /axiomh edit <id> Open editor GUI. /axiomh move <id> Move hologram. /axiomh tp <id> Teleport to hologram. /axiomh list List all holograms. /axiomh reload Reload configuration. ━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ GUI ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Beautiful modern inventory GUI. Edit: Rename Edit text Add line Remove line Duplicate Delete Animations Visibility Background Preview ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ PERMISSIONS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ axiomh.admin axiomh.help axiomh.create axiomh.delete axiomh.edit axiomh.move axiomh.teleport axiomh.reload axiomh.list ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ PERFORMANCE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Extremely optimized. Support over 10,000 holograms. Chunk loading. Async loading. Async saving. SQLite. Optional MySQL. Memory cache. Zero lag. Folia compatible. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CONFIG ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ config.yml messages.yml database.yml animations.yml Support hot reload. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ PLUGIN QUALITY ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Write production-quality Java code. Use clean OOP architecture. Split classes correctly. No code duplication. No memory leaks. No deprecated Paper API. No warnings. No placeholder code. No TODOs. Generate a complete premium-quality plugin identical in quality to FancyHolograms, with every command fully functional, a professional help menu, proper permissions, tab completion, configuration files, and build a fully working .jar.
package eu.codexe.axiomh;
import eu.codexe.axiomh.commands.AxiomHCommand;
import eu.codexe.axiomh.gui.HologramEditorGui;
import eu.codexe.axiomh.listeners.PlayerJoinListener;
import eu.codexe.axiomh.managers.ConfigManager;
import eu.codexe.axiomh.managers.HologramManager;
import eu.codexe.axiomh.managers.MessageManager;
import eu.codexe.axiomh.storage.StorageManager;
import eu.codexe.axiomh.storage.StorageType;
import eu.codexe.axiomh.storage.YamlStorage;
import eu.codexe.axiomh.storage.SqliteStorage;
import eu.codexe.axiomh.utils.CommandRegistry;
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
public final class AxiomHPlugin extends JavaPlugin {
private ConfigManager configManager;
private MessageManager messageManager;
private StorageManager storageManager;
private HologramManager hologramManager;
private HologramEditorGui editorGui;
@Override
public void onEnable() {
saveDefaultConfig();
saveResource("database.yml", false);
saveResource("animations.yml", false);
this.configManager = new ConfigManager(this);
this.messageManager = new MessageManager(this);
this.storageManager = createStorage();
this.hologramManager = new HologramManager(this, storageManager);
this.editorGui = new HologramEditorGui(this, hologramManager);
storageManager.load();
hologramManager.loadAll();
AxiomHCommand command = new AxiomHCommand(this, hologramManager, editorGui);
CommandRegistry.register(this, "axiomh", command);
Bukkit.getPluginManager().registerEvents(new PlayerJoinListener(hologramManager), this);
getLogger().info("AxiomH enabled.");
}
@Override
public void onDisable() {
if (hologramManager != null) {
hologramManager.shutdown();
}
if (storageManager != null) {
storageManager.shutdown();
}
}
public void reloadAll() {
reloadConfig();
configManager.reload();