Перейти к содержимому
Mineforgian

HavenBags

Create shulker-like bags of varying sizes bound to a player, or accessible by anyone.

Загрузки
767
Подписчики
6
Обновлён
6 августа 2026 г.
Лицензия
All-Rights-Reserved

Опубликован 11 июля 2023 г.

About

Create shulker-like bags / backpacks of varying sizes bound to a player, or accessible by anyone.


▶ Custom Bag Crafting

In collaboration with Mehboss, CustomRecipes support crafting of HavenBags! You can create custom crafting recipes to allow players to craft bags. You can read more on the CustomRecipes Wiki.

Recipe Examples

You can also use HavenBags' legacy crafting feature. This is a very simple crafting system, and won't be updated further.

▶ Pre-defined Bags

Pre-create and give out bags with specific content through commands.

▶ Ethereal Bags

Ethereal bags are bags accessed and given only through commands in their own environment. Ethereal bags are stored in a single file on the server and ignores the regular database. This means that Ethereal bags are server-only, and cannot be used cross-server with MySQL. These bags also do not benefit from the features of regular bags.

▶ Auto-Pickup

You can set to bags to automatically pick up items for you. Specify the loot filters yourself, or let players specify specific items for pickup. This continues even when the player's inventory is full.

Images

▶ Magnet

Bags can be magnified, sucking in nearby items.

GIF

▶ Auto-Sorting

You can set to bags to automatically sort the contents of the bag in alphabetical order. Takes into account Display- and Itemname.

Displayname > Itemname > Material

▶ Refilling

When the player places down the last block in their hand, the same item is taken from the bag if any, and given to the player.

▶ Weight Limits

Bags can be given a specific weight they can carry. You can specify the weight of items any time. As well as specify encumbering.

Image

▶ Placement Blocker

To avoid bags being placed down and the data destroyed, bags are unable to be placed down.

▶ Dupe Prevention

If multiple of the same bags are detected, a warning will be sent in the console, and one of the players will have their bag forcefully closed. Additional hidden methods are also active.

▶ Bag Protection

Bags cannot be destroyed by things such as fire, lava and cactus. Among other things. You can disable this option any time in the config file.

GIFs

Even the mighty Spicy Water stands no chance again the power of the bag!

▶ Admin GUI

The Admin GUI allows you to easily create, restore and preview bags.

Images

▶ Texture Per Size

Set the textures of bags per size, and if the bag is bound or not.

Image

▶ Skin Tokens

Set the textures of bags using Skin Tokens. Create as many different skin tokens as your heart desires, and share them with your players.

Image

▶ Bag Upgrades

Define regular or custom items (through ModelData), which players can use to upgrade their bags.

Image

▶ Bag Upgrade Table

Right-clicking a fletching table opens a customizable gui, where players can skin and upgrade their bags.

Image

You can use Nexo or other plugins to create custom GUI like this:

▶ Quivers

Store and draw arrows directly from bags, no more need to carry a ton of arrows!

▶ Soulbound

Keep bags through death. *Likely not compatible with plugins like GravesX and AngelChest

▶ Cross-Server Bags

Choosing the database type "MySQLPlus" allows bags to be used across servers. Loading and saving the bag data when needed, rather than auto-saving every so often. (Will require both servers to use the same database type and database.)

▶ Seamless Database Conversion

Seamlessly convert how the plugin stores data between:

Type Description Pros Cons
Files Each bag is stored in its own data file. Easy to edit Slower loading/saving
SQLite Store all bags in a single local database file. (Recommended) Fast loading/saving Hard to edit
MySQL Store all bags on an external database. Saves space locally Very slow loading/saving
MySQLPlus Store all bags on an external database, loading/saving directly to the database. Can be used across servers. Cross-server bags Constantly saves and loads bag data

▶ PAPI Placeholders

Here's a list of placeholders from HavenBags you can use with PlaceholderAPI:

View Placeholders
Placeholder Description
%havenbags_bags_current% How many bags the player owns.
%havenbags_bags_max% How many bags the player can own.
%havenbags_bags_items_MATERIAL% How many items of a specific material are in all the player's bags. (Does not count ownerless bags)
%havenbags_bags_inv_items_MATERIAL% How many items of a specific material are in all the player's bags in their inventory. (Counts all bags)
%havenbags_player_has_bag% Returns true or false, depending if a player owns a bag or not.
%havenbags_carry% How many bags the player is carrying.
%havenbags_carry_max% How many bags the player can carry at once.
%havenbags_bags_slots_total% Total amount of slots of all bags in the player's inventory.
%havenbags_bags_slots_used% How many slots are used in all bags in the player's inventory.
%havenbags_bags_slots_free% How many slots are free in all bags in the player's inventory.
%havenbags_bags_others% Returns true or false, if the player has a bag they can't use.

