Version Note
The plugin currently supports only servers running on versions 1.21.4+, not earlier. Enjoy!
Description
Chests can be placed anywhere in your home but they are never in the perfect place.. With this plugin you can just break them and place them somewhere else without the hassle of picking their content and putting it back inside the chest.
Why Vanilla-Like?
The plugin doesn't add any extra tool/command. Just break the block and it will work as expected.
Features
- Not only working for Chests, also for: Hoppers, Furnaces, Barrels.. (see config file)
- Container items will show the number of current containing stacks as well as up to 4 contained item stacks
![[IMG]](/proxy/image?url=https%3A%2F%2Fi.imgur.com%2FZd7WMkO.png)
- Containers with the same content can be stacked or not
![[IMG]](/proxy/image?url=https%3A%2F%2Fi.imgur.com%2FtPmIUgk.png)
- Customizable nesting limit
![[IMG]](/proxy/image?url=https%3A%2F%2Fi.imgur.com%2FMZ7yz8Z.gif)
- Customizable penalties for carrying traditional containers
What about Shulker Boxes?
Traditional containers can now apply
penalties when carried around, unlike shulker boxes!
Penalties
You can customize penalties and their strength by editing the config file, all you need is the list of PotionEffectType(s) and the examples you will find in the file itself.
Enchantment Required
You can also customize the enchantment the handling tool must have in order to drop a portable container when breaking the block. Here is a list of the available Enchantment(s).
Default Config File
Code (YAML):
config-version
: 1.3
#Containers to make portable
portable-barrels
: true
portable-blast-furnaces
: true
portable-brewing-stands
: true
portable-chests
: true
portable-dispensers
: true
portable-droppers
: true
portable-furnaces
: true
portable-hoppers
: true
portable-smokers
: true
#Can containers stack when they have exactly the same content?
allow-stacking
: false
#1 for container inside a container, 2 for container inside a container inside a container, so on...
max-nesting
: 0
#Same thing but for shulker boxes
shulker-max-nesting
: 1
#Message sent to the player when the nesting limit is reached
nesting-limit-message
: §cNesting limit reached!
#Penalties (PotionEffectType) to apply when a player holds a portable container in their inventory
#Check https://jd.papermc.io/paper/1.21.4/org/bukkit/potion/PotionEffectType.html
#Format: <EFFECT>: <LEVEL>
penalties
:
#-- Examples --
#SLOWNESS: 1
#MINING_FATIGUE: 0
#The higher the number, the longer the penalties will last
penalty-duration
: 50
#ticks
#The lower the number, the faster the penalties will be updated
# !! MAY INDUCE LAGS IF TOO LOW !!
penalty-update
: 25
#ticks
#The enchantment required on the handling tool to create a portable container (one only enchantment supported)
#Check https://jd.papermc.io/paper/1.21.4/org/bukkit/enchantments/Enchantment.html
#Format: <ENCHANTMENT>: <LEVEL>
enchantment-required
:
#-- Example --
#SILK_TOUCH: 1
#Should the plugin ignore items with custom names? If not they will be portable too
ignore-custom-named
: false
#The worlds where portable containers can be created in
create-in-worlds
:
- world
- nether
- end
#The worlds where portable containers can be placed in
place-in-worlds
:
- world
- nether
- end
#Message sent to the player when they cannot place a container in that world
world-cannot-place-message
: §cYou cannot place a portable container in this world!
#Can portable containers be stored in bundles?
allow-bundles
: false
#Message sent to the player when they cannot place a container in a bundle
bundle-cannot-place-message
: §cYou cannot place a portable container in a bundle!
Permissions
- cyanogenoid.portablechests.create
- description: Grants the permission to make containers portable when broken
- default: true
- cyanogenoid.portablechests.create.anywhere
- description: Grants the permission to create portable containers in any world
- default: false
- cyanogenoid.portablechests.place.anywhere
- description: Grants the permission to place portable containers in any world
- default: false
- cyanogenoid.portablechests.penalty.skip
- description: Grants the permission to skip penalties for holding a portable container
- default: false
- cyanogenoid.portablechests.enchantment.skip
- description: Grants the permission to bypass enchantment requirements for creating a portable container
- default: false
Short Demo
My use case: skeletons spawners provide tons of bones and arrows, here is how i keep them organized:
Bugs! (and Features)
I didn't find any bug while testing the plugin but if you do, please create a new issue
here with the details regarding your problem.
You can also issue features requests if you get some good ideas!
License
MIT License, here the details:
https://github.com/SoulLength/PortableChests/blob/main/LICENSE
Donations
I love chocolate! Feel free to support me and buy me some if you find this plugin or my code useful. It would motivate me to update it and develop some others.
![[IMG]](/proxy/image?url=https%3A%2F%2Fwww.paypalobjects.com%2Fen_US%2FIT%2Fi%2Fbtn%2Fbtn_donateCC_LG.gif)