local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local Workspace = game:GetService("Workspace") local CollectionService = game:GetService("CollectionService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local Verdant = require(ReplicatedStorage:WaitForChild("Verdant")) local VerdantRemotes = require(Verdant.Remotes) local function GetHRP() local char = LocalPlayer.Character if char then return char:FindFirstChild("HumanoidRootPart") or char:FindFirstChild("Torso") end return nil end local function GetNearestWater() local hrp = GetHRP() if not hrp then return nil end local nearest, minDist = nil, math.huge for _, part in pairs(CollectionService:GetTagged("Water")) do if part:IsA("BasePart") then local dist = (part.Position - hrp.Position).Magnitude if dist < minDist then minDist = dist nearest = part end end end return nearest end -- Auto Scoop Loop task.spawn(function() while true do local water = GetNearestWater() if water then local hrp = GetHRP() if hrp then hrp.CFrame = CFrame.new(hrp.Position, Vector3.new(water.Position.X, hrp.Position.Y, water.Position.Z)) end pcall(function() VerdantRemotes:Fire("Bucket.Used") end) end task.wait(0.05) end end)