Mods / Block Pick

Tags: #QoL
Author: Hellaeh
Side: Client
Created: Nov 4th 2023 at 2:53 PM
Last modified: Mar 29th at 1:53 PM
Downloads: 5830
Follow Unfollow 128

Latest release (for outdated Vintage Story v1.20.x):
BlockPick-2.6.0.zip  1-click install


Allows you to "pick" a block, like Creative Mode middle click do.

Unlike Creative Mode version will not add blocks\items if you don't have them.

Uses 'Pick Block' hotkey - middle mouse by default

Config file - `helblockpickconfig.json`:
{
  "IgnoreToolSlot": true, // Can put picked block in tool slot
  "PreferCurrentActiveSlot": true, // Choose current active hotbar slot. Works with `IgnoreToolSlot`
  "PreferEmptySlot": true, // Choose any empty slot
  "FallbackSlot": 9 // Fallback slot (leftmost is 0) if no suitable hotbar slot found
}

2.2.0 changed hotbar slot choosing algorithm, if you want old behavior - set PreferCurrentActiveSlot to false

Version For Game version Downloads Release date Changelog Download 1-click mod install*
v2.6.0 477 Mar 29th at 1:53 PM Show BlockPick-2.6.0.zip 1-click install
v2.5.0 1228 Dec 13th 2024 at 2:47 AM Show BlockPick-2.5.0.zip 1-click install
v2.4.0 1343 May 14th 2024 at 3:11 PM Show BlockPick-2.4.0.zip 1-click install
v2.3.0 538 Feb 15th 2024 at 4:57 PM Show BlockPick-2.3.0.zip 1-click install
v2.2.1 314 Jan 28th 2024 at 3:54 AM Show BlockPick-2.2.1.zip 1-click install
v2.2.0 274 Jan 21st 2024 at 2:15 AM Show BlockPick-2.2.0.zip 1-click install
v2.1.1 361 Dec 25th 2023 at 10:44 PM Show BlockPick-2.1.1.zip 1-click install
v2.1.0 151 Dec 25th 2023 at 12:53 PM Show BlockPick-2.1.0.zip 1-click install
v2.0.0 199 Dec 20th 2023 at 12:16 PM Show BlockPick-2.0.0.zip 1-click install
v1.0.6 343 Nov 11th 2023 at 8:23 PM Show BlockPick.zip 1-click install
v1.0.5 253 Nov 6th 2023 at 11:20 AM Show BlockPick.zip 1-click install
v1.0.4 170 Nov 5th 2023 at 7:17 AM Show BlockPick.zip 1-click install
v1.0.3 179 Nov 4th 2023 at 2:56 PM Show BlockPick.zip 1-click install

24 Comments (oldest first | newest first)

💬 tak, Mar 31st at 9:03 PM

seems good so far, thank you!

💬 Hellaeh , Mar 29th at 1:56 PM

tak, unfortunately this is not the first occurrence of a crash i cannot reproduce. Have added more null checks in 2.6.0, try it out.

💬 tak, Mar 28th at 11:38 PM

Thanks for the mod it's great!

 

I'm getting a crash when middle-clicking a large wooden gear block when I don't have that block in my inventory (no crash and it works fine if I do have it in inventory). (Version 1.20.6):

 

System.NullReferenceException: Object reference not set to an instance of an object.
at HelBlockPick.Core.Handler() in D:\VSDev\BlockPick\src\core.cs:line 67
at HelBlockPick.Core.<>c__DisplayClass7_0.g__newHandler|0(KeyCombination key) in D:\VSDev\BlockPick\src\core.cs:line 48
at Vintagestory.Client.HotkeyManager.TriggerHotKey(KeyEvent keyEventargs, IWorldAccessor world, IPlayer player, Boolean allowCharacterControls, Boolean isGlobal, Boolean fallBack, Boolean keyup) in VintagestoryLib\Client\HotkeyManager.cs:line 431
at Vintagestory.Client.NoObf.ClientPlatformWindows.Mouse_ButtonDown(MouseButtonEventArgs e) in VintagestoryLib\Client\ClientPlatform\Input.cs:line 198
at OpenTK.Windowing.Desktop.NativeWindow.MouseButtonCallback(Window* window, MouseButton button, InputAction action, KeyModifiers mods)
--- End of stack trace from previous location ---
at OpenTK.Windowing.Desktop.NativeWindow.RethrowCallbackExceptionsIfNeeded()
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 334
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 130
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93

