﻿Genesis
by MageMonkeyStudio

v2.0.9 [BETA]
* [ADD] Added support for hex color codes
* [WARNING] In case of automated line splits (because of the "split lore lines which are too long into multiple lines" feature), the new lines will not continue using the color of the previous line. This is expected to be fixed in the close future, when Spigot API is adjusted.


v2.0.8
* [FIX] Fixed selling items no longer working


v2.0.7
*[ADD] Added CustomModelData support
*[UPDATE] Updated EpicSpawners support
*[UPDATE] Updated PlaceholderAPI support
Update by ItsMeGlare


v2.0.6 [BETA]
*[ADD] Added weather condition
*[IMPROVE] Improved playerhead ItemData
Update by ItsMeGlare


v2.0.5
*[UPDATE] Updated EpicSpawners support
*[FIX] Fixed signs not working


v2.0.4 [BETA]
*[NOTE] Still supports Spigot 1.13.*. If you use an older Spigot version than 1.13.*  use Genesis v1.9.8 or older.
*[UPDATE] Updated to Spigot 1.14


v2.0.3
* [ADD] Added "%uuid%" placeholder
* [FIX] Fixed durability ItemData


v2.0.2
* [ADD] "color" ItemData can now modify the color of potions
* [FIX] Actions which are triggered by player input are no longer executed asynchronously
* [FIX] Fixed "unbreakable" ItemData not working
* [FIX] Fixed SilkSpawners incompatibility issue


v2.0.1
* [NOTE] Requires Java 8 or above
* [UPDATE] Updated TokenManager support
* [FIX] The "shop read" command now uses 1.13 enchantment names
* [FIX] Now using 1.13 ItemMeta durability/damage


v2.0.0 [BETA] For 1.13 and above. If you use an older Spigot build, download Genesis v1.9.8 instead.
*[NOTE] When updating to 1.13.*:
** Material names need to be updated. List of new material names: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html or https://minecraft.gamepedia.com/1.13/Flattening
** Enchantment names need to be updated. List of new enchantment names: https://www.minecraftforum.net/forums/minecraft-java-edition/redstone-discussion-and/commands-command-blocks-and/2891015-1-13-full-enchantment-ids-small-give-tutorial
*[ADD] API changes: Added clickType as property of GenesisPlayerPurchasedEvent and GenesisPlayerPurchaseEvent
*[FIX] Small bug fixes


v1.9.9 [ALPHA] USE AT YOUR OWN RISK! DO NOT USE IN PRODUCTION!
For all of you who want to try out Genesis using Spigot 1.13.1, I decided to upload the current development build.
Do not use this on a production server; it has not been tested well enough for that. Additionally a few changes and features
to make upgrading shops to 1.13.1 are still missing.

The current update will break existing ItemData, which includes:
* Many material names
* Durability: For example colored wool used to have "type:WOOL" and "durability:<wool subtype>".
Now instead there is a separate material name for every type of wool, for example "type:RED_WOOL"
* Enchantment types
* Potion effect names

What I will work on within the next weeks:
* Thorough testing
* Fix small issues (for example RewardType enchantment seems to no longer detect the item in the players main hand)
* Wiki updates; links to the new ItemData names; Showing how mob eggs can now be setup without external plugins like SilkSpawners/EpicSpawners
* A command / script, which converts ItemData to 1.13.1, using the new names (will work for most but not all items)
* A GenesisConfigure update
* Addon updates
* More testing
* Change color of glass pane in main menu

*[NOTE] Requires at least Spigot 1.13.1 If you use an older Spigot version simply use Genesis v1.9.7 or older.
*[UPDATE] Updated to Spigot 1.13.1
*[ADD] Added support for a list of options within numerical conditions when using the "equals" tag. Example:
    Condition:
    - type:RealWeekDay
    - 'equals:1,3,5'


v1.9.8
*[UPDATE] Updated EpicSpawners support


v1.9.7
*[ADD] Shop open commands now support player input that can be used within the shop
*[ADD] Added support for GadgetsMenu mystery dust as points currency


v1.9.6
*[FIX] Updated player chat listener priority to fix issues with some chat plugins


v1.9.5
*[NOTE] 1. The addon ThirdCurrency needs to be updated if you are using it
*[NOTE] 2. The addon PlayerShops needs to be updated if you are using it
*[IMPROVE] When players buy items with "RewardType: ItemAll" and do not have enough money for a full inventory they receive as much items as they have money for instead of being unable to buy anything.
*[FIX] When using "PriceType: Or" in same cases wrong messages were sent to the player.


v1.9.4
*[IMPROVE] Not defining a pricetype/rewardtype is possible again and results in type "NOTHING"


v1.9.3 [BETA]
*[FIX] When using Language Utils item placeholders did not show the item quantity


v1.9.2 [BETA]
*[ADD] Added a possibility to define multiple prices with different pricetypes and multiple rewards with different rewardtypes per item
For more information check out https://www.spigotmc.org/wiki/bossshoppro-configuration-advanced-options -> Different RewardTypes/Pricetypes for one item.
Note: The new (advanced) price and rewardtypes are not supported by the setup tool and need to be configured manually.


v1.9.1 [BETA]
*[WARNING] Support for material ids, enchantment ids and potion ids will be removed soon and is no longer guaranteed. For more information check out https://www.spigotmc.org/threads/minecraft-1-13-what-to-expect.288714/. Every id can be replaced by the correct material/enchantment/potion name. This harsh step might break existing shops and require them to be modified. If you decide to update make sure to test your shops before making them public to your players.
*[NOTE] Requires PlayerShops to be updated
*[IMPROVE] The '%material%' placeholder now shows material names in the native language if LanguageUtils is installed
*[IMPROVE] Other small improvements


v1.9.0
*[UPDATE] Updated EpicSpawners support (now supporting custom mobtypes)
*[FIX] Small bugfixes


v1.8.9
*[FIX] Small bugfix related to player heads


v1.8.8
*[FIX] Fixed an issue related to serverpinging placeholders


v1.8.7
*[ADD] Added placeholder support to customskull textures. Connecting this feature with player input you could enable your builders to spawn/buy heads with any custom textures they want. 
*[ADD] Added a configurable player input timeout (default is 45 seconds)
*[IMPROVE] Now you can define "PointsPlugin: none" to disable Genesis points support although having a points plugin installed.
*[FIX] Fixed a small issue related to serverpinging


v1.8.6
*[IMPROVE] Improved item lore comparison. For more info check out https://www.spigotmc.org/wiki/bossshoppro-item-comparison/


v1.8.5
*[IMPROVE] No longer loading ServerPinging package when the feature is not being used
*[IMPROVE] Removed Enjin Points "No Account" warning message due to the valid possibility of only some players having an account
*[IMPROVE] Other small improvements, including playerhead improvements


v1.8.4
*[ADD] Added new option which allows ignoring the damage tools/armor/weapons have taken when players sell them


v1.8.3 [BETA]
*[NOTE] 1. The addon ItemShops needs to be updated if you are using it
*[NOTE] 2. The addon PlayerShops needs to be updated if you are using it
*[ADD] You can now force players to input text/select a player before an action is performed
*[ADD] Added player input placeholder which can basically be used everywhere (requires input before)


v1.8.2
*[ADD] Added EpicSpawners support: Instead of SilkSpawners optionally EpicSpawners can be used as dependency for pre-set mobspawners
*[IMPROVE] Now supporting negative numbers within conditions
*[CHANGE] Changed separator of numerical "between" conditions from "-" to ":". Shops with the old separator are still supported but unable to use negative numbers.


v1.8.1
*[ADD] When adding enchantments to items all TokenEnchant enchantments are automatically supported and detected now.
"RewardType: enchantment" does still only support Vanilla enchantments. For custom ones use "Rewardtype: playercommand" and a command (for example a TokenEnchant command) instead.


v1.8.0
*[FIX] Fixed a critical bug which in some cases might result in the players getting more items than they buy. The bug was caused by update v1.7.8 which was already deleted to prevent server admins from using the file.


v1.7.8
*[FIX] Placeholder [colon] not working in placeholder conditions


v1.7.7
*[UPDATE] Updated PointsAPI support
*[IMPROVE] Small performance improvements


v1.7.6
*[IMPROVE] Small API improvement to obviate potential item stacksize issues


