{"id":23722799,"url":"https://github.com/fulminazzo/fulmichat","last_synced_at":"2026-05-20T05:41:42.508Z","repository":{"id":187709276,"uuid":"653881986","full_name":"fulminazzo/FulmiChat","owner":"fulminazzo","description":"FulmiChat is a formatter plugin with emoji, item, mentioning and moderation capabilities.","archived":false,"fork":false,"pushed_at":"2023-08-11T13:41:30.000Z","size":45,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-05-30T18:21:25.264Z","etag":null,"topics":["bukkit","minecraft","minecraft-plugin","plugin","spigot","spigot-plugin"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fulminazzo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-06-15T00:27:13.000Z","updated_at":"2023-08-11T13:42:14.000Z","dependencies_parsed_at":"2023-08-11T21:26:31.049Z","dependency_job_id":null,"html_url":"https://github.com/fulminazzo/FulmiChat","commit_stats":null,"previous_names":["fulminazzo/fulmichat"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fulminazzo/FulmiChat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fulminazzo%2FFulmiChat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fulminazzo%2FFulmiChat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fulminazzo%2FFulmiChat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fulminazzo%2FFulmiChat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fulminazzo","download_url":"https://codeload.github.com/fulminazzo/FulmiChat/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fulminazzo%2FFulmiChat/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267057169,"owners_count":24028790,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-25T02:00:09.625Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bukkit","minecraft","minecraft-plugin","plugin","spigot","spigot-plugin"],"created_at":"2024-12-30T23:56:53.611Z","updated_at":"2026-05-20T05:41:42.461Z","avatar_url":"https://github.com/fulminazzo.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FulmiChat\nFulmiChat is a simple chat plugin that allows some functionalities with given permissions to the chat.\n\n| Table of Contents |\n|-------------------|\n| [Config](#Config) |\n| [API](#API)       |\n\n## Config\nThe configuration file is divided into four sections:\n\n| Config Contents                 |\n|---------------------------------|\n| [ModerationGUI](#ModerationGUI) |\n| [Placeholders](#Placeholders)   |\n| [PlayerMention](#PlayerMention) |\n| [Emojis](#Emojis)               |\n\n### ModerationGUI\nA GUI to moderate a given player.\nUsers with permission \u003cb\u003efulmichat.mod\u003c/b\u003e will have access to the custom \u003ci\u003echeck\u003c/i\u003e in chat and to command `/moderate \u003cplayer-nane\u003e`.\nHere's an example configuration:\n```yaml\nmoderation-gui:\n  # The title of the GUI. \n  # %target% will be replaced with the player name\n  title: \"\u00264%target% \u0026cGUI\"\n  # The symbol that should appear next every player\n  # message in chat. Can be anything.\n  check: \"\u0026c[✓]\"\n  # A list of items to appear in the GUI.\n  # The GUI is auto-resizable, meaning that it\n  # if you specify more than 10 slots, it will auto-resize\n  # to 18, if you specify more than 19, it will\n  # auto-resize to 27 and so on...\n  items:\n    # The slot of the item.\n    0:\n      # The item type (check https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html\n      # for a full list).\n      material: DIAMOND_AXE\n      # The amount of the item.\n      amount: 1\n      # The display name. Set \"\" to disable.\n      display-name: \"\u0026cBan \u00264%target%\"\n      lore: []\n      # A list containing all the enchantments of\n      # the item. Format: \u003cenchant\u003e: \u003clevel\u003e\n      enchantments:\n        mending: 1\n        sharpness: 5\n        unbreaking: 3\n        # NOTE: DON'T FORGET THIS VALUE, IT IS REQUIRED!\n        value-class: java.lang.Integer\n      # The command to be executed when clicking on the item.\n      command: \"ban %target% The ban hammer has spoken!\"\n      # The action to be done when clicking on the item.\n      # For now you can only specify \"close\".\n      action: \"close\"\n    1:\n      material: DIAMOND_SHOVEL\n      amount: 1\n      display-name: \"\u0026cMute \u00264%target%\"\n      lore: []\n      enchantments: {}\n      command: \"mute %target% Muted by %issuer%\"\n      action: \"close\"\n    8:\n      material: BARRIER\n      amount: 1\n      display-name: \"\u0026cClose GUI\"\n      lore: []\n      enchantments: {}\n      action: \"close\"\n```\n\n### Placeholders\nThe plugin offers various placeholders to be replaced with certain elements. Here is a list with all the available ones:\n- _item-placeholder_: replaces with the current held item in hand;\n- _inventory-placeholder_: replaces with the inventory of the player;\n- _ender-placeholder_: replaces with the enderchest of the player;\n- _chest-placeholder_: replaces with the container the player is looking at (for example a chest, a dispenser or a shulkerbox);\n- _ping-placeholder_: replaces with the player's current ping;\nYou can specify every placeholder and replacement in the config.yml, for example:\n```yaml\nitem-placeholder:\n    - \"[item]\"\n    - \"[i]\"\nitem-placeholder-parsed: \"\u00268[%item%\u00268]\"\n```\nmeans that ```[item]``` and ```[i]``` typed in chat will be replaced with the item held by the player in the format of ```\u00268[\u003cThe item\u003e\u00268]```.\nAlso, except from _ping-placeholder_, every other is clickable and will open up a GUI with specific items. If the item is a shulkerbox, the player can view its contents by clicking on it.\n\n### PlayerMention\nWhen typing the name of a player in a certain format (specified in \u003ci\u003eplayer-mention\u003c/i\u003e), this will be replaced with the format in \u003ci\u003eplayer-mention-parsed\u003c/i\u003e.\nThis can only happen if the player has the permission \u003cb\u003efulmichat.mention\u003c/b\u003e.\nAlso, the specified player will receive a sound (see \u003ci\u003eplayer-mention-sound\u003c/i\u003e), for a full list check [Bukkit Sound](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html).\n\u003cbr\u003e\u003cb\u003eNOTE:\u003c/b\u003e in previous versions of Minecraft sound worked differently. If you receive an error after setting the sound, try looking for \"Minecraft %version% Spigot Sound\" on Google.\n\n### Emojis\nFulmiChat provides a custom emoji system to your server.\u003cbr\u003e\nEvery emoji belongs to a group (if none is specified, default will be used), meaning that a player has access to the emojis of a group only if she/he has permission \u003cb\u003efulmichat.group.%groupname%\u003c/b\u003e.\nThe plugin looks for an emoticon in the player's message and replaces it with one of the available given emojis.\n\u003cbr\u003eHere's an example configuration:\n```yaml\n  # The name of the group.\n  default:\n    # The name of the emoji (irrelevant).\n    heart:\n      # The emoticons to be parsed. Can be a string or a list.\n      emoticon: \n      - '\u003c3'\n      - ':heart:'\n      # The emoji to be used when parsing. Can be a string or a list.\n      emoji: \n      - '\u0026a❤'\n      - '\u0026b❤'\n      - '\u0026c❤'\n      - '\u0026d❤'\n      - '\u0026e❤'\n    star:\n      emoticon: ':star:'\n      emoji: '\u00266✮'\n```\n\n\u003cbr\u003eFinally, even if it is not advised, the plugin provides a color chat permission: \u003cb\u003efulmichat.colored-chat\u003c/b\u003e.\n\n## API\nSince to work, FulmiChat replaces every chat message with a ComponentBuilder, the [AsyncPlayerChatEvent](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/player/AsyncPlayerChatEvent.html) will not be available to developers anymore.\nInstead, it is given a FulmiChatPlayerEvent to handle this situations. Here's an example:\n\n```java\npackage it.fulminazzo.testplugin;\n\nimport org.bukkit.event.EventHandler;\nimport org.bukkit.event.Listener;\nimport it.fulminazzo.fulmichat.API.FulmiChatPlayerEvent;\n\npublic class PlayerListener implements Listener {\n    \n    @EventHandler\n    public void onPlayerChat(FulmiChatPlayerEvent event) {\n        event.setChatMessage(new TextComponent(\"Hello world\"));\n        event.getRecipients().removeIf(r -\u003e r.getName().equals(\"Fulminazzo\"));\n        event.setCancelled(false);\n    }\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffulminazzo%2Ffulmichat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffulminazzo%2Ffulmichat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffulminazzo%2Ffulmichat/lists"}