Player

Command Permission Description
N/A havenbags.player Gives all HavenBags player permissions.
N/A havenbags.use Allows you to use bags.
N/A havenbags.open.9/18/27/36/45/54 Allows you to use the open bags of the defined size.
N/A havenbags.upgrade.9/18/27/36/45/54 Allows you to use the upgrade bags of the defined size.
N/A havenbags.carry.X Sets how many bags the specific player can carry. (if enabled)
N/A havenbags.max.X Sets how many bags the specific player can create. (if enabled)
/havenbags gui N/A If enabled, open a gui to restore or delete own bags.
/havenbags rename [name] havenbags.rename Rename the bag in your hand. Without havenbags.bypass, you can only rename your own bags.
/havenbags empty/explode havenbags.empty Dump the content of the bag in your hand, onto the ground.
/havenbags autopickup <filter> havenbags.autopickup Set your bag to automatically pick up items for you.
/havenbags trust <player> havenbags.trust Trust players to open your bound bag.
/havenbags untrust <player> havenbags.trust Remove a player's trust from your bag.
/havenbags autosort <on/off> havenbags.autosort Automatically sort the contents of a bag.
/havenbags magnet <on/off> havenbags.magnet Sucks in nearby items.
/havenbags refill <on/off> havenbags.refill When the player places down the last block in their hand, the same item is taken from the bag if any, and given to the player.
/havenbags open <id> havenbags.ethereal Opens an ethereal bag.
/havenbags ethereal <id> autosort <on/off> havenbags.autosort Automatically sort the contents of a bag.
/havenbags ethereal <id> autopickup <on/off> havenbags.autopickup Set your bag to automatically pick up items for you.
/havenbags ethereal <id> magnet <on/off> havenbags.magnet Sucks in nearby items.
/havenbags help N/A View help about the commands you have access to.

Admin

Command Permission Description
N/A havenbags.admin Gives all HavenBags' admin permissions.
N/A havenbags.bypass Allows you to bypass ownership locks.
/havenbags gui havenbags.gui Opens HavenBags' Admin GUI.
/havenbags open <player> <id> havenbags.ethereal.admin Opens a player's ethereal bag.
/havenbags create [ownerless] <size> havenbags.create Create a new bag.
/havenbags give <player> [ownerless] <size> havenbags.give Give player a new bag.
/havenbags give <player> <bag> havenbags.give Give player a pre-defined bag.
/havenbags give <player> ethereal <rows> <id> havenbags.ethereal.admin Give player an ethereal bag.
/havenbags restore <player> [bag-uuid] havenbags.restore Gives a copy of the bag stored on the server.
/havenbags preview <player> [bag-uuid] havenbags.preview Preview a copy of the bag stored on the server.
/havenbags texture <texture or base64> havenbags.texture Set the texture of the bag you're holding. You can only change textures of bags you own.
/havenbags modeldata <value> [material] havenbags.modeldata Set the CustomModelData of the bag you're holding. You can only change modeldata of bags you own.
/havenbags itemmodel <value> [material] havenbags.modeldata Set the ItemModel of the bag you're holding. You can only change itemmodel of bags you own.
/havenbags weight <value> havenbags.preview Set the weight limit of the bag you're holding.
/havenbags effect <value> havenbags.effects Apply an effect defined in effects.yml to the bag.
/havenbags token texture <texture or base64> [player] havenbags.token Create a token you can combine with the bag, to change its appearance.
/havenbags token custommodeldata <value> [player] havenbags.token Create a token you can combine with the bag, to change its appearance.
/havenbags info havenbags.info Shows information about the bag you're currently holding.
/havenbags rawinfo havenbags.info Shows raw metadata about the bag you're currently holding.
/havenbags help havenbags.help Shows the entire help list, regardless of permissions.
/havenbags convertdatabase <files/sqlite/mysql> havenbags.database Seamlessly change & convert how the plugin stores its data.
/havenbags customcontent edit OP Edit a GUI inventory.
/havenbags customcontent save <name> OP Save the GUI inventory.
/havenbags customcontent load <name> OP Replace the GUI inventory with a saved one.
/havenbags clearcontent <all/player/bag-uuid> Console Removes the content of all bags, chosen player's bags, or a specific bag.
/havenbags reload havenbags.reload Reload all config files.
/havenbags reload force havenbags.reload Reload all config files AND force load all bags from the server. (Any unsaved bags will be reset to last save)