v1.7.5
*[ADD] Added new "HandItem" match condition
*[IMPROVE] The "CloseShopAfterPurchase" setting now actually closes a shop directly before the shopitem reward is given to the player. That way rewards which open other inventory GUIs still work fine when the feature is enabled.
*[IMPROVE] Changed player chat listener priority to avoid player chat input (used by addons like PlayerShops) issues


v1.7.4
*[FIX] '\n' not forcing a new line


v1.7.3
*[FIX] Buy-All placeholder sometimes not working


v1.7.2
*[FIX] Small bugfix (Placeholder-condition incompatible with some server software, for example KCauldron)


v1.7.1
*[UPDATE] Now supporting MC 1.12


v1.7.0
*[NOTE] 1. The addon LimitedUses needs to be updated if you are using it
*[NOTE] 2. The addon PlayerShops needs to be updated if you are using it
*[IMPROVE] When going back to a previous shop which has multiple pages players will now be sent to the page they were viewing previously
*[IMPROVE] Now supporting "double-placeholder" match conditions like '%player_name%:match:%player_displayname%'
*[IMPROVE] Some minor improvements


v1.6.8
*[NOTE] 1. The addon GuiShopManager needs to be updated if you are using it
*[NOTE] 2. The addon PlayerShops needs to be updated if you are using it
*[ADD] Added new placeholders "%rewardraw%" and "%priceraw%" which will be replaced by the raw reward/price values instead of formatted text. This might be useful for numbers but should not be used when it's about objects like item.
*[IMPROVE] Numerical conditions now support placeholders, which can be used instead of fix values (for example using 'over:%priceraw%')
*[IMPROVE] Placeholders are now supported within price items (makes it possible to for example allow players to only sell specific items which contain their name in the lore)


v1.6.7
*[FIX] Catching possible BungeeCord message issues


v1.6.6
*[ADD] Added command to simulate shopitem clicks (makes different RewardTypes at once possible)
*[ADD] Added option to sell plain exp instead of exp levels


v1.6.5
*[NOTE] Requires all addons with custom PriceTypes to be updated. Includes: ThirdCurrency and PlayerShops
*[IMPROVE] Improved PriceType handling
*[IMPROVE] Improved anti-click-spam protection
*[FIX] ItemAll amount price bug


v1.6.4
*[ADD] Added TokenManager support
*[ADD] Added new API required for a LimitedUses addon update


v1.6.3
*[FIX] Fixed mistake in example shops
*[FIX] Small bugfix


v1.6.2
*[FIX] Fixed BungeeCord command support (requires a copy of Genesis to be put in the BungeeCord plugins folder)


v1.6.1
*[NOTE] 1. The addon ThirdCurrency needs to be updated if you are using it
*[NOTE] 2. The addon PlayerShops GUI needs to be updated if you are using it
*[ADD] Added new rewardtype: ItemAll (fills inventory with item) 
*[IMPROVE] Small improvements. Now you can use "[colon]" within placeholder conditions in order to be able to work with placeholders containing colons
*[FIX] Fixed typo in default shops


v1.6.0
*[ADD] Added modulo support to all Genesis calculations
*[ADD] Added new API methods required for a new addon
*[IMPROVE] Other small improvements


v1.5.9
*[FIX] '%item_in_hand%' placeholder not working when using older server software


v1.5.8
*[ADD] Added new conditions: placeholdernumber and placeholdermatch. Now you can have conditions that check for values of any PlaceholderAPI supported plugin.
*[ADD] Added new placeholder: %item_in_hand%
*[ADD] Added new shopitems to the default shops


v1.5.7
*[ADD] Added API method which allows accessing Addons
*[IMPROVE] Improved shop command alias handling
*[FIX] Fixed PlayerShops Points issue


v1.5.6
*[UPDATE] Updated default configuration: Changed amount of some items from 0 to 1 in the "pagelayout.yml" file, because in 1.11 items with an amount of 0 are not shown anymore
*[ADD] Added example vanilla potions to the GameShop

Note: In early 1.11 Minecraft builds skulls in inventories are displayed wrong. That's a Minecraft client related issue and should be fixed in more recent minecraft builds.


v1.5.5
*[ADD] Added new world condition type: "match:<world name>" or "dontmatch:<world name>"


v1.5.4
*[ADD] Added new API for a ThirdCurrency addon update
*[IMPROVE] Small improvements


