Skip to content

Releases: ColinHDev/VanillaHopper

VanillaHopper v2.2.2

02 Jul 20:17
Compare
Choose a tag to compare

Changelog

  • Fixed a bug where hoppers would only work after restarting the server or reloading the chunks they were placed in.

VanillaHopper v2.2.1

25 May 21:30
Compare
Choose a tag to compare

Changelog

  • Added support for newer beta versions of PocketMine-MP v5.0.0.

VanillaHopper v2.2.0

26 Mar 01:38
Compare
Choose a tag to compare

Changelog

  • Added support for PocketMine-MP v5.0.0.
  • Removed support for older versions.

VanillaHopper v2.1.0

07 Dec 23:51
Compare
Choose a tag to compare

Changelog

  • Fixed a bug where Item Entities would no longer be picked up by hoppers.
  • Bumped the required version of PocketMine-MP from 4.0.0 to 4.11.0.

VanillaHopper v2.0.2

04 May 13:13
Compare
Choose a tag to compare

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

08 Jan 22:14
Compare
Choose a tag to compare

Changelog

  • Fixed a server crash caused by invalid inventory holder positions, like they are provided by InvMenu's inventories.

VanillaHopper v2.0.0

19 Dec 18:07
Compare
Choose a tag to compare

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.
  • Removed hopper.alwaysSetCooldown customization

VanillaHopper v1.3.0

12 Sep 13:26
Compare
Choose a tag to compare

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's plugin_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.
      • 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.
      • 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.

VanillaHopper v1.2.0

11 Sep 00:08
Compare
Choose a tag to compare

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

08 Sep 21:13
Compare
Choose a tag to compare

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.