{"id":167897,"date":"2026-06-09T22:20:06","date_gmt":"2026-06-09T19:20:06","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/vreds-dp-lib\/"},"modified":"2026-06-09T22:20:06","modified_gmt":"2026-06-09T19:20:06","slug":"vreds-dp-lib","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/vreds-dp-lib\/","title":{"rendered":"vred&#8217;s DP Lib"},"content":{"rendered":"<p>**vred&#8217;s Data-Pack Library** (vred&#8217;s DP Lib for short) is the first Data-Pack library I&#8217;ve ever made.<br \/>\nThe main scope of this project is to add useful tools for creating custom items faster and more easily.<br \/>\nThis tools is split into different sections:<br \/>\n&#8211; **Data Components**<br \/>\n&#8211; **Behaviour Components**<br \/>\n&#8211; **Function Tags**<br \/>\n&#8211; **Misc**<\/p>\n<p>> **Data Components**<br \/>\nThese define information about the item. Which will be quite important!<br \/>\n## As general rule, every vred&#8217;s DP lib component goes in the &#8220;&#8230;&#8221; part<br \/>\n## <code>custom_data={vred_lib:{...}}<\/code><\/p>\n<details>\n<summary>Component: <code>id<\/code><\/summary>\n<p>  **string**<\/p>\n<p>This one doesn&#8217;t really do anything important, just defines the <code>id<\/code> of an item.<\/p>\n<p>  **Example:**<\/p>\n<p>## <code>give @s stick[custom_data={vred_lib:{id:\"example:cool_stick\"}}]<\/code><br \/>\n<\/details>\n<details>\n<summary>Component: <code>weapon_id<\/code><\/summary>\n<p>  **string**<\/p>\n<p>This one very important, as it&#8217;s required for upcoming components. <code>id<\/code> contains 2 parts, one of these is the <code>weapon_id<\/code>, which is the part after the &#8220;:&#8221;.<br \/>\nIt requires a folder named from <code>weapon_id<\/code> in the current datapack. As for the namespace, it will be taken from the next component, <code>namespace<\/code>.<\/p>\n<p>  **Example:**<\/p>\n<p>## <code>give @s stick[custom_data={vred_lib:{id:\"example:cooler_stick\",weapon_id:cooler_stick}}]<\/code><br \/>\nThis item won&#8217;t do anything yet.<br \/>\n<\/details>\n<details>\n<summary>Component: <code>namespace<\/code><\/summary>\n<p>  **string**<\/p>\n<p>This one is also very important, as it&#8217;s required for upcoming components too. <code>id<\/code> contains 2 parts, one of these is the <code>namespace<\/code>, which is the part before the &#8220;:&#8221;.<br \/>\nIt requires a folder named from <code>namespace<\/code> in the current datapack. <\/p>\n<p>  **Example:**<\/p>\n<p>## <code>give @s stick[custom_data={vred_lib:{id:\"example:very_cool_stick\",weapon_id:very_cool_stick,namespace:example}}]<\/code><br \/>\nThis item won&#8217;t do anything yet.<br \/>\n<\/details>\n<p>> **Behaviour Components**<br \/>\nThese will run functions in a specific condition.<br \/>\nThese require a certain slot to work with:<\/p>\n<p><code>mainhand:{...}<\/code> in mainhand.<\/p>\n<p><code>offhand:{...}<\/code> in offhand.<\/p>\n<p><code>head:{...}<\/code> head slot.<\/p>\n<p><code>chest:{...}<\/code> chest slot.<\/p>\n<p><code>legs:{...}<\/code> legs slot.<\/p>\n<p><code>feet:{...}<\/code> feet slot.<\/p>\n<p><code>all:{...}<\/code> all the previous slots.<\/p>\n<p><code>hand:{...}<\/code> either hand.<\/p>\n<p><code>armor:{...}<\/code> any armor slot.<\/p>\n<details>\n<summary>Component: <code>on_hit_effect<\/code><\/summary>\n<p>**boolean**<\/p>\n<p>This will run a command on hit.<br \/>\nThe function that will be run is this:<\/p>\n<p>&#8220;`<br \/>\ndata\/<namespace>\/function\/<weapon_id>\/on_hit.mcfunction<br \/>\n&#8220;`<\/p>\n<p>  **Example:**<\/p>\n<p>### <code>give @s bow[custom_data={vred_lib:{id:\"example:fast_bow\",weapon_id:fast_bow,namespace:example,hand:{on_hit_effect:true}}}]<\/code><\/p>\n<p><code><br \/>\n# data\/example\/function\/fast_bow\/on_hit.mcfunction<\/p>\n<p>give @s arrow<br \/>\nsay I hit an entity!<br \/>\n<\/code><\/p>\n<p>When hitting an entity (either arrow or hand) it will give an arrow to the player.<\/p>\n<\/details>\n<details>\n<summary>Component: <code>entity_hit_effect<\/code><\/summary>\n<p>**boolean**<\/p>\n<p>This will run a command when recieving a hit.<br \/>\nThe function that will be run is this:<\/p>\n<p>&#8220;`<br \/>\ndata\/<namespace>\/function\/<weapon_id>\/entity_hit.mcfunction<br \/>\n&#8220;`<\/p>\n<p>  **Example:**<\/p>\n<p>### <code>give @s stick[custom_data={vred_lib:{id:\"example:strong_shield\",weapon_id:strong_shield,namespace:example,offhand:{entity_hit_effect:true}}}]<\/code><\/p>\n<p>&#8220;`<br \/>\n# data\/example\/function\/strong_shield\/entity_hit.mcfunction<br \/>\neffect give @s resistance 4 1 true<br \/>\nexecute rotated as @s on attacker run tp @s ^ ^ ^2<br \/>\n&#8220;`<\/p>\n<p>While holding the shield in offhand, recieving a hit from an entity will push it away by 2 blocks.<\/p>\n<\/details>\n<details>\n<summary>Component: <code>on_kill<\/code><\/summary>\n<p>**boolean**<\/p>\n<p>This will run a command when kiling an entity.<br \/>\nThe function that will be run is this:<\/p>\n<p>&#8220;`<br \/>\ndata\/<namespace>\/function\/<weapon_id>\/on_kill.mcfunction<br \/>\n&#8220;`<\/p>\n<p>  **Example:**<\/p>\n<p>### <code>give @s iron_sword[custom_data={vred_lib:{id:\"example:bloodlust\",weapon_id:bloodlust,namespace:example,mainhand:{on_kill_effect:true}}}]<\/code><\/p>\n<p>&#8220;`<br \/>\n# data\/example\/function\/bloodlust\/on_kill.mcfunction<\/p>\n<p>effect give @s strength 10 1 true<br \/>\n&#8220;`<\/p>\n<p>After killing an entity, the user will get strength 2 for a few seconds.<\/p>\n<\/details>\n<details>\n<summary>Component: <code>double_sneak_effect<\/code><\/summary>\n<p>  **boolean**<\/p>\n<p>This will run a command when pressing the sneak button twice in a small amount of time.<br \/>\nThe command will be run as such:<\/p>\n<p>&#8220;`<br \/>\ndata\/<namespace>\/function\/<weapon_id>\/double_sneak.mcfunction<br \/>\n&#8220;`<\/p>\n<p>  **Example:**<\/p>\n<p>### <code>give @s stick[custom_data={vred_lib:{id:\"example:very_cool_stick\",weapon_id:very_cool_stick,namespace:example,hand:{double_sneak:true}}}]<\/code><\/p>\n<p><code><br \/>\n# data\/example\/function\/very_cool_stick\/double_sneak.mcfunction<\/p>\n<p>effect give @s speed 2 2<br \/>\n<\/code><\/p>\n<p>This will make the stick give speed 3 when tapping the sneak button twice in quick succession(while holding the item in either hand).<\/p>\n<\/details>\n<details>\n<summary>Component: <code>tap_sneak_effect<\/code><\/summary>\n<p>  **boolean**<\/p>\n<p>This will run a command when sneaking once (tapping).<br \/>\nThe command will be run as such:<\/p>\n<p>&#8220;`<br \/>\ndata\/<namespace>\/function\/<weapon_id>\/tap_sneak.mcfunction<br \/>\n&#8220;`<\/p>\n<p>  **Example:**<\/p>\n<p>### <code>give @s diamond_boots[custom_data={vred_lib:{id:\"example:jumping_boots\",weapon_id:jumping_boots,namespace:example,feet:{tap_sneak:true}}}]<\/code><\/p>\n<p>&#8220;`<br \/>\n# data\/example\/function\/jumping_boots\/tap_sneak.mcfunction<br \/>\neffect give @s jump_boost 3 1<br \/>\nparticle cloud ^ ^ ^ 0 0 0 0.2 30<br \/>\n&#8220;`<\/p>\n<p>This will make the boots give jump boost and emit particles when tapping sneak.<\/p>\n<\/details>\n<details>\n<summary>Component: <code>interaction<\/code><\/summary>\n<p>  **string**<\/p>\n<p>This component will spawn an interaction entity in front of the player while the player is holding the item in the main hand. The interaction entity can be used for both right and left click and the functions will be ran like this:<br \/>\n&#8220;`<br \/>\ndata\/<namespace>\/function\/<weapon_id>\/left_click.mcfunction<br \/>\ndata\/<namespace>\/function\/<weapon_id>\/right_click.mcfunction<br \/>\n&#8220;`<\/p>\n<p>If it&#8217;s &#8220;interaction:no_shift&#8221;, the interaction entity will always be there.<br \/>\nIf it&#8217;s &#8220;interaction:shift&#8221;, the interaction entity will only appear while the player is shifting.<\/p>\n<p>  **Example:**<\/p>\n<p>### <code>give @s netherite_shovel[custom_data={vred_lib:{id:\"example:offbrand_spear\",weapon_id:offbrand_spear,interaction:no_shift}}]<\/code><\/p>\n<p><code><br \/>\n# data\/example\/function\/offbrand_spear\/left_click.mcfunction<\/p>\n<p>say left click<br \/>\n<\/code><\/p>\n<p><code><br \/>\n# data\/example\/function\/offbrand_spear\/right_click.mcfunction<\/p>\n<p>say right click<br \/>\n<\/code><\/p>\n<\/details>\n<details>\n<summary>Component: <code>no_interaction_right_click<\/code><\/summary>\n<p>  **boolean**<\/p>\n<p>This will run a command while holding right click. It requires the food component:  <code>minecraft:food={nutrition:0,saturation:0,can_always_eat:1b,eat_seconds:1000000}<\/code><br \/>\nThe function will be ran constantly while holding right click.<\/p>\n<p>&#8220;`<br \/>\ndata\/<namespace>\/function\/<weapon_id>\/right_click.mcfunction<br \/>\n&#8220;`<\/p>\n<p>  **Example: (needs to be changed)**<\/p>\n<p>### <code>give @s blaze_rod[custom_data={vred_lib:{id:\"example:hot_rod\",weapon_id:hot_rod,namespace:example,no_interaction_right_click:1b}},food={nutrition:0,saturation:0,can_always_eat:1b,eat_seconds:1000000}]<\/code><\/p>\n<p>&#8220;`<br \/>\n# data\/example\/function\/hot_rod\/right_click.mcfunction<br \/>\nexecute anchored eyes run particle flame ^ ^ ^1<br \/>\nexecute anchored eyes run particle flame ^ ^ ^2<br \/>\nexecute anchored eyes run particle flame ^ ^ ^3<br \/>\n&#8220;`<\/p>\n<\/details>\n<details>\n<summary>Component: <code>weapon_type:bow<\/code><\/summary>\n<p>  **string**<\/p>\n<p>This will create a custom item like a bow that doesn&#8217;t require arrows. To make the effect look better, use matching custom model data between base item and bow.<br \/>\nThe component requires the food component:  <code>minecraft:food={nutrition:0,saturation:0,can_always_eat:1b,eat_seconds:1000000}<\/code><br \/>\nAnd will require a base item: <code>{vred_lib:{base_item:\"<item_id\"}}<\/code><\/p>\n<p>It can run a function when shooting the \"arrow\":<\/p>\n<p>```<br \/>\ndata\/<namespace>\/function\/<weapon_id>\/shot.mcfunction<br \/>\n```<\/p>\n<p>  **Example:**<\/p>\n<p>### <code>give @s breeze_rod[custom_data={vred_lib:{id:\"example:tnt_wand\",weapon_id:tnt_wand,namespace:example,weapon_type:bow,base_item:\"minecraft:breeze_rod\"}}]<\/code><\/p>\n<p>```<br \/>\n# data\/example\/function\/tnt_wand\/shot.mcfunction<br \/>\nexecute if score @s component.bow.timer matches 21.. run summon tnt ^ ^ ^5 {Fuse:0s}<br \/>\n```<\/p>\n<p>If the bow-like item has been in use more than 21 ticks, it will summon a tnt 5 blocks foward. **This will only work in the main hand**.<\/p>\n<\/details>\n<details>\n<summary>Component: <code>scrollable<\/code><\/summary>\n<p>  **boolean**<\/p>\n<p>When dropping the item from the main hand, it reference an item modifier based on the <code>map_id<\/code> component.<br \/>\nThis is a brand new system I made for displaying item descriptions, as each item modifier can reference a different lore page and change the <code>map_id<\/code> to go on the next page.<\/p>\n<p>```<br \/>\ndata\/<namespace>\/item_modifier\/page\/<weapon_id>\/<n>.json<br \/>\n```<\/p>\n<p>  **Example:**<\/p>\n<p>### <code>give @s diamond_sword[custom_data={vred_lib:{id:\"example:multitool\",weapon_id:multitool,namespace:example,scrollable:1b}},map_id=1,unbreakable={}]<\/code><\/p>\n<p>```<br \/>\n# data\/example\/item_modifier\/page\/multitool\/1.json (you can't have comments in json)<br \/>\n[{function:\"set_item\",item:\"minecraft:netherite_axe\"},{function:\"set_components\",components:{map_id:2}}]<\/p>\n<p># data\/example\/item_modifier\/page\/multitool\/2.json<br \/>\n[{function:\"set_item\",item:\"minecraft:diamond_pickaxe\"},{function:\"set_components\",components:{map_id:3}}]<\/p>\n<p># data\/example\/item_modifier\/page\/multitool\/2.json<br \/>\n[{function:\"set_item\",item:\"minecraft:diamond_pickaxe\"},{function:\"set_components\",components:{map_id:3}}]<\/p>\n<p># data\/example\/item_modifier\/page\/multitool\/3.json<br \/>\n[{function:\"set_item\",item:\"minecraft:diamond_shovel\"},{function:\"set_components\",components:{map_id:4}}]<\/p>\n<p># data\/example\/item_modifier\/page\/multitool\/4.json<br \/>\n[{function:\"set_item\",item:\"minecraft:diamond_hoe\"},{function:\"set_components\",components:{map_id:1}}]<br \/>\n```<\/p>\n<p>The example is a pretty simple multitool, where each \"page\" switches the multitool to a different item. An important thing to mention is that each item modifier changes the <code>map_id<\/code> for next item modifier to use.<\/p>\n<\/details>\n<p>> **Function Tags**<br \/>\nVarious function tags I use. Why not use the vanilla ones? I don't know.<\/p>\n<details>\n<summary>#vred_lib:load<\/summary>\n<p>Works identically to normal <code>#minecraft:load<\/code> function. No idea why I made it.<\/p>\n<\/details>\n<details>\n<summary><code>#vred_lib:entity<\/code><\/summary>\n<p>Tick function only for entity, excluding the player.<br \/>\n<\/details>\n<details>\n<summary><code>#vred_lib:entity<\/code><\/summary>\n<p>Tick function only for player.<br \/>\n<\/details>\n<p>> **Misc**<br \/>\nContains various miscellaneous, but useful stuff.<\/p>\n<details>\n<summary>Predicate: <code>vred_lib:stuff<\/code><\/summary>\n<p>This predicate includes entities that shouldn't be targeted.<br \/>\nIt includes:<\/p>\n<p>- Display entities;<br \/>\n- Entities being ridden;<br \/>\n- Dropped items;<br \/>\n- Arrows.<\/p>\n<\/details>\n<details>\n<summary>Predicate: <code>vred_lib:id_check<\/code><\/summary>\n<p>Simple <code>id<\/code> system. Each player gets a <code>vred_lib.id<\/code> score.  <\/p>\n<p>You can use a predicate to check if the player has the same ID as the specified ID (stored in a fake player on a scoreboard).<br \/>\nIn this case, this predicate will only trigger if the player\u2019s <code>vred_lib.id<\/code> score is equal to the <code>vred_lib.id<\/code> score of the fake player (#temp). <\/p>\n<\/details>\n<details>\n<summary>Score: <code>vred_lib.config<\/code><\/summary>\n<p>This score will be used for different mod compats. The mod name is stored with acronym. The main and only example at the moment is **Iron's Spells and Spellbooks**.<\/p>\n<p>To check if the mod is present, check the <code>vred_lib.config<\/code> score of the fake player <code>#iss_compat<\/code>.<br \/>\nIf the score is 1, that means the mod is present. **The detection works by using a command from the mod.**<br \/>\nThere's also the <code>vred_lib.iss.mana<\/code> score, which can be used to check the amount of mana of the player.<\/p>\n<p>The compatibilies will be expanded in the future with more mods, be sure to send some suggestions!<br \/>\n<\/details>\n<details>\n<summary>tag: <code>1slot_tag<\/code><\/summary>\n<p>This tag checks if the player has at least 1 free inventory and hotbar slot. If it has one, the player will have the tag.<br \/>\n<\/details>\n<details>\n<summary>Custom Projectiles<\/summary>\n<p>You can add custom projectiles. These projectiles are very barebones and don't even have gravity (will changed in the future).<\/p>\n<p>To add a custom projectile,<br \/>\n```<br \/>\nscoreboard players operation #test vred_lib.id = @s vred_lib.id<br \/>\nexecute rotated as @s anchored eyes positioned ~ ~-1 ~ run function vred_lib:projectile\/summon {id:\"<projectile_id>\"}<br \/>\nfunction vred_lib:projectile\/throw {id:\"<projectile_id>\"}<br \/>\n```<br \/>\nThis will spawn the projectile with the <code><projectile_id><\/code>.<br \/>\nTo change the behaviour and data of said projectile, target it back in the tick function. It has a built-in timer, called <code>rayAge<\/code>.<\/p>\n<p>The <code>throw<\/code> function will save a copy of the item and reduce the amount of the item in the main hand.<\/p>\n<p>Later then use <code>function vred_lib:projectile\/return {id:\"<projectile_id>\"}<\/code> as the projectile to make the item return to the owner.<\/p>\n<\/details>\n<details>\n<summary>Custom Particles<\/summary>\n<p>You can add custom particles. These particles are very barebones and are just fancy item displays that move.<br \/>\nTo spawn a custom projectile you first need to add the data function in this tag: #vred_lib:particle_load<\/p>\n<p>```# data\/example\/function\/particle_load.json<br \/>\n{<br \/>\n    \"replace\": false,<br \/>\n    \"values\": [<br \/>\n      \"example:particle\/load\"<br \/>\n    ]<br \/>\n  }<\/p>\n<p># data\/example\/function\/particle\/load.mcfunction<br \/>\n## beetroot particle, hell yeah<br \/>\nitem replace entity @s[tag=<particle.id>] contents with beetroot<br \/>\n```<\/p>\n<p>In order to summon it:<br \/>\n```<br \/>\nfunction vred_lib:particle_system\/test\/1 {id:<particle.id>,count:<count>,dx:<dx>,dy:<dy>,dz:<dz>,scale:<scale>,<br \/>\nspeed:<speed> lifetime:<lifetime>,<br \/>\nowner_id:<owner_id, vred_lib.id score of the particle owner>}<br \/>\n```<br \/>\n`<particle.id>` is the particle id (**string**).<br \/>\n`<dx>`,`<dy>`,`<dz>` indicate the area in which the particle will be spawned (**integer**).<br \/>\n`<speed>` is used to calculate the speed of the particle (**integer**)<br \/>\nactual speed = (<speed> \/ 10 blocks )\/ tick<br \/>\nMaximum <speed> is 10.<br \/>\n`<lifetime>` how long the particle will last (**integer**, arbitrary).<br \/>\n`<owner_id>` is the vred_lib.id score of the owner of the particle (either can be \"none\" or **integer**). If it's none, the particle has just no owner.<\/p>\n<p>Back to our example:<br \/>\n```<br \/>\nfunction vred_lib:particle_system\/test\/1 {id:<particle.id>,count:15,dx:0,dy:0,dz:0,scale:1,speed:1,lifetime:20,owner_id:none}<br \/>\n```<\/p>\n<\/details>\n","protected":false},"excerpt":{"rendered":"<p>A data-pack &#8220;library&#8221; makes the creation of custom weapons easier.<\/p>\n","protected":false},"featured_media":167898,"template":"","meta":{"_minecraft_slug":"vreds-dp-lib","_minecraft_project_id":"n0NYEIzQ","_minecraft_author":"vred_","_minecraft_license":"LicenseRef-All-Rights-Reserved","_minecraft_downloads":339,"_minecraft_follows":0,"_minecraft_client_side":"optional","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"vreds-dp-lib.zip","_minecraft_size_bytes":219476,"_minecraft_version_count":2,"_minecraft_updated_at":"2026-05-15T19:35:15.358454Z","_minecraft_date_created":"2026-03-16T06:30:32.388679Z","_minecraft_date_modified":"2026-03-12T16:03:36.322613Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/vreds-dp-lib","_minecraft_icon_attachment_id":167898,"_minecraft_imported_at":"2026-06-09T19:20:06+00:00","_minecraft_import_hash":"1d116e5f862a6c1f6914f8f46190b29b","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[84,88,97,104,873,158,98,92],"mod_loader":[86,99,106,160,100],"minecraft_version":[62,37],"class_list":["post-167897","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-datapack","mod_category-equipment","mod_category-fabric","mod_category-forge","mod_category-library","mod_category-neoforge","mod_category-quilt","mod_category-utility","mod_loader-datapack","mod_loader-fabric","mod_loader-forge","mod_loader-neoforge","mod_loader-quilt","minecraft_version-1-21","minecraft_version-1-21-1"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>vred&#039;s DP Lib - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/vreds-dp-lib\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"vred&#039;s DP Lib - Minecraft\" \/>\n<meta property=\"og:description\" content=\"A data-pack &quot;library&quot; makes the creation of custom weapons easier.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/vreds-dp-lib\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/vreds-dp-lib\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/vreds-dp-lib\\\/\",\"name\":\"vred's DP Lib - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/vreds-dp-lib\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/vreds-dp-lib\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/vreds-dp-lib-icon-0a02036d7cb7bc4338678e3bb0748895afa4b45d_96.webp\",\"datePublished\":\"2026-06-09T19:20:06+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/vreds-dp-lib\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/vreds-dp-lib\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/vreds-dp-lib\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/vreds-dp-lib-icon-0a02036d7cb7bc4338678e3bb0748895afa4b45d_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/vreds-dp-lib-icon-0a02036d7cb7bc4338678e3bb0748895afa4b45d_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/vreds-dp-lib\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"vred&#8217;s DP Lib\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"vred's DP Lib - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/vreds-dp-lib\/","og_locale":"en_US","og_type":"article","og_title":"vred's DP Lib - Minecraft","og_description":"A data-pack \"library\" makes the creation of custom weapons easier.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/vreds-dp-lib\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/vreds-dp-lib\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/vreds-dp-lib\/","name":"vred's DP Lib - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/vreds-dp-lib\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/vreds-dp-lib\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/vreds-dp-lib-icon-0a02036d7cb7bc4338678e3bb0748895afa4b45d_96.webp","datePublished":"2026-06-09T19:20:06+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/vreds-dp-lib\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/vreds-dp-lib\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/vreds-dp-lib\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/vreds-dp-lib-icon-0a02036d7cb7bc4338678e3bb0748895afa4b45d_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/vreds-dp-lib-icon-0a02036d7cb7bc4338678e3bb0748895afa4b45d_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/vreds-dp-lib\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"vred&#8217;s DP Lib"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/167897","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/167898"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=167897"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=167897"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=167897"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=167897"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}