Your tools and weapons will no longer envy the armor stands.
From now on, they will also have their own exhibition space!
**This presentation concerns the latest version of the data pack**
For older ones, you can check them on Github:
– [**V.2.2.0 for 1.20 to 1.20.4**](https://github.com/KawaMood/racks/tree/for_1.20_to_1.20.4)
# 🪄Introduction
## What is Racks ?
Racks allow you to showcase your tool and weapons, so you don’t need to hide them in your chests anymore. This data pack brings a complementary support to armor stands that only support armors (without using commands) on the Java Edition.
## How to craft and use a rack?
Racks can be crafted using:
– 2 **Sticks**
– 3 **Planks** of any wood (oak, dark oak, spruce, bamboo, cherry, warped, etc.)
After you crafted it, you can simply place down your rack. You can either place it on the ground, allowing you to set up to two tools in it. Or on a wall, allowing you to showcase a single tool.
In order to set a tool in it, you need to **right click** the rack while holding the item you want to place, **whithout sneaking**. To take the item back, **right click** it the same way having your mainhand empty.
Racks placed on the ground can handle: axes, hoes, pickaxes, shovels, swords, fishing rod, carrot on a stick, warped fungus on a stick, mace and spears.
Racks placed on a wall can handle: axes, hoes, pickaxes, shovels, swords, bow, crossbow, trident, fishing rod, shield, shears, brush, spyglass, carrot on a stick, warped fungus on a stick, mace and spears.
**Right clicking racks while sneaking** will change their **pose** (their items rotation and position). Ground racks have 6 different poses, and wall racks have 4 different poses.
## Misc. information about racks
– Ground racks have separated interaction entities for both tools, meaning you can focus the tool slot you want to update without the need of removing or adding a tool in the first slot.
– If you wonder, of course, racks support enchanted and custom items. They keep all their items components. For tools modified with a resource pack, I can’t guarantee the exhibition will show an adequate render. This depends on whether the creator of the resource pack changed the item’s model or the texture’s orientation, or kept them like the vanilla item.
# ⚙️Settings
Ignore Wall Rack Support
If enabled, racks placed on wall **ignore** the fact their block support get broken or not, and won’t break if it is the case. By default, wall racks break check if their support block is removed every 10 ticks and break if it is the case. This is almost the same behavior as for paintings for example.
You can **enable**, **disable** or **get** the current state of the setting using these following commands respectively:
“`
/function pk_racks:settings/ignore_wall_rack_support/true
/function pk_racks:settings/ignore_wall_rack_support/false
/function pk_racks:settings/ignore_wall_rack_support/get
“`
# 🧰 Other Commands
Give yourself a rack
If you are an operator of your server or if cheats are enabled in your single-player world, you can give yourself a rack of any variant using these following commands:
“`
/function pk_racks:cmd/give/rack/
“`
Where `` is any type of wood, among: acacia, bamboo, birch, cherry, crimson, dark_oak, jungle, mangrove, oak, spruce and warped.
For example, the command to give yourself an oak rack:
“`
/function pk_racks:cmd/give/rack/oak
“`
Troubleshooting: Recreate all racks from the database
If ever racks have been broken accidentally (using a `kill @e` command for example) you can run the following command to recreate all racks from the database:
“`
/function pk_racks:cmd/debug/recreate_all_racks
“`
The process will automatically remove all remaining entities and blocks of broken racks before placing fresh ones. All data (id, owner, type, items, variant…) will be preserved.
It may take some time for it to complete, so be sure to get the message telling the process ended successfully before interacting with or placing a rack.
# 🔧 Update from V.2
The data pack provides a process to convert all existing racks from **V.2** to **V.3**.
In order to do so, follow the steps written below. _I would also advice you to create a backup of your world using V.2, in case another data pack / plugin / mod accidentally breaks the updating process._
1. Remove the Racks V.2 data pack from the `/datapacks/` folder of your world, **don’t** uninstall V.2 upstream with the uninstall function, as you should keep its database.
2. Upgrade your world to the desired version of Minecraft if needed, if it isn’t already done.
3. Install Racks V.3 by placing it in the `/datapacks/` forlder, then using `/reload` in game.
4. Use this following command: `/function pk_racks:cmd/upgrade/from_v2` and wait for the updating process to end. If it managed to do so, you should get a message “Updated all racks from Racks (V.2) successfully”.
**Note:** Old racks items from V.2 will automatically be replaced by their V.3 equivalent when you get them in your inventory.
# 🧹 Uninstall
Racks comes with an automatic uninstallation process. Running it will:
– Remove all racks that have been placed in your world, in every dimensions
– Store the potential items that racks contained to a chest at their respective location
– Remove all scores and storage specific to the Racks data pack
– If there is no more KawaMood data packs installed, also remove all common scores and storages
The uninstalling process may take some seconds to complete. Be sure to wait for the message telling you that you can safely remove the data pack from your world’s folder before doing it.
The command to start the uninstalling process is the following one:
“`
/function pk_racks:cmd/uninstall
“`
# ❓ F.A.Q
Do I need to install a resources pack?
No, this data pack doesn’t involve any resources pack.
The texture of the item shows regular player heads, how can I fix that?
You need to be connected to the internet the first time you craft a new type of rack. The textures of the player heads that are used to create their looks are indeed loaded and cached on the client-side, from (old or current) players skins that are stored on a Mojang server.
If you accidentally used a content that required to be online the first time you use it, and now see regular players heads instead of the expected texture, you can still go in the “.minecraft/assets/skins/” folder, then sort the sub-folders by date, and delete some recent folders. Once that is done, if your game was already started, you will need to restart it to update the cached content.
# 🪠 Report an issue
If you encountered an issue with this data pack, preferably join the [Discord server](https://discord.com/invite/w8s9XWgN6v), and open a post in the dedicated **#data-pack-issues** channel to describe your problem. Please, don’t forget to provide all necessary informations including:
– The Minecraft version you’re using.
– The version of the concerned data pack you’re using.
– If you’re using any modified version like Forge, Paper or Spigot.
– If you do, the plugins or mods you’re using that may alter the functioning of data packs.
– The list of other data packs you’re using, if you have others.
– A clear description of your issue, and a way to reproduce it.
– If necessary, a video or a screenshot of the issue in game.
Before doing that, please read the F.A.Q. section just above. The issue you’re facing may be a common one, and a way to fix it may already have been provided in it.
# 📌 Other links
Thank you for using Racks! It makes me happy to know people are enjoying it.
If you want to support its development and the development of other data packs, you can support me on my other social networks:
– [Youtube](https://www.youtube.com/@KawaMood/)
– [Planet Minecraft](https://www.planetminecraft.com/member/kawamood/)
– Or if you’re in a generous mood, I accept donation on [paypal](https://paypal.me/KawaMood) or [buy me a kawa](https://www.buymeacoffee.com/kawamood) (slang term for “coffee”)!
Rabbit Shield
# Rabbit Shield
This resource pack replaces the default shield with a custom 3D model.
This resource pack gives some blocks more volume, while maintaining the original texture of the block.
Full White Quartz
Retextures the Block of Quartz to a Full-White Texture. Perfect for photos.

Qrazy Target Dummy
# 🌾 Target Dummies
This data pack adds the Target Dummies as they appear in the Camp in Minecraft Dungeons as craftable items.
## 🔨 How to Use
To craft a Target Dummy, surround an Armor Stand with 4 Hay Bales in a Crafting Table. Place the Target Dummy by right clicking on the ground, and it will face toward the player.
When taking any kind of damage, a Target Dummy will shake and display the amount of damage with a red number.
A Target Dummy cannot be killed, unless over 1000 damage is done to it at once. To remove a Target Dummy, break the block underneath it.
Qrazy Lib
This data pack serves as a library for many Qrazy data packs and provides some helpful utils for data pack developers such as myself.
## Enchantment-driven multi-slot items
Ever want to create a full-body armor set or a two-handed weapon in just one item? This pack makes it easy. Using enchantment tags, you can make a single item take up more than one slot with several different customizable functions.
Armor sets and two-handers are tied to enchantments, not to items. This means that an armor set or two-hander enchantment will function the same way when applied to any given item (although items do have to be equippable on the legs for armor sets to work).
Armor sets
To get started, create a new enchantment. For the armor set to function properly, you need to follow a couple guidelines:
The enchantment must run the function qrazy:armor_set/master/tick once per tick.
The enchantment must only use the slot legs. Armor sets are only designed to use the legs slot, and using any other slot may have unpredictable consequences.
Beyond that, you can customize the enchantment all you want. It can have any description, any supported items, any other effects, etc., as long as you comply with the guidelines above.
After you’ve created your enchantment, you need to decide which slots it should replace. Armor set items always go in the legs slot, and they can replace the head, chest, and/or feet slots. To make an armor set replace a slot, add it to the corresponding enchantment tag.
For the head slot: #qrazy:armor_set/replaces_slot/head (data/qrazy/tags/enchantment/armor_set/replaces_slot/head.json)
For the chest slot: #qrazy:armor_set/replaces_slot/chest (data/qrazy/tags/enchantment/armor_set/replaces_slot/chest.json)
For the feet slot: #qrazy:armor_set/replaces_slot/feet (data/qrazy/tags/enchantment/armor_set/replaces_slot/feet.json)
🚧 UNDER CONSTRUCTION 🚧
For files you can copy and paste into your own data pack and modify to your liking, download the file “`qrazy_templates.zip“` included in the downloads for versions 1.1.0 and above.
## Other utils
This pack also adds a few simple utils to make developers’ lives easier.
### Find an entity from its UUID
Run “`function qrazy:get_uuid {input: [array UUID], command: “(command to execute)”}“` to find the owner of a UUID represented as an integer array, as they are often stored in NBT (such as a mob’s Owner tag). The “`command“` argument specifies the command to be executed by the entity found by the function.
### Get the name of an entity
Run “`/function qrazy:get_entity_name {output_path: “(block|entity|storage)”}“` to store the name of the command executor as a text component in the specified output path.
{
bar: {
baz: (the executor's name in text component form)
}
}
### Get the type of an entity
Run “`/function qrazy:get_entity_id {output_path: “(block|entity|storage)”}“` to store the entity type of the command executor as a string in the specified output path.
Example
/execute as @n[type=pig] run function qrazy:get_entity_id {output_path: "storage qrazy:foo bar.baz"}
Output in storage qrazy:foo:
{
bar: {
baz: "minecraft:pig"
}
}
### Get the string UUID of an entity
Run “`/function qrazy:get_string_uuid {output_path: “(block|entity|storage)”}“` to store the hexadecimal UUID of the command executor as a string in the specified output path. (Important note: For players, this function instead returns the player’s username. There is no way around this.)
{
bar: {
baz: (the executor's hex UUID or username)
}
}
### Get the position of a command’s execution
Run “`function qrazy:store_position/(nbt|scoreboard) {output_path: “(block|entity|storage)”, output_score: “(scoreboard owner) (scoreboard prefix)”}“` to get the block position at which a command is being executed. The position is stored in “`(output_path)_(x|y|z)“` if you use the NBT function, and in “`(scoreboard owner) (scoreboard prefix).(x|y|z)“` if you use the scoreboard function.
Example: NBT
/execute positioned 1.1 2.2 3.3 run function qrazy:store_position/nbt {output_path: "storage qrazy:foo bar.baz"}
### Convert integer color to hex code
Run “`function qrazy:integer_color_to_hex {integer_color: (integer color), output_path: “(block|entity|storage)”}“` to get the hex code of an integer color. The output hex code is stored in “`(output_path)_(r16|r1|g16|g1|b16|b1)“`, where each value is a single-character string from 0 to F.
### Apply specific numbers of durability damage to any item
Run “`function qrazy:damage_item_not_normalized {item_damage: (number of durability points), slot_path: “(block |entity ) “}“` to apply a specific amount of durability damage to an item. Unlike the system used in vanilla item modifiers, the durability is not normalized.
Decreases the durability of your mainhand item by 5, regardless of its maximum durability.
### Store NBT as a text component
Run “`function qrazy:nbt_to_text {source: “(block|entity|storage)”, block: “()”, entity: “()”, storage: “()”, nbt: “()”, output_path: “(block|entity|storage)”}“` to convert the contents of the input into text and store it in the output. (Note: The “`block“`, “`entity“`, and “`storage“` arguments must all be present for the function to run, even though they are not used at the same time.)
### Copy a specific item component between slots (1.21.5+)
Run “`function qrazy:copy_component {source_item_path: “(block |entity ) “, target_item_path: “(block |entity ) “, component: “()”}“` to copy the specified “`component“` from the “`source_item_path“` to the “`target_item_path“`. The “`component“` argument must also be prefixed with “`minecraft:“`. (Note: The given component must be specified in the source item’s NBT data, so for example copying the “`minecraft:attribute_modifiers“` component from an unmodified diamond sword will not work.)
Copies all enchantments from the executor’s mainhand item to their offhand item.
PvP particles
Most particles will have a yellow background. The only exceptions are :
– Strength (orange)
– Slowness (greenish)
– Regeneration (red)
– Weakness (dark greenish)
– Luck (green)
– Fire resistance (orange)
– Water breathing (green)
– Swiftness (flashy green)
– Poison (greenish)
**This resource pack improves the current crosshair and the block breaking animation for PvP!**
# 📥Installation:
This ressource pack improves the current crosshair and the block breaking animation for PvP! The pack is *made for* **all versions and snapshots between 1.6 and 26.1.1**.
# ✨Features:
Improves the current crosshair and the block breaking animation for PvP -> replaces them with a super assistive and useful crosshair and a loading bar block breaking animation!
# 🛠️Versioning:
This ressource pack uses the following versioning system:
– **Base pack:** standard versioning + Minecraft version
– -> *e.g.* **v1.0-1.21.8, v2.4-v1.21.11,…**
Thanks to all the resource packs and their authors, who either licensed their projects under the MIT license or allowed me to use their resource packs!
– [PvP Crosshair](https://modrinth.com/resourcepack/pvp-crosshair)
– [Loading Bar Breaking Animation Pack](https://modrinth.com/resourcepack/loading-bar-breaking-animation-1.8.9-version)
Without these projects and their authors, PvP Crosshair & BBA Pack would not have been possible to make. **Special thanks!**
# 💘 Support me!
To help me and make me develop more fascinating projects, share and recommend this resourcepack. Thank you so much!!!
You can also try my other projects [here](https://modrinth.com/user/Titan1um) or the projects me and Polr made [here](https://modrinth.com/organization/titan1um-x-polr)! 😀
Unfinished. Leave feedback/suggestions at [GitHub](https://github.com/PencilVoid/PVGUI/issues).
Only supports 1.20.2 and onwards. Versions earlier than 1.20.2 will not be supported.
Recommended for use alongside this resource pack (this pack is not endorsed by these creators, I just like their work):
– [Caxton](https://modrinth.com/mod/caxton)
– [Atkinson Hyperlegible](https://modrinth.com/resourcepack/atkinson-hyperlegible)
– [Geometric Font 2](https://modrinth.com/resourcepack/geometric-font-2)
– [Lithos:Font](https://modrinth.com/resourcepack/lithosfont)
Pusheen Crosshair
since i made a python script to make gifs into minecraft textures i wanted to make a cute crosshair so i made one out of a pusheen gif using my python script that makes GIF’s into spritesheets so u can have an animated texture in minecraft