Creating Custom Cosmetics - File14/ProCosmetics GitHub Wiki
If you are a developer, please read this as you can create all cosmetic types when using the API.
You can currently create your own cosmetics for Balloons, Music, and Statuses with just some configuration knowledge.
There are two types of balloons you can create, entity- or block-based. This tutorial will show both but let's start by creating an entity-based.
Available entities: BAT, BLAZE, BOAT, CAVE_SPIDER, CHICKEN, COW, CREEPER, ENDER_DRAGON, ENDERMAN, IRON_GOLEM, MAGMA_CUBE, GUARDIAN, GUARDIAN_ELDER, HORSE, HORSE_DONKEY, MUSHROOM_COW, OCELOT, PIG_ZOMBIE, RABBIT, SHEEP, SLIME, SILVERFISH, SKELETON, SKELETON_WITHER, SNOWMAN, SPIDER, SQUID, VILLAGER, ENDERMITE, WITCH, WITHER, WOLF, ZOMBIE
1. Pick an entity from the list above. In our example, we will make a cave spider balloon.
2. Copy the format for a pre-made balloon (for example, the calf)
calf: enable: true name: "&bCalf Balloon" can-be-found: true purchasable: true cost: 2000 rarity: COMMON entity: COW baby: true material: MILK_BUCKET amount: 1 slot: 10 page: 1 displayname: "%name%" lore: - "" - "&7Free milk for everyone!"
3. It is very important that you change the header (in our example, calf) as they must be unique for every cosmetic in each category. Consider using small letters without any spaces between the words, for example server-owner.
4. Replace the entity name with the one you selected above. Keep in mind that not all entities are available in baby form. As we chose to make a cave spider we must set baby to false as cave spider babies do not currently exist in Minecraft.
5. Do not forget to change the slot and page to one that is available.
6. When you are done with your editing it should look something like this:
cave-spider: enable: true name: "&bCave Spider Balloon" can-be-found: true purchasable: true cost: 5000 rarity: RARE entity: CAVE_SPIDER baby: false material: SPIDER_EYE amount: 1 slot: 10 page: 2 displayname: "%name%" lore: - "" - "&7Don't get bitten!"
- Make sure that you save the config file and restart your server. The permission node in our example would be:
procosmetics.balloons.cave-spider
.
The following example will show how to create a balloon with your head on.
1. Copy the format for a pre-made balloon (for example, the beachball)
beachball: enable: true name: "&bBeachball Balloon" can-be-found: true purchasable: true cost: 2000 rarity: RARE entity: ARMOR_STAND baby: false texture: "5a5ab05ea254c32e3c48f3fdcf9fd9d77d3cba04e6b5ec2e68b3cbdcfac3fd" material: PLAYER_HEAD amount: 1 slot: 28 page: 1 displayname: "%name%" lore: - "" - "&7Summer memories last forever."
2. It is very important you change the header (in our example, beachball) as they must be unique for every cosmetic in each category.
3. Do not forget to change the slot and page to one that is available.
4. You need the texture of the head. Go to NameMC and grab the UUID by entering your username. Copy the UUID without the dashes.
5. Paste your UUID after the following URL https://sessionserver.mojang.com/session/minecraft/profile/.
Example: https://sessionserver.mojang.com/session/minecraft/profile/6aa0723551e64ca9ac901cff44302ee8
6. Copy the long value.
7. Go to Base64Decode, insert the value, and press decode. It should look something like this:
8. Copy the skin value after the textures.minecraft.net domain. In our case, it would be: 64e047a6cd7cbcb96053716037d32cd2b99cbe9e19b5af53eabdb422627e0280
.
9. Insert the texture data into the config file where it says texture.
10. When you are done with your editing it should look something like this:
server-owner: enable: true name: "&bServer Owner Balloon" can-be-found: false purchasable: false cost: 0 rarity: RARE entity: ARMOR_STAND baby: false texture: "64e047a6cd7cbcb96053716037d32cd2b99cbe9e19b5af53eabdb422627e0280" material: PLAYER_HEAD amount: 1 slot: 11 page: 2 displayname: "%name%" lore: - "" - "&7Who wouldn't want the server owner as a balloon!?"
11. Make sure that you save the config file and restart your server. The permission node in our example would be: procosmetics.balloons.server-owner
.
If you wish to create balloons with other textures you can use Minecraft-Heads.com to find the one you are looking for. The texture is given directly at the bottom of the website.
There is a music bundle you can download that contains many songs configured with a ready music.yml file. However, these songs are copy-righted. Use them at your own risk. Click here to download
In order to add a song, you must have the NBS file for it. You can either create your own song in NoteBlockStudio or download one that is already created. There are a few websites I have linked down below to download songs from:
- https://opennbs.org/songs/
- https://github.com/nickg2/NBSsongs/tree/master/songs
- https://github.com/LiritoMC/nbssongs/tree/main/list
- https://github.com/RoboMWM/AnNBSChristmas/tree/master/NBS
- https://github.com/TheInfamousAlk/nbs
1. Once you have downloaded the song in the NBS format, place it procosmetics/songs/
. Make sure the file is in lowercase. Example: all-star.nbs
2. Copy the format for a pre-made song (for example, the "africa" song)
africa: enable: true name: "&bAfrica" can-be-found: true purchasable: true cost: 2000 rarity: COMMON material: PAPER amount: 1 slot: 10 page: 1 displayname: "%name%" lore: - "" - "&7Old one, but good!"
2. It is very important you change the header (in our example, africa) as they must be unique for every cosmetic in each category. Make sure it is the same name as the file name so in this example it should be "all-star".
3. Do not forget to change the slot and page to one that is available.
4. When you are done with your editing it should look something like this:
all-star: enable: true name: "&bAll Star" can-be-found: true purchasable: true cost: 1000 rarity: COMMON material: PAPER amount: 1 slot: 12 page: 1 displayname: "%name%" lore: - "" - "&7This song is in the Shrek movie."
5. Make sure that you save the config file and restart your server. The permission node in our example would be: procosmetics.music.all-star
The statuses support placeholders from PlaceholderAPI so there are many statuses you can create such as online time, kills, ranks, and much more. In our example, we will create a status to display the server website.
1. Copy the format for a pre-made status (for example, the "just chilling" status)
just-chilling: enable: true name: "&aJust Chilling" can-be-found: true purchasable: true cost: 2000 rarity: COMMON tag-text: "&aJust Chilling" material: NAME_TAG amount: 1 slot: 10 page: 1 displayname: "%name%" lore: - "" - "&7Let someone know you're chilling."
2. It is very important you change the header (in our example, just-chilling) as they must be unique for every cosmetic in each category. Consider using small letters without any spaces between the words, for example server-owner.
3. Do not forget to change the slot and page to one that is available.
4. When you are done with your editing it should look something like this:
server-website: enable: true name: "&bServer IP" can-be-found: true purchasable: true cost: 1000 rarity: COMMON tag-text: "&eWebsite &eMC.Example.Net" material: NAME_TAG amount: 1 slot: 10 page: 2 displayname: "%name%" lore: - "" - "&7Remind users of our website."
5. Make sure that you save the config file and restart your server. The permission node in our example would be procosmetics.statuses.server-website
.