v1.5.3
*[ADD] If BungeeCord is enabled additional plugin messages will be sent to your proxy, allowing it to handle player input better
*[IMPROVE] Different small improvements


v1.5.2 (Beta)
*[ADD] Added option to make Genesis execute economy related shopitem actions asynchronously (prevents lag when for example having MySQL based currencies)
*[IMPROVE] Added WeekShop menu link to the main menu


v1.5.1
*[ADD] If BungeeCord is enabled Genesis will now send short notifications when players input shop information in the chat. That way other plugins can detect whether player input belongs to the chat or not (just needed in very few cases like for example a global BungeeCord chat)
*[FIX] Huge numbers in some situations displayed wrong due to rounding issues


v1.5.0
*[ADD] Added option to send a warning when players want to purchase items when not having enough space in their inventory instead of dropping the items on the ground
*[IMPROVE] Added support for huge money price/reward values


v1.4.9
*[NOTE] 1. The addon ThirdCurrency needs to be updated if you are using it
*[NOTE] 2. API for custom points plugins has been changed
*[IMPROVE] Rewrote and improved the points system and added support for double values
*[UPDATE] Updated TokenEnchants support


v1.4.8
*[IMPROVE] Removed itemstack size limit (had a limit of 64 since v1.4.7)


v1.4.7
*[ADD] Added new condition types:
** Year
** Month
** Week
** MonthDay (Day of month)
** WeekDay (Day of week)
** Hour
** Minute
** Second
** Millisecond (allows the creation of animated shops)
** LightLevel
** LocationX
** LocationY
** LocationZ
*[ADD] Added modulo support to conditions


v1.4.6
*[ADD] Added effective clickspam kick feature, extending the already existing clickdelay feature
*[ADD] Optional 'CheckStackSize' setting: If enabled players will no longer get items with a higher stack size than the maximum Vanilla stack size


v1.4.5
*[ADD] Added support for custom written books
*[ADD] Added an example book to the default shops


v1.4.4
*[ADD] Added MySQLTokens support (already having MySQL-Tokens support)
*[CHANGE] Using the points plugin name "MySQLTokens" in the config does no longer lead to "MySQL-Tokens" but to "MySQLTokens" instead. Write "MySQL-Tokens" if you want to use that plugin.


v1.4.3
*[IMPROVE] Increased priority of the Genesis inventory listener
*[IMPROVE] Other small improvements


v1.4.2
*[NOTE] 1. Requires the addon GuiShopmanager to be updated
*[NOTE] 2. Requires the addon ThirdCurrency to be updated
*[IMPROVE] Improved item checking: Now able to compare enchanted books, potion effects and more


v1.4.1
*[IMPROVE] Added more API methods


v1.4.0
*[FIX] RewardType 'enchantment' and command '/bs read' not working on Spigot 1.8 or older 


v1.3.9
*[NOTE] 1. Requires the addon GuiShopmanager to be updated
*[NOTE] 2. This will break existing itemdata using "potion:<potioneffecttype>#<lvl>#<duration>". Please rename these into "potioneffect:<potioneffecttype>#<lvl>#<duration>"
*[ADD] Added command which reads items and prints out the itemdata needed to create them
*[ADD] Added new potion itemdata which makes the creation of vanilla potions way easier


v1.3.8
*[IMPROVE] Potion duration supports double values now (Example: "potioneffect:BLINDNESS#0.25" would be 0.25 seconds -> 5 ticks)
*[IMPROVE] Sending more placeholder information to be used by Addons when players purchase a shopitem
*[IMPROVE] More improvements
*[FIX] Fixed BungeeCord connection issue


v1.3.7
*[FIX] Pricetype "ItemAll" in some cases not giving right amount of money


v1.3.6
*[ADD] Added SilkSpawners mobspawner and monsteregg support


v1.3.5
*[IMPROVE] Forcing all shops to close on server reload


v1.3.4 (Beta) 
*[ADD] Added a few new API methods for the new PlayerShops addon


v1.3.3 (Beta) 
*[ADD] Added many new API methods and events (getting ready for a new Addon)
*[IMPROVE] API improvements
*[IMPROVE] Other small improvements
*[CHANGE] Decreased default lore split length to 42 characters


v1.3.2 (IMPORTANT FOR USERS OF THE ITEMSHOPS ADDON!)
*[FIX] Improved API. Important: Without this update it is possible to steal items from ItemShops if using the addon ItemShops


v1.3.1
*[IMPROVE] Small improvements to obviate plugin dependency issues


v1.3.0
*[FIX] Fixed ServerPinging via BungeeCord issue


v1.2.9
*[ADD] Added API method that handles file loading and updating


v1.2.8
*[ADD] Added configurable sounds
*[FIX] Fixed a bug related to the signlistener

v1.2.7
*[ADD] Added API method for the GenesisConfigure tool
*[FIX] Small message fix


v1.2.6
*[IMPROVE] Improved placeholders related to reward type "ItemAll"
*[FIX] Some placeholders were not displayed properly


v1.2.5
*[ADD] Added Kingdoms Resourcepoints support
*[FIX] Command aliases not working when "SearchSubfoldersForShops: true"
*[FIX] Other small fix


v1.2.4
*[FIX] Serverpinging not working on some 1.8.8 servers


v1.2.3 (If you are using the Addon "ThirdCurrency" you will need to update it)
*[ADD] Added configurable ItemAll suffix that will be shown if player does not have any item to sell (-> For example showing "Reward: 100 each" instead of "Reward: 0"; only affecting items with pricetype ItemAll and servers with "SellAllPlaceholderShowFinalReward: true")
*[IMPROVE] No longer saving config.yml when server is reloaded, except if new default values are added due to a plugin update
*[IMPROVE] Other small improvements
*[FIX] Unbreakable flag not working properly


v1.2.2
*[IMPROVE] Small improvements
*[FIX] It was not possible to add ItemFlags to items without existing ItemMeta (like custom name, lore or enchantments) 


v1.2.1
*[ADD] Added support for VotingPlugin points (Needs VotingPlugin v4.2.4 or higher)
*[IMPROVE] Small API improvements


v1.2.0
*[ADD] Added configurable time formatting (used by addons like "LimitedUses")
*[ADD] Added other new API methods (docs cooming out soon)
*[FIX] Rounding extremely huge numbers made these invalid


v1.1.9 (Beta Build) (When using this you will need to update the addons "ItemShops" and "ThirdCurrency")
*[IMPROVE] Optional feature: When using PriceType "ItemAll" the %reward% placeholder will show the total reward the player will receive instead of the reward for each item
*[REWRITE] Modified structure of PriceTypes and RewardTypes a little
*[FIX] Small fix


v1.1.8
*[IMPROVE] Small serverpinging performance improvements
*[FIX] Itemstacks do no longer loose their custom name/lore when a part of the stack is sold
*[FIX] Fixed command alias permissions


v1.1.7
*[ADD] Added new condition type: Exp (players exp level)
*[ADD] Added new ServerPinging features
** Configurable timeout
** Configurable waittime after pinging a server without success
*[ADD] Added separate ExtraPermission support for different clicktypes (Leftclick and rightclick can have independent extrapermissions)


v1.1.6
*[IMPROVE] Added simple calculation support to price/reward numbers (only supporting raw numbers, not placeholders). Example:
PriceType: money
Price: 12*64 
*[IMPROVE] Made number display even more configurable and other minor improvements


v1.1.5
*[FIX] It was not possible to remove the 'ClickSpamWarning' message by editing the messages.yml


v1.1.4
*[ADD] Added configurable click delay to prevent click spam
** Not for long-time uses: The delay is removed when the player leaves the server
** You can bypass the delay using the "Genesis.bypass" permission
*[IMPROVE] Small number display improvements (Now showing '0.1' instead of '.1')


v1.1.3
*[ADD] Added new RewardType: PlayerCommandOp alias OpCommand (makes the player execute a list of commands with op permissions)
*[FIX] Small bugfix


v1.1.2
*[ADD] Added new RewardType: BungeeCordCommand (executes a list of commands via BungeeCord console) [BETA FEATURE]
*[FIX] Fixed small bug related to the "CloseShopAfterPurchase" property


v1.1.1
*[ADD] Expanded API (Hint: The ItemShops Addon will be published soon!)
*[FIX] It was not possible to edit the Pagelayout file
*[ADD] Added new way to set up lores:
C) (new)
item:
- 'name:Name of item'
- 'lore1:Line 1'
- 'lore2:Line 2'
- 'lore4:Line 4'
- 'lore5:Line 5'


