PARTICIPANT IN A RANKED completed JAM
Datapack Jam: Summer 2025

Data Packs Mob

DogPlus

  • 2k views 2 today
  • save_alt 97 downloads
Compatibility
Minecraft 1.21
Changes include
    Kraggle09
    Lvl 45Master Procrastinator
    209
    This is a datapack I created in 4 days for the 2025 datapack jam. I had no other ideas, so here ya go.

    You can craft the Dog Tool using 6 iron on the left and right sides, 2 rotten flesh in the middle top and bottom, and one nametag in the center.

    You can use this tool while standing near any dog to double its attack and health stats.

    The tool can be used infinitely, and is horribly imbalanced, but I can't be bothered to balance it.

    Oh, and there's a resource pack that adds the custom texture that I spent 5 seconds making.


    Compatibility:

    compatibility guide

    Credit:
    This guide was super helpful, as this is the first time I've ever added a custom item:
    https://github.com/Simplexity-Development/Custom_Model_Data_Guide

    6 Update Logs

    1.6.0 : by Kraggle09 10/03/2025 10:58:35 amOctober 3, 2025 @ 2:58 pm UTC

    • Updated pack.mcmeta to work with older versions
      • The pack should at least partially work in 1.21+
    • Note: Any advancements that have been modified by Mojang since the version you are playing in will not work
      • For example, wax on and wax off will not work due to looking for invalid blocks (new copper blocks in 1.21.9) in any version before 1.21.9.
    • I've also added a compatibility guide to the description.
    LOAD MORE LOGS

    More like this

      Have something to say?

    Rignchen
    06/21/2025 1:08 pm
    Level 47 : Master Necromancer
    history
    Name of the zip should tell which pack it is, not "datapack" and "ressourcepack" (github download)
    you shouldn't repete similar selector, especially in tick.mcfunction execute as @a[scores={UsedCarrotOnStick=1} ] instead create a function and put all your commands in it (this is pseudocode not real code), also use predicate instead of checking the item's data in the function
    execute as @a[scores={UsedCarrotOnStick=1} ] run function {
    . if predicate ... run ...
    . scoreboard set 0
    }

    this is 100% useless: execute as @s run
    instead of @e[sort=nearest,limit=1] you should use @n also you may end up in cases where 2 times this isn't the same entity so function

    These are advices so you can make better datapacks
    2
    Kraggle09
    06/22/2025 11:32 am
    He/They • Level 45 : Master Procrastinator
    history
    Thanks, I've now implemented these changes (except predicates, I'll do that another day). I'll release them after the jam this was entered in finishes judging.

    Edit: The changes have now been implemented (alongside a couple others)
    2
    Rignchen
    06/30/2025 12:02 pm
    Level 47 : Master Necromancer
    looking at your code I saw that while making that modification you did a mistake:

    in tick.mcfunction you have
    execute as @a[scores={UsedCarrotOnStick=1}] if items entity @s weapon.mainhand minecraft:carrot_on_a_stick[minecraft:custom_data={dogplus:dog_tool}] run function dogplus:dogboost1

    and the
    scoreboard players set @s UsedCarrotOnStick 0
    is inside dogboost1.mcfunction

    which means that if I click with a carrot on a stick without {dogplus:dog_tool} the scoreboard will stay at 1 (or more) which can cause some wierd problems


    solution

    tick.mcfunction
    execute as @a[scores={UsedCarrotOnStick=1}] run function dogplus:dogboost0

    dogboost0.mcfunction
    execute if items entity @s weapon.mainhand minecraft:carrot_on_a_stick[minecraft:custom_data={dogplus:dog_tool}] run function dogplus:dogboost1
    scoreboard players set @s UsedCarrotOnStick 0

    dogboost1.mcfunction
    execute at @s run execute as @n[type=wolf,distance=..10] run function dogplus:dogboost2

    this can then be refactored to only have 2 functions again

    tick.mcfunction
    execute as @a[scores={UsedCarrotOnStick=1}] run function dogplus:dogboost1

    dogboost1.mcfunction
    execute if items entity @s weapon.mainhand minecraft:carrot_on_a_stick[minecraft:custom_data={dogplus:dog_tool}] at @s as @n[type=wolf,distance=..10] run function dogplus:dogboost2
    scoreboard players set @s UsedCarrotOnStick 0
    2

    Welcome