Hello everyone!
This update fixes a crucial bug related to Hopper interaction with Shulker Boxes. Previously, the hopper-transfer value from the spigot.yml config was completely ignored, causing item transfers to always run every 8 ticks regardless of the configured value.
With this fix, the transfer rate now properly respects the hopper-transfer setting AND hopper-amount, ensuring item movement matches the server’s configuration.
Additionally, some code clean-up and optimizations have been made, resulting in a slight performance improvement.
Hi
This update fixes a bug, adds some QOL and introduces 2 new custom events to the API, which makes your life easier if you wish to extend Shulkers with your own plugin!
-
Bug Fix:
Resolved an issue where the inventory title of placed Shulker Boxes would reset instead of using the custom display name from the Shulker Box item.
QOL:
Players can see each other's arm swing animation now when opening Shulker Boxes, or placing them.
This makes it easier to notice player's interacting with them.
API Custom Events:
ShulkerBoxPlaceEvent
ShulkerBoxBreakEvent
These events are useful for managing placing and breaking Shulker Boxes, allowing developers to intercept and respond to these actions for custom behavior such as logging, cancellation, or integration with other systems.
To find out more about the API, visit:
https://stakdek12.github.io/Shulkers documentation webpage.
Hello everyone!
This update adds 2 new methods to the API and a new custom event for when a player attempts to undye a Shulker Box!
You can view the API documentation here:
https://stakdek12.github.io/Shulkers
There are no changes made to the plugin other than the API updates and additions.
The API makes it easy to create custom Shulker Boxes, and it makes it easy to modify them and their contents (Block, ItemStack and Item Entity in world).
Hi everyone!
This update introduces more powerful features in the API, and 2 new custom events (for plugin developers).
You can read the full documentation here:
https://stakdek12.github.io/Shulkers
Hello all,
This update is a hotfix for the new API that was released in the previous update.
#clearShulkerBoxItemInventory() - Will now remove the items from the tool tip, the contents were being removed correctly, but the tool tip was not being cleared.
Hello everyone,
This update adds an API which is useful for developers to easily manage Shulker Boxes and their contents!
You simply use the API by using
ShulkersAPI.#method();
These are currently the list of methods available as of version 2.4.2:
Code (Text):
#isShulkerBoxItemStack() - Returns true if the specified ItemStack is a Shulker Box
#isShulkerBox() - Returns true if the specified Block is a Shulker Box
#newShulkerBox() - Creates a new Shulker Box ItemStack
#getShulkerBoxItemStackColor() - Returns ShulkerType enum color of the specified Shulker Box ItemStack
#getShulkerBoxColor() - Returns ShulkerType enum color of the specified Shulker Box Block
#setShulkerBoxColor() - Sets placed Shulker Box's color to specified ShulkerType enum color
#setShulkerBoxItemColor() - Sets Shulker Box ItemStack's color to specified ShulkerType enum color
#setDisplayName() - Sets Shulker Box ItemStack's display name to specified String
#clearShulkerBoxInventory() - Removes all contents from specified placed Shulker Box
#clearShulkerBoxItemInventory() - Removes all contents from specified Shulker Box ItemStack
#addItem() - Adds ItemStack to specified Shulker Box ItemStack
#setItem() - Sets ItemStack to specified Shulker Box ItemStack at specified slot
#getContents() - Returns ItemStack[] array of specified Shulker Box ItemStack's contents
#isShulkerBoxItemFull() - Returns true if specified Shulker Box ItemStack's inventory is full
This API is useful, if for example you want Shulker Box ItemStacks to auto-collect items into their inventory, you can easily do so with this API.
Hello everyone!
This update optimizes the plugin source code which improves performance, and reduces memory usage, and processor usage.
You can now disable hopper interaction and redstone interaction in the config file.
There have been some changes to how items are displayed in the Shulker Box tool tip--items with an invalid data id will now be correctly displayed (if applicable).
Hi!
The 2.4 update is mostly a QOL update with a couple bug fixes.
Shulker Box dyeing has been improved, the crafting inventory updates properly (the result item) and as such behaves a lot more like vanilla crafting.
If you are using the plugin as an API there is a new custom event fired:
ShulkerBoxDyeEvent which is fired when clicking on the result dyed Shulker Box. This can be cancelled!
A custom event was used because
CraftItemEvent is not meant to be manually called and would cause a recursive call to the event.
The
/give <player> shulker_box &
/give <player> shulker_shell command now has some messages similar to those of vanilla Minecraft.
Also,
/give <player> shulker_shell now can include an amount. Such as
/give stakdek12 shulker_shell 128.
Some items have been renamed when in the Shulker Box tool tip:
"Lapis Lazuli Block" has been renamed to
"Block of Lapis Lazuli",
"Redstone" has been renamed to
"Redstone Dust", and Anvil variants have been renamed from
"Anvil" to
"Anvil" (undamaged),
"Slightly Damaged Anvil" and
"Very Damaged Anvil" respectively.
And lastly, a bug which caused an extra folder to be created within the plugin folder has been fixed. This extra folder will not be created, and if you have it in the Shulkers plugin folder, you can safely delete it.
Hello everyone!
This small update fixes a minor bug which I discovered, and a typo when items are shown in the Shulker Box tooltip ("Sugar Cane" was written as "Su gar Cane", which had some misplaced spaces).
Hello everyone!
This update is
exclusively for performance improvements.
What this update improves upon, is that placed Shulker Boxes won't tick in unloaded chunks unnecessarily, this improves performance by a huge margin, while the inventory of each Shulker Box is saved correctly.
If you haven't done so already, please update to the latest version, as new updates introduce new features, performance improvements and most importantly, bug fixes.
If you are having issues with the latest version, please reply to this resource page and let me know what the issue is and I will try to resolve it as fast as I can. Or alternatively, join our Discord and ask for help there.
Thanks!
Hello!
This update fixes a bug with Dispensers, the bug occurs when a Dispenser and Piston are activated at the same time and the Piston breaks the Shulker Box, it caused the Shulker Box item to lose its data, due to how Minecraft works internally, this has now been fixed, although this is an edge case and does not happen often,
it is strongly recommended you update to this version or newer.
And for developers,
you can now cancel the placement of Shulker Boxes via BlockDispenseEvent #setCancelled()
This update fixes an issue that can occur when breaking Shulker Boxes (either by a player or the environment, aka a piston) that the dropped Shulker Box item glitches into walls or moves in an odd motion.
Now the item drops as a normal broken block should.
Hello all!
This update just fixes an error I made with an item not having a readable name, as I thought it was completely unobtainable, however it can be obtained in creative, which is Snow (not to be confused with Snow Block).
Hello all,
This is a crucial update — I highly recommend updating to this version as soon as possible.
Why?
In previous versions,
chunks would remain loaded when hoppers or comparators interacted with Shulker Boxes. This can cause
significant performance issues, especially on large servers. While smaller servers may not notice the impact immediately,
any performance gain is still a win.
As of
version 2.3, this issue is resolved:
Chunks no longer stay loaded due to hopper movements or comparator updates related to Shulker Boxes.
Please update to this version as to prevent players from also abusing the loaded chunks.
Hello!
This update fixes the Magenta Shulker Box textures and the Blue Shulker Box textures, they now have the correct texture, both normal and sideways (open and closed), not sure how I missed it, but I had to go thoroughly through 64 textures all together.
That is all for this update
Hello!
This small update fixes placement of Shulker Boxes on non-full blocks, for example snow layers, grass (not the block), dead bushes etc, which now places the Shulker Box on the supporting block and not in some weird position.
It's simply a QOL update, allowing players to place the Shulker Box how they expect it should be placed.
Hello all,
This update is a QOL update, which now allows you to place Shulker Boxes on other Shulker Boxes, which properly aligns with modern Minecraft Shulker Boxes, and makes it a bit easier for players to build using these blocks.
This allows players to stack Shulker Boxes directly on top of each other!
This placement can also simply be cancelled with BlockPlaceEvent .setCancelled(true), and adheres to WorldGuard regions.
Hello all, this is a crucial bug fix that I discovered myself while testing the plugin.
The bug was that if water is placed on the supporting block the "Shulker Box" is attached to, it will not drop a Shulker Box.
This bug has now been fixed and the Shulker Box will be dropped.
You can still place water around it and on top of it, and it will remain there.
Unfortunately, due to the limitations of Spigot/Minecraft internals in 1.8, there was no way around it, but to break the Shulker Box.
It now prevents water from being placed on the supporting block, and the Shulker Box block is not broken!
Hello all, this is a crucial bug fix that I discovered myself while testing the plugin.
The bug was that if water is placed on the supporting block the "Shulker Box" is attached to, it will not drop a Shulker Box.
This bug has now been fixed and the Shulker Box will be dropped.
You can still place water around it and on top of it, and it will remain there.
Unfortunately, due to the limitations of Spigot/Minecraft internals in 1.8, there was no way around it, but to break the Shulker Box.
Hello all!
This update brings the ability for Shulkers to hook into WorldGuard and adhere to region flags such as
chest-access deny which will stop players from opening placed Shulker Boxes.
A new config option has been added:
useLooting: true # Set to 'true' if you want drops to be affected by the Looting enchantment
This option allows you to control whether the Looting enchantment should affect drops.
Hello, this small QOL update added the ability for the plugin to adhere to the gamerule:
/gamerule doTileDrops (when it is set to false Shulker Box items will not drop when either broken by a player in survival mode, or the environment. (It will still drop in creative if the Shulker Box contains items)
Also visually, particles will now show when a Shulker Box is broken (corresponding to the color of it!).
This version does not change anything except that it enables metrics (plugin usage stats which are anonymous from bStats.org).
Sorry for another update, but I had commented out a line of code which then in turn prevented Shulker Boxes from dropping in survival mode.
The comment has been removed and now it works as intended.
The version with this unintended "bug" has been removed.
This update just improves performance and optimizes the plugin, which is a huge performance boost if there are thousands or tens of thousands of Shulker Boxes placed in your world / server.
This is just a quick fix for a bug I noticed, which caused some placed Shulker Boxes to not save when a hopper pushed items into it.
Items should now save correctly any time an item is placed or removed from the Shulker Box.
This is a small update of a feature I missed in vanilla Minecraft where Shulker Box Item entity's when destroyed drop their contents.
And some performance improvements.
This update named version 2.0, brings the awaited hopper interaction mechanics with the Shulker Boxes.
It also brings redstone mechanics (comparators reading inventory fullness), allowing players to build "Shulker Box loader" contraptions!
As these are newly added features, please report any bugs you come across.
There were some small bug fixes done too.
This update to Shulkers adds the ability for placing Shulker Boxes with a Dispenser.
Some optimization to the source code was also done.
And a minor bug which did not display items contained correctly in the Shulker Box ItemStack has been fixed.
This update brings a new configuration for Shulkers.
You now have a few config options for your server, that allow you to customize the Shulkers plugin as you see fit!
# Config for Shulkers version 1.1
# If you use this plugin as an API, please be cautious with internal classes
# as reflection is being used in this plugin
####################################
############ CONFIG OPTIONS ########
####################################
# Option 1 - Disable persistent saving?
# This option disables the saving of data across server restarts.
# This is useful for worlds that are reset/deleted frequently (e.g., mini-games).
DisablePeristentSaving: false
# Option 2 - Allow players to craft Shulker Boxes?
# Setting this to 'true' allows players to craft Shulker Boxes using the crafting table.
AllowShulkerBoxCrafting: true
# Option 3 - Allow players to dye Shulker Boxes?
# This option allows players to dye Shulker Boxes with dye in their inventory.
AllowShulkerBoxDyeing: true
# Option 4 - Require players to have a specific permission to craft Shulker Boxes?
# If enabled, only players with the specified permission can craft Shulker Boxes.
RequirePermissionToCraft: false
CraftShulkerBoxPermission: "shulkers.craft" # The permission node required to craft Shulker Boxes.
# Option 5 - Require players to have a specific permission to dye Shulker Boxes?
# If enabled, only players with the specified permission can dye Shulker Boxes.
RequirePermissionToDye: false
DyeShulkerBoxPermission: "shulkers.dye" # The permission node required to dye Shulker Boxes.
####################################
############## DROPS ###############
####################################
# Shulker Box / Shulker Shell drops:
# These settings control whether Shulker Boxes and Shulker Shells drop when certain mobs are killed.
ShulkerDrops:
drops:
enabled: true # Whether item drops are enabled or not (set to 'false' to disable all drops)
mobs: # List of mobs that can drop items and their respective drop chance (as a percentage)
ENDERMAN: 10 # 10% chance that Endermen will drop the configured items (Shulker Box / Shell)
dropItems:
ShulkerBox: false # Set to 'true' if you want Shulker Boxes to drop from mobs
ShulkerShell: true # Set to 'true' if you want Shulker Shells to drop from mobs
As the default - Endermen drop Shulker shells with a 10% chance, but you can change the mob or add more mobs with what ever percent chance you wish.
Just another quick bug fix:
Please use the latest version, as this bug allows players to craft Shulker Boxes using any head item.
This fix ensures they are using "Shulker Shells".
A quick update with a major bug fix, and some minor ones.
A new feature has been added:
When a player interacts with the Shulker Box, it will now have an "open lid" to indicate that they have opened the shulker box.
This is mostly a QOL update, but a much needed one.