Minecraft Font
Key Required

Minecraft Font

Brookhaven 🏡RPDymensityDymensity 753 views 2.4K executesUpdated Oct 10, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•171 lines (5366 chars)
-- [[ MINECRAFT FONT CHANGER - SAFE VERSION ]] --
-- Ganti font jadi Minecraft tanpa bikin layout berantakan

if _G.MinecraftSafe then pcall(function() _G.MinecraftSafe:Stop() end) end

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LP = Players.LocalPlayer

-- ============================================================================
-- CONFIG
-- ============================================================================
local MC_FONT = Enum.Font.Arcade

-- Daftar nama GUI yang DI-SKIP (biar gak berantakan)
local SKIP_NAMES = {
    ["Chat"] = true,
    ["RobloxChat"] = true,
    ["TopBarApp"] = true,
    ["SettingsMenu"] = true,
    ["RobloxGui"] = true,
}

-- Scan delay (makin gede, makin ringan)
local SCAN_DELAY = 1

-- ============================================================================
-- STATE
-- ============================================================================
local running = true
local changedCount = 0
local changedList = {}

-- ============================================================================
-- CEK APAKAH OBJECT HARUS DI-SKIP
-- ============================================================================
local function shouldSkip(obj)
    local current = obj
    local depth = 0
    while current and depth < 5 do
        if SKIP_NAMES[current.Name] then
            return true
        end
        current = current.Parent
        depth = depth + 1
    end
    return false
end

-- ============================================================================
-- GANTI FONT (TANPA UBAH SIZE)
-- ============================================================================
local function changeFont(obj)
    if not obj or not obj.Parent then return end

    -- Cek apakah ini text object
    local isTextObj = false
    pcall(function()
        isTextObj = obj:IsA("TextLabel") 
            or obj:IsA("TextButton") 
            or obj:IsA("TextBox")
    end)

    if not isTextObj then return end

    -- Skip kalo di daftar skip
    if shouldSkip(obj) then return end

    -- Skip kalo udah pake font Minecraft
    pcall(function()
        if obj.Font == MC_FONT then return end

        -- Simpen original font (buat restore)
        if not obj:GetAttribute("OriginalFont") then
            obj:SetAttribute("OriginalFont", obj.Font.Name)
        end

        -- GANTI FONT DOANG — JANGAN UBAH SIZE/LAYOUT
        obj.Font = MC_FONT
        changedCount = changedCount + 1
        table.insert(changedList, obj)
    end)
end

-- ============================================================================
-- SCAN SEMUA GUI
-- ============================================================================
local function scanAll()
    -- 1. PlayerGui (GUI game)
    pcall(function()
        local pg = LP:FindFirstChild("PlayerGui")
        if pg then
            for _, obj in pairs(pg:GetDescendants()) do
                changeFont(obj)
            end
        end
    end)

    -- 2. Workspace (BillboardGui / nametag)
    pcall(function()
        for _, obj in pairs(workspace:GetDescendants()) do
            if obj:IsA("BillboardGui") or obj:IsA("SurfaceGui") then
                for _, child in pairs(obj:GetDescendants()) do
                    changeFont(child)
                end
            end
        end
    end)
end

-- ============================================================================
-- LOOP SCAN
-- ============================================================================
task.spawn(function()
    while running do
        scanAll()
        task.wait(SCAN_DELAY)
    end
end)

-- ============================================================================
-- FUNGSI RESTORE (balikin ke font asli)
-- ============================================================================
local function restoreAll()
    for _, obj in pairs(changedList) do
        pcall(function()
            if obj and obj.Parent then
                local origName = obj:GetAttribute("OriginalFont")
                if origName then
                    -- Balikin font asli
                    for _, font in pairs(Enum.Font:GetEnumItems()) do
                        if font.Name == origName then
                            obj.Font = font
                            break
                        end
                    end
                    obj:SetAttribute("OriginalFont", nil)
                end
            end
        end)
    end
    changedList = {}
    changedCount = 0
end

-- ============================================================================
-- API
-- ============================================================================
_G.MinecraftSafe = {
    Stop = function()
        running = false
        print("⛏ Minecraft Font stopped.")
    end,
    Restore = function()
        restoreAll()
        print("⛏ Semua font dibalikin ke aslinya.")
    end,
    Status = function()
        return running, changedCount
    end,
    SkipGUI = function(name)
        SKIP_NAMES[name] = true
        print("⛏ Skip GUI: " .. name)
    end,
}

print("⛏ MINECRAFT FONT - SAFE VERSION LOADED!")
print("📌 Font diganti tanpa ubah size/layout")
print("📌 Kalo ada GUI berantakan, ketik: _G.MinecraftSafe.SkipGUI('NamaGUI')")
print("📌 Buat balikin: _G.MinecraftSafe.Restore()")
print("📌 Buat matiin: _G.MinecraftSafe.Stop()")

Features & Information

Minecraft Font Work All Game

Community Comments (1)

VAHcommunityVAHcommunityOct 16, 2026

Ai Slop *

More Scripts for Brookhaven 🏡RP