From 098ef9ef4ab93b2bb3c0e56d68ea27d66bf92889 Mon Sep 17 00:00:00 2001 From: Ben Date: Thu, 30 Jul 2026 16:22:12 -0600 Subject: [PATCH 1/5] Normalize wiki Markdown structure --- VotingPlugin/AdvancedPriority-Rewards.md | 18 ++--- VotingPlugin/Bedrock-Player-Support.md | 12 ++- VotingPlugin/Commands-&-Permissions.md | 19 +++-- VotingPlugin/Delayed-reward-command.md | 4 +- VotingPlugin/File-Layout.md | 2 + VotingPlugin/Item-Configuration.md | 2 + VotingPlugin/Minecraft-Server-Lists.md | 4 +- VotingPlugin/Multi-Proxy-Setup.md | 4 +- VotingPlugin/Multi-Proxy-Sockets.md | 14 ++-- VotingPlugin/PlaceHolderAPI-placeholders.md | 2 +- VotingPlugin/Proxy-Setups.md | 2 +- VotingPlugin/Reward-Examples.md | 12 +-- VotingPlugin/Reward-File.md | 6 +- VotingPlugin/Rewards.md | 4 +- VotingPlugin/Service-sites.md | 2 + VotingPlugin/Signs.md | 2 + VotingPlugin/Vote-Broadcast-System.md | 44 +++++------ VotingPlugin/VoteLogging.md | 20 ++--- VotingPlugin/VoteMilestones.md | 56 ++++++------- VotingPlugin/VoteReminders.md | 2 +- VotingPlugin/VoteStreak-System.md | 78 +++++++++---------- VotingPlugin/Votifier-Troubleshooting.md | 2 + VotingPlugin/VotingPlugin-Specific-Rewards.md | 2 + VotingPlugin/Web-Support.md | 2 + VotingPlugin/World-Example.md | 3 +- VotingPlugin/proxy-method-MQTT.md | 3 +- VotingPlugin/proxy-method-REDIS.md | 3 +- VotingPlugin/proxy-method-SOCKETS.md | 7 +- VotingPlugin/voteshop.md | 28 +++---- VotingPlugin/webhooks.md | 2 +- 30 files changed, 198 insertions(+), 163 deletions(-) diff --git a/VotingPlugin/AdvancedPriority-Rewards.md b/VotingPlugin/AdvancedPriority-Rewards.md index 6106950..f711ee0 100644 --- a/VotingPlugin/AdvancedPriority-Rewards.md +++ b/VotingPlugin/AdvancedPriority-Rewards.md @@ -12,7 +12,7 @@ dateCreated: 2026-02-16T22:48:52.659Z ## Overview -`AdvancedPriority` is an advanced reward-selection system available in **AdvancedCore** and used by plugins like **VotingPlugin**. It allows you to create a list of **sub‑rewards** under a single reward entry. When the reward is processed, the system walks through these sub‑rewards in order and executes the **first** one that meets all of its conditions. Conditions can include permissions, chance percentages and any other reward requirement supported by AdvancedCore. This design makes it easy to offer different rewards based on a player’s rank or luck without creating multiple separate reward files. The documentation emphasises that `AdvancedPriority` checks rewards in order of *rarest* to *most likely* and stops at the first match【436168832069236†L192-L195】. +`AdvancedPriority` is an advanced reward-selection system available in **AdvancedCore** and used by plugins like **VotingPlugin**. It allows you to create a list of **sub‑rewards** under a single reward entry. When the reward is processed, the system walks through these sub‑rewards in order and executes the **first** one that meets all of its conditions. Conditions can include permissions, chance percentages and any other reward requirement supported by AdvancedCore. This design makes it easy to offer different rewards based on a player’s rank or luck without creating multiple separate reward files. The documentation emphasises that `AdvancedPriority` checks rewards in order of *rarest* to *most likely* and stops at the first match. ### How it works @@ -21,11 +21,11 @@ dateCreated: 2026-02-16T22:48:52.659Z 3. Assign any requirements to these sub‑rewards (permissions, chance, JavaScript expressions, etc.). If the first sub‑reward fails its requirements, the next one is evaluated. This continues until a sub‑reward succeeds. 4. If none of the sub‑rewards succeed, you can provide a **fallback** reward as the last entry so the player still receives something. -The system lets you structure rewards so that the most exclusive or rare outcome is attempted first, followed by more common ones【436168832069236†L192-L195】. This avoids duplicating reward files and keeps all logic in one place. +The system lets you structure rewards so that the most exclusive or rare outcome is attempted first, followed by more common ones. This avoids duplicating reward files and keeps all logic in one place. ## Permission‑based example -You can use `AdvancedPriority` to give different rewards based on permissions. In the example below, the plugin will check whether the player has `permhere`; if so, it runs **Reward1** and stops. If not, it checks for `permhere2`. If neither permission is present, the normal reward (money) is given【436168832069236†L199-L214】. +You can use `AdvancedPriority` to give different rewards based on permissions. In the example below, the plugin will check whether the player has `permhere`; if so, it runs **Reward1** and stops. If not, it checks for `permhere2`. If neither permission is present, the normal reward (money) is given. ```yaml Rewards: @@ -51,7 +51,7 @@ Use this pattern to offer rank‑specific or permission‑based perks without ne ## Chance‑based example -`AdvancedPriority` also supports probabilistic rewards. You can assign a **chance** (out of 100) to each sub‑reward. The system will evaluate the sub‑rewards in order: if the first one fails its chance roll, the next one is attempted【436168832069236†L218-L231】. +`AdvancedPriority` also supports probabilistic rewards. You can assign a **chance** (out of 100) to each sub‑reward. The system will evaluate the sub‑rewards in order: if the first one fails its chance roll, the next one is attempted. ```yaml Rewards: @@ -73,7 +73,7 @@ In this example, there is a 60 % chance to get the first reward, a 30 % chance ## Item‑based and fallback example -You can also give different items with varying chances. This example demonstrates three tiers: a rare diamond, a common iron ingot and a fallback dirt reward. Each sub‑reward includes its own `Items` section and `Chance`【436168832069236†L233-L252】. +You can also give different items with varying chances. This example demonstrates three tiers: a rare diamond, a common iron ingot and a fallback dirt reward. Each sub‑reward includes its own `Items` section and `Chance`. ```yaml AdvancedPriority: @@ -100,7 +100,7 @@ The player first has a 5 % chance to receive the diamond, then a 50 % chance f ## Rarity tiers example -If you want to weight rewards based on rarity without specifying low percentages manually, you can arrange the sub‑rewards from rarest to most common. The following example shows a **Rarest**, **SecondRarest** and **Fallback** tier【436168832069236†L255-L276】. +If you want to weight rewards based on rarity without specifying low percentages manually, you can arrange the sub‑rewards from rarest to most common. The following example shows a **Rarest**, **SecondRarest** and **Fallback** tier. ```yaml AdvancedPriority: @@ -156,7 +156,7 @@ Rewards: ### Inline configuration example -You may also define `AdvancedPriority` directly within a plugin configuration, such as `VoteSites.yml` in VotingPlugin. The syntax is the same; place `AdvancedPriority` under the `Rewards` section of the site configuration. The following snippet shows a vote site that gives a diamond if the 50 % chance succeeds, then an emerald with a 20 % chance, otherwise a fallback message【436168832069236†L218-L231】. +You may also define `AdvancedPriority` directly within a plugin configuration, such as `VoteSites.yml` in VotingPlugin. The syntax is the same; place `AdvancedPriority` under the `Rewards` section of the site configuration. The following snippet shows a vote site that gives a diamond if the 50 % chance succeeds, then an emerald with a 20 % chance, otherwise a fallback message. ```yaml VoteSites: @@ -190,7 +190,7 @@ VoteSites: ## Best practices -* **Order matters** – always list the rarest or most exclusive rewards first and put common or fallback rewards last【436168832069236†L192-L195】. +* **Order matters** – always list the rarest or most exclusive rewards first and put common or fallback rewards last. * **Unique names** – ensure each sub‑reward name under `AdvancedPriority` is unique to avoid configuration conflicts. * **Include a fallback** – adding a fallback reward ensures players always receive something if earlier rewards fail. * **Combine with requirements** – you can combine chance with other requirements such as permissions, world restrictions or JavaScript expressions. If any requirement fails, the system moves on to the next reward. @@ -198,4 +198,4 @@ VoteSites: ## Conclusion -`AdvancedPriority` provides a flexible way to manage complex reward logic within AdvancedCore and associated plugins. By listing sub‑rewards in order, you can create tiered loot tables, rank‑based rewards and fallback strategies without duplicating reward files. Use the examples above as a starting point and adjust the chances, permissions or item lists to fit your server’s needs. \ No newline at end of file +`AdvancedPriority` provides a flexible way to manage complex reward logic within AdvancedCore and associated plugins. By listing sub‑rewards in order, you can create tiered loot tables, rank‑based rewards and fallback strategies without duplicating reward files. Use the examples above as a starting point and adjust the chances, permissions or item lists to fit your server’s needs. diff --git a/VotingPlugin/Bedrock-Player-Support.md b/VotingPlugin/Bedrock-Player-Support.md index b0e1167..4ac942b 100644 --- a/VotingPlugin/Bedrock-Player-Support.md +++ b/VotingPlugin/Bedrock-Player-Support.md @@ -8,13 +8,17 @@ editor: markdown dateCreated: 2025-08-30T22:17:57.836Z --- -> Bedrock support generally works most of the time, if you have trouble please contact BenCodez -{.is-info} +# Bedrock Player Support +> Bedrock support generally works most of the time. If you have trouble, please contact BenCodez. +{.is-info} Bedrock player support is still a work in progress, but can work well if players vote with the prefix. -#### Options on proxy/spigot servers (set the same prefix to all servers) +## Proxy and backend configuration - BedrockPlayerPrefix: '.' +Use the same prefix on the proxy and all backend servers: +```yaml +BedrockPlayerPrefix: '.' +``` diff --git a/VotingPlugin/Commands-&-Permissions.md b/VotingPlugin/Commands-&-Permissions.md index c6402f4..455adf9 100644 --- a/VotingPlugin/Commands-&-Permissions.md +++ b/VotingPlugin/Commands-&-Permissions.md @@ -8,7 +8,12 @@ editor: markdown dateCreated: 2025-08-30T22:18:03.502Z --- -## Commands and Permissions (From /av perms, use /av perms (player) to see what the specific player has): +# Commands and Permissions + +## Generated command reference + +Use `/av perms` or `/av perms ` to view the permissions available to +the sender or a specific player. | splits permissions up, meaning it can be either one before/after the | @@ -43,7 +48,7 @@ dateCreated: 2025-08-30T22:18:03.502Z See your last votes /vote ToggleBroadcast VotingPlugin.Commands.Vote.ToggleBroadcast|VotingPlugin.Player - Toggle whether or not you will recieve vote broadcasts + Toggle whether or not you will receive vote broadcasts /vote Next (player) VotingPlugin.Commands.Vote.Next.Other|VotingPlugin.Mod See other players next votes @@ -208,7 +213,7 @@ dateCreated: 2025-08-30T22:18:03.502Z List permissions from the plugin the player has /av Perms (Number) (Player) VotingPlugin.Commands.AdminVote.Perms.Other|VotingPlugin.Admin - List permissions from the plugin the specificed player has + List permissions from the plugin the specified player has /av PermsDebug VotingPlugin.Commands.AdminVote.PermsDebug Dev permission list, generate this list, requires dev debug @@ -349,7 +354,7 @@ dateCreated: 2025-08-30T22:18:03.502Z Enable extra debug, effective until reload/restart /av VoteSite (sitename) SetServiceSite (string) VotingPlugin.Commands.AdminVote.VoteSite.Edit|VotingPlugin.Admin - Set VoteSite SerivceSite + Set VoteSite ServiceSite /av CheckVoteCoolDownRewards VotingPlugin.Commands.AdminVote.VoteSite.CheckVoteCoolDownRewards|VotingPlugin.Admin Force check all vote cooldown rewards @@ -610,10 +615,10 @@ dateCreated: 2025-08-30T22:18:03.502Z Let user pick his choice preferences /av ConvertToData (UserStorage) VotingPlugin.Commands.AdminVote.ConvertToData|VotingPlugin.Admin - Convert user storage from current storage type the one specificed + Convert user storage from current storage type the one specified /av ConvertFromData (UserStorage) VotingPlugin.Commands.AdminVote.ConvertFromData|VotingPlugin.Admin - Convert user storage from current storage type from the one specificed + Convert user storage from current storage type from the one specified VotingPlugin.Player : Allows basic access player commands VotingPlugin.Mod : Allows mod commands VotingPlugin.Admin : Allows admincommands @@ -638,4 +643,4 @@ dateCreated: 2025-08-30T22:18:03.502Z /votingpluginproxy voteparty force - Force a vote party /votingpluginproxy voteparty setvotecount (number) - Set current vote party votes /votingpluginproxy multiproxystatus -``` \ No newline at end of file +``` diff --git a/VotingPlugin/Delayed-reward-command.md b/VotingPlugin/Delayed-reward-command.md index bd1afaa..6c8ca91 100644 --- a/VotingPlugin/Delayed-reward-command.md +++ b/VotingPlugin/Delayed-reward-command.md @@ -8,6 +8,8 @@ editor: markdown dateCreated: 2025-08-30T22:18:07.057Z --- +# Delayed Reward Command + In this example fly will be enabled with /fly and disable with /fly one hour later. Works with any reward Rewards: @@ -22,4 +24,4 @@ In this example fly will be enabled with /fly and disable with /fly one hour lat Minutes: 0 Seconds: 0 Commands: - - fly %player% \ No newline at end of file + - fly %player% diff --git a/VotingPlugin/File-Layout.md b/VotingPlugin/File-Layout.md index 5a7956d..1c35086 100644 --- a/VotingPlugin/File-Layout.md +++ b/VotingPlugin/File-Layout.md @@ -8,6 +8,8 @@ editor: markdown dateCreated: 2025-08-30T22:18:09.653Z --- +# File Layout + > 📁 **Default configurations are available here:** > [https://github.com/BenCodez/VotingPlugin/tree/master/VotingPlugin/src/main/resources](https://github.com/BenCodez/VotingPlugin/tree/master/VotingPlugin/src/main/resources) {.is-info} diff --git a/VotingPlugin/Item-Configuration.md b/VotingPlugin/Item-Configuration.md index 7abe7c5..58332cc 100644 --- a/VotingPlugin/Item-Configuration.md +++ b/VotingPlugin/Item-Configuration.md @@ -8,6 +8,8 @@ editor: markdown dateCreated: 2025-08-30T22:18:13.003Z --- +# Item Configuration + The following item format works throughout the plugin anywhere an item is specified. Items: diff --git a/VotingPlugin/Minecraft-Server-Lists.md b/VotingPlugin/Minecraft-Server-Lists.md index 0c1c7d1..93edec9 100644 --- a/VotingPlugin/Minecraft-Server-Lists.md +++ b/VotingPlugin/Minecraft-Server-Lists.md @@ -8,6 +8,8 @@ editor: markdown dateCreated: 2025-08-30T22:18:13.937Z --- +# Minecraft Server Lists + This list is a work in progress, but end goal is to contain all websites with their service sites to help simplify setting up. Want me to add one? Please message me (BenCodez) and I will add it, you also need to specify the service site if you do this. @@ -38,4 +40,4 @@ Domain - Service site * minecraft-serverlist.com - minecraft-serverlist-com * play-minecraft-servers.com - play-minecraft-servers.com * minecraftservers.blog - minecraftservers.blog -* top-mcservers.com - TOPMCSERVERS \ No newline at end of file +* top-mcservers.com - TOPMCSERVERS diff --git a/VotingPlugin/Multi-Proxy-Setup.md b/VotingPlugin/Multi-Proxy-Setup.md index 49a8ce1..13dce9d 100644 --- a/VotingPlugin/Multi-Proxy-Setup.md +++ b/VotingPlugin/Multi-Proxy-Setup.md @@ -8,10 +8,12 @@ editor: markdown dateCreated: 2025-08-30T22:18:15.618Z --- +# Multi-Proxy Setup + > This should only be used if each proxy has different backend servers, otherwise votes will duplicate {.is-warning} -> Setup each proxy as it's own proxy network for VotingPlugin before setting multi-proxy up, each proxy can use a different proxy method +> Setup each proxy as its own proxy network for VotingPlugin before setting multi-proxy up, each proxy can use a different proxy method {.is-info} > Note if using REDIS (Not for multi-proxy method) you will need to set a different redis prefix for each proxy network (This is so that all proxies can use REDIS at the same time without issue) diff --git a/VotingPlugin/Multi-Proxy-Sockets.md b/VotingPlugin/Multi-Proxy-Sockets.md index c4252dc..2ff0493 100644 --- a/VotingPlugin/Multi-Proxy-Sockets.md +++ b/VotingPlugin/Multi-Proxy-Sockets.md @@ -8,11 +8,13 @@ editor: markdown dateCreated: 2025-08-30T22:18:16.369Z --- -> Each proxy needs a open port for communication +# Multi-Proxy Sockets + +> Each proxy needs an open port for communication {.is-warning} -> Setup each proxy as it's own proxy network for VotingPlugin before setting multi-proxy up, each proxy can use a different proxy method +> Setup each proxy as its own proxy network for VotingPlugin before setting multi-proxy up, each proxy can use a different proxy method {.is-info} > Note if using REDIS (Not for multi-proxy method) you will need to set a different redis prefix for each proxy network (This is so that all proxies can use REDIS at the same time without issue) @@ -23,7 +25,7 @@ dateCreated: 2025-08-30T22:18:16.369Z Additional things required: - Primary server/main proxy needs to be set as primary server (by enabling option). This server will handle adding totals and such and forward the vote to the other proxies. -- Each sub proxy needs a host/port and needs to be set in the primary proxy under MutliProxyServers. +- Each sub proxy needs a host/port and needs to be set in the primary proxy under MultiProxyServers. - You also need to have the same secretkey.key file across all proxies (copy/paste from one server after it generates) Check connection status with /votingpluginbungee multiproxystatus @@ -31,7 +33,7 @@ Check connection status with /votingpluginbungee multiproxystatus ########################################## # Multi-proxy setup # This is still a WIP, use with caution - # Primary server needs votifier and config option enabled + # Primary server needs votifier and config option enabled # Set socket host on each proxy and primary server set sub proxies # All servers should be on pluginmessaging or sockets setup ########################################## @@ -53,7 +55,7 @@ Check connection status with /votingpluginbungee multiproxystatus MultiProxyMethod: SOCKET ########################################## - # SOCKET settings for mutli-proxy + # SOCKET settings for multi-proxy ########################################## # Set this for each proxy @@ -66,4 +68,4 @@ Check connection status with /votingpluginbungee multiproxystatus MultiProxyServers: secondproxy: Host: 0.0.0.0 - Port: 1235 \ No newline at end of file + Port: 1235 diff --git a/VotingPlugin/PlaceHolderAPI-placeholders.md b/VotingPlugin/PlaceHolderAPI-placeholders.md index 5088ee9..8043b7d 100644 --- a/VotingPlugin/PlaceHolderAPI-placeholders.md +++ b/VotingPlugin/PlaceHolderAPI-placeholders.md @@ -183,4 +183,4 @@ Some placeholders take a dynamic segment: > 🧠 **Performance tip:** > Use caching (`AUTO` or `SPECIFIC`) for placeholders displayed frequently (like scoreboards). -> The `_process` or `_nocache` suffixes should only be used on async operations. \ No newline at end of file +> The `_process` or `_nocache` suffixes should only be used on async operations. diff --git a/VotingPlugin/Proxy-Setups.md b/VotingPlugin/Proxy-Setups.md index ff8582c..40dd53f 100644 --- a/VotingPlugin/Proxy-Setups.md +++ b/VotingPlugin/Proxy-Setups.md @@ -121,4 +121,4 @@ The proxy receives and manages votes from Votifier before forwarding them to bac --- *For a deeper technical breakdown, see the implementation in -[`VotingPluginProxy.java`](https://github.com/BenCodez/VotingPlugin/blob/master/VotingPlugin/src/main/java/com/bencodez/votingplugin/proxy/VotingPluginProxy.java).* \ No newline at end of file +[`VotingPluginProxy.java`](https://github.com/BenCodez/VotingPlugin/blob/master/VotingPlugin/src/main/java/com/bencodez/votingplugin/proxy/VotingPluginProxy.java).* diff --git a/VotingPlugin/Reward-Examples.md b/VotingPlugin/Reward-Examples.md index 3070234..a68b658 100644 --- a/VotingPlugin/Reward-Examples.md +++ b/VotingPlugin/Reward-Examples.md @@ -8,11 +8,13 @@ editor: markdown dateCreated: 2025-08-30T22:18:21.108Z --- +# Reward Examples + The following is from ExampleBasic and ExampleAdvanced reward files. # This is a reward file # Define rewards in here (Items, commands, etc) - # File name is the reward name, without file extention + # File name is the reward name, without file extension # This reward is named "ExampleBasic" # That is what you put as a reward for other plugins, like VotingPlugin # DO NOT HAVE DUPLICATE NAMES!! @@ -25,7 +27,7 @@ The following is from ExampleBasic and ExampleAdvanced reward files. # Below are some basic things you can have, see the advanced example for more # You can just remove values you don't want (just delete it) - # If you just want money just have a reward file containg only "Money: 100", for example + # If you just want money just have a reward file containing only "Money: 100", for example # You can simply copy and paste from here what you want # in other reward files, that is the way they are designed @@ -165,7 +167,7 @@ The following is from ExampleBasic and ExampleAdvanced reward files. # This is a reward file # Define rewards in here (Items, commands, etc) - # File name is the reward name, without file extention + # File name is the reward name, without file extension # This reward is named "ExampleAdvanced" # That is what you put as a reward for other plugins, like VotingPlugin # DO NOT HAVE DUPLICATE NAMES!! @@ -174,7 +176,7 @@ The following is from ExampleBasic and ExampleAdvanced reward files. # https://github.com/BenCodez/AdvancedCore/wiki/Reward-files # You can just remove values you don't want (just delete it) - # If you just want money just have a reward file containg only "Money: 100", for example + # If you just want money just have a reward file containing only "Money: 100", for example # Don't use this file as a reward, example only # This is the advanced example, if you only want an item or command then look @@ -561,4 +563,4 @@ The following is from ExampleBasic and ExampleAdvanced reward files. # Will execute for every player online at time of execution RepeatOnStartup: false # If any reward requirement fails to pass, the reward will stop repeating - AutoStop: truee \ No newline at end of file + AutoStop: truee diff --git a/VotingPlugin/Reward-File.md b/VotingPlugin/Reward-File.md index 8fe1d47..f5f2b32 100644 --- a/VotingPlugin/Reward-File.md +++ b/VotingPlugin/Reward-File.md @@ -8,11 +8,13 @@ editor: markdown dateCreated: 2025-08-30T22:18:22.178Z --- +# Reward Files + ![](http://i.imgur.com/hKOAj4Z.png) Reward files is how player gets reward. They can be given on voting, or via Rewards.yml (First vote, all sites, Number of votes) -Requirements to give reward possiblities: +Requirements to give reward possibilities: - Permission - World - Chance @@ -36,4 +38,4 @@ Advanced: See [ExampleReward](https://github.com/Ben12345rocks/AdvancedCore/blob/master/AdvancedCore/Rewards/ExampleReward.yml) for examples on the above! -[Examples](https://gist.github.com/Ben12345rocks/c913ba94878327c1a5bad69dd0c6de85) \ No newline at end of file +[Examples](https://gist.github.com/Ben12345rocks/c913ba94878327c1a5bad69dd0c6de85) diff --git a/VotingPlugin/Rewards.md b/VotingPlugin/Rewards.md index 6658ca4..774a5f5 100644 --- a/VotingPlugin/Rewards.md +++ b/VotingPlugin/Rewards.md @@ -8,6 +8,8 @@ editor: markdown dateCreated: 2025-08-30T22:18:22.882Z --- +# Rewards + ### For everything that reward files can do can be seen [here](https://github.com/BenCodez/AdvancedCore/wiki/Reward-files). You can do any of the following for any rewards defined within the plugin (even for some GUI's), reward files don't need to be used, it's just part of the system to allow more complex rewards. You can configure advanced rewards without reward files. @@ -40,7 +42,7 @@ Not sure where to set rewards? [Where to set rewards](https://github.com/BenCode # Anything that reward files can do can be done here # This auto converts into a reward file automatically # Items, etc - # See ExampleBasic or ExamapleAdvanced in VotingPlugin/Rewards for all possible configurations + # See ExampleBasic or ExampleAdvanced in VotingPlugin/Rewards for all possible configurations # Be sure to follow proper spacing To disable rewards put `Rewards: []` or `Rewards: {}` diff --git a/VotingPlugin/Service-sites.md b/VotingPlugin/Service-sites.md index 8dceb5a..d02fcf7 100644 --- a/VotingPlugin/Service-sites.md +++ b/VotingPlugin/Service-sites.md @@ -8,6 +8,8 @@ editor: markdown dateCreated: 2025-08-30T22:18:23.897Z --- +# Service Sites + Service sites is the identifier that tells VotingPlugin which incoming vote is which votesite. Majority of voting websites follow the format of using the base of the url, but not all do. diff --git a/VotingPlugin/Signs.md b/VotingPlugin/Signs.md index 3ad0343..281fb40 100644 --- a/VotingPlugin/Signs.md +++ b/VotingPlugin/Signs.md @@ -8,6 +8,8 @@ editor: markdown dateCreated: 2025-08-30T22:18:25.397Z --- +# Signs + ## ⭐ Vote Signs / Leaderboard Signs This page explains how to create **VotingPlugin leaderboard signs**, place heads, set skulls, and configure the 3×3 update area. diff --git a/VotingPlugin/Vote-Broadcast-System.md b/VotingPlugin/Vote-Broadcast-System.md index 9387943..6355fd8 100644 --- a/VotingPlugin/Vote-Broadcast-System.md +++ b/VotingPlugin/Vote-Broadcast-System.md @@ -30,7 +30,7 @@ Configured in: ------------------------------------------------------------------------ -# Backend VoteBroadcast (config.yml) +## Backend VoteBroadcast (config.yml) ``` yaml VoteBroadcast: @@ -43,42 +43,42 @@ VoteBroadcast: ListLine: '&7 - &e%site%' ``` -## Broadcast Types +### Broadcast Types -### NONE +#### NONE Disables vote broadcasts entirely. -### EVERY_VOTE +#### EVERY_VOTE Broadcast every vote (including offline processed votes). -### EVERY_VOTE_ONLINE_ONLY +#### EVERY_VOTE_ONLINE_ONLY Broadcast only if the voting player is online. -### COOLDOWN_PER_PLAYER +#### COOLDOWN_PER_PLAYER Broadcast at most once per Duration per player. -### BATCH_WINDOW_PER_PLAYER +#### BATCH_WINDOW_PER_PLAYER Collect votes during Duration and broadcast once. - 1 vote → BroadcastMsg - 2+ votes → Header + ListLine -### FIRST_VOTE_OF_DAY +#### FIRST_VOTE_OF_DAY Broadcast only the first vote per calendar day per player. -### INTERVAL_SUMMARY_GLOBAL +#### INTERVAL_SUMMARY_GLOBAL Every Duration, broadcast a global vote summary. ------------------------------------------------------------------------ -# Duration Format +## Duration Format Supported units: @@ -99,7 +99,7 @@ Months are NOT supported. ------------------------------------------------------------------------ -# Format Placeholders +## Format Placeholders Common: @@ -117,7 +117,7 @@ Interval-only: ------------------------------------------------------------------------ -# Proxy Broadcast System (bungeeconfig.yml) +## Proxy Broadcast System (bungeeconfig.yml) Proxy broadcasts are controlled separately. @@ -133,14 +133,14 @@ ProxyBroadcast: - lobby ``` -## Scope Modes +### Scope Modes - PLAYER_SERVER → Only the server the player is on - ALL_SERVERS → All backend servers - SERVERS → Only specific listed servers - ALL_EXCEPT → All except listed servers -## OfflineMode +### OfflineMode Controls what happens if the voting player is offline: @@ -148,7 +148,7 @@ Controls what happens if the voting player is offline: - QUEUE → Send when player logs in - FORWARD → Immediately forward to a backend server -### OfflineForward.Servers +#### OfflineForward.Servers Used only when OfflineMode = FORWARD. @@ -162,7 +162,7 @@ OfflineForward: ------------------------------------------------------------------------ -# Backend vs Proxy Broadcast Behavior +## Backend vs Proxy Broadcast Behavior Backend VoteBroadcast: - Controls message formatting and timing logic - Runs per-server @@ -179,22 +179,22 @@ Recommended setup for networks: ------------------------------------------------------------------------ -# Recommended Configurations +## Recommended Configurations -## Small Server +### Small Server ``` yaml Type: EVERY_VOTE ``` -## Medium Server +### Medium Server ``` yaml Type: COOLDOWN_PER_PLAYER Duration: 5m ``` -## Large Network +### Large Network Backend: @@ -212,7 +212,7 @@ ProxyBroadcast: Mode: ALL_SERVERS ``` -# Summary +## Summary The new Vote Broadcast system provides: @@ -224,4 +224,4 @@ The new Vote Broadcast system provides: - Offline handling options - Network-wide broadcast scope control -It is designed for both standalone servers and large proxy networks. \ No newline at end of file +It is designed for both standalone servers and large proxy networks. diff --git a/VotingPlugin/VoteLogging.md b/VotingPlugin/VoteLogging.md index 70da0ff..2dbfab9 100644 --- a/VotingPlugin/VoteLogging.md +++ b/VotingPlugin/VoteLogging.md @@ -15,7 +15,7 @@ It is intended for auditing, analytics, debugging, and tracking reward/vote acti --- -# Overview +## Overview VoteLogging works by listening to internal vote/reward events and writing structured entries to a storage backend. @@ -30,7 +30,7 @@ When MySQL logging is enabled, entries are written through the MySQL table handl --- -# What Gets Logged +## What Gets Logged VoteLogging currently logs the following (MySQL only): @@ -42,11 +42,11 @@ VoteLogging currently logs the following (MySQL only): --- -# Configuration +## Configuration VoteLogging can be configured on both backend servers and proxies. -## Backend configuration (Config.yml) +### Backend configuration (Config.yml) ```yaml ########################################### @@ -72,7 +72,7 @@ VoteLogging: # MySQL settings only used if above is false ``` -### Field reference +#### Field reference - **Enabled**: Master toggle for VoteLogging on this server. - **PurgeDays**: Automatically deletes vote log records older than this many days. @@ -82,7 +82,7 @@ VoteLogging: --- -## Proxy configuration +### Proxy configuration ```yaml VoteLogging: @@ -100,18 +100,18 @@ VoteLogging: --- -# Operational Notes +## Operational Notes -## Purging behavior +### Purging behavior If **PurgeDays** is enabled (not `-1`), the system will periodically remove older log entries from MySQL to keep the database size manageable. -## Recommended setup +### Recommended setup - Enable VoteLogging on your backend server(s) where you want command access. - Use `UseMainMySQL: true` unless you have a specific reason to isolate VoteLogging into a separate database. --- -# Disabling VoteLogging +## Disabling VoteLogging To disable completely: diff --git a/VotingPlugin/VoteMilestones.md b/VotingPlugin/VoteMilestones.md index 3fab4da..cc80536 100644 --- a/VotingPlugin/VoteMilestones.md +++ b/VotingPlugin/VoteMilestones.md @@ -18,7 +18,7 @@ This page explains **how VoteMilestones really work**, followed by **lots of rea --- -## Where VoteMilestones are configured +### Where VoteMilestones are configured All VoteMilestones are configured in: @@ -35,7 +35,7 @@ VoteMilestones: --- -## How VoteMilestones work +### How VoteMilestones work On **every vote**, VotingPlugin: @@ -50,7 +50,7 @@ VoteMilestones are **not automatically one-time** unless you use a `Limit`. --- -## VoteMilestonesOptions (group selection) +### VoteMilestonesOptions (group selection) Groups control **how many milestones can trigger per vote**. @@ -61,7 +61,7 @@ VoteMilestonesOptions: RankRewards: HIGHEST ``` -### Group modes +#### Group modes | Mode | Meaning | | --------- | ---------------------------------------------- | @@ -79,7 +79,7 @@ If a milestone has **no Group**, it automatically uses `Default`. --- -## VoteMilestone fields +### VoteMilestone fields Basic structure: @@ -97,7 +97,7 @@ VoteMilestones: - "say %player% hit %amount%" ``` -### Core keys +#### Core keys | Key | Purpose | | --------- | -------------------------------------- | @@ -111,7 +111,7 @@ VoteMilestones: --- -## Supported totals (`Total:`) +### Supported totals (`Total:`) | Value | Meaning | | ---------------- | ------------------------ | @@ -126,9 +126,9 @@ Friendly aliases like `AllTime`, `Daily`, `Weekly`, `Monthly`, and `Points` also --- -## Triggers: `At` vs `Every` +### Triggers: `At` vs `Every` -### `Every` (multiples) +#### `Every` (multiples) ```yml Every: 25 @@ -138,15 +138,15 @@ Triggers when the total is divisible by 25 (25, 50, 75, …) --- -### `At` (exact totals) +#### `At` (exact totals) -#### Single value +##### Single value ```yml At: 50 ``` -#### List +##### List ```yml At: @@ -155,7 +155,7 @@ At: - 100 ``` -#### Ranges (with optional steps) +##### Ranges (with optional steps) ```yml At: @@ -167,7 +167,7 @@ Ranges are expanded safely and automatically. --- -## Limits +### Limits Limits control **how often** a milestone can trigger. @@ -177,7 +177,7 @@ Limit: Duration: 12h ``` -### Limit types +#### Limit types | Type | Behavior | | -------------- | ----------------- | @@ -195,11 +195,11 @@ Duration supports: --- -# Examples +## Examples --- -## Example: First-ever vote +### Example: First-ever vote ```yml VoteMilestones: @@ -216,7 +216,7 @@ VoteMilestones: --- -## Example: First vote of the day +### Example: First vote of the day ```yml VoteMilestones: @@ -231,7 +231,7 @@ VoteMilestones: --- -## Example: Every 10 total votes +### Example: Every 10 total votes ```yml VoteMilestones: @@ -246,7 +246,7 @@ VoteMilestones: --- -## Example: Multiple exact milestones +### Example: Multiple exact milestones ```yml VoteMilestones: @@ -264,7 +264,7 @@ VoteMilestones: --- -## Example: Range + step milestones +### Example: Range + step milestones ```yml VoteMilestones: @@ -281,7 +281,7 @@ VoteMilestones: --- -## Example: Monthly milestone +### Example: Monthly milestone ```yml VoteMilestones: @@ -296,7 +296,7 @@ VoteMilestones: --- -## Example: Vote points rewards +### Example: Vote points rewards ```yml VoteMilestones: @@ -314,7 +314,7 @@ VoteMilestones: --- -## Example: All vote sites today +### Example: All vote sites today ```yml VoteMilestones: @@ -331,7 +331,7 @@ VoteMilestones: --- -## Example: Cooldown-based milestone +### Example: Cooldown-based milestone ```yml VoteMilestones: @@ -349,7 +349,7 @@ VoteMilestones: --- -## Example: Rank rewards (HIGHEST group) +### Example: Rank rewards (HIGHEST group) ```yml VoteMilestonesOptions: @@ -376,7 +376,7 @@ VoteMilestones: --- -## Legacy migration +### Legacy migration The following legacy sections are automatically migrated at startup: @@ -393,7 +393,7 @@ New configurations should always use **VoteMilestones**. --- -## Placeholders +### Placeholders | Placeholder | Meaning | | ----------------- | ----------------------- | diff --git a/VotingPlugin/VoteReminders.md b/VotingPlugin/VoteReminders.md index 5da837b..dc119eb 100644 --- a/VotingPlugin/VoteReminders.md +++ b/VotingPlugin/VoteReminders.md @@ -272,4 +272,4 @@ Most servers should start with: ✔ Reward-driven ✔ Legacy-compatible -The new Vote Reminders system is **powerful by design**, while remaining simple to configure. \ No newline at end of file +The new Vote Reminders system is **powerful by design**, while remaining simple to configure. diff --git a/VotingPlugin/VoteStreak-System.md b/VotingPlugin/VoteStreak-System.md index e7c9df7..58af09c 100644 --- a/VotingPlugin/VoteStreak-System.md +++ b/VotingPlugin/VoteStreak-System.md @@ -26,7 +26,7 @@ It supports: --- -## Location +### Location ```text /plugins/VotingPlugin/SpecialRewards.yml @@ -40,11 +40,11 @@ VoteStreaks: --- -# Standard VoteStreaks +## Standard VoteStreaks A standard VoteStreak has one required streak amount and one Rewards section. -## Basic Structure +### Basic Structure ```yaml VoteStreaks: @@ -64,7 +64,7 @@ VoteStreaks: In this example, the player must cast at least three votes during a day for that day to count as a successful streak period. -## Standard VoteStreak Options +### Standard VoteStreak Options | Option | Description | |---|---| @@ -77,7 +77,7 @@ In this example, the player must cast at least three votes during a day for that | `AllowMissedPeriod` | Number of recent periods used when checking missed-period forgiveness. | | `Rewards` | Rewards executed when the streak requirement is completed. | -## Recurring Rewards +### Recurring Rewards With: @@ -101,7 +101,7 @@ For example, with `Amount: 5`, the reward runs at streaks 5, 10, 15, 20, and so --- -# Progress Groups +## Progress Groups Progress groups allow multiple milestones to share the same streak progress. @@ -114,7 +114,7 @@ VoteStreaks: ProgressGroups: ``` -## Progress Group Structure +### Progress Group Structure ```yaml VoteStreaks: @@ -163,7 +163,7 @@ VoteStreaks: - "&6You completed another 30 days of voting!" ``` -## How Progress Groups Work +### How Progress Groups Work All enabled milestones inside a progress group use: @@ -181,7 +181,7 @@ In the example above: A player does not maintain a separate streak for each milestone. The milestones are checkpoints within one shared streak. -## Progress Group Options +### Progress Group Options | Option | Description | |---|---| @@ -194,7 +194,7 @@ A player does not maintain a separate streak for each milestone. The milestones | `LostRewards` | Rewards executed when an established streak in the group is lost. | | `Milestones` | Reward checkpoints belonging to the shared streak. | -## Milestone Options +### Milestone Options | Option | Description | |---|---| @@ -205,7 +205,7 @@ A player does not maintain a separate streak for each milestone. The milestones --- -# Lost-Streak Rewards +## Lost-Streak Rewards Lost-streak rewards are supported on progress groups. @@ -247,7 +247,7 @@ VoteStreaks: - "&aYou established a 3-day streak!" ``` -## Requiring a Milestone Before LostRewards +### Requiring a Milestone Before LostRewards Use: @@ -271,11 +271,11 @@ to allow `LostRewards` after any established streak progress is lost. --- -# Advanced Streak Logic +## Advanced Streak Logic Understanding how streak validation works is important when configuring missed-period forgiveness. -## No Misses Allowed +### No Misses Allowed ```yaml AllowMissedAmount: 0 @@ -291,7 +291,7 @@ Day 3: Successful -> Reward Day 4: Missed -> Streak resets ``` -## One Miss Allowed +### One Miss Allowed ```yaml AllowMissedAmount: 1 @@ -308,7 +308,7 @@ Day 4: Successful Day 5: Successful -> Reward ``` -## Window Tracking +### Window Tracking `AllowMissedPeriod` controls how far back the system checks when applying missed-period forgiveness. @@ -333,9 +333,9 @@ AllowMissedPeriod: 7 --- -# Period Types +## Period Types -## Daily +### Daily ```yaml Type: DAILY @@ -343,7 +343,7 @@ Type: DAILY The player must meet `VotesRequired` during each calendar day. -## Weekly +### Weekly ```yaml Type: WEEKLY @@ -351,7 +351,7 @@ Type: WEEKLY The player must meet `VotesRequired` during each calendar week. -## Monthly +### Monthly ```yaml Type: MONTHLY @@ -363,9 +363,9 @@ Period boundaries are calendar-based rather than a rolling number of hours from --- -# Independent and Shared Progress +## Independent and Shared Progress -## Independent Standard VoteStreaks +### Independent Standard VoteStreaks Each standard VoteStreak ID stores its own progress: @@ -382,7 +382,7 @@ VoteStreaks: `SurvivalDaily` and `SkyblockDaily` are separate streaks. -## Shared Progress Within a Group +### Shared Progress Within a Group All milestones under one progress group use the same progress: @@ -403,7 +403,7 @@ VoteStreaks: The player has one `NetworkDaily` streak with reward checkpoints at 3, 7, and 30. -## Proxy or Network Usage +### Proxy or Network Usage To share streak data across a proxy network, use the same VoteStreak or progress-group ID on every server that participates in the shared configuration. @@ -411,7 +411,7 @@ Changing an ID creates a different stored streak and does not continue progress --- -# Rewards +## Rewards Standard VoteStreak rewards are configured at: @@ -453,7 +453,7 @@ Rewards: --- -# Administrative Commands +## Administrative Commands VoteStreak progress can be inspected and modified with `/av` or `/adminvote`. @@ -470,7 +470,7 @@ All modern VoteStreak commands use this structure: Use the group ID when modifying a progress group. Do not enter an individual milestone ID because every milestone inside the group shares the group's stored progress. -## Command Reference +### Command Reference | Action | Command | Description | |---|---|---| @@ -486,7 +486,7 @@ Use the group ID when modifying a progress group. Do not enter an individual mil | Reset by type | `/av user VoteStreaks Reset DAILY` | Resets all daily VoteStreak and progress-group states for the player. `WEEKLY` and `MONTHLY` are also supported. | | Reset everything | `/av user VoteStreaks Reset ALL` | Resets all VoteStreak and progress-group states for the player. | -## Command Examples +### Command Examples View a player's progress-group state: @@ -548,7 +548,7 @@ Reset every daily streak and progress group: /av user Notch VoteStreaks Reset DAILY ``` -## Advance Versus SetAmount +### Advance Versus SetAmount Use `Advance` when the player should receive rewards for milestones crossed by the adjustment. @@ -570,7 +570,7 @@ changes the stored amount directly and does not execute the milestones at 3 or 7 `AddAmount` also changes stored progress without giving rewards. -## SetVotes and SetSatisfied +### SetVotes and SetSatisfied `SetVotes` changes the raw vote count recorded for the active period. @@ -586,7 +586,7 @@ changes the stored amount directly and does not execute the milestones at 3 or 7 These values are related but are adjusted separately. Setting the vote count does not automatically perform the same reward-triggering behavior as `Advance`. -## Setting the Last-Update Date +### Setting the Last-Update Date The accepted date format is: @@ -610,7 +610,7 @@ VotingPlugin converts the date into the correct internal period key based on the An invalid date or an unknown streak/group ID is rejected. -## Reset Behavior and LostRewards +### Reset Behavior and LostRewards Administrative reset commands clear stored VoteStreak progress. @@ -620,7 +620,7 @@ Administrative reset commands clear stored VoteStreak progress. A manual reset does **not** represent a naturally failed streak and should not be used to test `LostRewards`. Lost-streak rewards are intended for streaks lost through normal streak validation. -## Legacy VoteStreak Commands +### Legacy VoteStreak Commands The old daily, weekly, and monthly streak fields can still be changed with: @@ -634,7 +634,7 @@ These commands modify the legacy streak fields only. They do not modify a config For new configurations, use the modern commands with a VoteStreak or progress-group ID. -## Permissions +### Permissions Each command uses its own permission beneath the VoteStreaks admin-command path: @@ -654,7 +654,7 @@ Users with the main VotingPlugin admin permission also have access when the serv --- -# Placeholder Reference +## Placeholder Reference | Placeholder | Description | |---|---| @@ -667,7 +667,7 @@ Users with the main VotingPlugin admin permission also have access when the serv --- -# Internal Logic Overview +## Internal Logic Overview When a vote is received, VotingPlugin: @@ -694,7 +694,7 @@ Important behavior: --- -# Migration from the Legacy VoteStreak System +## Migration from the Legacy VoteStreak System The new VoteStreak system replaces the legacy `VoteStreak` configuration. @@ -716,7 +716,7 @@ After confirming that migration completed correctly, use the new `VoteStreaks` c --- -# Best Practices +## Best Practices - Keep VoteStreak and progress-group IDs descriptive and stable. - Use a progress group when several rewards should share one streak. @@ -725,4 +725,4 @@ After confirming that migration completed correctly, use the new `VoteStreaks` c - Use `RequireMilestoneForLostRewards: true` to prevent premature lost-streak rewards. - Test recurring milestones to ensure they reward at the intended multiples. - Test missed-period behavior before enabling valuable production rewards. -- Back up player data before renaming existing streak or group IDs. \ No newline at end of file +- Back up player data before renaming existing streak or group IDs. diff --git a/VotingPlugin/Votifier-Troubleshooting.md b/VotingPlugin/Votifier-Troubleshooting.md index ec58bc2..3eb5bae 100644 --- a/VotingPlugin/Votifier-Troubleshooting.md +++ b/VotingPlugin/Votifier-Troubleshooting.md @@ -8,6 +8,8 @@ editor: markdown dateCreated: 2025-08-30T22:18:29.993Z --- +# Votifier Troubleshooting + ## Verify Votifier Is Working > ℹ️ If Votifier is working, you will see this in **console** (even if VotingPlugin isn’t fully configured yet): diff --git a/VotingPlugin/VotingPlugin-Specific-Rewards.md b/VotingPlugin/VotingPlugin-Specific-Rewards.md index 7c13321..e6c748c 100644 --- a/VotingPlugin/VotingPlugin-Specific-Rewards.md +++ b/VotingPlugin/VotingPlugin-Specific-Rewards.md @@ -8,6 +8,8 @@ editor: markdown dateCreated: 2025-08-30T22:18:30.743Z --- +# VotingPlugin-Specific Rewards + ## Specific rewards for VotingPlugin (Not in AdvancedCore by default) #Vote total requirements diff --git a/VotingPlugin/Web-Support.md b/VotingPlugin/Web-Support.md index cc7e270..fdfb954 100644 --- a/VotingPlugin/Web-Support.md +++ b/VotingPlugin/Web-Support.md @@ -8,6 +8,8 @@ editor: markdown dateCreated: 2025-08-30T22:18:31.670Z --- +# Web Support + ## 🌐 Displaying Votes Online (MySQL Required) If you want to **show vote statistics on your website**, you can use external web integrations that connect directly to your **VotingPlugin MySQL database**. diff --git a/VotingPlugin/World-Example.md b/VotingPlugin/World-Example.md index f5b1794..1a06815 100644 --- a/VotingPlugin/World-Example.md +++ b/VotingPlugin/World-Example.md @@ -8,6 +8,8 @@ editor: markdown dateCreated: 2025-08-30T22:18:33.123Z --- +# World-Specific Rewards + You can restrict any rewards to within certain worlds Rewards: @@ -24,4 +26,3 @@ You can also give rewards based on what world the player is on: world_nether: Commands: - say %player% in nether - diff --git a/VotingPlugin/proxy-method-MQTT.md b/VotingPlugin/proxy-method-MQTT.md index 5a09bf4..c7791ed 100644 --- a/VotingPlugin/proxy-method-MQTT.md +++ b/VotingPlugin/proxy-method-MQTT.md @@ -63,5 +63,4 @@ Double/Extra Rewards: Not working: - Restart all servers - Ensure required settings are set -- Test communication and run test votes (if that works check votiifer) - +- Test communication and run test votes (if that works check Votifier) diff --git a/VotingPlugin/proxy-method-REDIS.md b/VotingPlugin/proxy-method-REDIS.md index 43a75e3..3e21e26 100644 --- a/VotingPlugin/proxy-method-REDIS.md +++ b/VotingPlugin/proxy-method-REDIS.md @@ -63,5 +63,4 @@ Double/Extra Rewards: Not working: - Restart all servers - Ensure required settings are working -- Test communication and run test votes (if that works check votiifer) - +- Test communication and run test votes (if that works check Votifier) diff --git a/VotingPlugin/proxy-method-SOCKETS.md b/VotingPlugin/proxy-method-SOCKETS.md index 8c3d4af..0961f01 100644 --- a/VotingPlugin/proxy-method-SOCKETS.md +++ b/VotingPlugin/proxy-method-SOCKETS.md @@ -17,7 +17,7 @@ dateCreated: 2025-08-31T00:22:49.805Z > Running on velocity requires a mysql driver to be installed, one available as a plugin here if needed http://bencodez.com/job/MySQLDriver/ {.is-info} -> Requires ability for servers to communicate via sockets, which isn't always possible (Requires a open port for each server) +> Requires ability for servers to communicate via sockets, which isn't always possible (Requires an open port for each server) {.is-warning} @@ -69,6 +69,5 @@ Double/Extra Rewards: Not working: - Restart all servers - Ensure required settings are set -- Ensure ports are open and servers can reach eachother -- Test communication and run test votes (if that works check votiifer) - +- Ensure ports are open and servers can reach each other +- Test communication and run test votes (if that works check Votifier) diff --git a/VotingPlugin/voteshop.md b/VotingPlugin/voteshop.md index 16c941e..b6a32c6 100644 --- a/VotingPlugin/voteshop.md +++ b/VotingPlugin/voteshop.md @@ -15,7 +15,7 @@ Players can purchase rewards such as items, commands, keys, permissions, or othe --- -# Enabling VoteShop +## Enabling VoteShop VoteShop is enabled in `Shop.yml`: @@ -33,7 +33,7 @@ Players can open the shop using: --- -# Basic Shop Item +## Basic Shop Item A simple purchasable item: @@ -58,7 +58,7 @@ Shop: --- -# DisplayItem +## DisplayItem `DisplayItem` defines what appears in the GUI. @@ -85,7 +85,7 @@ Lore: --- -# Categories +## Categories Categories allow you to organize shop items into separate menus. @@ -123,7 +123,7 @@ Clicking the category button opens the category GUI. --- -# Back Button +## Back Button Categories support returning to the main VoteShop GUI. @@ -148,7 +148,7 @@ Clicking the back button returns the player to the main VoteShop menu. --- -# Confirmation Menu +## Confirmation Menu Items can require confirmation before purchase. @@ -171,7 +171,7 @@ ShopConfirmPurchase: --- -# Limits +## Limits You can limit how many times a player can purchase an item. @@ -190,7 +190,7 @@ Reset: --- -# Permissions +## Permissions Require permissions to purchase items. @@ -204,7 +204,7 @@ HideOnNoPermission: true --- -# Commands as Rewards +## Commands as Rewards Example command reward: @@ -216,7 +216,7 @@ Rewards: --- -# ExtraItems +## ExtraItems ExtraItems are **display-only items** that appear in the GUI but cannot be purchased. @@ -232,7 +232,7 @@ ExtraItems: --- -# Slot Positioning +## Slot Positioning Items can be placed in specific slots using: @@ -240,7 +240,7 @@ Items can be placed in specific slots using: Slot: 10 ``` -## Last Slot Shortcut +### Last Slot Shortcut Setting the slot to **-2** automatically places the item in the **last available slot of the GUI**. @@ -261,9 +261,9 @@ The plugin will automatically place the item at the end of the menu. --- -# Tips +## Tips - Use **categories** to keep large shops organized. - Use **Slot: -2** for navigation buttons like Back. - Use **DisplayItem** for cleaner configs. -- Use **Limits** for daily or weekly rewards. \ No newline at end of file +- Use **Limits** for daily or weekly rewards. diff --git a/VotingPlugin/webhooks.md b/VotingPlugin/webhooks.md index d8dd0b0..998186c 100644 --- a/VotingPlugin/webhooks.md +++ b/VotingPlugin/webhooks.md @@ -273,4 +273,4 @@ Common causes: - Supports Discord, APIs, and automation services - Retry-safe, rate-limit-aware, and extensible -This system is designed to grow without breaking existing configurations. \ No newline at end of file +This system is designed to grow without breaking existing configurations. From 0a0a2be0491c0f264cbb1d82bbb098619ea7cedd Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 1 Aug 2026 22:11:58 -0600 Subject: [PATCH 2/5] Align conversion command descriptions with source --- VotingPlugin/Commands-&-Permissions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/VotingPlugin/Commands-&-Permissions.md b/VotingPlugin/Commands-&-Permissions.md index 455adf9..6c18aea 100644 --- a/VotingPlugin/Commands-&-Permissions.md +++ b/VotingPlugin/Commands-&-Permissions.md @@ -615,10 +615,10 @@ the sender or a specific player. Let user pick his choice preferences /av ConvertToData (UserStorage) VotingPlugin.Commands.AdminVote.ConvertToData|VotingPlugin.Admin - Convert user storage from current storage type the one specified + Convert user storage from current storage type to the one specified /av ConvertFromData (UserStorage) VotingPlugin.Commands.AdminVote.ConvertFromData|VotingPlugin.Admin - Convert user storage from current storage type from the one specified + Convert user storage from the specified storage type to the current one VotingPlugin.Player : Allows basic access player commands VotingPlugin.Mod : Allows mod commands VotingPlugin.Admin : Allows admincommands From 3afbe636c9508b861c39a651570dea7361fe7b3f Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 1 Aug 2026 22:20:36 -0600 Subject: [PATCH 3/5] Restore VoteMilestones heading hierarchy --- VotingPlugin/VoteMilestones.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/VotingPlugin/VoteMilestones.md b/VotingPlugin/VoteMilestones.md index cc80536..c4d9d98 100644 --- a/VotingPlugin/VoteMilestones.md +++ b/VotingPlugin/VoteMilestones.md @@ -18,7 +18,7 @@ This page explains **how VoteMilestones really work**, followed by **lots of rea --- -### Where VoteMilestones are configured +## Where VoteMilestones are configured All VoteMilestones are configured in: @@ -35,7 +35,7 @@ VoteMilestones: --- -### How VoteMilestones work +## How VoteMilestones work On **every vote**, VotingPlugin: @@ -50,7 +50,7 @@ VoteMilestones are **not automatically one-time** unless you use a `Limit`. --- -### VoteMilestonesOptions (group selection) +## VoteMilestonesOptions (group selection) Groups control **how many milestones can trigger per vote**. @@ -61,7 +61,7 @@ VoteMilestonesOptions: RankRewards: HIGHEST ``` -#### Group modes +### Group modes | Mode | Meaning | | --------- | ---------------------------------------------- | @@ -79,7 +79,7 @@ If a milestone has **no Group**, it automatically uses `Default`. --- -### VoteMilestone fields +## VoteMilestone fields Basic structure: @@ -97,7 +97,7 @@ VoteMilestones: - "say %player% hit %amount%" ``` -#### Core keys +### Core keys | Key | Purpose | | --------- | -------------------------------------- | @@ -111,7 +111,7 @@ VoteMilestones: --- -### Supported totals (`Total:`) +## Supported totals (`Total:`) | Value | Meaning | | ---------------- | ------------------------ | @@ -126,9 +126,9 @@ Friendly aliases like `AllTime`, `Daily`, `Weekly`, `Monthly`, and `Points` also --- -### Triggers: `At` vs `Every` +## Triggers: `At` vs `Every` -#### `Every` (multiples) +### `Every` (multiples) ```yml Every: 25 @@ -138,15 +138,15 @@ Triggers when the total is divisible by 25 (25, 50, 75, …) --- -#### `At` (exact totals) +### `At` (exact totals) -##### Single value +#### Single value ```yml At: 50 ``` -##### List +#### List ```yml At: @@ -155,7 +155,7 @@ At: - 100 ``` -##### Ranges (with optional steps) +#### Ranges (with optional steps) ```yml At: @@ -167,7 +167,7 @@ Ranges are expanded safely and automatically. --- -### Limits +## Limits Limits control **how often** a milestone can trigger. @@ -177,7 +177,7 @@ Limit: Duration: 12h ``` -#### Limit types +### Limit types | Type | Behavior | | -------------- | ----------------- | @@ -376,7 +376,7 @@ VoteMilestones: --- -### Legacy migration +## Legacy migration The following legacy sections are automatically migrated at startup: @@ -393,7 +393,7 @@ New configurations should always use **VoteMilestones**. --- -### Placeholders +## Placeholders | Placeholder | Meaning | | ----------------- | ----------------------- | From f904cf8ccc55638d6496c5ffa56e1019bd41ddb1 Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 1 Aug 2026 22:20:43 -0600 Subject: [PATCH 4/5] Restore VoteStreak location heading --- VotingPlugin/VoteStreak-System.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VotingPlugin/VoteStreak-System.md b/VotingPlugin/VoteStreak-System.md index 58af09c..c68c3fb 100644 --- a/VotingPlugin/VoteStreak-System.md +++ b/VotingPlugin/VoteStreak-System.md @@ -26,7 +26,7 @@ It supports: --- -### Location +## Location ```text /plugins/VotingPlugin/SpecialRewards.yml From f1dbd22ee6725a4b45701e5cdef7258aea1e9f41 Mon Sep 17 00:00:00 2001 From: Ben Date: Sun, 2 Aug 2026 10:01:22 -0600 Subject: [PATCH 5/5] Fix Rewards heading hierarchy --- VotingPlugin/Rewards.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/VotingPlugin/Rewards.md b/VotingPlugin/Rewards.md index 774a5f5..d6a4940 100644 --- a/VotingPlugin/Rewards.md +++ b/VotingPlugin/Rewards.md @@ -10,7 +10,9 @@ dateCreated: 2025-08-30T22:18:22.882Z # Rewards -### For everything that reward files can do can be seen [here](https://github.com/BenCodez/AdvancedCore/wiki/Reward-files). +## Reward capabilities + +Everything that reward files can do is documented [here](https://github.com/BenCodez/AdvancedCore/wiki/Reward-files). You can do any of the following for any rewards defined within the plugin (even for some GUI's), reward files don't need to be used, it's just part of the system to allow more complex rewards. You can configure advanced rewards without reward files. @@ -18,7 +20,7 @@ You can configure ingame with /av gui as shown in this video here: https://www.y Not sure where to set rewards? [Where to set rewards](https://github.com/BenCodez/VotingPlugin/wiki/Where-to-set-rewards) -### Rewards are defined usually under the Rewards Section +## Rewards are usually defined under a Rewards section (Some other text can replace the Rewards test in some places, i.e. FirstVote, EverySiteReward, AllSites, etc): Rewards: @@ -33,7 +35,7 @@ Not sure where to set rewards? [Where to set rewards](https://github.com/BenCode Rewards: # sub reward -### Directly define rewards (Recommended, no reward files required): +## Directly define rewards (Recommended, no reward files required) Rewards: Money: 100 @@ -61,9 +63,7 @@ Also note that using the above method may generate a file in Rewards/DirectlyDef Rewards: 'RewardFile1' -## - -### Placeholders (Use within rewards): +## Placeholders (Use within rewards) %player% = Player name %money% = Money player got (With random number support)