
HandyCommands
HandyCommands is a lightweight Forge helper mod designed to improve vanilla Minecraft convenience through a set of practical commands and mechanics. It is tailored for vanilla survival, server administration, and map‑making scenarios. No dependencies are r
Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Tags
Creators
Details
Overview
Mod Name: HandyCommands Game Version: Minecraft 1.20.1 Mod Loader: Forge Mod Type: Utility / Command Enhancement
HandyCommands is a lightweight Forge helper mod designed to improve vanilla Minecraft convenience through a set of practical commands and mechanics. It is tailored for vanilla survival, server administration, and map-making scenarios. No dependencies are required – just install and play.
Most new commands are grouped under the /handycommands node. Use /handycommands help at any time to view the full feature list.
Features
Enchantment Level Cap Removal
The vanilla /enchant command strictly limits enchantment levels to the default maximum (usually 1–5). This mod removes that restriction, allowing any enchantment to be raised up to level 255.
/enchant <target> <enchantment> <level>
Example: /enchant @s minecraft:fortune 255
Technical implementation:
Mixin redirects the getMaxLevel() call inside EnchantCommand.enchant().
Fixes the byte overflow issue when storing enchantments (vanilla casts level to byte, making >127 become negative).
Fixes enchantment display names (vanilla only supports Roman numerals I–X; above 10, Arabic numerals are shown).
Custom Entity Selectors: @i and @!
Adds two new convenient entity selectors alongside @a, @e, @p, @r, and @s:
@i – selects all item entities (dropped items)
Example: /kill @i (clears all dropped items on the ground)
Example: /tp @i[distance=..10] ~ ~ ~ (teleports dropped items within 10 blocks)
@! – selects all non‑player entities
Example: /kill @! (kills all non‑player entities)
Example: /effect give @! minecraft:glowing (applies glowing to all non‑player entities)
Both selectors support standard selector arguments (distance, sort, limit, type, etc.) and provide Tab completion when typing @ in chat.
Chunk Forceload Management: /handycommands chunk
Allows players to directly set the current chunk as forceloaded, without needing to specify coordinates using the vanilla /forceload command.
/handycommands chunk true – forceload the current chunk
/handycommands chunk false – remove forceload from the current chunk
/handycommands chunk list – list all forceloaded chunk coordinates
Once forceloaded, the chunk remains loaded even when the player moves away (redstone machinery, mob farms, crop growth, etc., continue to work). A semi‑transparent blue highlight box appears above the chunk as a visual indicator.
Permission level: 0 (available to all players)
Unbreakable Item Tag: /handycommands unbreakable
Quickly adds the Unbreakable:1b tag to the item in hand, making it indestructible. Vanilla requires complex NBT operations; this command simplifies it.
/handycommands unbreakable – the held item becomes permanently unbreakable
Permission level: 2 (requires cheats enabled)
Damage Mitigation Analysis: /handycommands mitigation
Shows detailed breakdown of all damage mitigation sources currently affecting the player, calculating the final damage reduction percentage according to Minecraft 1.20.1 damage formula.
/handycommands mitigation – overview (shows both physical and magical mitigation)
/handycommands mitigation physical – only physical damage reduction
/handycommands mitigation magic – only magical damage reduction
Mitigation sources:
Armour value and armour toughness – physical damage reduction
Protection enchantments (EPF) – reduce both physical and magic damage
Resistance potion effect – reduces both physical and magic damage
Physical damage calculation order (vanilla triple multiplication): Raw damage → armour reduction (with toughness correction) → protection enchantment reduction → resistance reduction → final damage
Magical damage order (armour is skipped): Raw damage → protection enchantment reduction → resistance reduction → final damage
Armour reduction formula: f = min(20, max(armor/5, armor - dmg/(2+toughness/4))) / 25
Protection enchantment: 4% per level, EPF cap of 20 (80% max)
Resistance: 20% per level
Reference damage used for calculation: 10.0 (equal to an iron sword swing)
Permission level: 0 (available to all players, even in survival)
Help Command: /handycommands help
View the full list of features with brief Chinese descriptions in‑game.
/handycommands help
Permission level: 0 (all players)
Potion Giving: /handycommands potion give
Gives a custom potion with a specified effect directly, no brewing stand needed.
/handycommands potion give <effect> <seconds> [level]
Example: /handycommands potion give minecraft:luck 60 – gives a 60‑second Luck I potion
Example: /handycommands potion give minecraft:strength 120 4 – gives a 120‑second Strength V potion
Effect parameter uses Minecraft registry names (e.g., minecraft:speed, minecraft:strength)
Time in seconds, minimum 1 second
Level is optional, defaults to I (lowest)
Level can exceed 255 (only for this command; does not affect vanilla brewing or other mods)
Tab completion for all registered potion effects
The obtained potion is a standard drinkable item
Permission level: 2 (requires cheats / operator privileges)
Potion Effect Addition: /handycommands potion additional
Adds an extra potion effect to a potion already in hand, combining with vanilla potions or those created by /handycommands potion give.
/handycommands potion additional <effect> <seconds> [level]
Example: With a Speed potion in hand, /handycommands potion additional minecraft:luck 60 – the potion now has both Speed and Luck I
Example: /handycommands potion additional minecraft:strength 120 9 – adds Strength X (120 seconds) to the held potion
Only works on potion bottles (regular, splash, lingering) and Witch's Brew (from Goety)
Effect parameter uses Minecraft registry names
Time in seconds, minimum 1 second
Level optional, defaults to I
Level can exceed 255 (only for this command)
Tab completion for all registered effects
The new effect is appended, not replacing existing ones
Permission level: 2 (requires cheats)
Infinite Drinkable Potions: /handycommands potion unbreakable
Adds an "infinite drink" property to the potion in hand, allowing it to be consumed repeatedly in survival without being consumed.
/handycommands potion unbreakable
Example: With a Speed potion in hand, it becomes infinitely drinkable.
Works on potion bottles (regular, splash, lingering) and Witch's Brew (from Goety)
The potion does not disappear after use and remains in the inventory
Can be combined with /handycommands potion give and /handycommands potion additional
Re‑executing on an already infinite potion shows a notification
Permission level: 2 (requires cheats)
Custom Potion Naming: /handycommands potion name
Sets a custom display name for the potion in hand, with support for colour and text formatting.
/handycommands potion name <name> [colour] [style]
Example: /handycommands potion name Soul gold bold – the potion displays as golden "Soul·Potion" in bold
Example: /handycommands potion name Strength red – displays as red "Strength·Potion"
Name is required; colour and style are optional
Style can only be used if colour is specified
Supports 16 Minecraft standard colours (gold, red, blue, green, etc.)
Supports 5 styles (bold, italic, underline, strikethrough, obfuscated)
Works on potion bottles (regular, splash, lingering) and Witch's Brew (from Goety)
Tab completion for colours and styles
Permission level: 2 (requires cheats)
Witch's Brew Giving: /handycommands potion brew give
(Requires the Goety mod installed)
Gives a Witch's Brew with a specified effect.
/handycommands potion brew give <effect> <seconds> [level]
Example: /handycommands potion brew give minecraft:luck 60 – gives a 60‑second Luck I Brew
Example: /handycommands potion brew give minecraft:strength 120 4 – gives a 120‑second Strength V Brew
Effect uses Minecraft registry names
Time in seconds, minimum 1 second
Level optional, defaults to I
Level can exceed 255 (only for this command)
Tab completion for all registered effects
If Goety is not installed, the command shows an error without crashing
The obtained Brew can be further modified with /handycommands potion additional/unbreakable/name
Permission level: 2 (requires cheats)
Test Mob Summoning: /handycommands summon
Spawns standardised, blank test targets for damage testing scenarios. All spawned mobs have no AI, no weapons, and no potion effects – only their base type (undead, arthropod, neutral) is retained for damage category testing.
/handycommands summon smite – summons a Zombie (undead)
/handycommands summon bane_of_arthropods – summons a Spider (arthropod)
/handycommands summon villager – summons a Villager (neutral)
Optional attribute parameters (default 0 if omitted):
/handycommands summon smite <armour> <physRes%> <magRes%> <IronSpellsMagRes> <GoetyMagRes%>
Example: /handycommands summon smite 20 50 – summons a Zombie with 20 armour and 50% physical resistance (others 0)
Example: /handycommands summon villager 0 0 30 5 15 – Villager with 0 armour, 0 phys resist, 30% magic resist, 5 Iron Spells magic resist, 15% Goety magic resist
Summoned mob properties:
Health is configurable in the config file (default 10000), bypassing vanilla 1024 cap
No AI (does not move or attack)
No weapons, no potion effects
Five defensive attributes can be set (all optional, default 0):
Vanilla armour: 1 = 1 armour point
Vanilla resistance: 1 = 1% physical damage reduction (multiplicative with armour)
Vanilla magic resistance: 1 = 1% magic damage reduction
Iron Spells magic resistance: 1 = 1 point of fixed magic damage reduction
Goety magic resistance: 1 = 1% magic damage reduction
Does not despawn naturally; spawns at the player's current position
Permission level: 2 (requires cheats)
Item Durability Modification: /handycommands durability
Directly modifies the durability value of the held item, allowing values beyond the original maximum.
/handycommands durability <value>
Example: /handycommands durability 10000 – sets a diamond sword's durability to 10000 (vanilla max is 1561)
Example: /handycommands durability 1 – sets durability to 1 (almost broken)
Value must be ≥ 0 (setting to 0 makes the item nearly broken)
Can exceed the item's original max durability – no Unbreakable tag required
Only works on items that have durability (tools, weapons, armour, shields, etc.)
Non‑durable items (blocks, food) show an error
Permission level: 2 (requires cheats)
Easter Egg Command: /handycommands gxyy
A hidden easter egg command – explore its effect in‑game.
/handycommands gxyy
Permission level: 2 (requires cheats in singleplayer)
Configuration File
Location: .minecraft/config/handycommands-common.toml
maxEnchantLevel = 255 (range 1–255)
bypassAllEnchantLimits = true
true = fully bypass, allow any level
false = allow max(vanilla cap, maxEnchantLevel)
summonSmiteHealth = 10000 (Zombie test target health)
summonBaneOfArthropodsHealth = 10000 (Spider test target health)
summonVillagerHealth = 10000 (Villager test target health)
bypassHealthCap = true
true = removes the vanilla 1024 health cap, allowing custom health values
false = keeps vanilla 1024 cap (compatible with other health‑cap‑changing mods)
Frequently Asked Questions
Q: Does level 255 enchantments break game balance? A: The default cap is 255, but server admins can lower maxEnchantLevel in the config. We recommend lower values (e.g., 10–20) for survival servers.
Q: Can @i and @! selectors be used in command blocks? A: Yes. Both custom selectors work in any context that supports entity selectors, including command blocks and data pack functions.
Q: Do many forceloaded chunks affect performance? A: Yes, each forceloaded chunk consumes server resources. Use them only when necessary (e.g., redstone contraptions, mob farms) and remove them promptly. Use /handycommands chunk list to see active forceloads. The highlight box is purely visual and has negligible performance impact.
Q: Is the /handycommands mitigation calculation accurate? A: The formula follows vanilla Minecraft 1.20.1 damage reduction logic exactly (see LivingEntity.getDamageAfterArmorAbsorb and related source). The values are based on a reference damage of 10.0; actual in‑game percentages may vary slightly for different damage values (especially with high toughness). If other mods modify the damage formula, the displayed percentages may not match actual behaviour.
Q: Can test mobs have custom health? And can it exceed 1024? A: Yes. Adjust summonSmiteHealth, summonBaneOfArthropodsHealth, and summonVillagerHealth in the config. This mod uses a Mixin to bypass the vanilla 1024 cap, allowing health up to Integer.MAX_VALUE (~2.1 billion). If you have another mod that also changes the health cap, set bypassHealthCap = false to avoid conflicts. Restart the game after changing.
Q: Why isn't /handycommands chunk integrated with Xaero's World Map? A: The Xaero integration was removed in an update; the mod now uses built‑in 3D world highlighting only.

