Releases: ColinHDev/VanillaHopper
Releases · ColinHDev/VanillaHopper
VanillaHopper v2.2.2
VanillaHopper v2.2.1
Changelog
- Added support for newer beta versions of PocketMine-MP v5.0.0.
VanillaHopper v2.2.0
Changelog
- Added support for PocketMine-MP v5.0.0.
- Removed support for older versions.
VanillaHopper v2.1.0
Changelog
- Fixed a bug where
Item Entities
would no longer be picked up by hoppers. - Bumped the required version of
PocketMine-MP
from4.0.0
to4.11.0
.
VanillaHopper v2.0.2
Changelog
- Fixed a bug where non-moving item entities were not picked up by hoppers if they directly spawned on them without moving afterwards.
VanillaHopper v2.0.1
Changelog
- Fixed a server crash caused by invalid inventory holder positions, like they are provided by InvMenu's inventories.
VanillaHopper v2.0.0
Changelog
- Improved optimization
- If a hopper did anything, it will be set on transfer cooldown and as explained above, its next update will be on the tick of the transfer. But if the hopper did nothing, it wouldn't be on cooldown and therefore would require an update on the next tick. As it is highly ineffective to schedule hundreds of hoppers for updates, who are not even doing anything, most parts are now event-driven. This means, that hoppers will only be scheduled for another block update, if an item entity landed on them or if any update on the blocks or inventories around them occurred.
To accomplish this the implementation of a custom item entity and a variety of event listeners was required.
- If a hopper did anything, it will be set on transfer cooldown and as explained above, its next update will be on the tick of the transfer. But if the hopper did nothing, it wouldn't be on cooldown and therefore would require an update on the next tick. As it is highly ineffective to schedule hundreds of hoppers for updates, who are not even doing anything, most parts are now event-driven. This means, that hoppers will only be scheduled for another block update, if an item entity landed on them or if any update on the blocks or inventories around them occurred.
- Removed
hopper.alwaysSetCooldown
customization
VanillaHopper v1.3.0
Changelog
- Added optimization
- Normally a hopper should run a block update every tick to reduce and check its cooldown if it has expired. Because it is highly inefficient to update all loaded hoppers every tick, just for letting them reduce their cooldown by one, the block update of hoppers is always scheduled to the expiration of their cooldown and not directly the next tick. To prevent any issues with the cooldown, hoppers are saving in which tick they were lastly updated to prevent them from updating too early.
- Added customization
- Customizations can be done in the
config.yml
in the plugin'splugin_data
folder:hopper.transferCooldown
:8
- The default cooldown of hoppers in Minecraft is 8 ticks. To in- or decrease the cooldown, you can just edit this number.
hopper.itemsPerUpdate
:1
- Normally a hopper only pushes one item and pulls or picks up one per update. You can specify how many items a hopper will try to push, pull or pick up when updated.
This can be useful if you increased the cooldown of hoppers but want to keep the same "item per tick" ratio.
- Normally a hopper only pushes one item and pulls or picks up one per update. You can specify how many items a hopper will try to push, pull or pick up when updated.
hopper.alwaysSetCooldown
:false
- A hopper is normally only set on cooldown if it either pushed, pulled or picked up an item in an update. If it couldn't, it would receive another update in the next tick.
As it is very performance costly that maybe dozens of hoppers of an empty hopper system are updated every tick, you can specify if hoppers should even be set back on cooldown, if they haven't pushed, pulled or picked up an item.
- A hopper is normally only set on cooldown if it either pushed, pulled or picked up an item in an update. If it couldn't, it would receive another update in the next tick.
hopper.updatesPerTick
:0
- By default, there is no limit on how many block updates can be scheduled per tick.
As it would be very performance costly to have scheduled hundreds of hopper updates scheduled on the same tick, you can change this number, to limit the number of hopper updates that are allowed to be scheduled per tick.
If a hopper update would be scheduled on a tick that is already on the max value, the update is scheduled on the next tick that's not on the max value.
- By default, there is no limit on how many block updates can be scheduled per tick.
- Customizations can be done in the
VanillaHopper v1.2.0
Changelog
- Added
HopperEvent
- This event is called when a hopper either tries to push or pull an item.
- Added
HopperPushEvent
- This event is called when a hopper tries to push an item.
- Added
HopperPushContainerEvent
- This event is called when a hopper tries to push an item into a block's inventory.
- Added
HopperPushJukeboxEvent
- This event is called when a hopper tries to push a record into a jukebox.
- Added
HopperPullEvent
- This event is called when a hopper tries to pull an item.
- Added
HopperPullContainerEvent
- This event is called when a hopper tries to pull an item from a block's inventory.
- Removed
HopperTransferContainerEvent
- Removed
HopperTransferJukeboxEvent
VanillaHopper v1.1.0
Changelog
- Added usage of PocketMine-MP's
BlockItemPickupEvent
- This event is called when a hopper tries to pick up an item.
- Added
HopperTransferContainerEvent
- This event is called when a hopper tries to either push or pull items from a container.
- Added
HopperTransferJukeboxEvent
- This event is called when a hopper tries to either push or pull records from a jukebox.