Mods / PrecisePickedUp

Tags: #Technology
Author: MystiVaid
Side: Both
Created: Oct 1st 2024 at 1:41 PM
Last modified: Apr 16th at 3:59 PM
Downloads: 556
Follow Unfollow 16

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


精确拾取

  1. 允许使用鼠标右键拾取掉落物和投射物,可以设置拾取条件:右手为空,右手或左手为空,无条件。
  2. 会显示准星处的掉落物和投射物的名称与介绍,可以关闭介绍显示。
  3. 可以开关掉落物合并功能,允许设置掉落物合并的时间间隔与范围。
  4. 可以关闭掉落物自动拾取,只能使用右键拾取。
  5. 可以不允许在掉落物的位置放置方块。
  6. 默认开启范围拾取功能,以交互的掉落物/投射物为中心,将拾取指定范围内的所有同种掉落物/投射物

配置文件:VintagestoryData/ModConfig/PrecisePickedUp.json

{
  "PickupConditions": 1 // 右键拾取条件 0: 右手为空  1: 右手或左手为空  2: 无条件
  "CanAutoCollect": true, // 是否允许自动拾取掉落物
  "CanPlaceBlock": true, // 是否允许在掉落物处放置方块
  "ShowItemDescription": true, // 显示物品介绍
  "AutoMerge": true, // 掉落物自动合并
  "MergeRange": { // 合并范围
    "X": 1.5, // 水平范围
    "Y": 0.2 // 垂直范围
  },
  "MergeInterval": 5.0, // 合并间隔
  "RangePickup": true, // 范围拾取
  "PickupRange": { // 拾取范围
    "X": 1.5, // 水平范围
    "Y": 0.2 // 垂直范围
  }
}
推荐配合更好的实体交互,方便拾取植物方块中的掉落物:https://mods.vintagestory.at/betterentityinteraction
 

Precise Pickup

  1. Allows using the right mouse button to pick up dropped items and projectiles, with configurable pickup conditions: right hand empty, either hand empty, or no conditions.
  2. Displays the name and description of the targeted dropped item or projectile. The description display can be toggled off.
  3. Enables/disables item merging for dropped items, with adjustable merge interval and range.
  4. Can disable automatic pickup of dropped items, restricting collection to right-click only.
  5. Option to prevent block placement at the location of dropped items.
  6. Range pickup is enabled by default, allowing pickup of all same-type dropped items/projectiles within a specified radius around the interacted item/projectile.

Configuration file: VintagestoryData/ModConfig/PrecisePickedUp.json

{
  "PickupConditions": 1, // Right-click pickup conditions: 0: Right hand empty, 1: Either hand empty, 2: No conditions  
  "CanAutoCollect": true, // Enable automatic pickup of dropped items  
  "CanPlaceBlock": true, // Allow block placement at dropped item locations  
  "ShowItemDescription": true, // Show item descriptions  
  "AutoMerge": true, // Enable automatic merging of dropped items  
  "MergeRange": { // Merge range  
    "X": 1.5, // Horizontal range  
    "Y": 0.2 // Vertical range  
  },  
  "MergeInterval": 5.0, // Merge interval (seconds)  
  "RangePickup": true, // Enable range pickup  
  "PickupRange": { // Pickup range  
    "X": 1.5, // Horizontal range  
    "Y": 0.2 // Vertical range  
  }  
}  
 
It is recommended to cooperate with better entity interaction to facilitate picking up dropped items from plant blocks: https://mods.vintagestory.at/betterentityinteraction

Version For Game version Downloads Release date Changelog Download 1-click mod install*
v1.0.4 45 Apr 16th at 3:59 PM Show precisepickedup_1.0.4.zip 1-click install
v1.0.3 18 Apr 13th at 6:58 PM Show precisepickedup_1.0.3.zip 1-click install
v1.0.2 305 Oct 11th 2024 at 1:14 PM Show precisepickedup_1.0.2.zip 1-click install
v1.0.1 80 Oct 9th 2024 at 12:55 AM Show precisepickedup_1.0.1.zip 1-click install
v1.0.0 108 Oct 1st 2024 at 1:44 PM Show precisepickedup_1.0.0.zip 1-click install

8 Comments (oldest first | newest first)

💬 MystiVaid , Apr 16th at 4:09 PM

