Minecraft Maps / Redstone Device

1.14 to 1.15 - How to check Equine Stats (McFunction)

  • 4,022 views, 3 today
  • 86 downloads, 0 today
  • 13
  • 4
  • 7
Nitrox Nova's Avatar Nitrox Nova
Level 60 : High Grandmaster Robot
131
This supports Donkeys, Mules, Skeleton and Zombie Horses as well. You can also create more than one of these stat checkers without causing conflicts!

*1.14 updates*
wall_sign changed to oak_wall_sign
removed the slashes in the sign command

You can skip Step 1 by Downloading the World Save and copying the horsestats folder in datapacks (you will still need to do Step 2)

Step 1 - Create Datapack
To navigate to your minecraft saves folder, open file explorer and type %appdata%\.minecraft\saves
Open the folder with the name of your world. There will be a datapacks folder, open this. It is probably empty.
Create a folder, named whatever you want, I will use horsestats
inside this folder, create a file named pack.mcmeta Open with notepad and paste the following:

Click to reveal
{
"pack": {
"pack_format": 2,
"description": "Nitrox Nova's Equine Stat Checker"
}
}


Also inside the horsestats folder, create a folder named data
in data, create another folder named horsestats
in horsestats, create a folder named functions

The full file path will look something like C:\Users\NitroxNova\AppData\Roaming\.minecraft\saves\horseblock\datapacks\horsestats\data\horsestats\functions

Inside the functions folder, create a file named checkstats.mcfunction Open with notepad and paste the following

Click to reveal
fill ~-1 ~3 ~-1 ~1 ~3 ~-1 minecraft:air replace
execute store result score @p HorseHealth run data get entity @e[​type=minecraft:horse,distance=..2,limit=1] Attributes[{Name:"generic.maxHealth"}].Base
execute store result score @p HorseSpeed run data get entity @e[​type=minecraft:horse,distance=..2,limit=1] Attributes[{Name:"generic.movementSpeed"}].Base 100
execute store result score @p HorseJump run data get entity @e[​type=minecraft:horse,distance=..2,limit=1] Attributes[{Name:"horse.jumpStrength"}].Base 100
execute if score @p HorseHealth matches 0 run execute store result score @p HorseHealth run data get entity @e[​type=minecraft:donkey,distance=..2,limit=1] Attributes[{Name:"generic.maxHealth"}].Base
execute if score @p HorseSpeed matches 0 run execute store result score @p HorseSpeed run data get entity @e[​type=minecraft:donkey,distance=..2,limit=1] Attributes[{Name:"generic.movementSpeed"}].Base 100
execute if score @p HorseJump matches 0 run execute store result score @p HorseJump run data get entity @e[​type=minecraft:donkey,distance=..2,limit=1] Attributes[{Name:"horse.jumpStrength"}].Base 100
execute if score @p HorseHealth matches 0 run execute store result score @p HorseHealth run data get entity @e[​type=minecraft:mule,distance=..2,limit=1] Attributes[{Name:"generic.maxHealth"}].Base
execute if score @p HorseSpeed matches 0 run execute store result score @p HorseSpeed run data get entity @e[​type=minecraft:mule,distance=..2,limit=1] Attributes[{Name:"generic.movementSpeed"}].Base 100
execute if score @p HorseJump matches 0 run execute store result score @p HorseJump run data get entity @e[​type=minecraft:mule,distance=..2,limit=1] Attributes[{Name:"horse.jumpStrength"}].Base 100
execute if score @p HorseHealth matches 0 run execute store result score @p HorseHealth run data get entity @e[​type=minecraft:skeleton_horse,distance=..2,limit=1] Attributes[{Name:"generic.maxHealth"}].Base
execute if score @p HorseSpeed matches 0 run execute store result score @p HorseSpeed run data get entity @e[​type=minecraft:skeleton_horse,distance=..2,limit=1] Attributes[{Name:"generic.movementSpeed"}].Base 100
execute if score @p HorseJump matches 0 run execute store result score @p HorseJump run data get entity @e[​type=minecraft:skeleton_horse,distance=..2,limit=1] Attributes[{Name:"horse.jumpStrength"}].Base 100
execute if score @p HorseHealth matches 0 run execute store result score @p HorseHealth run data get entity @e[​type=minecraft:zombie_horse,distance=..2,limit=1] Attributes[{Name:"generic.maxHealth"}].Base
execute if score @p HorseSpeed matches 0 run execute store result score @p HorseSpeed run data get entity @e[​type=minecraft:zombie_horse,distance=..2,limit=1] Attributes[{Name:"generic.movementSpeed"}].Base 100
execute if score @p HorseJump matches 0 run execute store result score @p HorseJump run data get entity @e[​type=minecraft:zombie_horse,distance=..2,limit=1] Attributes[{Name:"horse.jumpStrength"}].Base 100
setblock ~-1 ~3 ~-1 minecraft:oak_wall_sign[​facing=south]{Text1:'{"text":""}',Text2:'{"text":"Health:"}',Text3:'{"score":{"name":"@p","objective":"HorseHealth"}}'}
setblock ~ ~3 ~-1 minecraft:oak_wall_sign[​facing=south]{Text1:'{"text":""}',Text2:'{"text":"Speed:"}',Text3:'{"score":{"name":"@p","objective":"HorseSpeed"}}'}
setblock ~1 ~3 ~-1 minecraft:oak_wall_sign[​facing=south]{Text1:'{"text":""}',Text2:'{"text":"Jump:"}',Text3:'{"score":{"name":"@p","objective":"HorseJump"}}'}



