Added: - Added new option in config to replace Furnace GUI with a chest GUI.
Code (YAML):
other: # Set this option to true if you are facing issue with the furnace gui replace_furnace_with_chest_gui: true
Bug Fix: - Fixed NoSuchMethodException error
Other Changes: - Slight extended the delay time to fetch data as a workaround to fix an issue with AdvancedChests. (It will be fully fixed once v3.0.0 is released)
item:
material: DIAMOND_SWORD
amount: 1
# Add this line if you want to set custom model data for the item model_data: 0
display_name: '&6This is a custom head!'
lore: - ''
Bug Fix: - Fixed configuration such as custom fuel material and hopper/chest recipe ingredient get reset back to default after plugin updating config.yml
Bug Fix: - Fixed a SQL error
- Fixed an issue with AdvancedChests
- Fixed weird symbol appears when given unlimited max power
- Fixed slf4j error on startup
Changes: - Relocated library class path
- Reduced file size to 4.1mb (used to be 4.5mb), and we will continue reducing the file size in the future update
Bug Fix: -
-1 is not working for chunk limit
- Issue with NoCheatPlus (false positive due to event calling)
- Able to transfer hopper's ownership to a player who does not have permission to use/place
- admin permission doesn't work correctly
Bug Fix: - Fixed issue with AdvancedChests
- Fixed island hopper counter get reset to 0 after server restart (You can use
/hs recalc * to let the plugin recalculates the hopper amount on every island)
- Fixed player could place more hoppers even if the island had already reached hopper limit
-
[Fixed] op player can only link 1 block
-
[Fixed] button for adding new block still showing when the player has reached the block limit
-
[Fixed] IllegalArgumentException error -
[-] Improved default messages
Bug Fix: - Fixed DecentHologram's hologram still showing after disabled. Changes:
- Added 6 new permissions (check
this)
- [
Important] Changed how the plugin read player's permission (Read
this)
-
{MAX_POWER} will return ∞ if the value is -1
Bug Fix: - Fixed hopper didn't get deleted from database after island is deleted (BentoBox)
- Fixed MySQL error
- Fixed ClassCastException error
- Fixed
{NEXT_ITEM_AMOUNT} isn't working
Added: - Added support for older version of BentoBox[/icode]
Bug fix: - Fixed NPE error on 1.13~1.14 server
- Fixed Unsupported API version
- Fixed issues when smelt is enabled
- Fixed furnace issue
- Fixed item suction's particle location doesn't get spawned at the middle of the hopper
- Fixed SQL error
- Fixed NPE error when using AUTO method for generating level
- Fixed item goes to wrong slot in Fuel gui
- Fixed Furnace gui's item doesn't get update after reloading config
- Fixed Sub user's permission not working
Added: - RoseStacker compatibility
- HeadDatabase support
- Custom Head support for GUI (Check
tutorial)
- Data conversion command
- Option to disable blocking player when plugin is still fetching data
- transfer_item_amount can be configured in every each level
Changes: - Removed smelt button from VOID
- Next/Previous page button will not get displayed unless the current page doesn't have enough slot to display item
Note: The current version doesn't solve the issue with MySQL yet, it will be solved in the next update
Bug Fix: - SQL error
- NullPointerException when transferring item
- Unable to open upgrade gui
- Particle that shows the linked block still getting spawned after the hopper getting removed
- Players are able to place hopper without having
hoppersorter.hopper.place permission
Changes: - Added
no_permission_place message
- Renamed
no_permission to
no_permission_command
Tips:It's better to backup the files before updating to this version
In this version, we have added item suction feature to the hopper.
There're some configurable settings: - item suction interval in ticks - the range - particle color - able to disable item suction
Code (YAML):
item_suction: # If set to true, player is required to have "hoppersorter.hopper.itemsuction" permission # to able to enable item suction for their hoppers. require_permission: false
enable: true
# item suction will auto enable after player place the hopper auto_enable: true
# Hopper will pick up the item around it every X ticks tick: 60
# the default range that hopper can pick the item up # default value: 3.0 range: 3.0
power_consumption:
enable: true
amount: 2.5
particle:
enable: true
color:
red: 75
green: 0
blue: 130
Item suction also configurable in levels
Code (YAML):
auto:
max_level: 5
# Player will be able to enable item suction for the hopper after X level item_suction_level_requirement: 3
on_start:
max_power: 200.0
max_material: 2
max_block_per_material: 1
max_subuser: 1
max_distance: 10
transfer_speed: 20
item_suction_tick: 100
item_suction_range: 2
on_next_level: # Available placeholders # {PREVIOUS_POWER}: return the amount of last level max power # {PREVIOUS_MATERIAL}: return the amount of last level max material # {PREVIOUS_BLOCK}: return the amount of last level max block per material # {PREVIOUS_SUBUSER}: return the amount of last level max sub user # {PREVIOUS_DISTANCE}: return the amount of last level distance # {PREVIOUS_LEVEL}: return the last level # {PREVIOUS_SPEED}: return the last level item transferring tick # {PREVIOUS_ITEM_SUCTION_TICK}: return the last level's item suction tick # {PREVIOUS_ITEM_SUCTION_RANGE}: return the last level's item suction range # {CURRENT_LEVEL}: return the current level # for 'max_material', 'max_block_per_material', 'max_subuser' and 'max_distance', the number will get rounded up # example after the math calculation is 3.52 , it will get rounded up to 4 max_power: '
{PREVIOUS_POWER
} + 125'
max_material: '
{PREVIOUS_MATERIAL
} +
({CURRENT_LEVEL
} * 0.25
)'
max_block_per_material: '
{PREVIOUS_BLOCK
} +
({CURRENT_LEVEL
} * 0.5
)'
max_subuser: '
{PREVIOUS_SUBUSER
} +
({CURRENT_LEVEL
} * 0.5
)'
max_distance: '
{PREVIOUS_DISTANCE
} +
({CURRENT_LEVEL
} * 2
)'
transfer_speed: '
{PREVIOUS_SPEED
} - 1'
item_suction_tick: '
{PREVIOUS_ITEM_SUCTION_TICK
} - 10'
item_suction_range: '
{PREVIOUS_ITEM_SUCTION_RANGE
} + 1'
cost: # money will be rounded up to 2 decimal money: '
({PREVIOUS_LEVEL
} * 520
) + 5000'
manual:
levels:
1:
max_power: 200.0
max_material: 2
max_block_per_material: 1
max_subuser: 1
max_distance: 10
transfer_speed: 20
item_suction:
enable: false
tick: 100
range: 3
cost:
money: 1000.0
2:
max_power: 300.0
max_material: 2
max_block_per_material: 2
max_subuser: 1
max_distance: 12
transfer_speed: 18
item_suction:
enable: true
tick: 100
range: 3
cost:
money: 2500.0
3:
max_power: 450.0
max_material: 3
max_block_per_material: 3
max_subuser: 2
max_distance: 15
transfer_speed: 16
item_suction:
enable: true
tick: 80
range: 3
cost:
money: 4200.0
4:
max_power: 620.0
max_material: 3
max_block_per_material: 4
max_subuser: 3
max_distance: 20
transfer_speed: 10
item_suction:
enable: true
tick: 60
range: 3
cost:
money: 6500.0
5:
max_power: 750.0
max_material: 5
max_block_per_material: 5
max_subuser: 4
max_distance: 30
transfer_speed: 5
item_suction:
enable: true
tick: 70
range: 4
cost:
money: 10000.0
Bug Fix: - Fixed hopper doesn't read double chest's inventory after server restart
- Fixed hopper doesn't transfer item to advancedchest after server restart
- Fixed async chunk loading warning
- Fixed plugin doesn't remove error data
Added:
Code (YAML):
database:
options:
error_data:
hopper: # If you see an error "Failed to load hopper[<location>]. Reason: The <world> doesn't exist!" # That means a hopper located in a world that doesn't exist # If you are using player world plugin that the world will not get loaded until player join the server # We recommend you use IGNORE for the action # # IGNORE - the plugin will not do any action to the data # DELETE - the plugin will remove the data from database invalid_world: IGNORE
# If you see a error "Failed to load hopper[<location>]. Reason: The block is not a hopper!" # This error rarely happen unless the block get modified by other plugin # We recommend using DELETE instead of REPLACE in this situation # # IGNORE - the plugin will not do any action to the data # DELETE - the plugin will remove the data from database # REPLACE - replace the block back to hopper not_hopper: IGNORE
fuel_chest: # If you see an error "Failed to setup fuel chest at <location>. Reason: The <world> doesn't exist!" # That means a fuel chest located in a world that doesn't exist # If you are using player world plugin that the world will not get loaded until player join the server # We recommend you use IGNORE for the action # # IGNORE - the plugin will not do any action to the data # DELETE - the plugin will remove the data from database invalid_world: IGNORE
# If you see an error "Failed to setup fuel chest at <location>. Reason: The block is not a chest!" # This error rarely happen unless the block get modified by other plugin # We recommend using DELETE instead of REPLACE in this situation # # IGNORE - the plugin will not do any action to the data # DELETE - the plugin will remove the data from database # REPLACE - replace the block back to chest not_chest: IGNORE
Bug Fix: - Fixed unable to place block at the same place after removing AdvancedChests
- Fixed some material & block's name didn't get translated in some messages
Material's and block's name are able to get translated to the language you want now but you have to install one of these (LocaleLib or LangUtils) into your server. After that go to config.yml and set the plugin you are using.
Code (YAML):
# The plugin you want to use to translate the material's and block's name in message # Supported plugin: LangUtils, LocaleLib # Leave empty if you are not going to use any of them lang_plugin: ''
Note: Please backup your gui files before updating to this version to prevent losing the files if plugin fails to backup. There're some changes to gui file after update to this version so you have to reconfigure some of them. You can find the your old gui file in gui/backup.
Added: - Redstone activation (player can use redstone/lever/etc to activate the hopper)
- New linking type:
VOID. Items will get thrown to the void
- More items to display linked block [store/furnace/void/missing block]
- Added
{BLOCK} placeholder, you can use this to display the block player linked in the gui
• Cannot be used for the block which is missing
Code (YAML):
store: # {BLOCK} returns the type of the block they linked material: '
{BLOCK
}'
display_name: ' '
amount: 1
lore:
- '&6World: &7{LOCATION_WORLD}' - '&6X: &7{LOCATION_X}' - '&6Y: &7{LOCATION_Y}' - '&6Z: &7{LOCATION_Z}' - ''
Warning: - Please backup the files before updating into this version - Check if all the GUIs are working fine after updating Added: • Multiple fuel material
Code (YAML):
fuel:
COAL: 20.0
COAL_BLOCK: 180.0
# To let the hopper accept more material just follow this format [material]: [power] # REDSTONE: 300.0 (Example)
• Upgradable hopper, configurable setting per level
- Max power
- Max material
- Max container for each material
- Item transferring speed
- Container distance
- Max sub user
• Bulk selection
• Container selection for unsortable item
• 7 new messages
•
{MAX_POWER} placeholder in HopperOptionsGui.yml and HopperFuelGui.yml
•
{LEVEL} placeholder to display the hopper level in itemstack's lore
Changes: - Updated AdvancedChest and IridiumSkyblock dependencies - Added amount parameter /hoppersorter givehopper <player> <power> <amount> (If leave <amount> blank, plugin will only give 1 hoppersorter to the player)
v1.4.9 Bug Fix: - An issue with Insights plugin - An issue with unloading world Added: - new permission hoppersorter.hopper.place Changes: - Insights plugin will not scan hoppersorter when player place it
Bug Fix: - NPE error when hopper transfer the item to the missing AdvancedChest
- hopper still transfer item to AdvancedChest when the chest is in unloaded chunk
Bugs Fix: - NPE error [Yaml Database]
- Database is locked error on start up [Sql,Mysql]
- Player doesn't receive the hopper after removing when the player's inventory is full
Bug Fix: - hopper is still running when it's in unloaded chunk
- hopper stopped working after the hopper owner is back to online (when
offline_hopper is set to false)