All commands can be shortened to /bags & /bag



My plugin requires the utility library plugin ValorlessUtils v1.17.0.313 or newer to function. It's 100% free, and works with all my plugins.


CustomRecipes

PlaceholderAPI

PvPManager / PvPManager Lite Disable players use of bags while in PvP.

PvPManager


HavenBagsPreview (Fabric Mod)

Credit: ArturoAtomplay

More Information

Features:

Instant Preview: See the contents of your HavenBags bags without opening them.

User-Friendly Interface: Simply hover over a HavenBags item in your inventory to reveal its contents in the tooltip.

Efficiency: Save time and streamline your inventory management process.


English - Credit: ServerMiner

HavenBags English Tutorial

Español (Spanish) - Credit: Ajneb97

HavenBags Spanish Tutorial

Español (Spanish) - Credit: Trooki Gaming

HavenBags Spanish Tutorial 2


Can you add my language to HavenBags?

NOTICE: lang.yml can be manually translated. Languages are only for item/block names.

Sure thing! Feel free to message me what language you'd like added, and I'll see what I can do.

Note that your language must be on this list of languages.

HavenBags has been updating a lot lately, how come?

I try to combine all new updates and additions into one big update. But when a bug or issue has been reported, I try to fix it as quickly as I can, and update the plugin to get rid of the problem. The problem can be niche and only affect a handful, or they can affect everyone. Nonetheless the plugin will be updated asap.

Please check the update note before updates, to see if it is worth for you to update.

What happens to open bags when restarting or reloading?

HavenBags keeps record of open bags, and will force any open bags to close, and return them to the player before shutting down.

What happens if you close an open bag with a full inventory?

The bag will drop below the player instead of returning to the inventory.

Will bags be removed from players, if the files on the server are deleted?

Bags in-game will remain, but will be removed once the player attempts to open it.

Can I upgrade or downgrade my server, without issues?

You should be able to upgrade within the supported versions, as newer versions are compatible with older data. You CANNOT however downgrade your server, as the functions don't support the newer data structure. (The same way you can't bring a 1.20 world into a 1.19 server)

Can I convert Minepacks backpacks to HavenBags?

Indeed you can! Update 1.26.0 introduced conversion from Minepacks to HavenBags ^^ Here's how to do it: https://www.spigotmc.org/resources/110420/update?update=565416

Can I convert EpicBackpacks to HavenBags?

Indeed you can! Update 1.27.0 introduced conversion from EpicBackpacks to HavenBags ^^ Here's how to do it: https://www.spigotmc.org/resources/110420/update?update=566001

How can I edit bag data on SQLite?

In order to load and edit the .db file, you need a program called "DB Browser (SQLite)". Here's how to get it: https://sqlitebrowser.org

Disclaimer: Shut down the plugin (or server) before editing the database. If you're not hosting the server locally, you'll have to download the database file.

How can I edit bag data on MySQL?

There are many ways to do it, but the way I do it is with a program called "MySQL Workbench" by ORACLE. Here's how to get it: https://dev.mysql.com/downloads/workbench/


Got questions or need help with something? Join my Discord server, and let's talk about it :D https://discord.gg/yyEPqSeXF9

Please if you discover any bugs, or the plugin isn't right for you. Please do not leave a bad review. Instead message me and I'll fix the bug.


Ko-fi

bStats

Ченджлог

1.43.0.2963Релиз26.1.1, 26.1.2, 26.2 · 6 августа 2026 г.

Experimental Added: HavenBags-Standalone version, runs without needing ValorlessUtils, as it has it inside it instead. This has yet to be play-tested, therefore do not use it in production and only testing.

Added: FeaturesGUI - Right-click bag in the inventory to open a gui where you can toggle features. Requested by @Cr4zyGeek https://github.com/Valorless/HavenBags/issues/50

Added: Auto-crafting! Automatically run all items in the bag through 3x3 crafting, placing the result and any unused ingredients into the chest.

Added: Vault Economy integration, moved away from EssentialsX-only to allow additional economy plugins for the Insurance feature.