Step 2 - World Setup
Open the world, or type /reload command if it was already open
Run the following commands:
  /scoreboard objectives add HorseHealth dummy
  /scoreboard objectives add HorseSpeed dummy
  /scoreboard objectives add HorseJump dummy
Give yourself a command block /give @p command_block
Place command block level with the ground, and right click it.
Type the following in the console command box of the command block
  function horsestats:checkstats
Place a pressure plate on top of the command block. Stepping on the pressure plate will generate three signs. If there are no horses around, they will say zero. If you ride, lead or push an equine within 2 blocks of the command block (marked with glass in the picture) and trigger the pressure plate, its respective stats will show up on the signs. This works on babies, untamed and untamable equines as well.
Progress100% complete
Tags

1 Update Logs

Update #1 : by Nitrox Nova 06/30/2020 12:24:38 pmJun 30th, 2020

due to changes in the array order, stats are found by name instead of index number.
Health = Attributes[{Name:"generic.maxHealth"}].Base
Speed = Attributes[{Name:"generic.movementSpeed"}].Base 100
Jump = Attributes[{Name:"horse.jumpStrength"}].Base 100

Create an account or sign in to comment.

1
11/24/2019 7:12 am
Level 1 : New Miner
Lylikz
Lylikz's Avatar
i have done what u had done with the comands in the video and the stats dont work :(
1
06/14/2019 11:21 pm
Level 1 : New Miner
yogurtchild
yogurtchild's Avatar
is there a link to a video tutorial for this method? im just very confused because im not that great at this stuff.
2
05/27/2019 5:00 am
Level 12 : Journeyman Skinner
Ish
Ish's Avatar
This is amazing! Works perfectly. I was wondering how you got the stat attribute numbers. I was hoping to make one to check llama strength.
2
06/05/2019 9:17 amhistory
Level 60 : High Grandmaster Robot
Nitrox Nova
Nitrox Nova's Avatar
thank you for trying it out! I didnt even know llamas had strength, but sure enough, they do!
/data get entity @e[type=minecraft:llama, limit=1] Strength
I wish the command for horses was so simple..
2
05/24/2019 10:41 am
Level 52 : Grandmaster Technomancer
TumbleDumpling
TumbleDumpling's Avatar
I really like how you used the scoreboard command to store a variable. I have used this method in the past, but I have since forgotten how it works. Now I can just look at your code and figure it out again.

Great work Nitrox!
3
05/26/2019 1:08 pm
Level 60 : High Grandmaster Robot
Nitrox Nova
Nitrox Nova's Avatar
thank you very much! im glad i can help :)
2
05/22/2019 6:09 pm
Level 61 : High Grandmaster Unicorn
Thereal_Atlas
Thereal_Atlas's Avatar
looks amazing and creative ;)
Planet Minecraft

Website

© 2010 - 2024
www.planetminecraft.com

Welcome