The "Cosmetics & Coins" is an addon that adds over 100 cosmetics that can be purchased by the user by inter alia via coins. These cosmetics include Final Kill Effects, Victory Dances, Death Cries, Bed Destroy Effects and Projectile Trails. What makes this addon unique is the fact that literally everything is customizable, such as the GUIs, animations and currencies.
/bw info
)/plugins/MBedwars/add-ons
./bw reload
config.yml
file of MBedwars:endlobby-countdown-time
is greater than 15 (you may set it to less, but otherwise the victory dances will be shorter)endlobby-tptolobby
to falseThere's no command that allows a player to open the GUI on its own. The console/server has to execute the following command and replace the <player> parameter with the player's name for whom the GUI shall open: /mbedwars addon cosmetics shop open main <player>
For instance: With Citizens, you'd use the following command:
/npc command add mbedwars addon cosmetics shop open main <p>
This command will work without any further modifications. Simply select the NPC for who you want to apply that.
For that, simply toggle the config enable-item-permissions
to true. You may find that config within /plugins/MBedwars/add-ons/Cosmetics/configs.yml
And then simply grant the player the following permission: mbedwars_cosmetics.item.<item id>
The item id can be found within the shop files.
Keep in mind that it's possible that the player has to relog for the changes to get applied while he's online. Execute /mbedwars addon cosmetics shop checkitempermissions <player>
to immediately reload the changes and not forcing him to relog.
The Cosmetics also has some PlaceholderAPI placeholders included out of the box.
Use /papi info mbedwars-cosmetics
to find a list of all placeholders that you can use.
Value | Description |
%mbedwars-cosmetics_items-count-total% | The amount of items that exist in total |
%mbedwars-cosmetics_items-count-bought% | The amount of item that the player has bought |
%mbedwars-cosmetics_items-count-bought-percentage% | The percentage of the amount of the items that the player has bought |
%mbedwars-cosmetics_currency-<currency id>-name% | Returns the configured name of a currency given by its id |
%mbedwars-cosmetics_currency-<currency id>-balance% | Returns a formatted (e.g. $50) balance of the player for the given currency id |
%mbedwars-cosmetics_currency-<currency id>-balance-unformatted% | Returns an unformatted (e.g. 50) balance of the player for the given currency id |
Shows a list of all existing animations.
mbedwars.admin
Plays a given animation. The name of the animation can be obtained using /bw addon cosmetics animation list.
Keep in mind that this command may be dangerous as it might break the world around you
mbedwars.admin
Stops all currently playing animations.
mbedwars.admin
Returns a list with all existing currencies.
mbedwars.admin
Displays your (or someone elses) balances.
mbedwars.admin
Gives you or an other player a given amount of currency.
mbedwars.admin
Removes from you or an other player a given amount of currency.
mbedwars.admin
Sets a specific balance for you or an other player to a specific amount.
mbedwars.admin
Returns all existing shop names.
mbedwars.admin
Returns all existing item id.
mbedwars.admin
Returns all existing rarity ids.
mbedwars.admin
When removing or adding a mbedwars_cosmetics.item.<item id>
to a player who is currently online, those changes aren't being applied immediately, meaning that the player has to firstly relog to have the new permission changes applied. Run this command after applying those changes to check the permissions immediately without a relog.
mbedwars.admin
Opens a given shop for you or a specific player.
mbedwars.admin
This plugin is fully customizable. Generally, you may simply drag&drop the plugin and just use it. It was designed to be similar to HyPixel's one. However, you can still add as many custom animations, GUIs etc as you want.
You can find all configurations within /MBedwars/add-ons/Cosmetics/
:
This file contains all the smaller miscellaneous configurations. In there, you'll find the following:
# The URL to your store that will be displayed throughout various places
store-url: https://mbedwars.com
# For "animation-shoot-projectile": Automatically stop the animation when the projectile hits the ground
stop-projectile-animation-on-ground: true
# For "animation-death": Only play animations when it's a final death (he won't respawn anymore)
death-animation-only-final: false
# For "animation-kill": Only play animations when it's a final kill (opponent won't respawn anymore)
kill-animation-only-final: true
# Whether item frames should automatically spawn in the arena
# Useful for the spray feature and if you have arenas that don't have any item frames yet
# Team bases that already have an item frame won't get another one
item-frames-auto-spawn: true
# Whether item frames should be prevented from getting destroyed/interacted by players
# Used for the spray feature
item-frames-prevent-destruction: true
# Whether item frames should be invisible. Only supported with 1.16+
# The images can still be seen, but the item frames themselves are invisible once sprayed
item-frames-invinsible: true
# Manually move the y-position of the "Click!" holo from its current position
# Gets ignored if the item frame is looking up or down
item-frames-clickholo-y-delta: 0.0
# Allow the use for permissions to grant the use of an item
# Permission: mbedwars_cosmetics.item.<item id>
# Can be useful for e.g. crates
# Keep in mind that it's possible that the player has to relog for the changes to get applied while he's online
# Execute "/mbedwars addon cosmetics shop checkitempermissions <player>" to immediately reload the changes and not forcing him to relog
enable-item-permissions: true
# Whether a confirmation GUI shall be shown when a player tries to open an item
# In there, he has to click another button again to confirm that he is sure that he wants to buy the item
enable-confirm-purchase-gui: true
# Maximum time in seconds of how long an animation may play
max-durations:
animation-death: 5.0
animation-kill: 8.0
animation-victory: 1000.0
animation-bed-destroy: 15.0
animation-round-start: 8.0
animation-shoot-projectile: 25.0
skin-dealer: 12.0
skin-upgrade-dealer: 12.0
skin-all-dealer-types: 12.0
image-particle-spawners: 12.0
image-item-frame: 12.0
kill-messages: 12.0
shop-item-product-modifier: 12.0
# All the existing rarities that can be used to e.g. as an visualization in the shop
rarities:
common:
name: '&aCOMMON'
asc-worth-order: 1
rare:
name: '&bRARE'
asc-worth-order: 2
epic:
name: '&5EPIC'
default: true
asc-worth-order: 3
legendary:
name: '&6LEGENDARY'
asc-worth-order: 4
# The orders through which the player may switch between in the shop
# Available properties: name, rarity, owned, price
item-orders:
name-asc:
name: '%Cosmetics_Sort_Name_AtoZ%'
compare-by:
property: name
order: asc
name-desc:
name: '%Cosmetics_Sort_Name_ZtoA%'
compare-by:
property: name
order: desc
rarity-asc:
name: '%Cosmetics_Sort_Rarity_LowestFirst%'
default: true
compare-by:
- property: rarity
order: asc
- property: price
order: asc
rarity-desc:
name: '%Cosmetics_Sort_Rarity_HighestFirst%'
compare-by:
- property: rarity
order: desc
- property: price
order: desc
# Specify the ids of the spawners (from MBedwars' spawners.yml) for which you want to display a glyph
glyph-spawners-whitelist:
- diamond
- emerald
# Whether glyphs should be permitted at the spawn area of a team
# This is useful if you e.g. have forge upgrades enabled but don't want them to cause glyphs
glyphs-disable-at-spawn: true
# Define the sounds that shall be played in certain events
# Format is the same as for MBedwars' sounds: https://s.marcely.de/mbww16
sounds:
spray-apply:
name: ENTITY_SILVERFISH_HURT
is-active: true
is-custom-resourcepack: false
volume: 0.8
pitch: 1.0
spray-denied:
name: ENTITY_ENDERMAN_TELEPORT
is-active: true
is-custom-resourcepack: false
volume: 2.0
pitch: 0.5
It's possible to purchase items within the shops in this addon. For that, you may configurate the currencies that shall be used. You may add as many currencies as you want. It's possible to create custom ones and it's also possible to hook into the systems of other plugins. Those "types" or "hooks" are called "providers". You may use one of these providers:
Stores your currencies within MBedwars' internal storage. Works with both SQL and Local.
gems: # The id that's being used to store it. DO NOT CHANGE IT AFTER GOING PRODUCTION. All balances will get reset otherwise.
name: "Gems"
format: "{number}"
number-format: "%,.2f" # Basically, how the number is being translated into a string. Default value would turn it into: 2,000,000.00 ; If you instead want to display 2.000.000,00 use "%.,2f"
provider: CUSTOM
Hooks into Vault. With this, you may likely use your default economics plugin. This includes e.g. Essentials.
dollar:
name: "Dollar"
format: "${number}" # Optional, otherwise uses the default one given by the economics plugin
number-format: "%,.2f" # Basically, how the number is being translated into a string. Default value would turn it into: 2,000,000.00 ; If you instead want to display 2.000.000,00 use "%.,2f"
provider: VAULT
Hooks into PlayerPoints.
points:
name: "Points"
format: "{number} Points"
number-format: "%,.2f" # Basically, how the number is being translated into a string. Default value would turn it into: 2,000,000.00 ; If you instead want to display 2.000.000,00 use "%.,2f"
provider: PLAYER_POINTS
Hooks into PvPLevels.
points:
name: "EXP"
format: "{number} EXP"
number-format: "%,.2f" # Basically, how the number is being translated into a string. Default value would turn it into: 2,000,000.00 ; If you instead want to display 2.000.000,00 use "%.,2f"
provider: PVPLEVELS
Spawns one or multiple particles.
Name | Default | Info |
particle | "cloud" | The particle that shall be played |
repeated | false | false: only play it once, true: play it multiple times |
amount-per-second | 5 | "repeated" must be set to true |
Spawns one or multiple entities.
Name | Default | Info |
entity | "PIG" | The entity that shall be spawned |
velo-x / velo-y / velo-z | 0.0 | The velocity (force) that the entity will have when it spawns |
radius-x / radius-y / radius-z | 0.0 | The radius in which the entity can spawn |
repeated | false | false: only play it once, true: play it multiple times |
amount-per-second | 5 | "repeated" must be set to true |
amount | -1 | The maximum amount of total entities that shall be spawned. An infinitive amount can be spawned if the value is 0 or less. |
Plays a sound once or repeatedly.
Name | Default | Info |
sound | "(random)" | The sound that shall be played |
volume | 1.0 | The volume of the sound |
pitch | 1.0 | The pitch of the sound |
volume-at-end | NULL | "repeated" has to be enabled. Fades into the given volume with each sound. NULL means that the effect does not apply. |
pitch-at-end | NULL | "repeated" has to be enabled. Fades into the given pitch with each sound. NULL means that the effect does not apply. |
repeated | false | false: only play it once, true: play it multiple times |
amount-per-second | 5 | "repeated" must be set to true |
Places a block.
Name | Default | Info |
material | "stone" | The material of the block that shall be placed |
Displays a hologram with custom text.
Name | Default | Info |
lines | [ "&eHello &6World" ] | The lines that shall be displayed. Placeholders: {player}, {related-player} |
Spawn a bunch of entities in an explosion-like matter.
Name | Default | Info |
entities | [ "PIG" ] | Picks a random one of these entities each time one shall get spawned. |
velo-x / velo-y / velo-z | 1.5 | The velocity (force) that the entity will have when it spawns. The actual velocity will be random for which the minimum value will be the one specified in the "min-velo-*" configs. |
min-velo-x / min-velo-y / min-velo-z | 0.0 | The minimum values of the randomness factor as described in the "velo-*" configs. |
velocity-against-damager | false | Causes the entities fly in the direction in which the damager (related player) is looking at. |
trail-particle | NULL | Plays this particle as the trail for all spawned entities. NULL means that none shall be played. |
poof-particle | NULL | Plays this particle whenever an entity dies. NULL means that none shall be played. |
repeated | true | false: only play it once, true: play it multiple times |
amount-per-second | 5 | "repeated" must be set to true |
amount | -1 | The maximum amount of total entities that shall be spawned. An infinitive amount can be spawned if the value is 0 or less. |
radius-x / radius-y / radius-z | 0.0 | The radius in which the entity can spawn |
death-on-ground | true | Automatically kills entities that touch the ground (a block). |
Spawns an entity and makes the player ride it.
Name | Default | Info |
entity | "BAT" | The entity that shall be spawned and get ridden by the player |
flying | true | They'll fly in the direction at which the player is looking at |
fly-speed | 1.0 | "flying" has to be set to true. Their flight speed |
trail-particle | NULL | The particle of their trail. NULL means that none will be played. |
poof-particle | NULL | The particle that will be played when the entity despawns. NULL means that none will be played. |
Spawns an entity and makes it fly up or to a specified direction like a rocket.
Name | Default | Info |
entity | [ "BAT" ] | |
velo-x / velo-y / velo-z | 0.0 | The velocity (force) that the entity will have when it spawns |
acceleration-x / acceleration-y / acceleration-z | 0.0 | The acceleration that gets constantly added to the velocity (making him start slow and fly faster with time) |
fixed-yaw | NULL | Whether the yaw direction shall always be the same. NULL means that the entitiy is still able to move his head in the yaw axis. |
fixed-pitch | NULL | Whether the pitch direction shall always be the same. NULL means that the entitiy is still able to move his head in the pitch axis. |
trail-particle | NULL | The particle of the entity's trail. NULL means that none will be played. |
poof-particle | NULL | The particle that will be played when the entity despawns. NULL means that none will be played. |
Spawns a head and makes it fly like a rocket.
Name | Default | Info |
owner | NULL | The name/base64 texture of the owner of the head. You may also use "@@PLAYER" or "@RELATED-PLAYER" to choose the one of an involved player |
yaw-rotation-speed | 0.0 | The speed in which the head shall get rotated in the yaw axis |
pitch-rotation-speed | 0.0 | The speed in which the head shall get rotated in the pitch axis |
velo-x / velo-y / velo-z | 0.0 | The velocity (force) that the entity will have when it spawns |
trail-particle | NULL | The particle of the head's trail. NULL means that none will be played. |
poof-particle | NULL | The particle that will be played when the head despawns. NULL means that none will be played. |
slow-start | false | Accelerates the head slowly at the beginning, causing a rocket-like effect |
Plays particles that move from position A to position B.
Name | Default | Info |
particle | "cloud" | The particle that shall be played |
target-x / target-y / target-z | 0.0 | The relative positions of the destination |
amount-per-second | 5 | How frequently the particles shall be played per second |
Spawns particles that look like a cone.
Name | Default | Info |
particle | "cloud" | The particle that forms the cone |
height | 2.0 | The height of the cone |
width | 1.0 | The width of the cone |
twists | 3.0 | How many twists the cone shall have |
yaw | 0.0 | The yaw rotation of the cone |
pitch | 0.0 | The pitch rotation of the cone |
add-direction | false | Whether the direction of the related player's head shall be added to the yaw and pitch. With this, it's possible to make it look like it's coming out of the players mouth |
particle-count | 2 | The depth of the particles. The more there are, the better it will look like, however the more lag it can cause |
increasing-height | false | Whether it should start small and get increasingly bigger |
Changes the time of the world.
Name | Default | Info |
time | 0 | The new time |
relative-to-world | false | Whether the "time" value shall simply be added the number of the current one |
apply-to-all | true | Whether this shall apply for all players in the arena |
cycle-speed | NULL | Repeatedly at an amount to the time causing a day/night cycle. Use NULL to force the time to be static |
Change the current weather of the world.
Name | Default | Info |
raining | true | Whether it shall start to rain or stop |
apply-to-all | true | Whether this shall apply for all players in the arena |
Changes a single block at the beginning and then increasingly gets bigger like a virus.
Name | Default | Info |
materials | [ "stone" ] | Chooses for each block a random material of this list |
persistent | false | Whether this effect shall stay, even when this animation has stopped |
amount-per-second | 5 | How many times per second it shall spread |
Plays particles that form text.
Name | Default | Info |
particle | "coloured_dust:255,0,0" | The particle that shall be used |
size | 5 | The size of the text |
text | "Hello, {player}!" | The text that shall be displayed. Placeholders: {player}, {related-player} |
density | 0.15 | How dense the particle shall be. The lower the value, the better it will look. However, this will also generate more lag |
yaw | 0 | The yaw rotation of the text |