Minecraft Data Packs / Tool

speed255 - Rapid datapack development aided by tags.

  • check_circle Functions
  • 1,168 views, 2 today
  • 60 downloads, 0 today
  • 9
  • 5
  • 3
Moxvallix's Avatar Moxvallix
Level 46 : Master Engineer
50
Speed255 - Making Minecraft commands fun to write.

This datapack is inspired by the tailwindcss framework, aiming to provide a wealth of useful, opinionated, entity tags and functions, in order to make datapack / command block development fun and enjoyable.

For full documentation, please visit the Website as linked above.

For example: I want a permanently speedy villager. Now I can just summon in a villager like such:
summon villager ~ ~ ~ {ActiveEffects:[{Id:1b,Amplifier:5b,Duration:99999999,ShowParticles:0b}]}With such a long duration, that villager will likely be speedy for the duration of it's existence. But that command is long and complicated. I had to use MCStacker to even generate it.

With Speed255, making such a villager is a breeze:
summon villager ~ ~ ~ {Tags:["effects","speed-5"]}Speed255 already provides a function that applies speed 5 to every entity with the tags.

Lets say that villager was too fast for our use cases. No worries! Lets make a new villager, now with speed 2 instead. You know what, lets give it resistance 3 as well.

summon villager ~ ~ ~ {Tags:["effects","speed-2","resistance-3"]}
What about when I want to make the villager glow only when a player is within 8 blocks of it. Easy!

summon villager ~ ~ ~ {Tags:["effects","..8+glowing"]}
Notice the prefix "..8+". This works in front of any effect tag.

But what if the villager should be poisoned if a player is not within 16 blocks of it?
Poison is considered a second class effect, and as such, for performance reasons, is kept under the "extra" effects.
This means instead of adding the tag "effects", the tag "effects-extra" should be added instead.
As for the outside of 16 blocks prefix, just move the dots to the other side of the number, like such: "16..+".

summon villager ~ ~ ~ {Tags:["effects-extra","16..+poison-2"]}

The supported distances are as such: 1, 2., 3, 4, 8, 16, 32, 64

Sometimes it is nice to have an entity that only exists in game for 1 tick. This can be useful if the entity needs to run a command, or perform an action only briefly, and without repetition. The "temp" helper tag is perfect for this, as any entity with the tag will be killed after 1 tick.

summon villager ~ ~ ~ {Tags:["temp"]}
As you can see, using these default tags, provided by speed255, can make simple tasks much faster and less of a pain.
CompatibilityMinecraft 1.13
toMinecraft 1.19
Tags

2 Update Logs

v0.0.3 - Entity data : by Moxvallix 03/30/2022 10:33:20 amMar 30th, 2022

Added
  • Added mkdocs based documentation.
  • Added entity data tags (currently without prefix support).
  • Added no-ai entity data tag.
  • Added no-gravity entity data tag.
  • Added invulnerable entity data tag.
  • Added silent entity data tag.
LOAD MORE LOGS

Create an account or sign in to comment.

1
04/19/2022 12:31 pm
Level 18 : Journeyman Architect
Auseawesome
Auseawesome's Avatar
Really good idea for a datapack, one that helps other devs. Only problem I could see is performance with all the tag checks.



Would it be possible to split this up into many modules so users can pick only the ones they need?
1
04/25/2022 9:58 am
Level 46 : Master Engineer
Moxvallix
Moxvallix's Avatar
Yeah, I have been trying to work out the whole performance issues. I have already split effects into two tags, effects, and effects-extra.

I think I might work on a mod / program that scans the datapack for used tags, and then compiles a version of the pack with only the required tags, similar to how Tailwind does it.

But yeah, currently it is not overly performant, and modules may be a good quick fix for that.
1
03/28/2022 12:43 pm
Level 17 : Journeyman Procrastinator
Yoyodotpy
Yoyodotpy's Avatar
nice!
Planet Minecraft

Website

© 2010 - 2024
www.planetminecraft.com

Welcome