Better Bags

Plugin that adds bags, thats works like sacks, but with upgrades.

306

Better Bags

ENGLISH

BetterBags is a plugin that allows players to have a bag that adds features such as item auto-picking, upgradable levels, configurable restricted actions, supportable MiniMessage, player data saving, fully customizable items&messages, and more.

Features

> * Items auto-picking; can or cannot pick up only sellable items > * Upgradable levels for the bag > * Possible to restrict players in their actions (disable/enable the ability to manipulate items from the bag) > * Player's data in the `data/<uuid>.yml` files > * Fully customizable items, messages, levels, sellable items > * Items in the bag can be sold by the only one button > * Includes selling multiplier which can be set by the permission (`betterbags.multiplier.<number>`) or by the command (`/bags multiplier`) > * Fully supports MiniMessage

Commands

> * `/bags reload` - Reloads the plugin's configuration > * `/bags save` - Saves player data > * `/bags clear <target/selector>` - Clears a player's (or multiple players) bag > * `/bags level <target/selector> <level>` - Sets a player's (or multiple players) bag level > * `/bags give <target/selector>` - Gives a player (or multiple players) a bag > * `/bags multiplier <target/selector> <multiplier>` - Sets a player's (or multiple players) bag multiplier > * `/bags open <target/selector>` - Opens a player's (or multiple players) bag > * `/bags sell-all <target/selector> <ignore-item-value>` - Sells all items in a player's (or multiple players) bag > * `/bags help` - Shows this message

Permissions

> * `betterbags.usage` - Permission to use the `/bags` command > * `betterbags.reload` - Permission to the `/bags reload` command > * `betterbags.save` - Permission to the `/bags save` command > * `betterbags.clear` - Permission to the `/bags clear` command > * `betterbags.setlevel` - Permission to the `/bags level` command > * `betterbags.give` - Permission to the `/bags give` command > * `betterbags.multiplier` - Permission to the `/bags multiplier` command > * `betterbags.multiplier.<number>` - Adds a `<number>` multiplier for the player > * `betterbags.open` - Permission to the `/bags open` command > * `betterbags.sell-all` - Permission to the `/bags sell-all` command

Placeholders

> > * `%uuid%` - player's uuid > * `%player%` - player's name > * `%items-sum%` - sum of items in the bag > * `%current-level%` - current bag level > * `%current-capacity%` - current bag capacity > * `%current-slots%` - current bag slots > * `%current-cost%` - current bag cost > * `%next-level%` - next bag level > * `%next-capacity%` - next bag capacity > * `%next-slots%` - next bag slots > * `%next-cost%` - next bag cost

English config files:

Configs

<details> <summary>config.yml</summary>

```

Should the bag automatically pick up all items that the player raises?

auto-picking: true # boolean

If auto-picking is enabled, should the bag only pick up the items specified in items.yml?

pickup-only-sellable: false # boolean

Do players have the ability to manually place items in the bag?

player-put-ability: true # boolean

Do players have the ability to take items out of the bag?

player-get-ability: true # boolean

Do players have the ability to move the bag in the inventory?

* false = ability to open the bag by clicking on it in the inventory

bag-move-ability: false # boolean

Default slot for the bag (If the player cannot move it, it will stay in this position all the time)

bag-slot: 4 # 0-8 - slots in the hotbar /

9-35 - slots in the inventory

Will the bags have a button to sell all items?

sell-all: true # boolean

Interval between data saves (in seconds)

save-interval: 600 # integer / -1 to disable

Interval between checking for the bag presence for players (in seconds)

update-interval: -1 # integer / -1 to disable

Should the bag be given after the player's respawn (death)?

should-give-bag-on-respawn: true # boolean

Should the bag be given after the player joins the server?

should-give-bag-on-join: true # boolean

Inventory label of the bag

bag-inventory-label: "Player's bag %player% - Level %current-level%" ```

bags.yml