Added: Bag contents can now stack in the lore (Enabled by default) showing "ITEM: x128" instead of "ITEM: x64 ITEM: x64"

lang.yml

# Should items stack, showing 2 stacks of 64 as x128, instead of 2 x64.
bag-content-stack: true

Added: Auto-pickup filters in filters.yml now support ItemTags https://minecraft.wiki/w/Item_tag_(Java_Edition)

filters.yml

filters:
 armor:
  displayname: '&eᴀʀᴍᴏʀ'
  gui:
   show: true
   icon: IRON_CHESTPLATE
  items:
   - '#minecraft:head_armor'
   - '#minecraft:chest_armor'
   - '#minecraft:leg_armor'
   - '#minecraft:foot_armor'

Added: In addition, you can create custom tags within filters.yml to use in filters.

Added: Oraxen support, used the same way as Nexo support, but oraxen:id not nexo:id.

Changed: Certain dependencies are no longer shaded, lowering the size of the plugin file.

Changed: Config validation has been tweaked.

Changed: Bags can no longer be upgraded by players that don't own the bag, or have the bypass permission.

Changed: /havenbags rawinfo will no longer return the raw ItemMeta component, but instead the Bag's datamodel, containing only information about the bag, and not the item itself.

Changed: Refilling: If your hand is empty the item will be put directly in your hand, rather than your first empty slot.

Fixed: Players can no longer upgrade bags to a size they don't themselves have access to open.

Fixed: A bug causing all bags to auto-save, regardless whether they were changed or not.

Fixed: Eco now correctly initializes.

API Changes:

  • Datamodel "Data" has been renamed to "Bag" for clarity and representation.
  • Fixed a minor mistake in the API when creating Ethereal bags.

Internal:

  • Refactored all methods to start with small letters as opposed to large ones. I.e. plugin.ExampleMethod() -> plugin.exampleMethod();
  • Renamed BagData -> Database, to avoid confusion with the Bag datamodel.
  • Renamed datamodel Data -> Bag, to better represent it and clarity.
1.43.0-StandaloneБета26.1.1, 26.1.2, 26.2 · 6 августа 2026 г.

Experimental Added: HavenBags-Standalone version, runs without needing ValorlessUtils, as it has it inside it instead. This has yet to be play-tested, therefore do not use it in production and only testing.

Added: FeaturesGUI - Right-click bag in the inventory to open a gui where you can toggle features. Requested by @Cr4zyGeek https://github.com/Valorless/HavenBags/issues/50

Added: Auto-crafting! Automatically run all items in the bag through 3x3 crafting, placing the result and any unused ingredients into the chest.

Added: Vault Economy integration, moved away from EssentialsX-only to allow additional economy plugins for the Insurance feature.

Added: Bag contents can now stack in the lore (Enabled by default) showing "ITEM: x128" instead of "ITEM: x64 ITEM: x64"

lang.yml

# Should items stack, showing 2 stacks of 64 as x128, instead of 2 x64.
bag-content-stack: true

Added: Auto-pickup filters in filters.yml now support ItemTags https://minecraft.wiki/w/Item_tag_(Java_Edition)

filters.yml

filters:
 armor:
  displayname: '&eᴀʀᴍᴏʀ'
  gui:
   show: true
   icon: IRON_CHESTPLATE
  items:
   - '#minecraft:head_armor'
   - '#minecraft:chest_armor'
   - '#minecraft:leg_armor'
   - '#minecraft:foot_armor'

Added: In addition, you can create custom tags within filters.yml to use in filters.

Added: Oraxen support, used the same way as Nexo support, but oraxen:id not nexo:id.

Changed: Certain dependencies are no longer shaded, lowering the size of the plugin file.

Changed: Config validation has been tweaked.

Changed: Bags can no longer be upgraded by players that don't own the bag, or have the bypass permission.

Changed: /havenbags rawinfo will no longer return the raw ItemMeta component, but instead the Bag's datamodel, containing only information about the bag, and not the item itself.

Changed: Refilling: If your hand is empty the item will be put directly in your hand, rather than your first empty slot.

Fixed: Players can no longer upgrade bags to a size they don't themselves have access to open.

Fixed: A bug causing all bags to auto-save, regardless whether they were changed or not.

Fixed: Eco now correctly initializes.

API Changes:

  • Datamodel "Data" has been renamed to "Bag" for clarity and representation.
  • Fixed a minor mistake in the API when creating Ethereal bags.

