
HavenBags
Create shulker-like bags of varying sizes bound to a player, or accessible by anyone.
Список изменений
Important: HavenBags now requires ValorlessUtils v1.19.0.374 in order to work.
Added: Crash detection to attempt to save bag data, in the case of a soft crash. Hard crashes may prevent this from running.
Added: Hidden command /havenbags debug resetTooltipStyle which resets ALL tooltip styles throughout the database.
Only OPs can use this for this reason.
Added: Hardcore Bags. If a bag is destroyed or despawned (like by fire or lava), the corresponding data is deleted from the database, erasing the bag from existence entirely.
# Should bags' data get deleted if the bag item is destroyed?
hardcore-bags:
enabled: false
unbound: true
bound: true
unused: true
used: true
Added: Bag Insurance. If enabled, players now have to pay a fee when restoring/deleting bags from the PlayerGUI. (Though EssentialsX)
# Allow players to make "Insurance Claims" in order to
# restore/delete their bags from the PlayerGUI.
# Requires 'player-gui' to be enabled.
insurance:
enabled: false
# The default claim cost.
default-cost: 1000
# Should the cost be increased by adding a static value or percentage?
# Valid types: ADD, PERCENT
type: PERCENT
# Cost increase, by either a static value or percentage.
# 2000 = Increase by 2000 each restore.
# 0.20 = Increase by 20% each restore. i.e 1200 if default is 1000. Next would be 1440, then 1728, etc.
increment-value: 0.20
# How often can players make claims?
cooldown-seconds: 300 # 300s = 5m
# How often should the cost increase reset?
# Set -1 for never
reset-time-seconds: 3600 # 3600s = 1h
# Lore added to bags in the gui showing the cost, max 1 line.
# Placeholders: %cost% - The cost of the claim.
lore: "&fCost: &a$%cost%"
Added: The ability to apply custom data to all bags when they're updated, depending on their size. This can be used to add interactability with other plugins. Note that the data is not removed if the entries are.
# Automatically write extra "tags" onto bag items when they update.
# You can set different tags per bag size (9, 18, etc.), stored either as NBT or plugin-namespaced PDC keys.
custom-data:
# Should we apply custom data entries onto bags when they update?
enabled: false
'9': # Affect 9 slot bags, can hold multiple entries.
example:
# Storage backend for a configured data entry, either NBT or PDC.
type: NBT
# The key for this entry.
key: 'coolKey'
# The value for this entry.
# Supports: String/Integer/Double/Boolean/Float/UUID
value: 44
example2:
# Storage backend for this entry, either NBT or PDC.
type: PDC
# Plugin name used for PDC namespacing.
plugin: 'HavenBags'
# The key for this entry.
key: 'coolKey2'
# The value for this entry.
value: 'awesomeValue'
# PersistentDataType - PDC only
# Supports: String/Integer/Double/Boolean/Float/UUID
pdc-type: STRING
'18': # Affect 18 slot bags, can hold multiple entries.
example:
# Storage backend for this entry, either NBT or PDC.
type: PDC
# Plugin name used for PDC namespacing.
plugin: 'HavenBags'
# The key for this entry.
key: 'coolKey'
# The value for this entry.
value: 44
# PersistentDataType - PDC only
# Supports: String/Integer/Double/Boolean/Float/UUID
pdc-type: INTEGER
Added: Bag health under the Bag Protection configuration, to protect bags while allowing them to break after a certain threshold.
# Should bags be protected from being destroyed by things such as Fire, Lava, Cactus, and other things?
protect-bags:
...
bag-health:
# Should protected bags have a certain amount of health, before they break?
enabled: false
# Delay between taking damage.
damage-delay: 5 # 5 second delay
# Health based on the amount of slots
health:
# Default health if the desired slot isnt on the list.
default: 3
'9': 3
'18': 4
'27': 5
'36': 6
'45': 8
'54': 10
Changed: Bag Protection has been split up and given new config values, you can now lock specific states.
# Should bags be protected from being destroyed by things such as Fire, Lava, Cactus, and other things?
Bag Protection:
enabled: true
unbound: true
bound: true
unused: true
used: true
Changed: Updated the command /bag info to now include additional information, no longer includes lore (as it was flooding,)
and now lets you copy UUIDs by clicking on the message.
Fixed: The max-bags feature should now correctly respect permissions.
Fixed: An ItemModel related issue on versions below 1.21.4.
Fixed: A typo in the API method createUnusedBagItem(int, boolean).
Fixed: Broken tooltip background on versions above 1.21.3.
Fixed: Bag restoration should now restore CustomModelData.
Fixed: An issue where SQLite and MySQL databases wouldn't load certain data correctly. Blacklist and TooltipStyle should now load as intended.
API changes: Added: The following methods to the API:
boolean<-isBagEmpty(ItemStack)boolean<-isBagEmpty(UUID)boolean<-isBagEmpty(String)boolean<-isBagHealthEnabled()int<-getBagDamage(ItemStack)void->setBagDamage(ItemStack, int)void->addBagDamage(ItemStack, int)int<-getBagCurrentHealth(ItemStack)int<-getBagMaxHealth(ItemStack)boolean<-closeBag(String)BagState<-getBagState(ItemStack)
Changed: BagDeletionEvent is now called when the bag is deleted from the database, rather than from the GUI.