A) (traditional)
item:
- 'name:Name of item'
- 'lore:Line 1#Line 2#Line 3'
B) (other)
item:
- 'name:Name of item'
- 'lore:Line 1'
- 'lore:Line 2'
- 'lore:Line 3'



v1.1.0
*[FIX] Obviating possible issues that might occur when opening the GUI of an other plugin via playercommand/command


v1.0.8
*[ADD] Now you can generate custom skulls ('customskull:<mojang url>' or 'customskull:<texture>'). Once loaded they will stay loaded for the player ;-)
*[ADD] Added new advanced possibility for MenuItems: use %rewarditem_<number>% or %priceitem_<number>% to import the look of the price item/reward item. For example %rewarditem_1% will make the MenuItem look like the first item reward. Of course you can add additional information to the MenuItem like a new name when importing the look.
*[IMPROVE] Some number display improvements


v1.0.7 (Warning: This will most likely break running Addons. Please update them aswell!)
*[ADD] Added new PriceType: ItemAll (more infos can be found here: link)
*[ADD] Added new placeholders
**%amount% - Displays amount of MenuItem
**%material% - Displays material name of MenuItem (Planned: an optional library that gets the real vanilla names of each material supporting different languages)
*[ADD] %page% and %maxpage% placeholders can now be used in inventory titles
*[ADD] Added new rewardtype "Exp" (Exp levels)
*[ADD] Added calculation support in text. Put calculations inside following brackets: {}. Example: '{10*%players_hypixel%}' will return the playercount of Hypixel times 10. Following operators are supported so far: +, -, *, /. Note: normal brackets '()' are not supported by the calculator yet!
*[ADD] Added new API methods
*[IMPROVE] Other small improvements


v1.0.6
*[ADD] Added MySQLTokens support (can be used as Points currency)
*[ADD] You can now connect every shop with commands that will open it
*[FIX] Serverpinging should now support 1.7 servers and older


v1.0.5
*[ADD] Added API method for the GenesisConfigure tool
*[FIX] Now just ignoring features that are not supported by the used server version yet


v1.0.4
*[ADD] Added configurable Serverpinging debug feature (if there should be any issues (for example when running an old server version) just PM me! Then we can solve it using the debug feature))
*[IMPROVE] Now able to detect materials written in lower case
*[IMPROVE] Small API improvements (Docs about API cooming soon)
*[IMPROVE] You can now add optionally create lores following way:
A) (traditional)
item:
- 'name:Name of item'
- 'lore:Line 1#Line 2#Line 3'
B) (new)
item:
- 'name:Name of item'
- 'lore:Line 1'
- 'lore:Line 2'
- 'lore:Line 3'


v1.0.3
*[ADD] Money and Points display is formatted now (configurable)
*[IMPROVE] Improved the %left% placeholder: Not only showing plain numbers but using the configurable display format
*[FIX] Small bugfix


v1.0.2
*[ADD] Added some more code in order to make more Addons possible


v1.0.1
*[ADD] Added new API methods
*[ADD] Added one example shopitem that has different left- and rightclick actions
*[ADD] Added JobsReborn points support
*[ADD] Added new multiplier options: Now you can create different price and reward multipliers (optional)
*[ADD] Added new lore cutting feature: Automatically splitting lines when they are too long (configurable length)
*[ADD] Now you can optionally add actions for every kind of click (LEFT, RIGHT, MIDDLE, SHIFT_LEFT etc.)
*[IMPROVE] Improved serverpinging
** You can now stack the player count of multiple servers and display the total number
** Working serverpinging connector is now remembered and automatically used next time
** Some more improvements
*[IMPROVE] Some permissions improvements
*[IMPROVE] Small performance improvements
*[REMOVE] Now you can optionally add actions for every kind of click (LEFT, RIGHT, MIDDLE, DOUBLE_CLICK etc.)
*[FIX] In rare situations placeholders were not displayed properly
*[FIX] Due to writing "PageLayout.yml" instead of "pagelayout.yml" Genesis broke on some operating systems
*[REMOVE] Removed the rightclick-action feature as now all kinds of clicks can be specified


v1.0.0
*First Release