Bug Report
A simple bug report plugin with GUI to manage player reports.
Bug Report
Bug Report
What is Bug Report?
Bug Report is a tool that helps server owners manage any bugs found by players which can then be accessed by a GUI. This is especially helpful as information about the player is stored as soon as they submit a bug report. Information collected when a bug report is submitted is as follows: 1. Server Name 2. Player Name 3. Player's UUID 4. Current World Name 5. Full Message 6. Category ID (If the option is turned on) 7. Status (Can be customized using a GUI) 8. Date & Time 9. Player's Location 10. Player's Game Mode You can archive/unarchive/delete bug reports, customize the "Bug Report Details" GUI, customize all of the statuses, language selector and more!
Commands
- buglinkdiscord <Webhook URL> - Adds a new bug report either via message or a GUI for the categories. - buglinkdiscord <Webhook URL> - This shows a GUI with all the reports made on the settings page. - buglinkdiscord <Webhook URL> - This shows the Bug List Settings GUI. - buglinkdiscord <Webhook URL> - See all of the bug reports that have been archived in a GUI. - buglinkdiscord <Webhook URL> - Links a Discord Webhook to send all Bug Reports to.
Command Aliases
- /bld <Webhook URL> (/bugreport <Message>) - /bld <Webhook URL> (/buglist) - /bld <Webhook URL> (/buglistarchived) - /bld <Webhook URL> (/buglistsettings) - /bld <Webhook URL> (/buglinkdiscord <Webhook URL>)
Permissions
- bugreport.admin - Allows the player to manage bug reports - bugreport.notify - Receive notifications for bug reports - bugreport.archived - Allows the player to access the archived bug reports - bugreport.settings - Allows the player to access and change the settings of the plugin - bugreport.list - Allows the player to access the list of bug reports - bugreport.use - Allows the player to use the bug report command - bugreport.archive - Allows the player to archive bug reports - bugreport.delete - Allows the player to delete bug reports
Plan Support
Bug Report now supports the Plan API. To use Bug Report with Plan, you will need to install Plan onto your Spigot Server and it should set up everything automatically.
Custom GUI Support
Bug Report now supports the ability to customize GUIs, to customize a GUI simply navigate to the `custom_bug_report_details_GUI.yml` file and then choose whatever style GUI you would like. This is currently in BETA so bugs are likely to be found. YML file is below: ```yaml
Slots always start from 0 and go up to the max guiSize value.
The list of valid bugReportItem instances are
BugReporter, BugReportUUID, BugReportWorld, BugReportMessage, BugReportCategory, BugReportStatus, BugReportTimestamp
BugReportLocation, BugReportGamemode, BugReportArchive, BugReportBack, BugReportDelete, BugReportServerName
Any of these items can have a texture, the list of textures can be obtained from here: https://minecraft-heads.com/custom-heads
Then select the "Value" under the "For Developers:" section and paste it in the texture field.
The only material that accepts an array of materials is BugReportStatus. Any other bugReportItem won't accept this type!
The list of all items that can have a texture are:
BugReportUUID, BugReportWorld, BugReportMessage
BugReportCategory, BugReportTimestamp, BugReportLocation
BugReportGamemode, BugReportArchive, BugReportDelete, BugReportServerName
BugReportStatus will be terminated if a custom status is provided.
bug_report_details_GUI: guiSize: 45 # The GUI size can be between 9 and 54 but has to be a multiple of 9. items: - slot: 0 bugReportItem: BugReportServerName material: DIAMOND texture: "" - slot: 2 bugReportItem: BugReporter material: PLAYER_HEAD # For player texture, use %player_texture%. Only works for BugReporter. texture: "%player_texture%" - slot: 4 bugReportItem: BugReportUUID material: NAME_TAG texture: "" - slot: 6 bugReportItem: BugReportWorld material: GRASS_BLOCK texture: "" - slot: 8 bugReportItem: BugReportMessage material: PAPER texture: "" - slot: 18 bugReportItem: BugReportCategory material: CHEST texture: "" - slot: 20 bugReportItem: BugReportStatus material: [ LIME_DYE, RED_DYE ] # First item is Active, Second is Archived - slot: 22 bugReportItem: BugReportTimestamp material: CLOCK texture: "" - slot: 24 bugReportItem: BugReportLocation material: COMPASS texture: "" - slot: 26 bugReportItem: BugReportGamemode material: DIAMOND_SWORD texture: "" - slot: 38 # For BugReportArchive and BugReportUnArchive, only one will ever show depending on the GUI. The other will be hidden. bugReportItem: BugReportUnArchive material: PLAYER_HEAD texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDVjNTg4YjllYzBhMDhhMzdlMDFhODA5ZWQwOTAzY2MzNGMzZTNmMTc2ZGM5MjIzMDQxN2RhOTNiOTQ4ZjE0OCJ9fX0=" - slot: 38 bugReportItem: BugReportArchive material: PLAYER_HEAD texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2Y5YjY3YmI5Y2MxYzg4NDg2NzYwYjE3MjY1MDU0MzEyZDY1OWRmMmNjNjc1NTc1MDA0NWJkNzFjZmZiNGU2MCJ9fX0=" - slot: 40 bugReportItem: BugReportBack material: BARRIER - slot: 42 bugReportItem: BugReportDelete material: PLAYER_HEAD texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYmUwZmQxMDE5OWU4ZTRmY2RhYmNhZTRmODVjODU5MTgxMjdhN2M1NTUzYWQyMzVmMDFjNTZkMThiYjk0NzBkMyJ9fX0 ```
Placeholder API Support
Bug Report now supports Placeholder API, the keys for Bug Report are the following with more to come in the future.
%bugreports_totalBugReports% - (Returns the total amount of non-archived bug reports) %bugreports_totalArchivedBugReports% - (Returns the total amount of non-archived bug reports) %bugreports_totalNonArchivedBugReports% - (Returns the total amount of non-archived bug reports)
Discord Support
If you need any support or have features you want to be added to Bug Report, you can join the Discord here - https://discord.gg/jXsV3xQJD4.
Example Main Config File
```yaml webhookURL: https://discord.com/api/webhooks/
enableDiscordWebhook: false enablePluginReportBook: false enableBugReportNotifications: true
Either one of them has to be true, they both can not be true at the same time
enablePluginReportCategoriesGUI: false # Set to true if you want a category selection GUI after doing /bugreport enablePluginReportCategoriesTabComplete: false # Set to true if you want a category tab completion after doing /bugreport. No GUI will open
language: en_US
update-checker: true update-checker-join: true
# Available placeholders:
#
Aqua, Black, Blue, Dark_Aqua, Dark_Blue
Dark_Gray, Dark_Green, Dark_Purple, Dark_Red
Gold, Gray, Green, Light_Purple, Red, White, Yellow
discordEmbedColor: Green discordEmbedTitle: New Bug Report discordEmbedFooter: Bug Report v0.12.3 discordEmbedThumbnail: https://www.spigotmc.org/data/resource_icons/110/110732.jpg discordEnableThumbnail: true discordEnableUserAuthor: true discordIncludeDate: true
If you want to ping a role or a member, you can add them here. You can add multiple roles and members.
The role or member will be pinged in the message you set in discordPingMessage.
You don't need to add the "<@" or "<@&" characters to the role or member. They will be added automatically.
discordPingMessage: A new Bug Report has been submitted discordEnablePing: true
discordPingMembers: - ' ' discordPingRoles: - ' '
enableBungeeCordSendMessage: true enableBungeeCordReceiveMessage: true
useTitleInsteadOfMessage: false enablePlayerHeads: true refreshPlayerHeadCache: 1d # Default, 1m, 1h, 1d, 1w, 1mo, 1y
metrics: true # Enables or disables metrics serverName: "My Server"
max-reports-per-player: 25 # 0 = unlimited report-confirmation-message: Thanks for submitting a report! bug-report-cooldown: 0 # 0 = disabled
# Available placeholders:
#
Aqua, Black, Blue, Dark_Aqua, Dark_Blue
Dark_Gray, Dark_Green, Dark_Purple, Dark_Red
Gold, Gray, Green, Light_Purple, Red, White, Yellow
pluginColor: Yellow
You are able to use & for color codes such as "&8[&6Bug Report&8]&9".
For a list of color codes, visit https://htmlcolorcodes.com/minecraft-color-codes (Format Codes will NOT work!)
This will override the pluginColor option.
pluginTitle: '[Bug Report]'
This can either be "mysql" or "local".
If you choose "mysql", you must fill out the database section below.
If you choose "local", no configuration is required.
databaseType: local database: host: localhost port: 3306 database: database username: root password: password
Placeholders via PlaceholderAPI are allowed to be used in the discordEmbedFields.
E.g: You can create a field with the biome of the player, where the bugreport was created.
Choose for the value: "%player_biome%" (without ""). This works with any other Placeholder supported by PlaceholderAPI.
discordEmbedFields: - name: "Username" id: 1 value: "%report_username%" inline: true - name: "UUID" id: 2 value: "%report_uuid%" inline: true - name: "World" id: 3 value: "%report_world%" inline: true - name: "Location (X, Y, Z)" id: 4 value: "%report_location%" inline: true - name: "Gamemode" id: 5 value: "%report_gamemode%" inline: true - name: "Status" id: 6 value: "%report_status%" inline: true - name: "Category" id: 7 value: "%report_category%" inline: true - name: "Sever Name" id: 8 value: "%report_server_name%" inline: true - name: "Full Message" id: 9 value: "%report_full_message%" inline: false
reportCategories: - name: Plugin Bug id: 1 description: Report a bug with a plugin item: minecraft:book color: red - name: Server Bug id: 2 description: Report a bug with the server item: minecraft:emerald color: green - name: Resource Bug id: 3 description: Report a bug with the resource pack item: minecraft:map color: blue - name: Other id: 4 description: Report something else item: minecraft:paper color: yellow
statuses: - name: Open description: Report is open icon: minecraft:green_dye color: GREEN id: 1 - name: Archived description: Report is archived icon: minecraft:red_dye color: RED id: 2 - name: Pending description: Report is pending icon: minecraft:yellow_dye color: YELLOW id: 3 - name: Ignored description: Report is ignored icon: minecraft:white_dye color: WHITE id: 4 ```
Languages File
The new languages files can be viewed here - https://github.com/ItsLeon15/Bug-Reports/tree/main/src/main/resources/languages
Metrics Collection
Bug Report uses plugins/bStats/config.yml to collect anonymous statistics about servers. If you would like to disable metrics collection, you can do so by editing the plugins/bStats/config.yml file.