💬 Hexis, Jan 2nd at 1:55 AM

using this still in 1.20- rc6. it still works. 

💬 TheRealFlynn, May 15th 2024 at 4:41 AM

@Hellaeh, tested. working. thank you. mod creators are the best gamers!

💬 Hellaeh , May 14th 2024 at 3:13 PM

TheRealFlynn, should work in 2.4.0. Don't have any time to test it tho.

💬 TheRealFlynn, May 13th 2024 at 8:30 PM

chance of compatibility for this essential mod to work with xskills?

unknown inventory class = "xskillshotbar"

Tried to "pick block" on an item that was stored in the special inventory space created by the xskills mod's "strong back" ability.

💬 sdkenny, Jan 30th 2024 at 3:11 AM

Hellaeh, looks like another mod has this same functionality. Removing that mod made it go away.  Thank you

💬 WolfyCowGirl101, Jan 28th 2024 at 10:38 AM

Thank you checking it out now.

Edit: Yeah I should of guessed it is one of the other mods not playing nice thought maybe the Trail Mod might have done something with the snow, but was not the culprit. I'll have to go through and check which mod is invoking the crash.

💬 Hellaeh , Jan 28th 2024 at 3:55 AM

WolfyCowGirl101, for now i've added a more strict null checking in 2.2.1. Check it out.

💬 Hellaeh , Jan 28th 2024 at 3:45 AM

sdkenny, if disabling the mod does not help - you can remove it from "Mods" folder entirely. There's vanilla "pick block", but it's only working in creative.

WolfyCowGirl101, i couldn't reproduce that crash. Maybe it's some weird interaction with other mod. I'll take a look, but no promises.

💬 WolfyCowGirl101, Jan 28th 2024 at 1:10 AM

I've ran into an issue where pick blocking on snow layers will cause a crash to happen on the client only.
Here's the log:

Running on 64 bit Windows 10.0.19045.0 with 32680 MB RAM
Game Version: v1.19.3 (Stable)
1/27/2024 8:06:06 PM: Critical error occurred in the following mod: helblockpick@2.2.0
Loaded Mods: advancedsmithing@1.3.0, bettertraders@0.0.4, chiseltools@1.10.1, landformoverhaul@0.0.2, crazyskincustomization@1.0.0, hqzlights@1.1.1, extrachests@1.8.0, flourbags@1.0.2, glowingarrows@1.2.0, HangingOilLamps@1.0.1, moredrygrass@0.2.0, MoveLikeKaji@0.0.5, unochre@1.2.0, qptech@1.14.2, restoredhaircolors@1.0.0, rcl@1.0.2, sortablestorage@2.2.1, SpeedBoostCraftables@1.0.2, spiderwebtwine@0.0.1, spyglass@0.5.0, utvocals@1.0.0, visibleore@1.0.1, game@1.19.3, weaponpackalphaunoff@1.5.0, abcsreborn@0.1.5, betteroutline@1.3.0, blacksmithgloves@1.0.1, helblockpick@2.2.0, buildrefillmod@1.0.1, carryon@1.7.2, Clumps@1.0.0, commonlib@2.3.2, dirtpaths@1.0.0, dressful@1.6.0, egocaribautomapmarkers@3.0.2, extrainfo@1.7.0, freedomunits@1.1.2, hudclock@3.4.0, itemframe@1.0.0, sailboat@1.2.6, liquidcontainers@1.2.0, medievalexpansion@3.13.1, morepiles@1.5.0, petai@2.2.1, pileful@1.1.2, postsandbeams@1.2.0, rivers@1.2.0, scarecrow@1.4.1, storageoptions@1.0.2, th3dungeon@0.2.1-rc.1, th3restock@1.1.1, trailmod@1.0.0, usefulstuff17@1.3.0, vanvar@3.3.0, vmetp@1.1.1, vresp@1.1.0, creative@1.19.3, survival@1.19.3, waypointtogether@1.0.1, woodstain@1.0.1, ageofconfession@1.3.1, awearablelight@1.0.10, cats@2.0.1, tradercamps@1.0.8, em@2.5.0-pre.1, feverstonehorses@1.6.0, foxtaming@1.4.0, maltiezbows@1.0.1, fluffytowelsmorenuggets@1.0.0, pickupartist@0.2.0, pickupfast@1.0.2, stonepiles@1.1.2, stonequarry@3.2.1, tpnet@1.14.2, vanity@1.0.0, wolftaming@2.0.2, bricklayers@2.5.0-pre.2
System.NullReferenceException: Object reference not set to an instance of an object.
at HelBlockPick.Core.HotKeyHandler()
at HelBlockPick.Core.OnMouseDown(MouseEvent e)
at Vintagestory.Client.NoObf.ClientEventAPI.TriggerMouseDown(MouseEvent ev) in VintagestoryLib\Client\API\ClientEventAPI.cs:line 301
at Vintagestory.Client.NoObf.ClientMain.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\ClientMain.cs:line 1816
at Vintagestory.Client.GuiScreenRunningGame.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 329
at Vintagestory.Client.ScreenManager.OnMouseDown(MouseEvent e) in VintagestoryLib\Client\ScreenManager.cs:line 881
at Vintagestory.Client.NoObf.ClientPlatformWindows.Mouse_ButtonDown(MouseButtonEventArgs e) in VintagestoryLib\Client\ClientPlatform\Input.cs:line 201
at OpenTK.Windowing.Desktop.NativeWindow.OnMouseDown(MouseButtonEventArgs e)
at OpenTK.Windowing.Desktop.NativeWindow.MouseButtonCallback(Window* window, MouseButton button, InputAction action, KeyModifiers mods)
--- End of stack trace from previous location ---
at OpenTK.Windowing.Desktop.NativeWindow.RethrowCallbackExceptionsIfNeeded()
at OpenTK.Windowing.Desktop.NativeWindow.ProcessWindowEvents(Boolean waitForEvents)
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 318
at Vintagestory.Client.ClientProgram.<>c__DisplayClass9_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 128
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93

💬 sdkenny, Jan 28th 2024 at 12:44 AM

ok so I am just stuck with my mouse 3 bound to block pick?

💬 Hellaeh , Jan 27th 2024 at 7:39 PM

sdkenny, there's no way to bind/unding mouse buttons in vanilla game.

💬 sdkenny, Jan 27th 2024 at 7:15 PM

After removing this mod, and while it was still installed, I cant unbind middle click.  I use middle click for push to talk.  Is there any way to unbind this?  It persists even after removing the mod. Using 1.18.15

💬 Hellaeh , Jan 22nd 2024 at 8:24 PM

Snowbirdo, i have no plans for such functionality.

💬 Snowbirdo, Jan 21st 2024 at 9:57 PM

Would there be any chance for you to add a config option to have that button actually add the item to your inventory in survival mode? I would greatly appreciate it because I love playing almost creative but in survival mode where you at least have to first find the blocks you want to copy :>

💬 SwagPenguin, Jan 21st 2024 at 5:12 PM

Thank you, there are so many QOL improvements in VS not having block pick felt like a step back.

💬 CBob, Nov 13th 2023 at 2:39 AM

Very cool. Works straight out the box

💬 Hellaeh , Nov 12th 2023 at 6:58 PM

Thank you! I've been also missing this feature from... hmm, other game, and was suprised there was no mod for it.

Kurazarrh

💬 Kurazarrh, Nov 12th 2023 at 3:03 AM

You are an absolute lifesaver. I have been baffled at how this wasn't included in the vanilla game! >.< Thank you!!

💬 Hellaeh , Nov 6th 2023 at 11:20 AM

1.0.5 - With middle click shipped. You can still use hotkey.

💬 Hellaeh , Nov 5th 2023 at 3:33 PM

That was my intention, and i'm still looking into it. No promises tho.

💬 Vogi, Nov 5th 2023 at 1:48 PM

Can you bind it to middle click just like creative?

 (edit comment delete)