
Quality Commands
Data driven blocks, items, and other crimes against minecraft!
LATEST STABLE VERSION IS 1.8.2 Unstable versions are likely to break, or crash unexpectedly, or have weird behavior.
As it happens, this is the only mod that allows making custom true data-driven blocks with custom behaviors. There is one other mod that allows true data-driven blocks, but they can only have vanilla behaviours. This is the only one. For ANY version of Minecraft, on any loader. I honestly expected that somebody else would have found a way by now, but unfortunately, no. This mod contains some of the jankiest code I've made in a while, but it somehow is the only one that is still going further. It's also the only one that makes custom true data-driven potion effects... Expect even more from this mod in the future. I will make sure that vanilla gets data-driven blocks, items, entities, and potion effects eventually; this is something that the datapacker community deserves to have. A break from messy functions and being unable to create custom blocks without any entities attached.
Version 1.8.2 is still a little glitchy, as models refuse to render on their associated items, and in rare cases, the game can fail to load custom blocks. The cases become more common the more time it takes to do the custom startups (items, blocks,effects)
Known bugs:
- Custom blocks will have the wrong blockstate id when generated, relogging fixes
- Some values go outside vanilla values when rendering due to framebuffers using F32 instead of I8 for values(Bug, Until 26.3)
- Taking a screenshot crashes the game sometimes due to F32 buffers
- For some reason, items have all components null, which doesn't make any sense (Bug, Major)
- custom blocks require a resource reload to load models (Incomplete Feature)
Vanilla optimizations:
- Raytrace no longer checks blocks that are not along line. Significant performance increase for diagonal raycasting, none for axis-aligned.
Now (almost) fully functional for 26.1.2!
will be ported to 26.3 soon...
Credits to other games:
Hytale: \hytale command contains pieces of logic taken from the game Hytale. If you like it, buy the game! If you are a modder, Hytale's modding system is much easier than Minecrafts; everything is data-driven.
Version 1.7.0
At this point, I've added so much stuff, there is NO point in putting it all on this page. I made some generators at the following links for custom:
Data driven blocks: Block Generator
Data driven items: Item Generator
Data driven potion effects: Entity Effect Generator
Supplementary values for certain kinds of block: Block Set Type
All generators, and the site itself, is a fork of The original datapack generator by Misode
In versions past 1.21.10, the when using a color, you must specify it as "##rrggbbaa"
PLEASE NOTE: For block models to load, the user must use a resource reload ([F3+t]) every time they join a world with custom blocks. Vanilla block models still load as usual.
Latest version has the following commands:
\tpRel
Teleports target from [from] to [to] with same offset. Useful for making seamless transitions. Does not affect velocity and so can be used for a seamless transition. Does not work on Valkyrien Skies ships as of latest version, but that is planned for the future. If rot is present, rotates position, facing direction, and velocity around the target location by rot. This value is in degrees.
\function_silent <args>
Uses the same arguments as the vanilla \function command, but does not give command feedback. For making text buttons better. Deprecated.
\heal <target> <amount>
The command minecraft should have but doesn't. Heals target by amount health.
\air <target> add|remove|set <amount>
Sets targets remaining air.
\entityify <pos> [<removeBlock>]
Summons a falling block entity with no gravity and same blockstate as block pos at pos. If removeBlock exists and is true, removes the block as well.
\for <varname> <start> <end> <increment> <command>
for(int varname=start;varname<end;varname+=increment) run command
runs command with all instances of $(varname) replaced with the value in that loop. Example:
\for i 0 10 1 tell @a Loop Iteration $(i)
would tell all players
Loop Iteration 0
Loop Iteration 1
Loop Iteration 2
Loop Iteration 3
Loop Iteration 4
Loop Iteration 5
Loop Iteration 6
Loop Iteration 7
Loop Iteration 8
Loop Iteration 9
\for loops can be nested!
\with <varname>
value <value> <command>
uuid <target> <command>
data entity|block|storage <selector> <path> <command>
attribute <entity> <attribute> <command>
replace all instances of @(varname) with whatever data you get. For value subcommand, value is what @(varname) is replaced with. For uuid, it replaces @(varname) with the string representation of adds typechars to end of replacementno longer adds typechars! attribute just gets entity attributes. Example usage: getting entity max health
random int|float <min> <max> <command>
sets @(varname) to a random integer or float between min and max(inclusive).
calculate <math> <command>
sets @(varname) to whatever value is calculated by
calculateint <math> <command>
sets @(varname) to whatever value is calculated by
Modifies the vanilla \execute command:
Addes submerged
\execute if|unless submerged <entity> ...
Function tags: quality_commands:on_before_player_leave Runs as a player right before that player leaves the game. quality_commands:on_before_player_join Runs as said player right before they finish joining the game.
Contains an old version of Identity2 for further messing around. Will be patched soon, but will NOT contain the parts of Identity2 that actually make it change gameplay.
Contains the following blocks:
quality_commands:barier
An invisible barrier that cannot be interacted with. Has block outline and can be interacted with only when holding the block. For making boundaries (so that players don't go where they aren't supposed to go) but can't see the boundary. Works slightly better than barriers. Designed for situations where players shouldn't go to a location, but should still be able to interact with the objects there.
Reccomended to be used with Function Macro Backport for 1.20.1.
At this point, none of this mod works entirely serverside.
If any issues with the mod not working or any suggestions for new ideas come up, post them here.
Go here for a list of my mods(and mods i reccomend), or just to post your ideas for things for me to make! No AI was used in the creation of this project, the description, or the icon. All were made by an actual human who actually knows what he is doing, instead of a mindless system that spouts gibberish lies, and doesn't know how to optimize.
Как поиграть с друзьями с модом Quality Commands?
Мод Quality Commands куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода Quality Commands будет готов за пару минут - BungeeHost сделает всё за вас.