如果之前使用过这个mod,最好手动删除配置文件,让它重新生成
If you've used this mod before, it's best to manually delete the configuration file to let it regenerate.

💬 MystiVaid , Oct 11th 2024 at 5:35 PM

LarekFlynn Thanks for testing

💬 LarekFlynn, Oct 11th 2024 at 5:28 PM

loads good now!

💬 MystiVaid , Oct 11th 2024 at 1:19 PM

LarekFlynn Try 1.0.2?

💬 MystiVaid , Oct 11th 2024 at 10:04 AM

LarekFlynn Thanks for testing, I'll see how to fix it later

💬 LarekFlynn, Oct 11th 2024 at 5:44 AM

Sticks on loading a save. Looks like it is actually a conflict with ImmersiveOreCrush Mod. Server-main.txt gets filled with:

10.10.2024 19:03:38 [Notification] Placing player at 512142.64464570314 109 510553.77840595704
10.10.2024 19:03:40 [Error] Exception: Object reference not set to an instance of an object.
at PrecisePickedUp.GameMainRayTraceForSelectionPatch.PreFix(EntityFilter& efilter) in /home/scgm/RiderProjects/PrecisePickedUp/PrecisePickedUp/GameMainRayTraceForSelectionPatch.cs:line 13
at Vintagestory.Common.GameMain.RayTraceForSelection_Patch2(GameMain this, IWorldIntersectionSupplier supplier, Ray ray, BlockSelection& blockSelection, EntitySelection& entitySelection, BlockFilter bfilter, EntityFilter efilter)
at Vintagestory.Common.GameMain.RayTraceForSelection(Vec3d fromPos, Vec3d toPos, BlockSelection& blockSelection, EntitySelection& entitySelection, BlockFilter bfilter, EntityFilter efilter) in VintagestoryLib\Common\GameMain.cs:line 117
at ImmersiveOreCrush.ImmersiveOreCrush.OnServerTick(Single dt)
at Vintagestory.Common.GameTickListener.OnTriggered(Int64 ellapsedMilliseconds) in VintagestoryLib\Common\Model\GameTickListener.cs:line 27
at Vintagestory.Common.EventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) in VintagestoryLib\Common\EventManager.cs:line 57
at Vintagestory.Server.CoreServerEventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) in VintagestoryLib\Server\ServerEventManager.cs:line 123
at Vintagestory.Server.ServerMain.Process() in VintagestoryLib\Server\ServerMain.cs:line 886
10.10.2024 19:03:40 [Error] Exception: Object reference not set to an instance of an object.
at PrecisePickedUp.GameMainRayTraceForSelectionPatch.PreFix(EntityFilter& efilter) in /home/scgm/RiderProjects/PrecisePickedUp/PrecisePickedUp/GameMainRayTraceForSelectionPatch.cs:line 13
at Vintagestory.Common.GameMain.RayTraceForSelection_Patch2(GameMain this, IWorldIntersectionSupplier supplier, Ray ray, BlockSelection& blockSelection, EntitySelection& entitySelection, BlockFilter bfilter, EntityFilter efilter)
at Vintagestory.Common.GameMain.RayTraceForSelection(Vec3d fromPos, Vec3d toPos, BlockSelection& blockSelection, EntitySelection& entitySelection, BlockFilter bfilter, EntityFilter efilter) in VintagestoryLib\Common\GameMain.cs:line 117
at ImmersiveOreCrush.ImmersiveOreCrush.OnServerTick(Single dt)
at Vintagestory.Common.GameTickListener.OnTriggered(Int64 ellapsedMilliseconds) in VintagestoryLib\Common\Model\GameTickListener.cs:line 27
at Vintagestory.Common.EventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) in VintagestoryLib\Common\EventManager.cs:line 57
at Vintagestory.Server.CoreServerEventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) in VintagestoryLib\Server\ServerEventManager.cs:line 123
at Vintagestory.Server.ServerMain.Process() in VintagestoryLib\Server\ServerMain.cs:line 886

💬 MystiVaid , Oct 10th 2024 at 10:54 AM

LarekFlynn It works fine for me, can you provide more information?

💬 LarekFlynn, Oct 10th 2024 at 2:06 AM

v1.0.1 Does not work in 1.19.8

 (edit comment delete)