``` items: bag: name: "<!italic>Bag <red>%current-level%</red> level." # item name description: # item description - "<!italic>Items in the bag: %items-sum%" - "<!italic>Capacity: %current-capacity% items." - "<!italic>Number of slots: %current-slots%" material: PLAYER_HEAD # bag item/icon

If the material is a head, you can set a texture for it (base64):

head-texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjkxYzdiZDA0MTZmNjhkNmU5YjU4NmU3ODE4Mjg2M2E0ZmQwNGY5MDI5YzgwNWY5MjFhMTdjNzAzZDUyZWRlMSJ9fX0="

If the item has a custom texture (custom model data)

custom-model-data: 0

upgrade: name: "<!italic>Upgrade <red>from %current-level% to %next-level%</red> level." description: - "<!italic>The next level includes:" - "<!italic>Capacity: %current-capacity% >> %next-capacity% items" - "<!italic>Number of slots: %current-slots% >> %next-slots%" - "" - "<!italic>Upgrade cost: %next-cost%$" material: MOSS_BLOCK

head-texture and custom-model-data are optional parameters

sell-all: name: "<!italic>Sell all items" material: BARRIER glowing: true # can set a glowing effect to the item

description is also optional

next-page: name: "<!italic>Next page" material: PLAYER_HEAD head-texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYWM5YzY3YTlmMTY4NWNkMWRhNDNlODQxZmU3ZWJiMTdmNmFmNmVhMTJhN2UxZjI3MjJmNWU3ZjA4OThkYjlmMyJ9fX0="

previous-page: name: "<!italic>Previous page" material: PLAYER_HEAD head-texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMWExZWYzOThhMTdmMWFmNzQ3NzAxNDUxN2Y3ZjE0MWQ4ODZkZjQxYTMyYzczOGNjOGE4M2ZiNTAyOTdiZDkyMSJ9fX0="

ignore-item-value-true: name: "<!italic>Sell everything without exceptions" material: RED_CANDLE description: - "<!italic>All items will be sold regardless of their value" glowing: true

ignore-item-value-false: name: "<!italic>Sell everything with exceptions" material: GREEN_CANDLE description: - "<!italic>When selling, items without value will be ignored"

filler: name: "<reset>" material: RED_STAINED_GLASS_PANE

levels: 1: # level (1 - by default) capacity: 20 # bag capacity AKA maximum number of items slots: 5 # available storage slots cost: 0 # cost to upgrade to this level 2: capacity: 40 slots: 8 cost: 1000 commands: # commands after purchasing the upgrade - "xp add %player% 10 levels" 3: capacity: 60 slots: 16 cost: 5000

...

```

messages.yml

``` no-economy-plugin-found: "<red>Economy plugin not found. Disabling..." bag-clear-result: single: "<green>The bag of player <gold>%target%</gold> has been successfully cleared." multiple: "<green>The bags for <gold>%target% players</gold> have been successfully cleared." bag-level-result: single: "<green>The bag of player <gold>%target%</gold> has been successfully set to <gold>%level% level</gold>." multiple: "<green>The bags for <gold>%target% players</gold> have been successfully set to <gold>%level% level</gold>." give-bag-result: single: "<green>The bag has been successfully given to player <gold>%target%</gold>." multiple: "<green>The bags have been successfully given to <gold>%target% players</gold>." config-reloaded: "<green>Configurations have been successfully reloaded." data-saved: "<green>Data has been successfully saved." multiplier-set-result: single: "<green>The sales multiplier for player <gold>%target%</gold> has been successfully set to <gold>%multiplier%</gold>." multiple: "<green>The sales multipliers for <gold>%target% players</gold> have been successfully set to <gold>%multiplier%</gold>." sell-all: something: "<gold>%amount%</gold> <green>items have been sold for <gold>%cost%</gold>$" nothing: "<red>Nothing was sold.</red>" sell-all-command-result: single: "<gold>%amount%</gold> <green>items from <gold>%target%</gold> have been sold for <gold>%cost%</gold>$" multiple: "<gold>%amount%</gold> <green>items from <gold>%target% players</gold> have been sold for <gold>%cost%</gold>$" help-message: - "<gold>Commands:</gold>" - "<green>/bags reload</green> - <gold>Reload configuration</gold>" - "<green>/bags save</green> - <gold>Save player data</gold>" - "<green>/bags clear <target></green> - <gold>Clear players' bags</gold>" - "<green>/bags level <target> <level></green> - <gold>Set bag levels for players</gold>" - "<green>/bags give <target></green> - <gold>Give bags to players</gold>" - "<green>/bags sell-all <target> <ignore-item-value></green> - <gold>Sell all items of players</gold>" - "<green>/bags multiplier <target> <multiplier></green> - <gold>Set sales multiplier for players</gold>" - "<green>/bags open <target></green> - <gold>Open the bag of the specified player</gold>" - "<green>/bags help</green> - <gold>Show help</gold>" bag-upgrade: success: "<green>Bag successfully upgraded from <gold>%old%</gold> to <gold>%new% level</gold> for <gold>%cost%</gold>$." fail: "<red>Not enough money to upgrade the bag to <gold>%new% level</gold>. Requires <gold>%cost%</gold>$</red>" ```