Internal:

  • Refactored all methods to start with small letters as opposed to large ones. I.e. plugin.ExampleMethod() -> plugin.exampleMethod();
  • Renamed BagData -> Database, to avoid confusion with the Bag datamodel.
  • Renamed datamodel Data -> Bag, to better represent it and clarity.

Commit: https://github.com/Valorless/HavenBags/commit/ed33cc849191ca0ece6bac6ce53081bdb4c2911d Pull: https://github.com/Valorless/HavenBags/pull/51

1.42.1Релиз1.21.9, 1.21.10, 1.21.11 · 11 мая 2026 г.

Added: config.yml's bag.material now supports Nexo items. (Nexo 1.23+) Added: custom-bags.yml's bag materals support the same.

bag:
 # Item material if the bag-type is 'ITEM'
 # Supports Nexo by doing 'nexo:id'.
 material: nexo:cool_item

Changed: Bag items are now created mainly through a single method.

Changed: BagCache's converter now logs to debug instead of info.

Fixed: Refactored how bags are chosen to be saved. fixes this error, and saves bags correctly.

java.util.ConcurrentModificationException
    at java.base/java.util.HashMap$HashIterator.nextNode(HashMap.java:1606) ~[?:?]
    at java.base/java.util.HashMap$EntryIterator.next(HashMap.java:1639) ~[?:?]
    at java.base/java.util.HashMap$EntryIterator.next(HashMap.java:1637) ~[?:?]
    at HavenBags-1.42.1.2819-1778107749779.jar//valorless.havenbags.BagData.SaveData(BagData.java:524) ~[?:?]

Fixed: An error thrown when applying a skin.

Fixed: An issue where null tooltip styles would throw errors when formatting namespaced keys for saving/loading.

Fixed: AdminGUI should no longer throw HTTP 429 errors, when loading heads of online players.

API Changes: Added: ItemStack <- createBagItem(boolean binding, int size, @Nullable Player player) Creates a new bag item directly from HavenBags' item factory, the same way /bag create does it.

Added: ItemStack <- createCustomBagItem(String key, @Nullable Player player) Added: List<String> <- listCustomBags() Added: boolean <- customBagRequiresPlayer(String key)

Commit: 712d5ee Pull: #49

1.42.0.2806Релиз1.21.9, 1.21.10, 1.21.11 · 1 мая 2026 г.

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.

Commit: 105df17 Pull: #45

1.41.2.2754Релиз1.21.9, 1.21.10, 1.21.11 · 2 марта 2026 г.

v1.41.2.2754 Mod Update & Tooltip Hotfix

Changed: HavenBagsPreview data is now being stored in PDC alongside NBT, in order to still support older versions.

Fixed: An issue where hot-swapping the result in the Upgrade GUI, would overwrite the existing item.

Fixed: An issue where bag's tooltip styles on versions >= 1.21.3 where being set to minecraft:null. Any bag updated with this will have it's style reset.

Commit: eeb20f59
Pull: https://github.com/Valorless/HavenBags/pull/32

v1.41.1.2738 Skin Hotfixes

Fixed: Skins broken by update 1.41.0 should now correctly work again.

Fixed: An issue where unopened bags couldn't be skinned.

Commit: 76e61f4
Pull: https://github.com/Valorless/HavenBags/pull/31

v1.41.0.2733 Performance Updates

Important: Changed native version to 1.21.11.

Important: Refactored how data is stored internally, increasing overall performance.

Added: Additional MySQL configs:

mysql:
 ...
 connect_timeout: 30 # Seconds
 socket_timeout: 60 # Seconds
 max_chunk_size: 200

Added: MySQL no longer saves all bags at once, but instead in chunks of 200.

Changed: Upgraded PvPManager dependency from v3.17.8 to v4.0.4.

Changed: Updated the way bags are stored in the cache, optimizing performance overall.

Changed: Increased performance when updating the bag items.

Changed: ValorlessUtils.SFX to HavenBags.utils.SFX and HavenBags.datamodels.Sound, which should solve SFX issues on certain versions.

Fixed: Increased performance in Lang by not fetching offline players when null.

Fixed: An issue causing skin tokens to not correctly parse the %skin% placeholder.

Fixed: An issue where giving bags would still took 1-6 sizes instead of the new 9, 18, 27, 36 ,45 ,54. Changed TabCompletion to reflect this.

Commit: 6e37f81
Pull: https://github.com/Valorless/HavenBags/pull/26

Комментарии

Загружаем…