We recommend using the Thunderstore Mod Manager or an alternative for installing mods
Bend the rules of building! Copy any object, make structures indestructible, remove all restrictions, destroy anything and more... Compatible with unmodded clients.
Last updated | 2 weeks ago |
Total downloads | 9441 |
Total rating | 3 |
Categories | Client-side Utility |
Dependency string | JereKuusela-Infinity_Hammer-1.15.0 |
Dependants | 23 other mods depend on this mod |
BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.
Preferred version: 5.4.1900Bend the rules of building! Copy any object, make structures indestructible, remove all restrictions, destroy anything and more...
Client-side mod that is compatible with unmodded clients.
Note: Some commands have a direction parameter. These are intended for mouse wheel binding and are something you probably don't have to use.
hammer
: Selects the hovered object to be placed.hammer [item id]
: Selects an object by id (Item IDs) to be placed.hammer [item id] [scale=1]
: Selects an object by id while setting the initial scale (if the object can be scaled). Number or x,y,z.hammer_add_piece_components
: Adds the Piece component to every object which allows copying them with PlanBuild mod.hammer_blueprint [file name]
: Selects a Build Share or a Plan Build blueprint located on your computer.hammer_config [key] [value]
: Toggles or sets configuration values. For lists, the given value is toggled on or off (remove_blacklist
or select_blacklist
).hammer_freeze
: Toggles whether the mouse affects placement position. Allows moving around while the object's position is frozen.hammer_grid [precision] [center=current]
: Restricts possible placement coordinates. Using the same command removes the restriction.hammer_location [location_id] [seed=0] [random damage]
: Selects a location by id. Allows setting the random result with seed ("all" value enables all child objects).hammer_move [forward,up,right]
: Moves the placement ghost offset for precise placement. Auto value can be used for the object size.hammer_move_backward [meters or number*auto] [direction=1]
: Moves the placement towards the backward direction.hammer_move_down [meters or number*auto] [direction=1]
: Moves the placement towards the down direction.hammer_move_forward [meters or number*auto] [direction=1]
: Moves the placement towards the forward direction.hammer_move_left [meters or number*auto] [direction=1]
: Moves the placement towards the left direction.hammer_move_right [meters or number*auto] [direction=1]
: Moves the placement towards right left direction.hammer_move_up [meters or number*auto] [direction=1]
: Moves the placement towards the up direction.hammer_offset [forward,up,right]
: Sets the placement ghost offset.hammer_offset_x [value]
: Sets the offset in the right / left direction.hammer_offset_y [value]
: Sets the offset in the up / down direction.hammer_offset_z [value]
: Sets the offset in the forward / backward direction.hammer_place
: Allows placing with a key press (for command bindings).hammer_redo
: Restores reverted actions. Uses Server Devcommands undo system if installed.hammer_repair
: Selects the repair tool. Useful for clearing the selection.hammer_rotate_x [degrees] [direction=1]
: Rotates around the X axis.hammer_rotate_x [number*random] [direction=1]
: Randomly rotates around the X axis with a given step size. For example 3*random
would randomly rotate 0, 120 or 240 degrees.hammer_rotate_x [random] [direction=1]
: Randomly rotates around the X axis depending on the object shape (90 or 180 degrees precision).hammer_rotate_y [degrees/number*random/random] [direction=1]
: Rotates around the Y axis.hammer_rotate_y [number*random] [direction=1]
: Randomly rotates around the Y axis with a given step size. For example 3*random
would randomly rotate 0, 120 or 240 degrees.hammer_rotate_y [random] [direction=1]
: Randomly rotates around the Y axis depending on the object shape (90 or 180 degrees precision).hammer_rotate_z [degrees/number*random/random] [direction=1]
: Rotates around the Z axis.hammer_rotate_z [number*random] [direction=1]
: Randomly rotates around the Z axis with a given step size. For example 3*random
would randomly rotate 0, 120 or 240 degrees.hammer_rotate_z [random] [direction=1]
: Randomly rotates around the Z axis depending on the object shape (90 or 180 degrees precision).hammer_save [file name]
: Saves the selection to a blueprint.hammer_scale [scale=1]
: Sets the object scale (if the object can be scaled). Number or x,y,z.hammer_scale_up
: Scales up the object (if the object can be scaled).hammer_scale_down
: Scales down the object (if the object can be scaled).hammer_stack [forward,up,right or z1-z2,y1-y2,x1-x2] [step=auto,auto,auto] [direction=1]
: Places multiple objects next to each other.hammer_stack_backward [amount or min-max] [step=auto] [direction=1]
: Places multiple objects towards the backward direction.hammer_stack_down [amount or min-max] [step=auto] [direction=1]
: Places multiple objects towards the down direction.hammer_stack_forward [amount or min-max] [step=auto] [direction=1]
: Places multiple objects towards the forward direction.hammer_stack_left [amount or min-max] [step=auto] [direction=1]
: Places multiple objects towards the left direction.hammer_stack_right [amount or min-max] [step=auto] [direction=1]
: Places multiple objects towards the right direction.hammer_stack_up [amount or min-max] [step=auto] [direction=1]
: Places multiple objects towards the up direction.hammer_undo
: Reverts placing or removing. Uses Server Devcommands undo system if installed.Note: Some interactions are quite complicated so please report any issues!
Bind frequently used commands to (key codes).
When sharing the config file, put bindings to the binds
setting with format keycode1 command1;keycode2 command2
. For example keypad0 hammer;keypad7 hammer_undo;keypad9 hammer_redo
.
It's recommended to install Server Devcommands mod which allows using modifier keys on bindings.
Remember that you can copy-paste commands to the console.
Quickly selects the hovered object and undo/redo:
bind keypad5 hammer
bind keypad7 hammer_undo
bind keypad9 hammer_redo
Object scaling and reset:
bind keypad1 hammer_scale_down
bind keypad2 hammer_scale
bind keypad3 hammer_scale_up
Toggles all features on/off (if even needed):
bind keypad8 hammer_config enabled
Bind freezing or offset reset near arrow keys:
bind keypad0 hammer_freeze
or bind keypad0 hammer_offset
Then bind movement to arrow keys:
bind rightarrow hammer_move_right 0.1
bind leftarrow hammer_move_left 0.1
bind downarrow hammer_move_down 0.1
bind uparrow hammer_move_up 0.1
With Server Devcommands you can use modifier keys for the forward/backward direction:
bind rightarrow hammer_move_right 0.1
bind leftarrow hammer_move_left 0.1
bind downarrow,-leftcontrol hammer_move_down 0.1
bind uparrow,-leftcontrol hammer_move_up 0.1
bind downarrow,leftcontrol hammer_move_backward 0.1
bind uparrow,leftcontrol hammer_move_forward 0.1
You can also use another modifier key for a bigger offset:
bind rightarrow,-leftalt hammer_move_right 0.1
bind leftarrow,-leftalt hammer_move_left 0.1
bind downarrow,-leftalt,-leftcontrol hammer_move_down 0.1
bind uparrow,-leftalt,-leftcontrol hammer_move_up 0.1
bind downarrow,-leftalt,leftcontrol hammer_move_backward 0.1
bind uparrow,-leftalt,leftcontrol hammer_move_forward 0.1
bind rightarrow,leftalt hammer_move_right 1
bind leftarrow,leftalt hammer_move_left 1
bind downarrow,leftalt,-leftcontrol hammer_move_down 1
bind uparrow,leftalt,-leftcontrol hammer_move_up 1
bind downarrow,leftalt,leftcontrol hammer_move_backward 1
bind uparrow,leftalt,leftcontrol hammer_move_forward 1
Following powers are available with hammer_config
command:
true
, key: enabled
): If false, disabled most features.true
, key: all_objects
): Hammer can select and place any object. Any placed object can be removed with the hammer until the area is reloaded.true
, key: allow_in_dungeons
): Building is allowed in dungeons.true
, key: auto_equip
): Automatically equips the hammer when selecting an object.
, key: binds
): Sets binds at the game start up. Any existing binds are cleared from those keys.0
, key: build_range
): Range for building (capped at about 50 meters).BuildShare/Builds
, key: build_share_folder
): Folder relative to the Valheim.exe.true
, key: copy_rotation
): Copies rotation of the selected object.true
, key: copy_state
): Object state is copied (for example chest contents or item stand items).false
, key: disable_loot
): Creatures and structures won't drop loot when destroyed with the hammer.false
, key: disable_marker
): Whether the placement ghost is visualized.true
, key: enable_undo
): Whether the undo/redo feature is enabled.true
, key: ignore_no_build
): "Mystical power" no longer prevents building.true
, key: ignore_other_restrictions
): Removes any other restrictions (for example campfires can be built on wood floors).true
, key: ignore_wards
): Wards no longer prevent building.false
, key: infinite_health
): Sets the Overwrite health setting to 10E30.true
, key: no_build_cost
): Removes resource cost and crafting station requirement.false
, key: no_creator
): Builds without setting the creator information.true
, key: no_durability_loss
): Hammer auto-repairs used durability.true
, key: no_stamina_cost
): Hammer auto-regens used stamina.0
, key: overwrite_health
): Sets the health of built or repaired objects (0 reverts to the default max health, except for creatures).BepInEx/config/PlanBuild
, key: plan_build_folder
): Folder relative to the Valheim.exe.false
, key: remove_anything
): Allows removing any object.0
, key: remove_area
): Removes same objects within the radius.remove_blacklist
): Allows disabling remove for given objects (ids separated by ,). Only works if remove anything is enabled.false
, key: remove_effects
): Removes visual effects of building, repairing and destroying.0
, key: remove_range
): Range for removing (capped at about 50 meters).false
, key: repair_anything
): Allows healing or repairing any object.0
, key: repair_range
): Range for repairing (capped at about 50 meters).false
, key: repair_taming
): Repairing full health creatures will tame/untame them (works for all creatures).true
, key: reset_offset_on_unfreeze
): Removes the placement offset when unfreezing the placement.0.05
, key: scaling_step
): How much the object is scaled up/down.select_blacklist
): Allows disabling select for given objects (ids separated by ,).0
, key: select_range
): Range for selecting (capped at about 50 meters).false
, key: unfreeze_on_select
): Removes the placement freeze when selecting a new object.true
, key: unfreeze_on_unequip
): Removes the placement freeze when unequipping the hammer.On servers, above features are disabled without cheat access (except Copy rotate, No placement marker, Remove effects, Select range and offsetting).
Messages from the mod can be configured with following settings:
chat_output
: Sends messages to the chat window (when using binds or commands in the chat window).disable_messages
: Disables all messages from the mod (console output not affected).disable_offset_messages
: Disables messages from changing the placement offset.disable_scale_messages
: Disables messages from changing the object scale.disable_select_messages
: Disables messages from selecting objects.Hammer configuration applies to all building, including the standard structures selected from the build menu.
When selecting an existing object, its size and rotation is copied to the placement tool. If "Copy rotation" is disabled then the selection tool keeps the last rotation. The last rotation is always used when using the build window.
Object scaling only works for some objects (mostly trees and rocks). This is restricted by the base game (scaling is not stored in the save file).
If "Overwrite health" is enabled, objects have a specified health (including creatures). For minerocks, the health is applied to the individual parts (the outer shell stays at 1 health). Repairing can be used to modify the shell health if needed.
Setting a very high health (like "1E30") can be used to make object indestructible because the damage taken is rounded down to zero. This also prevents structures collapsing from lack of support.
For creatures, the max health resets when the area is reloaded if the current health equals the max health. For this reason, the current health is set slightly higher than the max health.
"Copy state" only applies when selecting existing objects since structures from the build menu are stateless. However the creator ID is always set based on the "No creator" setting, even for non-standard structures.
"No creator" is currently quite pointless since most structures ignore the value and will get targeted by the enemies regardless of the value. But maybe someone can find some use for it.
Locations (Points of Interest) can also be copied. However only static parts are included in the actual location. For example in the start temple, each boss stone is a separate object and can be copied separately if needed.
By default, only change is that the UI shows how much damage was repaired.
If "Repair anything" is enabled, most destructible objects can be repaired or healed. This includes creatures and players.
For minerocks, if the targeted part is already at full health, a random part is restored instead. This is not very practical but can be used to restore any accidental changes to minerocks.
If "Overwrite health" is enabled, the object is repaired or damaged to the specified health value.
For creatures, the maximum health value is also set. So they will keep their max health even when disabling "Overwrite health". Other objects will revert to the original max health when repaired.
Unfortunately, the max health resets when the area is reloaded if the current health equals the max health. For this reason, the current health is set slightly higher than the max health.
By default, destroying only works for standard structures and placed objects. Placed objects can only be removed temporarily since the required information is lost when the area is reloaded.
If "Destroy anything" is enabled, all objects can be removed.
If "Disable loot" is enabled, destroying creatures or structures won't drop loot. This can be useful to get rid of very high starred creatures that crash the game when killed.
Blacklist can be used to avoid destroying critical objects like locations. For example hammer_config remove_blacklist LocationProxy
.
v1.15
hammer_save
to create blueprints with data.chat_output
to control is the output show on the chat window (default false
).max_undo_steps
as obsolete (usually Server Devcommands installed).v1.14
hammer_grid
to restrict the possible placement coordinates.v1.13
v1.12
hammer_blueprint
to place new instances of Build Share and Plan Build blueprints.hammer_location
to place new instances of locations.hammer_freeze
to prevent mouse position affecting the placement (allows moving around).build_share_folder
to configure the blueprint folder.plan_build_folder
to configure the blueprint folder.unfreeze_on_unequip
to automatically unfreeze the placement when unequipping the hammer (default true
).unfreeze_on_select
to automatically unfreeze the placement when selecting a new piece (default false
).reset_offset_on_unfreeze
to automatically reset the placement offset when a freeze is removed (default true
).infinite_health
to set a very high Overwrite health (default false
).hammer_config
command.hammer_setup_binds
as obsolete (probably just caused conflicts for most people).v1.11
binds
to automatically set binds at the game start up.hammer_rotate_*
commands.v1.10
hammer_move_*
to be more clear about the direction.hammer_stack_*
to be more clear about the direction.v1.9
hammer_move_*
commands not working properly.hammer_stack_*
not working with rotated objects.v1.8
number*auto
value to the commands hammer_move_x
, hammer_move_y
and hammer_move_z
(automatically sets the step size).hammer_move_x
, hammer_move_y
and hammer_move_z
for Server Devcommands mouse wheel binding.hammer_repair
to select the repair tool.hammer_place
to place pieces with commands.hammer_rotate_x
, hammer_rotate_y
and hammer_rotate_z
to change rotation with commands.hammer_stack_x
, hammer_stack_y
, hammer_stack_z
and hammer_stack
to place multiple objects next to each other.disable_messages
, disable_offset_messages
, disable_scale_messages
and disable_select_messages
to configure the output.remove_area
for removing the same objects within a radius.hammer_config
command to allow directly setting flags with values 1 and 0.hammer_config
command to work better when giving multiple values to some commands.hammer_config
command to print the current value for non-flags if no parameter is given.v1.7
remove_blacklist
that allows disabling remove for some objects.select_blacklist
that allows disabling select for some objects.ignore_other_restrictions
being able to ignore no build zones, etc.ignore_other_restrictions
allowing placement to arbitrary position when the placement ghost is not active.hammer_add_piece_components
affecting players.v1.6:
auto_equip
to automatically equip the hammer when selecting an object (enabled by default).disable_marker
setting also disabling the Gizmo visual or the Plan Build visual.v1.5
hammer_add_piece_components
to allow copying anything with PlanBuild.hammer_setup_binds_DEV
command as obsolete (Server devcommands mod is used automatically, if installed).v1.4
v1.3
v1.2
v1.1
v1.0
Thanks for Azumatt for creating the mod icon!
Please note that the install buttons only work if you have compatible client software installed, such as the Thunderstore Mod Manager. Otherwise use the zip download links instead.
Upload date | Version number | Downloads | Download link | |
---|---|---|---|---|
2022-6-14 | 1.15.0 | 1038 | Version 1.15.0 | Install |
2022-5-20 | 1.14.0 | 1415 | Version 1.14.0 | Install |
2022-5-12 | 1.13.0 | 666 | Version 1.13.0 | Install |
2022-5-12 | 1.12.0 | 115 | Version 1.12.0 | Install |
2022-3-31 | 1.11.0 | 1905 | Version 1.11.0 | Install |
2022-3-27 | 1.10.0 | 388 | Version 1.10.0 | Install |
2022-3-26 | 1.9.0 | 110 | Version 1.9.0 | Install |
2022-3-25 | 1.8.0 | 174 | Version 1.8.0 | Install |
2022-3-2 | 1.7.0 | 859 | Version 1.7.0 | Install |
2022-2-5 | 1.6.0 | 853 | Version 1.6.0 | Install |
2022-2-1 | 1.5.0 | 346 | Version 1.5.0 | Install |
2022-1-25 | 1.4.0 | 425 | Version 1.4.0 | Install |
2022-1-13 | 1.3.0 | 596 | Version 1.3.0 | Install |
2022-1-13 | 1.2.0 | 42 | Version 1.2.0 | Install |
2022-1-5 | 1.1.0 | 370 | Version 1.1.0 | Install |
2022-1-4 | 1.0.0 | 139 | Version 1.0.0 | Install |