items.yml

```

list of items costs

items: DIRT: 1 # sells for 1 COBBLESTONE: 25 DIAMOND_SWORD: 500 SAND: 1

...

```

</details>

РУССКИЙ

BetterBags — это плагин, который позволяет игрокам иметь сумку с такими функциями, как автоматический сбор предметов, улучшаемые уровни, настраиваемые ограниченные действия, поддержка MiniMessage, сохранение данных игроков, полностью настраиваемые предметы и сообщения и многое другое.

Особенности

> * Автоматический сбор предметов; возможность или невозможность подбирать только продаваемые предметы > * Улучшаемые уровни для сумки > * Возможность ограничивать действия игроков (отключение/включение возможности манипулировать предметами из сумки) > * Данные игрока в файлах `data/<uuid>.yml` > * Полностью настраиваемые предметы, сообщения, уровни, продаваемые предметы > * Предметы в сумке можно продавать нажатием одной кнопки > * Включает множитель продажи, который можно установить с помощью разрешения (`betterbags.multiplier.<number>`) или команды (`/bags multiplier`) > * Полная поддержка MiniMessage

Команды

> * `/bags reload` - Перезагружает конфигурацию плагина > * `/bags save` - Сохраняет данные игрока > * `/bags clear <target/selector>` - Очищает сумку игрока (или нескольких игроков) > * `/bags level <target/selector> <level>` - Устанавливает уровень сумки игрока (или нескольких игроков) > * `/bags give <target/selector>` - Выдает игроку (или нескольким игрокам) сумку > * `/bags multiplier <target/selector> <multiplier>` - Устанавливает множитель сумки игрока (или нескольких игроков) > * `/bags open <target/selector>` - Открывает сумку игрока (или нескольких игроков) > * `/bags sell-all <target/selector> <ignore-item-value>` - Продает все предметы в сумке игрока (или нескольких игроков) > * `/bags help` - Показывает это сообщение

Разрешения

> * `betterbags.usage` - Разрешение на использование команды `/bags` > * `betterbags.reload` - Разрешение на команду `/bags reload` > * `betterbags.save` - Разрешение на команду `/bags save` > * `betterbags.clear` - Разрешение на команду `/bags clear` > * `betterbags.setlevel` - Разрешение на команду `/bags level` > * `betterbags.give` - Разрешение на команду `/bags give` > * `betterbags.multiplier` - Разрешение на команду `/bags multiplier` > * `betterbags.multiplier.<number>` - Добавляет множитель `<number>` для игрока > * `betterbags.open` - Разрешение на команду `/bags open` > * `betterbags.sell-all` - Разрешение на команду `/bags sell-all`

Плейсхолдеры

> * `%uuid%` - uuid игрока > * `%player%` - имя игрока > * `%items-sum%` - сумма предметов в сумке > * `%current-level%` - текущий уровень сумки > * `%current-capacity%` - текущая вместимость сумки > * `%current-slots%` - текущие слоты сумки > * `%current-cost%` - текущая стоимость сумки > * `%next-level%` - следующий уровень сумки > * `%next-capacity%` - следующая вместимость сумки > * `%next-slots%` - следующие слоты сумки > * `%next-cost%` - следующая стоимость сумки

P.S. Конфиг изначально на Русском Языке)

ADS