Highly configurable loot for all
Main Page
Description
This plugin allows Players to receive loot (money/items/exp/etc...) from Chests, Mobs, and more. This is much like the dungeon Chests in the vanilla game except admins can set which items may appear as loot.
Why do I want this plugin?
PhatLoots is the perfect plugin for an RPG server. It allows you to modify which items are dropped by animals and monsters. It can even be used to have monsters spawn with armor and weapons. PhatLoots is also perfect for a minigames server. Chests can be placed around the world and be configured to spawn randomized loot which respawns after time. No matter the server style, PhatLoots can make it more exciting.
Features:
- Supports nearly all Bukkit plugins
- Supports all major Economies (Requires Vault)
- Supports all major Permission Plugins
- MythicDrops support for easily balancing MythicDrops loot as well as generating Gems and Unidentified Items
- Citizens Support to control loot for NPCs
- Votifier support to give a Player loot when they vote
- MultiWorld support (Different loot per World)
- Supports custom items made from any plugin that uses the Bukkit API (Plugins accessing NMS may cause conflicts)
- Simple API for plugin compatibility
- Fully configurable
- Loot tables may be setup using a Chest GUI to reduce the amount of commands needed
- Loots can include money, items, experience, running a command, or a combination of all of these
- Chests can be a one time loot, hourly, daily, or reset after any amount of time down to the second
- All messages seen by player's are customizable and can even be turned off
- Each chest can have it's own loot tables to provide more random loot
- Chests may have various reset times so they aren't all refilled at once
- Optionally display to Players how much longer they must wait to retrieve more loot
- Chest Loot
- Any Block may act like a chest (EnderChest, FlowerPot, Crate (Piston), Bookshelf, CakeBlock, etc.)
- Dispenser support (punch or activate the dispenser and it will dispense your loot)
- Ninjaing loot can be prevented by providing each Player with their own share of loot (global vs. individual)
- Chests can be linked to multiple loot tables at once
- PhatLoots may be set to autoloot for quicker looting
- Chests may be set to break once they are looted and then respawn when they have reset
- Mob Loot
- Have full control over what items are dropped by mobs
- Allow mobs to spawn with weapons, armor, and even potion effects
- Allow mobs to drop money
- Modify how much experience mobs drop
- Modify how often mobs drop loot
- Optionally prevent mobs from dropping items unless they are killed by a Player
- Mob Loot may replace or include the default Minecraft mob loot
- Each type of mob may be linked to a different loot table
- Baby Zombies, Zombie Villagers, and Normal Zombies may each have their own loot tables
- Villagers may be linked to a loot table based on their Profession (e.g. Blacksmith, Priest, etc.)
- EpicBoss mob support (requires EpicBossLoot addon)
- Citizens support, create loot tables for NPCs
- Command Loot
- PhatLoots can be looted using the command /loot <PhatLoot Name>
- A Player can be forced to loot a PhatLoot by using the command /loot give <Player> <PhatLoot Name> [Title]
- Plugins which support executing a command can use the loot command to give Players loot
- Loot Bags
- Items can be linked to a PhatLoot
- Loot bags can be right clicked while holding them to get the loot from inside of it
- Loot bags are a one time use
- Loot bags can even be added as loot themselves
- Custom Loot
- Commands, money, and exp may be added as loot
- Loot collections allow for more control over how many of what type of items are looted
- Supports items with custom names and descriptions (Such as items modified with the plugin Lores)
- Auto Enchant weapons and armors
- Auto name items based on their enchantments
- Calculate item tiers based on enchantments
- Add automatic damage estimations to items (e.g. +1-4 holy damage)
- Items may have a random amount or durability
Addons:
Addons are separate jars which may be installed to enhance this plugin
- SwapLoot - Randomizes which PhatLoot a chest is linked to
- MonsterNearby - Prevents Players from looting chests when a monster is nearby
- PlayerNearby - Prevents chests from respawning when a Player is nearby
- EpicBossLoot - Allows bosses from EpicBoss to drop Mundane loot
- RandomizedLore - Generate random numbers within the lore of your loot
- AntiCamp - Prevent Players from camping chests until they cooldown
Note:
Use a plugin such as Lores with this plugin to create more interesting loot.
Commands
Commands may be typed in console or in game. When entering commands in console omit the slash. i.e. perm give Codisimus minecraft.command.tp
Notation | Description |
---|---|
Text without brackets | Items you must type as shown |
<Text inside angle brackets> | Placeholder for which you must supply a value |
[Text inside square brackets] | Optional items |
Vertical bar (|) | Separator for mutually exclusive items; choose one |
Ellipsis (…) | Items that can be repeated |
-
- /loot help - Display the PhatLoots Help Page
- /loot help <command> - Display a command's usage
- /loot help time - Displays the usage details of the time command
-
- /loot make <Name> - Create a PhatLoot with the given name
- /loot make Epic - Creates a new PhatLoot of the name Epic
- PhatLoot names are case sensitive and cannot include spaces (use underscore instead)
- /loot link <Name> - Link the target Chest with a PhatLoot
- /loot link Epic - Links the Chest that you are currently looking at to the Epic PhatLoot
- Chest may also refer to a dispenser or any other block supported in the config file
- /loot link hand <Name> - Link the item in hand with a PhatLoot
- /loot link hand Epic - Links the item that you are currently holding to the Epic PhatLoot
- The linked item is known as a Loot Bag
- Only that specific itemstack is linked and not any other items of the same type
- /loot rename <PhatLoot> <Collection> <NewName> - Rename a PhatLoot Collection
- /loot rename Epic Weapons Melee_Weapons - Renames the Weapons Loot Collection of to Melee_Weapons for the Epic PhatLoot
- This command only renames Loot Collections, A PhatLoot can be renamed by renaming the YAML save file
- /loot unlink [Name] - Unlink the target Block from a PhatLoot
- /loot unlink - Unlinks the Chest that you are currently looking at from all PhatLoots
- /loot unlink Epic - Removes the Epic PhatLoot as linked with the Chest that you are currently looking at (all other linked PhatLoots remain present)
- /loot delete <Name> - Delete a PhatLoot
- /loot delete Epic - Deletes the PhatLoot which is named Epic
- Deleting a PhatLoot also unlinks it from all Chests deletes all Loot Collections associated with it
-
If Name is not specified then all PhatLoots that are linked to the target Block will be affected. Amount may be a number (100) or range (100-500)
- /loot time <Name> <Days> <Hrs> <Mins> <Secs> - Set the cooldown time for the specified PhatLoot
- /loot time 0 1 30 0 - Sets the cooldown time to 1 hour and 30 minutes
- Once looted, Players must wait this amount of time to receive more loot from the same Chest
- /loot time <Name> never - Set the PhatLoot to only be lootable once per chest
- /loot time never - Sets the PhatLoot to never cooldown
- Once looted, Players will never be able to receive more loot from the same Chest
- /loot global <Name> <true|false> - Configure cooldown type of the specified PhatLoot
- /loot global true - Sets the PhatLoot to a global cooldown (early bird gets the worm)
- /loot global false - Sets the PhatLoot to an individual cooldown (worms for everyone)
- If you want every Player to share the loot within a Chest then set global to true. If you want each Player to have their own loot then set global to false
- /loot autoloot <Name> <true|false> - Configure whether Players will need to manually remove items from chests of the specified PhatLoot
- /loot autoloot true - Sets the PhatLoot to have loot items automatically added to the Player's inventory
- /loot autoloot false - Sets the PhatLoot to require Players to manually take items from the PhatLoot chest
- When autolooted, items which don't fit in the Player's inventory will stay in the chest (or will spawn on the ground if there is no chest)
- The chest inventory view will not be shown if all items were autolooted
- /loot round <Name> <true|false> - Configure whether the specified PhatLoot will round down cooldown times
- /loot round true - Sets the PhatLoot to round down cooldown times to the closest value
- /loot round false - Sets the PhatLoot to take the entire cooldown time to reset
- Setting round to true is used to create hourly or daily loots
- /loot cost <Name> <Amount> - Set the cost of looting the specified PhatLoot
- /loot cost 10 - Players will be charged $10 whenever they loot a chest of the specified PhatLoot
- /loot money 0-3 - Players will be charged a random amount of money between $0 and $3 (inclusive) whenever they loot the specified PhatLoot
- Players are not charged if the chest is currently on cooldown
- If the Player cannot afford the payment then they do not receive loot
- This feature requires an economy plugin as well as Vault
- /loot money <Name> <Amount> - Set the amount of money to be gained upon looting the specified PhatLoot
- /loot money 50 - Players will be given $50 whenever they loot the specified PhatLoot
- /loot money 10-100 - Players will be given a random amount of money between $10 and $100 (inclusive) whenever they loot the specified PhatLoot
- Players are not given money if the chest is currently on cooldown
- This feature requires an economy plugin as well as Vault
- /loot exp <Name> <Amount> - Set the amount of experience to be gained upon looting the specified PhatLoot
- /loot exp 1000 - Players will be given 1000 experience whenever they loot the specified PhatLoot
- /loot exp 100-500 - Players will be given a random amount of experience between 100 and 500 (inclusive) whenever they loot the specified PhatLoot
- Players are not given experience if the chest is currently on cooldown
-
- /loot gui [Name] - Opens the info GUI of the specified PhatLoot
- If Name is not specified then all PhatLoots that are linked to the target Block will be affected
- /loot reset [Name] - Resets the loot history for the specified PhatLoot
- /loot reset Epic - Resets all chests of the Epic PhatLoot
- /loot reset - Resets the target PhatLoot chest
- /loot reset all - Resets all PhatLoot chests
- Resetting a PhatLoot chest will cancel the cooldown allowing it to be looted immediately
- /loot clean [Name] - Cleans the loot history for the specified PhatLoot
- /loot reset Epic - Cleans all chests of the Epic PhatLoot
- /loot reset - Cleans the target PhatLoot chest
- /loot reset all - Cleans all PhatLoot chests
- Cleaning a PhatLoot chest will remove all outdated data which is no longer relevant
- PhatLoot chests are automattically cleaned before being saved
-
- /loot list - Lists all existing PhatLoots
- /loot give <Player> <PhatLoot> [Title] - Forces a Play to loot the specified PhatLoot
- If Title is specified then the chest GUI will be renamed to the title provided
- /loot rl - Reloads the PhatLoots plugin, configuration file, and add-ons
-
- /loot <add|remove> <Item|ID|hand> [Parameter]...: Add/Remove an item as loot
- /loot add hand #1-16 %32 - 32% of the time, 1 to 16 of the item you are holding will be generated
- /loot add bow earrow_fire(2) earrow_infinite %5 - 5% of the time, a bow with level 2 Flame and Infinity will be generated
- The item may be referenced by it's name, ID, or hand to indicated the item you are holding
- /loot <add|remove> coll <Name> [Parameter]...: Add/Remove a collection as loot
- /loot add coll Weapon %25 #2 - 25% of the time, 2 loot from the Weapon collection will be generated
- /loot add coll Armor %10 #0 - 10% of the time, each loot within the Armor collection will be rolled for
- /loot <add|remove> cmd [Parameter]... /<Command>: Add/Remove a command which will be executed if generated
- /loot add cmd /say <player> has found a chest! - Announces the message Codisimus has found a chest! if Codisimus loots the PhatLoot
- /loot <add|remove> msg [Parameter]... -<Message>: Add/Remove a message which will be sent to the looter if generated
- /loot add msg cWeapon %50 -§5Here, take this weapon with you in your travels! - Assumming the Weapon collection is set to roll for each item individually, the message §5Here, take this weapon with you in your travels! will be shown to the looter 50% of the time that the Weapon collection is generated
Each Parameter begins with a single character id as follows:
- p: The name of the PhatLoot to modify
- pEpic - Indicates the Epic PhatLoot
- If the PhatLoot parameter is not specified then all PhatLoots linked to the target Block will be affected
- %: The probability (or chance) of spawning the loot
- %50 - Indicates the loot will be spawned 50% (half) of the time
- %0.01 - Indicates the loot will be spawned about once in every 10,000 loots
- If the probability parameter is not specified then the loot will be spawned 100% (all) of the time
- c: The id of the loot collection to specify
- cWeapons - Indicates the loot will be modified within the Weapons collection
- cFood - Indicates the loot will be modified within the Food collection
- If the collection parameter is not specified then the loot will be modified in the top level of the PhatLoot, outside of all collections
- #: The amount of the item to be spawned
- #10 - Indicates that 10 of the loot will be spawned
- #1-64 - Indicates that the amount of loot which will be spawned will fall between 1 and 64 (inclusive)
- For collections, this number indicates the amount of loot which will be spawned from the collection
- #0 - When the loot type is coll, this indicates that each loot within a collection will be rolled for individually
- #0-3 - When the loot type is coll, this indicates that each a maximum of 3 loot will be spawned from the collection
- If the amount parameter is not specified then the amount of loot spawned will be 1 (or the amount you are holding if using the hand command
- d: The data or durability value of the item
-
d1 - Indicates the data value of the item
- If the item is Sand, it will be Red Sand
- If the item is Golden Apple then it will be Enchanted Golden Apple
- If the item is Flower, it will be Blue Orchid
- If the item is armor or a tool, it will be have 1 use remaining
- t: Display the calculated Tier of the item
- t - Calculates and displays the tier of the item when generated based on the material and enchantments
- l: Display randomized lore on the item
- l - Displays a custom name as well as lore for the item when generated based on the material and enchantments
- e: Add enchantments to the item
- earrow_infinite - Enchants the item (bow) to provide unlimited arrows
- eprotection_fire(3) - Enchants the item to provide protection from fire at level 3
- eauto - Enchants the item with random applicable enchantments at varying levels
- auto enchanting has the possibility of generating items with no enchantments
Permissions
Permission nodes may be given to Players or permission groups using any permissions plugin such as CodsPerms.
- phatloots.loot.* - Needed to receive loots from all restricted PhatLoots
-
phatloots.loot.EpicLoot - Needed to receive loot from the PhatLoot named EpicLoot
- Any PhatLoot name may be substituted in place of EpicLoot
- This permission node is only required for PhatLoots which are set as restricted within the config file
- phatloots.moneyfrommobs - Needed to receive money from mobs
- This permission node is set to true by default
- phatloots.commandloot - Needed to receive loots through command
- phatloots.rl - Needed to reload the PhatLoots plugin
- Explicitly allows for use of the /loot rl command
- phatloots.reset - Needed to reset the list of users who looted PhatLoots
- Explicitly allows for use of the /loot reset command
- phatloots.clean - Needed to remove loot times that are no longer relevant
- Explicitly allows for use of the /loot clean command
- phatloots.list - Needed to list all current PhatLoots
- Explicitly allows for use of the /loot list command
- phatloots.info - Needed to see loot information of a given PhatLoot and modify it with the loot gui
- Explicitly allows for use of the /loot gui command
- phatloots.give - Needed to force a Player to loot a PhatLoot
- Explicitly allows for use of the /loot give command
- phatloots.admin - Needed to break linked Blocks
- Broken blocks will be automatically unlinked
- phatloots.make - Needed to create a new PhatLoot
- Explicitly allows for use of the /loot make command
- phatloots.delete - Needed to delete a PhatLoot
- Explicitly allows for use of the /loot delete command
- phatloots.link - Needed to link a PhatLoot to a chest
- Explicitly allows for use of the /loot link command
- phatloots.unlink - Needed to unlink a PhatLoot from a chest
- Explicitly allows for use of the /loot unlink command
- phatloots.manage - Needed to add or remove loot for a PhatLoot
- Explicitly allows for use of the /loot add command
- Explicitly allows for use of the /loot remove command
- phatloots.time - Needed to set the reset time of a PhatLoot
- Explicitly allows for use of the /loot time command
- phatloots.global - Needed to set whether a PhatLoot has a global cooldown
- Explicitly allows for use of the /loot global command
- phatloots.autoloot - Needed to set whether a PhatLoot is autolooted
- Explicitly allows for use of the /loot autoloot command
- phatloots.round - Needed to set whether a PhatLoot's reset time is rounded down
- Explicitly allows for use of the /loot round command
- phatloots.cost - Needed to set the cost to loot a PhatLoot
- Explicitly allows for use of the /loot cost command
- phatloots.money - Needed to set how much money is looted from a PhatLoot
- Explicitly allows for use of the /loot money command
- phatloots.exp - Needed to set how much experience is looted from a PhatLoot
- Explicitly allows for use of the /loot exp command
- phatloots.create - Parent node for the following permission nodes:
-
- phatloots.make: true
- phatloots.delete: true
- phatloots.link: true
- phatloots.unlink: true
- phatloots.manage: true
- phatloots.time: true
- phatloots.global: true
- phatloots.autoloot: true
- phatloots.round: true
- phatloots.cost: true
- phatloots.money: true
- phatloots.exp: true
Use Cases
Tutorials
Request a tutorialFAQ
Ask a question-
Loot is a gaming term which refers to the items/gear that can be acquired throughout a game. It is very common in RPGs. Loot can refer to items, experience, or currency. In PhatLoots, commands and messages can also be loot. Loot is often dropped by killing mobs and can be found within chests. In Minecraft, you can find loot in dungeon chests and when you kill a mob. PhatLoots allows for the configuration of loot for both mobs and chests. It also allows for creating loot for other things such as NPCs, fishing, and voting.
-
Another name for a PhatLoot is a loot table. This is the same idea as the upcoming loot table feature in vanilla Minecraft. A loot table essentially defines which items might appear as loot. The whole point of loot is that you never know what you will get. A loot table defines how often certain loot will be handed out. Rare loot won't be generated as often as common loot. A PhatLoot is linked to chests, mobs, or something else. The PhatLoot also defines who has access to the loot and when which is determined by the reset type (global or individual) and reset time.
-
PhatLoots supports custom items that are generated by other plugins. As long as the plugin follows the rules of the Bukkit/Spigot API, then PhatLoots will be able to store and generate these items. You can add these custom items as loot by using the /loot add hand [Parameter]... command while holding the item. You can also add the item by using the /loot gui command. Some plugins have special items that are randomly generated and therefore different each time. An example of this is MythicDrops. These plugins must be explicitly supported. PhatLoots supports MythicDrops items and the commands/GUI buttons become available if the MythicDrops plugin is detected. You can read more about this in the Tutorials section.
-
All minigames are handled differently. If the minigame world is in its own World, then you can use the autolink setting in the config file. You set the name of the world along with the type of block to link and the name of the PhatLoot to link the block to. This will link all blocks of that type to the specified PhatLoot. If the minigame is in an arena within a world, you can manually link all of the chests or add them to the PhatLoot's YAML save file. If you do use PhatLoots for a minigame, be sure to reset the loot history at the beginning of the match.
-
Currently, you cannot automattically link dungeon chests to PhatLoots. There is no efficient way to find the chests scattered throughout the world. And even if there was, we cannot reliably determine if the chest was generated for a dungeon. You would have to use some sort of x-ray tool in order to manually find all of the chests and link them yourself.
-
A Loot Collection is a type of Loot that can be placed inside of a PhatLoot. However, the Loot Collection isn't exactly given to the looting Player. The Loot Collection will instead give the Player some of the Loot which is inside of it. Collections are typically used to group similar items together or to limit the amount of items looted. For some specific examples, read the next few FAQs. You can read more about Loot Collections in the Tutorials section.
-
You can do this by using a Loot Collection as described above. For example, if you wish for a PhatLoot to only give 5 items then you should put all of the items within a collection and set the collection amount to 5.
-
Yes you can, this is very similar to the previous question and is also accomplished by using a Loot Collection. If you want the PhatLoot to limit the amount of items given to 5 then you can put the items inside of a collection and then set the amount of the collection to a range. i.e. 1-5.
-
Once again, this behavior is accomplished using a Loot Collection. Let's assume that you want a PhatLoot to give a weapon as loot. The weapon will either be a sword or a bow. To do this we will first create a Loot Collection within the PhatLoot. We can name the collection Weapon so that we will understand what it is for the next time we see it. We will set the probability of the collection 100% unless you want a weapon to be given only some of the time. The amount of the collection will be 1 to specify that only 1 item will be produced from the collection. Inside of the collection we will add a sword and a bow. Looting the PhatLoot should result in either a sword or a bow every time.
-
There are a few reasons why this could happen but they usually have to do with Loot Collections. Loot with probability 100% that is within a collection will not always be spawned. The simplest cause of this is the probability of the collection itself. If the collection has a probabilty of 50% then you will only ever see the Loot within it half of the time. The rest of the causes have to do with the collection amount. If the amount of a collection is set to -1, then the 100% Loots will be spawned everytime that the collection is looted. However, if the amount is anything else, the probability of the Loot inside of the collection acts more like a weight. For example, if you have 2 items each with 100% probability but the collection amount is set to 1 then both items cannot be spawned. because of the collection limiting to a single Loot. If your loot is not in a collection then it may have a range for the amount. If the lower bound of the range is 0 then there is a possibility of 0 of that Loot being spawned which would result as nothing for the looter.
-
This can be done by using the /loot reset never command.
-
Each PhatLoot contains a reset time. The reset time determines how long until a Player can receive additional loot from a chest/mob/etc. This is also known as the cooldown time or period. The reset time is broken down into the amount of days, hours, minutes, and seconds and are entered in that order. The loot GUI only allows you to change certain values but the /loot time command allows setting the reset time down to the second. Assuming the following command has been executed: /loot time 0 0 5 30, When a Player loots a linked chest, they will have to wait 5 minutes and 30 seconds until they can loot the chest again. They will be able to open the chest to see their old loot but new loot will not spawn until that cooldown period has expired.
-
You can prevent Players from stealing loot by configuring the reset type and setting global to false.
-
A global reset type refers to the sharing of loot. If the PhatLoot is set to global, all Players will share the loot of a chest. If global is set to false, then each individual Player will have their own copy of the loot. Each Player's loot will likely differ. Multiple Players could then be looting a chest at the same time and be presented with different loot that they can add to their inventory. The reset time will not apply between Players. Meaning, if the reset time for a chest is 1 day and the reset type is individual, if Steve loots the chest, Bob will be able to loot it minutes later and need not wait for a day.
-
The round down setting for a PhatLoot is used to create daily, or hourly loots. This option technically rounds down the loot history time to the nearest unit of measurement. For example, let's imagine that there is a chest with a reset time of one hour and a round down is set to true. If Steve loots the chest at 9:26pm and 18 seconds then the loot history would not store that exact time. Instead, the second and minute values will be rounded down to 0 each. The hour will not be rounded down because the reset time includes a value in the hours place. The loot time stored will be 9:00 and 0 seconds rather than 9:26 and 18 seconds. Therefore, Steve will be able to loot the chest again at 10:00 which is an hour after 9:00 even though it is actually less than 34 minutes later. This setting provides to option to give loot each hour, day, week, or more.
-
A history of loot times is stored by PhatLoots. These loot times ensure that a Player does not receive additional loot from a chest until after the cooldown period. The /loot reset command clears the loot history. Executing the command allows all Players to receive more loot from the chest. The /loot clean command clears irrelevant loot history. Loot history is irrelevant if it is already past the cooldown period. Executing the command will not effect gameplay and only remove extra data which is no longer needed. Loot history is automatically cleaned before data is saved. The only reason you will want to use the clean command is if your server does not shut down for long periods of time and You have turned off the autosave feature in PhatLoots.
-
The loot GUI is a chest interface that is used to easily modify a PhatLoot. You can drag, drop, and click to configure the the loot table. This is much quicker and more user friendly than typing in commands. The loot GUI is the recommended method of setting up loot tables and managing the loot within them. The corresponding commands are intended to be a backup solution.
The loot GUI can be opened using the /loot gui command.
-
PhatLoots has a lot of features. Most of these features you will never use. However, this should not deter you from using the plugin. All of the features that would have a performance impact on the server are able to be turned off. The top of the config file has the option to turn these features on or off. If you are concerned with performance, you should go through these settings and set each unused feature to false. I dare you to compare timing reports of this plugin against others on your server. If PhatLoots is hogging any resources then let me know and I will fix it.
-
An addon is a JAR file that contains an additional PhatLoots feature. This keeps the configuration settings seperate and easier to manage. Instead of turn a feature on by setting a value to true in config.yml, you turn the feature on by installing the addon. The concept of addons also allows other developers to add features to Phatloots without the need to modify the plugins code.