JustLootIt

Unique and refreshable loot containers and entities for everyone
Description
JustLootIt allows every player on the server to loot the same loot containers. It doesn't matter if a player already looted a block or entity, each other player can still loot it!
It's also not just naturally generated loot containers, with the right permissions you can create your own loot containers! It's also possible to link multiple blocks or entities to one single container which might be useful if you want refreshing containers at multiple locations. Yeah, there are refreshing containers. This means the content of the container is regenerated some time (the configured time for the refresh group) after a player looted it. (this is per player)
Resource usage
JustLootIt was designed to use as less RAM and CPU time as possible. Due to this the plugin stores most its data directly on disk in an own file format which allows it to quickly read the data back from the disk.
Because of how this file format works JLI has some limitation related to how many containers can exist per world and how many opened inventories are saved for each player.
When using this plugin you should make your users are aware that using loot containers as permanent storage is not possible and strongly disadvised as JLI will delete these per-player inventories after some time (see here for more information)
Features
Per player container loot
Every player is able to loot each individual loot container (chests, barrels, minecarts, item frames [for example per players elytras] and so on) on their own even if someone else looted it already.
Unique loot per player possible
It is possible to enable unique loot per player. This would generate differnet loot depending on which player looted the container (still seed-based and predictable).
Support for all vanilla interactions and animations
When accessing a JustLootIt container it will trigger vibration interactions, piglin anger and redstone updates as you would experience with vanilla loot chests. This also includes subtle things like the chest opening and closing animations or the player swining their hand. This is not the case for most competitors of JustLootIt.
Support for custom containers
You as a player can also create your own containers with the commands provided by the plugin.
Refreshable containers
You are able to add a refresh mechanism to containers so a player can loot the container as many times as they want once the configured refresh time runs out. With refreshable containers you are also able to use a different seed for each time the container is refreshed. As well as setting a specific group of containers to be unique instead of all containers.
Folia and Paper support
Folia and paper are both supported, if you have any issue please report them to me on GitHub.
IMPORTANT: For Paper (& forks) and Folia (& forks) when updating from 1.21.11 or below to 26.1 or above make sure to run /jli backup create before updating so your JLI data is safe!
In addition to that, if you decide to update make sure that once you copy over your world to also copy the JLI plugin folder (if you are doing this separately). JLI will do its best to ensure your data is migrated correctly however if you do "out of the ordinary" (so not updating in one-go for example) then it can't work. To correctly migrate your world you have to update the server, copy over the world and ensure JLI is installed on the first startup including the plugin folder you previously used otherwise Paper will delete your JLI data during the migration.
If you lost your JLI data it is gone. If you have used /jli backup create before updating then you can re-apply the backup using /jli backup apply. The backup command does not change your world therefore if you accessed containers while your JLI data was gone then those containers are also gone.
Installable even after you already played on a world
Because of the conversion system that is implemented in the plugin you are able to convert already existing loot containers to JustLootIt containers with a single command.
Easily switch to JustLootIt if you are a Lootin user
Because of the previously mentioned conversion system JustLootIt is able to convert Lootin containers to JustLootIt containers so you can easily switch to the plugin.
Ability to blacklist basically everything!
JustLootIt allows to blacklist structures, loot tables and even plugin compatibilities. You can also limit what kind of containers are allowed to be created and all of that per world.
Support for CustomStructures
CustomStructures loot containers are supported. (Lootin containers for this plugin can be converted)
Support for BetterStructures
BetterStructures loot containers are supported as well! (Lootin containers for this plugin can be converted)
Support for Iris
Iris loot containers are supported as well!
Support for WorldGuard
JustLootIt also adds a WorldGuard flag for accessing containers which is enabled by default. It is called jli-container-access.
Support for ValhallaMMO
ValhallaMMO loot and replacement tables are supported. The integration is implemented in ValhallaMMO and not in JLI.
Full support of custom Items
JustLootIt supports any kind of item, even if a plugin edited its NBT Data! Which means you could use Oraxen or ItemsAdder in conjunction with custom JustLootIt containers!
More features are planned!
Installation
Installing the plugin is just drag and drop. Download the plugin, put it into the plugins folder and you are done. If you want you may choose to change some things in the configuration now but there is not really much to configure at this point.
Custom containers are created in game using commands and a guided process so you should have no issues using the plugin without touching any configuration files.
If you currently are a Lootin user then do not fear!
You can easily switch to JustLootIt with the power of just one single command execution (and 2 automatic server restarts).
Simply use /justlootit convert and go through the setup process and done, JustLootIt does basically everything else for you. (you may need to start the server if no automatic restart script is configured)
The conversion doesn't only work for Lootin, you can also install JustLootIt even after you already played on a world. In this case you can also use the command and configure it however you like so JustLootIt just converts vanilla loot containers (mainly unlooted ones) to JustLootIt containers! You can also force convert looted ones however if there are player placed container blocks (such as chests, barrels and so on) then those will also be converted, so this is not recommended. Lastly you can also convert ItemFrames, same thing as with blocks - it mainly converts only item frames with a elytra however you can choose to convert all.
Uninstallation
If you want to uninstall JustLootIt you have to run /justlootit convert restore first. This will convert all JustLootIt containers back to vanilla containers. Depending on how your world was generated it won't be able to convert all (mainly ones that need third-party plugins to work won't be converted to vanilla containers).
Doing this will delete all JustLootIt data from each world which was not blacklisted on setup. Meaning even unconverted containers will be lost.
I highly recommend backing up your world before doing this.
Commands
The command names of JustLootIt are:
- justlootit
- jloot
- jli
You can easily see all commands using /justlootit help
Permissions
**justlootit.***
This is the Wildcard permissions of JustLootIt. Operators got it by default and it grants all other permissions.
- justlootit.admin.*
- justlootit.command.*
- justlootit.remove.container.*
- justlootit.place.container.*
**justlootit.command.***
This is again a Wildcard permission of JustLootIt. It grants access to all commands.
- justlootit.command.convert
- justlootit.command.config
- justlootit.command.backup
- justlootit.command.data
- justlootit.command.container
- justlootit.command.group
- justlootit.command.debug
- justlootit.command.help
**justlootit.remove.container.***
This permission is also a Wildcard permission of JustLootIt. It allows the player to break all types of JustLootIt containers.
- justlootit.remove.container.block
- justlootit.remove.container.entity
**justlootit.place.container.*** This permission is also a Wildcard permission of JustLootIt. It allows the player to place all types of JustLootIt containers.
- justlootit.place.container.block
- justlootit.place.container.entity
**justlootit.admin.*** This permission is also a Wildcard permission of JustLootIt. It grants the player all admin permissions unrelated to update notifications.
- justlooit.admin.bypass
justlootit.admin.bypass This permissions allows the player to bypass all protection measurements JustLootIt implements. (like the WorldGuard one)
justlootit.admin.version This permissions informs the player about new JustLootIt versions being available when joining the server.
justlootit.admin.version.up2date This permissions informs the player if their JustLootIt version is up2date and if not which one is the latest when joining the server.
That's it!
I hope you will enjoy the plugin.
If there are any issues or you would want to see something new in the plugin don't hesitate to open an issue on GitHub.
If needed you can also join my Support discord for help but for general issues would prefer GitHub as there it is easier to keep track of them :)
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
|
R
2.23.1
|
22h ago | 1 | |||
|
R
2.23.0
|
22h ago | 1 | |||
|
R
2.22.0
|
22h ago | 1 | |||
|
R
2.21.6
|
22h ago | 1 | |||
|
R
2.21.5
|
22h ago | 1 | |||
|
R
2.21.4
|
22h ago | 1 | |||
|
R
2.21.3
|
22h ago | 1 | |||
|
R
2.21.2
|
22h ago | 1 | |||
|
R
2.21.1
|
22h ago | 1 | |||
|
R
2.21.0
|
22h ago | 1 | |||
|
R
2.20.0
|
22h ago | 1 | |||
|
R
2.19.5
|
22h ago | 1 | |||
|
R
2.19.4
|
22h ago | 1 | |||
|
R
2.19.3
|
22h ago | 1 | |||
|
R
2.19.2
|
22h ago | 1 | |||
|
R
2.19.1
|
22h ago | 1 | |||
|
R
2.19.0
|
22h ago | 1 | |||
|
R
2.18.1
|
22h ago | 1 | |||
|
R
2.18.0
|
22h ago | 1 | |||
|
R
2.17.1
|
22h ago | 1 | |||
|
R
2.17.0
|
22h ago | 1 | |||
|
R
2.16.1
|
22h ago | 1 | |||
|
R
2.16.0
|
22h ago | 1 | |||
|
R
2.15.2
|
22h ago | 1 | |||
|
R
2.15.1
|
22h ago | 1 | |||
|
R
2.15.0
|
22h ago | 1 | |||
|
R
2.14.1
|
22h ago | 1 | |||
|
R
2.14.0
|
22h ago | 1 | |||
|
R
2.13.1
|
22h ago | 1 | |||
|
R
2.13.0
|
22h ago | 1 | |||
|
R
2.12.0
|
22h ago | 1 | |||
|
R
2.11.3
|
22h ago | 1 |
- Fixed WorldGuard support not being able to register the flag
- Added support for WorldGuard
- Added more customizations for the placeable containers (the lore and name that is)
- Added support for chest and shulker box opening and closing animations
- Added support for the swing animation a player does when interacting with something
## Changes:
- Reworked how container openings and closings are handled
## Notes:
The messages
inventory.loottable-viewer.page.chooser.container-item.name and inventory.loottable-viewer.page.chooser.container-item.lore have following placeholders available now:$container.type=> Type of the container$key=> The full loot table key$key.namespace=> Only the namespace of the loot table key$key.path=> Only the path of the loot table key$key.last_segment=> Only the last segment of the path of the loot table key
- Added support for 26.3
- Added backup command which allows to backup JLI data independent of the worlds
- This does not backup block locations, only the data itself.
- Added a migration for Paper when updating from 1.21.11 to 26.X+ which will move JLIs data to the correct directories before paper deletes them due to the world structure changes
- PLEASE NOTE: When trying this out in a seperate environment make sure to copy the JLI plugin folder as well as the worlds at the same time. If you install JLI first and start the server THIS WILL NOT WORK. To make it work again copy the old plugin folder of JLI.
- If this for some reason doesn't work for you, use the backup command instead.
## Changes:
- Re-enabled the
/jli convertcommand on Paper and forks for 26.1 - 26.3 - Moved JLIs data files to new locations:
<world>/justlootit/containers- 1.21.11 and below:
<world>/data/justlootit/containers - 26.1 and above:
<world>/dimensions/<dimension>/data/justlootit/containers <world>/justlootit/players- now at
<world>/data/justlootit/players
## Notes:
Due to the file location changes it is recommended to backup your world before updating.
No JLI data will be deleted due to this migration, the old files will stay in their old location and can be removed manually.
- So it turns out the folia server crash issue wasn't fixed (again (again)), so here is the next try. (I for some reason can not reproduce it so I can't do anything else)
- So it turns out the folia server crash issue wasn't fixed (again), so here is the next try. (I for some reason can not reproduce it so I can't do anything else)
- So it turns out the folia server crash issue wasn't fixed, so here is the next try. (I for some reason can not reproduce it so I can't do anything else)
- Hopefully fixed the folia server crash issue with the runtime conversion.
- Fixed that empty containers were stored in the inventory cache.
- Fixed that item transfers for double chests could happen in certain cases.
- Updates BetterStructures support for 2.1.1+ of BetterStructures, this should fix an issue with barrel loot tables as BetterStructures now provides the ability to read the treasure file name directly from the event.
- Fixed an NPE when using
/jli data hand nbton items with invalid nbt
- Added bulk operations
- /jli container bulk reset access (Allows to reset the access information of all players for every container within a world)
- /jli container bulk replace loottable (Allows to replace a loot table with another one for all containers within a world)
- Added a new reference item provider (
loot/provider/item/reference) which allows to reference loot tables but only gets the first generated of the specified loot table
## Fixes:
- Fixed conversion on Spigot for 26.1+
- Added support for 26.2
## Changes:
- Prevent conversion from even being setup on Paper & Folia based servers when being on 26.1+ as the conversion doesn't work there anyway and no its not easy to fix.
- Added FloodGate integration to fix inventory bug for Bedrock Players
- Added a loot modifier which allows to set the color of potions
## Fixes:
- Fixed that NBT written as json was not parsed correctly (it was deleting nbt compounds)
- Added a loot pool provider which allows to combine multiple pool providers
## Fixes:
- Fixed that containers of the type
customwould loose their container data (refresh group, who already looted the container and when) - Fixed the
customtype container not providing its information in the/jli container infocommand
- Added loot modifier which allows to add potion effects
- Added loot modifier which allows to remove potion effects
- Added loot modifier which allows to clear potion effects
- Added loot modifier which allows to clear enchantments
- Added a new sub command
/jli data hand nbtwhich gets the nbt of the item the player is holding in their main and off hand and sends the player a message which allows them to copy the nbt as json which can be used in loot tables and loot modifications
## Fixes:
- Fixed NPE which was caused by the new entity container item listener
- Added support for entities within the
Loot Table Browser(Excluding item frames as they don't support loot tables)
## Fixes:
- Fixed the sorting being backwards between
Loot tablesandCategorieswithin theLoot Table Browser
- Added new "Loot Table Browser", this browser UI allows to see all available loot tables and to create placeable container items, no need to run long commands anymore for manually created containers! (only for blocks for now) You can open the browser with
/jli container tablesand you need the permissionjustlootit.place.container.block(which Operators have by default) in order to be able to place the items in the world. - Added a new sub command,
/jli data. The command allows to save and reload data instances of JLI such as loot modifications and loot tables without the need to restart the server.
## Fixes:
- Fixed JLI not being able to retrieve unsupported inventory types on paper making the runtime conversion not work
- Improved thread safety of the container id generation, this should help the conversion process to not "link" containers or scramble loot tables
## Fixes:
- Fixed JLI not fully functioning on Paper
- Fixed JLI detecting Paper wrongly as Folia
- Added ability to define custom loot tables
- Added new container type 'custom' which allows the use of JLI custom loot tables
- Added ability to define loot modifications
### What are Loot modifications?
Loot modifications allow to add items to the generated loot or modify the generated loot using filters, conditions and modifiers :)
- For more information about the new custom loot tables and the loot modifications please ask me on my support discord*
- Fixed some issues related to the bukkit 26.1 api changes
- Fixed chest minecarts, chest boats and hopper minecarts not being able to access the JLI loot containers. (Idk when this started to be an issue but it was on 26.1)
- Added support for 26.1
## Changes
- Disabled the container bulk operation commands
- Fixed item frames not converting with the /jli convert command if static containers were not allowed to be converted.
- Reworked the conversion process of JLI. It should be way more robust now!!
## Please note
As always it is highly recommended to backup your world before running a JLI conversion. JLI does permanent changes to your world. They are usually reversable but its still changes.
- Fixed removal of loot table refresh groups not possible from code
- Fixed the wrong permission being used for update checks (for some reason it was
justlootit.admin.check_versioninstead ofjustlootit.admin.version) - Fixed that leaving while having started a conversion process would not cancel the conversion process
- Fixed an error on Folia which happened when coming near a JLI item frame.
## Changes
- Added new
justlootit.admin.version.up2datepermission which informs the player about the version JLI is on even if it is already the latest version. Removing this permission will no longer send the information that JLI is running the latest version and will only notify about newer versions being available. - Removed debug message when bulk replacing loot tables
(This update was released on Spigot on 21.12, modrinth was not available at the time of release so this is a late release, sorry to everyone who had to experience this.)
- Increased possible inventory cache size for players (from 48 to 240)
- Fixed /jli convert confirmation
- Fixed CacheLookupTable not always shrinking to configured size
- Updated file format
- NOTE:**