header
premium banner

Description

What is this?

Helpful Hitboxes is a clientside mod which makes certain small blocks easier to place by using the behaviour from scaffolding where its hitbox changes to a full cube when you're looking at it with another scaffolding block:

The mod gives this behavior to fences, panes (including iron bars) and separately, chain blocks and end rods. This makes them much nicer to place on top of each other, because you don't have to position your mouse as precisely. It also works if the block is held in the offhand, allowing you to destroy them with tools more easily as well, and MC-143005 is fixed along with this.

Configuration & Options

The full hitbox behaviour can be disabled with a keybind, set to Y by default. You can also change it from a toggle button to one that needs to be held down inside the Accessibility Settings screen.

If you think that different blocks should use this behaviour, or if you want to make blocks from another mod compatible with it (e.g. those that add new bars or chains) you can do this in the config file.

Inside the config folder, there will be a file called helpfulhitboxes.json that looks like this by default.

The JSON Array compatible_blocks defines the blocks that work in the mod. Block names that are placed directly inside it, such as minecraft:chain will work individually. What this means is that they will only exhibit the full cube hitbox behaviour when the player is holding that specific block; by default, chains only work with chains and end rods only work with end rods. (Scaffolding is added only to make it work with the offhand). However, if you define another JSON array called group inside of it, all of the block names within will be 'grouped' and work with each other. For example, by default any fence will use the full cube when the player is holding any other fence, and all pane-like blocks (glass panes and iron bars) will use the full cube when holding any other of them.

It is possible to specify block tags in either the grouped main array or one of the groups, as can be seen in the default file. It does not matter if redundant block IDs are declared, as can be seen with the use of both the names for each vanilla glass pane and the c and forge tags which support new panes from fabric and forge respectively, but also include the vanilla ones. This is also an example of how it is not necessary for a block or tag ID to correspond to an actual value - the mod will ignore any that don't exist in the game, such as quark:gold_bars However, the config file must use correct JSON syntax. If you forget to put a comma after one of the IDs or groups that isn't the last one in its array, or if you open a bracket without closing it, the file will be not be read and the mod will revert to the default list of compatible blocks. If you are having trouble with the syntax, try putting the config file into an online JSON validator, which will highlight the errors for you.

 

For versions 1.19 and higher, the Fabric version of this mod requires Fabric API.