Better Bags

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

306

Quick challenge

How far can you run before the mobs catch you?

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
config.yml

```

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

...

```

РУССКИЙ

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