*ADDED - Feature to make item that indismantable can be dismantled (optional)
Code (YAML):
#(Optional) Set this true will make item has lore "indismantable" can be dismantled , otherwise not #Default value is true if not set can-dismant: true
*FIXED - Small fix about item lore which trade from villager
(conflict with other items lore)
- Make item trade from villager indismantable (toggle on/off) .Turn on make item trade has lore "Indismantable" and it can't be dismantled in workbench and also player can't use shift-click when trading (i don't know why , will find out it next time ) - Item tag can be modify with whatever you want , plugin will automatic update item lore - You can also make item become indismantable by add this lore to item you want , otherwise remove this lore and item will be dismantled normally
- Customize auto-update time - Now , you don't have to reload plugin/server when ever you make change of this listed feature above , plugin will automatic load new value you set in config. - Please close dismantle workbench and re-open to make feature that listed above affect
When check auto-update is on
When check auto-update is off
- Fix some null error that happens when use dismantle workbench. - Fix message , debug line.
#Prevent player dismant item trade from villager (maybe it so op) #Some spigot users has report this to me #Toggle this will make every items trade from villager #has a hidden tag "villager_item" on it #and player is unable to dismant it #Default value is false if not set #Turn on "trade-villager: true" in update config before turn on this villager-item:
toggle: false
#Tag display on item when trade #You can also add lore manual with this tag #to make this item indismantable. tag: "&r&c[Indismantable]"
Code (YAML):
#Auto update of each feature #When you enable auto update , every children config #of this feature is also updated by the time. #When you turn off the update, any new values you set will not be displayed/changed #in the game (plugin still take the old value from config) unless you turn on #the update or reload server/plugin # • toggle: toggle auto update (default is true) # you can stop auto update by command. # • time: plugin will update every xx seconds. (default is 1 if not set) # • durability: toggle update durability feature. # • whitelist: toggle update whitelist. # • blacklit: toggle update blacklist. # • ignore: toggle update ignore list. # • restrict: toggle restrict requirement of enchant. #All default value is true if you not set for it. update:
toggle: true
time: 1
durability: true
whitelist: true
blacklist: true
ignore: true
restrict: true
trade-villager: true
Code (YAML):
update:
check:
- "○ &6Toggle: %toggle%" - "○ &6Update: %boolean%" - "○ &6Time: &a%sec%" - "• &bDurability: %dbStatus%" - "• &bWhite-list: %wlStatus%" - "• &bBlack-list: %blStatus%" - "• &bIgnore-list: %ignStatus%" - "• &bRestrict: %rstStatus%" - "• &bTrade-villager: %tvStatus%" start: "• &aAuto update enabled..." stop: "• &cDisabled auto update..."[/LEFT
] no-recipe: "• &cItem &6%name% x%amount% &cdon't have recipe to dismant or have been disabled (bamboo)." indismantable: "• &cItem that trade from villager can't be dismantled."
- Remove some debug line left in code xD. - Fix some problems related about dismantle item.
- Fix message show in-game.
- Item display on crafting table will disappear and input item will turn back
to inventory or drop in player location when server reload/plugin disable.
White List - Allow player dismant items which is listed in white list. - Toggle feature to switch on/off black list
- Only items in white list can be dismantled , otherwise indismantable. **Notice: you cannot toggle White List and Black List together , it's cause bugs. Black List - Allow admin ban items that you don't want player dismant it. - Toggle feature to switch on/off black list - Only items in black list can't be dismantled , otherwise dismantable **Notice: you cannot toggle White List and Black List together , it's cause bugs. Durability - Toggle feature to switch on/off durability when dismant items. Enchantment Ignore Mode - Allow admin set ignore mode on items. - Toggle feature to switch on/off. - Only items in ignore list can be ignored , otherwise not - If ignore list is empty or not set , plugin will set ignore mode to all items in server. Restrict Mode - Allow admin set enchantment restrict on items when dismant. - Toggle feature to switch on/off. - Enchantment level will in range of min and max in config. **Notice: min level must be greater than 0 , if not restrict mode won't active. Enchanted Book - Enchantments on item will transfer to enchanted book base on enchantment name and level on item. - This feature just apply for Vanilla enchantment , if you're using otther Custom Enchantment plugin , please contact me via Discord and i will add it's API to my plugin for your needs.
Durability - I have misunderstand about Durability so this will be fixed in this update - Fix message and placeholders. - Fix permissions. - Fix commands. - Fix player's log when dismant items.
Code (YAML):
#With item have durability # %damagedValue%: amount damaged of your item. # %current_percent%: transfer amount damaged of your item to percent "Dismant success %item% x%item_amount% (%damagedValue%/%current_percent%)"
#With item have no durability "Dismant success %item% x%item_amount%"
Member /dismantle help: display help message again. (no perm) /dismantle whitelist: check dismantable items. (no perm) /dismantle blacklist: check indismantable items. (no perm) /dismantle enchant ignorelist: check ignore items. (no perm) /dismantle enchant restrict: check for restrict requirement to dismant items (no perm) /dismantle durability: check for durability requirement to dismant items. (no perm) Staff/GM (Require permission itemdismantle.help) /dismantle reload: reload configuration. (itemdismantle.reload) /dismantle version: check for update and version (itemdismantle.version) /dismantle help: display advanced help message. (itemdismantle.help) /dismantle whitelist: check dismantable items. (no perm) /dismantle blacklist: check indismantable items. (no perm) /dismantle enchant ignorelist: check ignore items. (no perm) /dismantle enchant restrict: check for restrict requirement to dismant items (no perm) /dismantle durability: check for durability requirement to dismant items. (no perm)
Code (YAML):
#Allow items in this list can be dismantled. (ignore capitalization) #Only items that listed below can be dismantled, # otherwise indismantable (different with blacklist) #If black list and white list has the same toggle status # player can"t use Dismantle Workbench (prevent bugs) , otherwise not #List of available item: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html whitelist:
toggle: false
items: #- example_item
Code (YAML):
#Disable items that you don"t want dismant it. (ignore capitalization) #Only items that listed below can"t be dismantled, # otherwise dismantable (different with whitelist) #If black list and white list has the same toggle status #player can"t use Dismantle Workbench (prevent bugs) , otherwise not #List of available item: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html blacklist:
toggle: false
items: #- example_item
Code (YAML):
enchantment: #Ignore is that item will be dismantled without enchanted book include # • enable: toggle ignore mode (default is false) # • items: list of items will be ignored , if it"s empty # then plugin will ignore all item in server ignore:
toggle: false
items: #- example_item
Code (YAML):
enchantment: #Restriction of enchantment on item #- If item has enchantment"s level run out of [min-max] range #this item can"t be extract. # • enable: false (default , you can change it) # • min: minimum level of enchantment. (default is 2) # • max: maximum level of enchantment. (default is 99999) #Min level must be greater than 0 or restriction will not active restrict:
toggle: false
min: 1
max: 99999
Code (YAML):
message:
version-check:
- "&6Current version: &a%version%" - "&6Latest version: &c%latest%" no-perm-command: "&cYou don't have &6%perm% &cto use that command." same-toggle: "§3Black List &cand &bWhite List &cis enable together , contact GM to disable one." white-list:
check:
- "&6Status: %boolean%" -
"&6Total &b%amount% &adismantable &6items:" not-exist: "&cItem &6%name% &cisn't in white list" black-list:
check:
- "&6Status: %boolean%" -
"&6Total &b%amount% &aindismantable &6items:" exist: "&cItem &6%name% &cis prohibited in black list" ignore-list:
check:
- "&6Status: %boolean%" -
"&6Total &b%amount% &aignore &6items:" exist: "&cItem &6%name% &cwas in ignore-list so you didn't get enchanted book when dismant." enchant-restrict:
- "&6Status: %boolean%" -
"&6Enchantment level must be in range &a[%min%-%max%]" durability:
- "&6Status: %boolean%" - "&6Percent to dismant: &a%percent%"
ADDED
• Display item which will be dismantled on crafting table and item can be configurable
(on/off display and item name , color , font style) • Physical interaction
(when you're using workbench and some players broke your workbench , plugin will tell you that who broke your workbench)
**NOTICE: WHEN YOU ENABLE ITEM DISPLAY MODE , ONE PLAYER CAN USE DISMANTLE (CRAFTING TABLE) WORKBENCH UNTIL HE'S DONE AND OTHER PLAYERS CAN'T INTERACT WHILE HE'S USING. THIS PREVENT DISPLAY ITEM OF TWO PLAYER ON CRAFTING TABLE TOGETHER
Reload command: allow you to reload config without reload/restart server
Check version command: allow you to check your plugin's version you are using.
Help command.
Player Log:
Per player's log with UUID.
Whenever player(s) dismant item(s) success , plugin will write to player's log.
Will add time-format to config in the next update.
Sound:
Per features will have it's sound.
Switch to turn on/off sound.
Volume/pitch config (you can set the loudness of the sound.
Open/Close UI.
Dismant item Success/Fail.
Input not valid (null item).
Output full (out of slot).
Config:
Remove:
inventory.yml
message.yml
Now all config will be contained in config.yml.
Code (YAML):
# ========================================================== # ui: # title: Title of the UI. # background: Background material. # type: Material of button. # name: Name of button. # lore: Describe feature of this button. # ========================================================== ui:
title: '&9&lDismantle Workbench'
background: 'CYAN_STAINED_GLASS_PANE'
dismantle-button:
type: 'SUNFLOWER'
name: '&a&lDismantle'
lore: - '&9&oClick to dismantle item to crafting material'
- '&f&o> &a&oRight click &f&oto dismantle &c&o&nall'
- '&f&o> &a&oLeft click &f&oto dismantle &c&o&
none'
# Why i have to do this switch? # because the recipe of 1x Stick = 2x Bamboo # so i think player can farm bamboo with this feature. # - dismantle-to-bamboo: true (default) dismantle-to-bamboo: true
# Durability percent allow that item # can be dismantled to crafting material. # If item durability is below <percent> , it can't be dismantled. # - durability-percent-allow: 50 (50% is default). durability-percent: 50
# Play sound when interact with Dismantle Workbench. # Set true will play sound , false will mute # - enable: true (default is true) # - open: when open. # - close: when close. # - success: when dismant success an item. # - fail: when item dismant fail. # - not-valid: when you've not put item to dismant. # - full: when the output slot is full of crafting material. # - type: sound type which will be played ingame. # If you don't set value , return default value. # Sound library: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html # - volume: is the loudness of the sound. (default is 1) # - pitch: is amplification of the sound. (default is 1) sound:
enable: true
open: # Sound type default is BLOCK_STONE_BUTTON_CLICK_ON type: 'BLOCK_STONE_BUTTON_CLICK_ON'
volume: 1
pitch: 1
close: # Sound type default is BLOCK_STONE_BUTTON_CLICK_OFF type: 'BLOCK_STONE_BUTTON_CLICK_OFF'
volume: 1
pitch: 1
success: # Sound type default is ENTITY_EXPERIENCE_ORB_PICKUP type: 'ENTITY_EXPERIENCE_ORB_PICKUP'
volume: 1
pitch: 1
fail: # Sound type default is BLOCK_BELL_USE type: 'BLOCK_BELL_USE'
volume: 1
pitch: 1
not-valid: # Sound type default is BLOCK_ANVIL_FALL type: 'BLOCK_ANVIL_FALL'
volume: 1
pitch: 1
full: # Sound type default is BLOCK_BAMBOO_BREAK type: 'BLOCK_BAMBOO_BREAK'
volume: 1
pitch: 1
#Message display ingame #Placeholders: # %percent%: percent that allow item can be dismantled. # %dbpercent%: player item's durability percent. # %dbamount%: player item's durability amount. # %maxdb%: max durability of this item. message:
prefix: "&6[&b&lItemDismantle&6] " input-not-valid: "&cPlease put item need to dismant" no-permissions: "&cYou don't have permissions to access &9&lDismantle WorkBench." no-perm-command: "&cYou don't have permissions to use that command." reload: "&aReloaded all configuration!" durability-low: -
"&cYou can't dismant item that durability is below &e%percent%%" - "&cYour item durability percent: &e%dbpercent%/100% |
(%dbamount%/%maxdb%)" version-check: "&aYou're using version: &c%version%" #Message that will write log of player's activity. log: "Dismant success %item% x%amount%"
Code (Text):
%percent%: percent that allow item can be dismantled.
%dbpercent%: player item's durability percent.
%dbamount%: player item's durability amount.
%maxdb%: max durability of this item.
FIXED
Error with UI interaction.
Some users has reported to me about this bug , so problem have been solved
The default value has been added.
If your config value is null or the format isn't valid , default value will replace it.
Reload command: allow you to reload config without reload/restart server
Check version command: allow you to check your plugin's version you are using.
Help command.
Player Log:
Per player's log with UUID.
Whenever player(s) dismant item(s) success , plugin will write to player's log.
Will add time-format to config in the next update.
Sound:
Per features will have it's sound.
Switch to turn on/off sound.
Volume/pitch config (you can set the loudness of the sound.
Open/Close UI.
Dismant item Success/Fail.
Input not valid (null item).
Output full (out of slot).
Config:
Remove:
inventory.yml
message.yml
Now all config will be contained in config.yml.
Code (YAML):
# ========================================================== # ui: # title: Title of the UI. # background: Background material. # type: Material of button. # name: Name of button. # lore: Describe feature of this button. # ========================================================== ui:
title: '&9&lDismantle Workbench'
background: 'CYAN_STAINED_GLASS_PANE'
dismantle-button:
type: 'SUNFLOWER'
name: '&a&lDismantle'
lore: - '&9&oClick to dismantle item to crafting material'
- '&f&o> &a&oRight click &f&oto dismantle &c&o&nall'
- '&f&o> &a&oLeft click &f&oto dismantle &c&o&
none'
# Why i have to do this switch? # because the recipe of 1x Stick = 2x Bamboo # so i think player can farm bamboo with this feature. # - dismantle-to-bamboo: true (default) dismantle-to-bamboo: true
# Durability percent allow that item # can be dismantled to crafting material. # If item durability is below <percent> , it can't be dismantled. # - durability-percent-allow: 50 (50% is default). durability-percent: 50
# Play sound when interact with Dismantle Workbench. # Set true will play sound , false will mute # - enable: true (default is true) # - open: when open. # - close: when close. # - success: when dismant success an item. # - fail: when item dismant fail. # - not-valid: when you've not put item to dismant. # - full: when the output slot is full of crafting material. # - type: sound type which will be played ingame. # If you don't set value , return default value. # Sound library: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html # - volume: is the loudness of the sound. (default is 1) # - pitch: is amplification of the sound. (default is 1) sound:
enable: true
open: # Sound type default is BLOCK_STONE_BUTTON_CLICK_ON type: 'BLOCK_STONE_BUTTON_CLICK_ON'
volume: 1
pitch: 1
close: # Sound type default is BLOCK_STONE_BUTTON_CLICK_OFF type: 'BLOCK_STONE_BUTTON_CLICK_OFF'
volume: 1
pitch: 1
success: # Sound type default is ENTITY_EXPERIENCE_ORB_PICKUP type: 'ENTITY_EXPERIENCE_ORB_PICKUP'
volume: 1
pitch: 1
fail: # Sound type default is BLOCK_BELL_USE type: 'BLOCK_BELL_USE'
volume: 1
pitch: 1
not-valid: # Sound type default is BLOCK_ANVIL_FALL type: 'BLOCK_ANVIL_FALL'
volume: 1
pitch: 1
full: # Sound type default is BLOCK_BAMBOO_BREAK type: 'BLOCK_BAMBOO_BREAK'
volume: 1
pitch: 1
#Message display ingame #Placeholders: # %percent%: percent that allow item can be dismantled. # %dbpercent%: player item's durability percent. # %dbamount%: player item's durability amount. # %maxdb%: max durability of this item. message:
prefix: "&6[&b&lItemDismantle&6] " input-not-valid: "&cPlease put item need to dismant" no-permissions: "&cYou don't have permissions to access &9&lDismantle WorkBench." no-perm-command: "&cYou don't have permissions to use that command." reload: "&aReloaded all configuration!" durability-low: -
"&cYou can't dismant item that durability is below &e%percent%%" - "&cYour item durability percent: &e%dbpercent%/100% |
(%dbamount%/%maxdb%)" version-check: "&aYou're using version: &c%version%" #Message that will write log of player's activity. log: "Dismant success %item% x%amount%"
Code (Text):
%percent%: percent that allow item can be dismantled.
%dbpercent%: player item's durability percent.
%dbamount%: player item's durability amount.
%maxdb%: max durability of this item.
FIXED
Error with UI interaction.
Some users has reported to me about this bug , so problem have been solved
The default value has been added.
If your config value is null or the format isn't valid , default value will replace it.
Option to allow player can dismant item that have durability.
Default is 50% percent.
Code (YAML):
#Percent that allow item can be dismantled #If item durability is below this percent , it can't be dismantled. percentage: 50
Code (YAML):
#When the durability of item go down below 50% of max durability #Do not delete these placeholders. # <percent>: percent from inventory.yml. # <dbpercent>: percent of player item's durability. # <dbamount>: display player item's durability. durability-low: -
"§cYou can't dismant item that durability is below §e{percent}%" - "§cYour item durability percent: §e
{dbpercent
}/100
% | ({dbamount}/{maxdb})"