LootChest icon

LootChest -----

Respawnable chests with particles, menu, hologram.



LootChest
Configurable chest reloader


[​IMG]
[​IMG]

Features:
- Set particles for each chest (33 particles supported in 1.7, maybe 82 in 1.18) (can be disabled for each chest)
- BungeeCord messages on chest respawn/take
- Timer on chest's hologram (can be disabled)
- Give a chest content to a player (it allow you to create a kind of kit, since essentials kits doesn't store nbt tags)
- 1.7 to 1.21 support (No holograms in 1.7)

- Menu to create or edit everything
- Editable inventory for each chest
- Editable item chance for each item in each chest (default: 100% (editable))
- Editable respawn time for each chest
- Editable hologram for each chest (can be disabled for each chest)
- Chest is deleted when empty (but will still respawn at defined time) (can be disabled)
- Editable lang file, editable menu names
- Editable general particle's speed, number, spawn rate and radius (can be disabled)
- Make a copy of another lootChest by creating a chest then selecting the chest to copy in the editing menu
- Broadcast on chest respawn (can be disabled for each chest)
- Change a chest's position
- Automatic config and lang update , so that you don't have to delete anything when you update this plugin
- Random spawn within a radius around location where chest was created, or around a random player (editable radius for each chest) (can be disabled)
- Awesome fall effect (fully editable) (can be disabled for each chests)
- Broadcast on chest taken (can be disabled for each chest)
- Spawn protection in seconds (configurable for each chest)

You can also look this awesome video made by MusicTechnician (English) or the one from Maxar628 (Spanish) or the other one (Russian) to know everything about this plugin:​


Requirements:
none

Commands:
-/lc create <name> : Creates a chest and opens creating menu
-/lc edit <name> : Open editing menu
-/lc help : Guess it
-/lc respawn <name> : respawn a chest
-/lc respawnall [world] : respawn all chests
-/lc remove <name> : removes the given chest
-/lc setholo <name> <text> : set hologram of given chest. Setting holo to "" or " " or null or "_" or "none"
will delete the holo
-/lc reload : reloads all chests
-/lc list : well... sorry to not have added that earlier
-/lc give <player> <chest> Allows u to give a chest's content to a player
-/lc setpos <name> : changes the position of a chest
-/lc settime <name> <seconds> : sets the respawn time of the chest without using the time menu
-/lc randomspawn <name> <radius> : sets the respawn radius of a chest
-/lc tp <name> : teleports you to a chest
-/lc togglefall <name>: enable/disable fall effect
-/lc getname : get name of targeted chest
-/lc locate : gives locations of all chests that haves natural respawn message enabled
-/lc setprotection <name> <time> : set the spawn protection time in seconds for a chest
-/lc copy <source> <dest> : copy a chest into another

-/lc maxfilledslots <name> <number> : set the max filled slots of a chest
-/lc despawnAll [world] : despawns all chests, optionnally in a specific world

Known bugs:

- in 2.3.4, chests arent respawning sometimes, I will fix it as soon as I can [Edit: should be fixed]
- changing type of the chest will drop its content on the ground, don't know why (well, it is logic: it breaks the block to create another)
- Performances issues may not have been solved, you can try disabling particles to save TPS, but holograms aren't bugged anymore


Permissions:

for all commands: lootchest.<command>
for admins: lootchest.admin/lootchest.*


More infos:
Mail: [email protected]
Discord: Black_Eyes#0903
github on top of page
You can donate to me here https://www.paypal.com/paypalme/BlackEyes99 for all the hours I spent and will spend on this
The holograms are made with a light fork of DecentHolograms.


Config:
Code (Text):

 
    #Checks for updates at plugin start
CheckForUpdates: true
    #Info messages at plugin startup
ConsoleMessages: true
    #Some people have troubles about worlds loading before my plugin: in fact, chests located in unloaded worlds aren't loaded.
    #Let's fi this with this option. Cooldown is in second.
Cooldown_Before_Plugin_Start: 0
    #Here are some options about particles
Particles:
      #if you disable this, no matter what you but below^^
  enable: true
  default_particle: FLAME
      #10 of these particles spawn at the same time
  number: 10
      #They respawn all 5 ticks by default
  respawn_ticks: 5
      #The radius of spawning
  radius: 0.3
      #The speed of particles. A low speed is more smooth and good-looking. A speed of 1 is just insane.
  speed: 0.05
    # protects chests and prevent looting for some seconds after spawn. This is a default value, editable for each chest.
respawn_protection_time_in_second_by_default: 0
    #Prevent or not spawning on water
allow_spawning_on_water: false
    #time is in minutes
default_reset_time: 10
    #each item has a percentage of chance to spawn in a chest
default_item_chance: 100
    #when you activate randomspawn for a chest, it will spawn around location where the chest was created, unless you set the below option to true
use_players_locations_for_randomspawn: false
    #if you save data file at each respawn, it can prevent bugged chests when server crashes.
    #If you think your server never crashes, set it to false
save_Chest_Locations_At_Every_Spawn: false
    #I think you know what it is:
UseHologram: true
    #remove the chests if the player empty them (they still respawn and everything)
RemoveEmptyChests: true
    #protect Loot Chests from tnt/creepers?
Protect_From_Explosions: false
    #this detects factions, residence and worldguard regions
Prevent_Chest_Spawn_In_Protected_Places: false
    #removes the chest when a player closes it, even if there's still items in it
RemoveChestAfterFirstOpenning: false
    #Holograms doesn't act the same depending on server version, so here you can configure their height compared to the chest's height.
    #YOU CAN PUT A NEGATIVE NUMBER if the hologram is too high!
Hologram_distance_to_chest: 1
    #It was reported that placing hoppers under loot chests allows to do infinite farming, because they can respawn at same place if u want^^
PreventHopperPlacingUnderLootChest: true
    #Someone asked for this^^
Minimum_Number_Of_Players_For_Natural_Spawning: 0
    #Should we check for the chests to spawn inside the world border?
WorldBorder_Check_For_Spawn: true
    #If put to false, lootchests won't drop when broken/looted
Destroy_Naturally_Instead_Of_Removing_Chest: true
    #Well if you make dungeons, you may prefer players to kill monsters before looting everything
Radius_Without_Monsters_For_Opening_Chest: 0
    #How many slots can be filled in a chest before it stops filling with items
Max_Filled_Slots_By_Default: 0
    #Here comes the funny part :)
Fall_Effect:
      #the block is on an armorstand's head, so it would be 1 or 2 blocks above the chest, and not really on it
  Let_Block_Above_Chest_After_Fall: false
      #this option is for versions before 1.13: since 1.13, we have diferent material for each wool color, so we don't need this.
      #Colors are wrong, for example, PINK is CYAN and CYAN is PINK. Spigot bug, sorry.
  Optionnal_Color_If_Block_Is_Wool: CYAN
      #The block that falls. This block is on an armorstand's head
  Block: CHEST
      #The block will spawn 50 blocks above the chest then will fall to it
  Height: 50
      #You can still disable fall effect by default, and enable it for some chests only
  Enabled: true
      #Or you can let fall effect and remove fireworks
  Enable_Fireworks: true
      #0.8 is a good speed I think^^ But that's your config file x)
  Speed: 0.8
    # keep this to false if you want to edit data file by hand (not recommended) then do a /lc reload
SaveDataFileDuringReload: false

#Do you want seconds being shown on chest hologram? It can be bugged in unloaded chunks.
Timer_on_hologram:
  Show_Timer_On_Hologram: false
  Hours_Separator: ' hours, '
  Minutes_Separator: ' minutes  and '
  Seconds_Separator: ' seconds'
  Format: '%Hours%Hsep%Minutes%Msep%Seconds%Ssep left for %Hologram to respawn'
#you can edit or disable all these messages
respawn_notify:
      #If you haven't bungeecord, the message will still be sent correctly, and if you have it it should send bungee message everywhare
  bungee_broadcast: false
      #should the message only appear in the world the chest is in?
  per_world_message: false
      #should a message appear when a player takes a chest?
  message_on_chest_take: true #this is a default value. You can enable or disable it for each chest
  natural_respawn:
    enabled: true #this is a default value. You can enable or disable it for each chest
    message: '&6The chest &b[Chest] &6has just respawned\n&6 at [x], [y], [z] in [World]!'
  respawn_with_command:
    enabled: true #this is a default value. You can enable or disable it for each chest
    message: '&6The chest &b[Chest] &6has just respawned\n&6 at [x], [y], [z] in [World]!'
  respawn_all_with_command:
    enabled: true
    message: '&6All chests where forced to respawn!\n&6Get them guys!'




 

Code (Text):

noPermission: '&6[&bLootChest&6] &cYou don''t have permission [Permission]'
notAChest: '&cyou''re not looking a chest'
editedProtectionTime: '&aYou edited the protection time of chest [Chest]'
CantBreakBlockBecauseProtected: '&cYou have to wait [Time] seconds to loot that chest!'
chestIsEmpy: '&cThat chest is empty'
chestDeleted: '&aThe chest [Chest] &awas deleted'
chestSuccefulySaved: '&aThe chest [Chest] was succefuly created!'
chestDoesntExist: '&cThe chest [Chest] &cdoesn''t exist!'
chestAlreadyExist: '&cThe chest [Chest] &calready exists!'
succesfulyRespawnedChest: '&aThe chest [Chest] &awas respawned!'
AllChestsReloaded: '&aAll chests were respawned!'
editedParticle: '&aEdited particle of chest &b[Chest]!'
hologram_edited: '&aEdited hologram of chest &b[Chest]!'
PluginReloaded: '&aConfig file, lang, and chest data were reloaded'
ListCommand: '&aList of all chests: [List]'
copiedChest: '&6You copied the chest &b[Chest1] &6into the chest &b[Chest2]'
changedPosition: '&6You set the location of chest &b[Chest] &6to your location'
settime: '&6You successfully set the time of the chest &b[Chest]'
PlayerIsNotOnline: '&cThe player [Player] is not online'
givefrom: '&aYou were given the &b[Chest] &achest by &b[Player]'
giveto: '&aYou gave the chest &b[Chest] &ato player &b[Player]'
chestRadiusSet: '&aYou set a spawn radius for chest &b[Chest]&a.\n&aFrom now, it will spawn at this radius around the place where the chest was created, or around a random player if you set "use_players_locations_for_randomspawn" to true.'
teleportedToChest: '&aYou were teleported to chest &b[Chest]'
enabledFallEffect: '&aYou enabled fall effect for chest &b[Chest]'
disabledFallEffect: '&cYou disabled fall effect for chest &b[Chest]'
playerTookChest: '&6Oh no! &b[Player] &6found the chest &b[Chest] &6and took everything in it!'
disabledChestRadius: '&cYou disabled random spawn for chest [Chest]'
commandGetName: '&6Your''e looking the chest &b[Chest]'
editedChestType: '&aEdited type of chest &b[Chest]'
CantOpenLootchestBecauseMonster: '&cYou can''t open this chest while there is [Number] monsters nearby'
blockIsAlreadyLootchest: '&cThis block is already a LootChest!'
editedMaxFilledSlots: '&aYou edited the max filled slots of chest &b[Chest]'
locate_command:
  main_message: "&6Location of loot chests:"
  chest_list: "- &b[Chest]&6: [x], [y], [z] in world [world]"

#everything about menus
Menu:
  particles:
    name: '&1Choose a chest particle!'
    page: '&2---> Page &b[Number]'
  copy:
    name: '&1Choose a chest to copy it'
    page: '&2---> Page &b[Number]'
  main:
    respawnTime: '&1Edit Respawn Time'
    content: '&1Edit Chest Contents'
    chances: '&1Edit Item Chances'
    name: '&1Main editing menu'
    particles: '&1Particle Selection'
    copychest: '&1Copy Chest'
    type: '&1Select Chest Item'
    disable_fall: '&aFall effect is enabled. Click to &cDISABLE &ait'
    disable_respawn_natural: '&aNatural-respawn message is enabled. Click to &cDISABLE &ait'
    disable_respawn_cmd: '&aCommand-respawn message is enabled. Click to &cDISABLE &ait'
    disable_take_message: '&aMessage on chest take is enabled. Click to &cDISABLE &ait'
    enable_fall: '&cFall effect is disabled. Click to &aENABLE &cit'
    enable_respawn_natural: '&cNatural-respawn message is disabled. Click to &aENABLE &cit'
    enable_respawn_cmd: '&cCommand-respawn message is disabled. Click to &aENABLE &cit'
    enable_take_message:  '&cMessage on chest take is disabled. Click to &aENABLE &cit'
  chances:
    name: '&1Item chances of chest [Chest]'
    lore: '&aLeft click: +1||&aright: -1||&ashift+right: -10||&ashift+left: +10||&atab+right: -50'
  items:
    name: '&1Items in chest [Chest]'
  time:
    infinite: '&6Deactivates the respawn time'
    name: '&1Temps de respawn'
    minutes: '&aMinutes'
    hours: '&aHours'
    days: '&aDays'
    notInfinite: '&6Reactivate respawn time'
  type:
    name: '&1Select Chest Item'
help:
  - '&a -- Help for LootChest plugin --'
  - '&a(developped by Black_Eyes, idea of Ender_Griefeur99)'
  - '&a/lc create <name> &b: Creates a chest and opens creating menu'
  - '&a/lc edit <name> &b: Open editing menu'
  - '&a/lc help &b: Guess it'
  - '&a/lc respawn <name> &b: respawn a chest'
  - '&a/lc respawnall &b: respawn all chests'
  - '&a/lc remove <name> &b: removes the given chest'
  - '&a/lc setholo <name> <text> &b: set hologram of given chest'
  - '&a/lc reload &b: reloads the plugin'
  - '&a/lc list &b: list all chests'
  - '&a/lc setpos &b: edit the position of a chest'
  - '&a/lc give <name> <player>&b: gives the chest <name> to player <player>'
  - '&a/lc settime <name> &b: sets the respawn time of a chest in seconds'
  - '&a/lc randomspawn <name> <radius> &b: make a chest respawn randomly in the specified radius (0 to disable)'
  - '&a/lc tp <name> &b: teleports you to a chest'
  - '&a/lc togglefall <name> &b: enable/disable the fall effect for a chest'
  - '&a/lc getname &b: get the name of the targeted LootChest'
  - '&a/lc locate &b: gives locations of all chests that haves natural respawn message enabled'
  - '&a/lc setprotection <name> <time> &b: set the spawn protection time in seconds for a chest'
  - '&a/lc copy <name> <name> &b: copy a chest into another'
  - '&a/lc maxfilledslots <name> <number> &b: set the max filled slots of a chest'



 





Screens:

All menu texts are editable
[​IMG]
[​IMG]
upload_2019-1-22_11-32-24.png
upload_2019-1-22_11-33-31.png
upload_2019-1-26_11-55-6.png

API:

The plugin throws a LootChestSpawnEvent(Lootchest) at chest spawn. You can retrieve all the lootchest informations from it, but it isn't cancelable for now.
Besides that, you can get all lootchets informations from the API class (fr.black_eyes.lootchest.apiLootChestAPI). The Lootchest class also have many usefull methods to manage a chest.

Using my code:

Don't sell copy of this thing, it will always stay open source. You can still use my code if you want to edit this plugin for yourself, or someone in needs, or you can use some functions for your own plugin^^ (the fall effect class could be useful to some, and there's many menu in this, and also some config file functions)
Resource Information
Author:
----------
Total Downloads: 128,623
First Release: Oct 13, 2018
Last Update: Jan 3, 2025
Category: ---------------
All-Time Rating:
161 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings