
Mods / Block Pick
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 |
seems good so far, thank you!
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.
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
using this still in 1.20- rc6. it still works.
@Hellaeh, tested. working. thank you. mod creators are the best gamers!
TheRealFlynn, should work in 2.4.0. Don't have any time to test it tho.
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.
Hellaeh, looks like another mod has this same functionality. Removing that mod made it go away. Thank you
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.
WolfyCowGirl101, for now i've added a more strict null checking in 2.2.1. Check it out.
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.
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
ok so I am just stuck with my mouse 3 bound to block pick?
sdkenny, there's no way to bind/unding mouse buttons in vanilla game.
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
Snowbirdo, i have no plans for such functionality.
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 :>
Thank you, there are so many QOL improvements in VS not having block pick felt like a step back.
Very cool. Works straight out the box
Thank you! I've been also missing this feature from... hmm, other game, and was suprised there was no mod for it.
Kurazarrh
You are an absolute lifesaver. I have been baffled at how this wasn't included in the vanilla game! >.< Thank you!!
1.0.5 - With middle click shipped. You can still use hotkey.
That was my intention, and i'm still looking into it. No promises tho.
Can you bind it to middle click just like creative?