local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
local Window = Rayfield:CreateWindow({
Name = "Mining Utility Hub | Solo Development",
LoadingTitle = "Raph007 / ItsChe4p",
LoadingSubtitle = "Configuration Loaded",
ConfigurationSaving = {
Enabled = true,
FolderName = "GeminiMining",
FileName = "SoloConfig"
},
KeySystem = false,
Theme = "Ocean"
})
-- [[ VARIABLES ]]
local BringEnabled = false
local AutoBlastEnabled = false
local MiningRemote = game:GetService("ReplicatedStorage"):WaitForChild("shared/network/MiningNetwork@GlobalMiningEvents"):WaitForChild("Mine")
-- [[ THE ORIGINAL BLAST LOGIC ]]
local function ExecuteOriginalBlast()
local Root = game.Players.LocalPlayer.Character and game.Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
if not Root then return end
local startPos = Root.Position
local holeWidth = 6
local holeDepth = 20
local step = 3
for x = -holeWidth, holeWidth, step do
for z = -holeWidth, holeWidth, step do
for y = 1, holeDepth, step do
local targetVector = Vector3.new(
startPos.X + x,
startPos.Y - y,
startPos.Z + z
)
task.spawn(function()
local args = {targetVector, 1}
MiningRemote:FireServer(unpack(args))
end)
end
end
task.wait()
end
end
-- [[ TABS ]]
local MainTab = Window:CreateTab("Automation", 4483362458)
local TeleportTab = Window:CreateTab("Teleports", 4483362458)
local CreditTab = Window:CreateTab("Credits", 4483362458)
-- [[ MINING SECTION ]]
MainTab:CreateSection("Mining Features")
MainTab:CreateButton({
Name = "Blast Hole (Original)",
Info = "Mines a deep hole directly beneath you.",
Callback = function()
Rayfield:Notify({Title = "Blasting", Content = "Creating hole beneath you...", Duration = 2})
ExecuteOriginalBlast()
end,
})
MainTab:CreateToggle({
Name = "Bring Items & Tools (Magnet)",
CurrentValue = false,
Flag = "BringToggle",
Callback = function(Value)
BringEnabled = Value
if BringEnabled then
task.spawn(function()
while BringEnabled do
local Root = game.Players.LocalPlayer.Character and game.Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
local Items = workspace:FindFirstChild("Items")
if Root and Items then
for _, item in pairs(Items:GetChildren()) do
if item:IsA("BasePart") then
item.CFrame = Root.CFrame * CFrame.new(0, 0, -3)
elseif item:IsA("Tool") then
local handle = item:FindFirstChild("Handle") or item:FindFirstChildWhichIsA("BasePart")
if handle then handle.CFrame = Root.CFrame * CFrame.new(0, 0, -3) end
end
end
end
task.wait(0.5)
end
end)
end
end,
})
-- [[ TESTING SECTION ]]
MainTab:CreateSection("⚠️ TESTING / BETA ⚠️")
MainTab:CreateParagraph({Title = "Work In Progress", Content = "The features below are experimental. They may cause server-side kicks or performance drops."})
MainTab:CreateToggle({
Name = "Auto-Blast Downward (Testing)",
CurrentValue = false,
Flag = "AutoBlast",
Callback = function(Value)
AutoBlastEnabled = Value
if AutoBlastEnabled then
task.spawn(function()
while AutoBlastEnabled do
ExecuteOriginalBlast()
task.wait(1.5) -- Slower delay for testing safety
end
end)
end
end,
})
-- [[ TELEPORT SECTION ]]
TeleportTab:CreateSection("World Locations")
local function tp(pos)
local root = game.Players.LocalPlayer.Character and game.Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
if root then root.CFrame = CFrame.new(pos) end
end
TeleportTab:CreateButton({Name = "Main Spawn", Callback = function() tp(Vector3.new(1007, 245, -65)) end})
TeleportTab:CreateButton({Name = "First Area", Callback = function() tp(Vector3.new(1018, 181, -1456)) end})
TeleportTab:CreateButton({Name = "Snow Area", Callback = function() tp(Vector3.new(1011, 177, -2906)) end}) -- UPDATED COORDS
-- [[ CREDITS SECTION ]]
CreditTab:CreateSection("Solo Developer")
CreditTab:CreateLabel("Creator: Raph007 / ItsChe4p")
CreditTab:CreateDivider()
CreditTab:CreateParagraph({Title = "Status", Content = "This hub is maintained by Raph007. Currently looking for a fix for the SellInventory remote."})