Skip to content

Labels

Open Markdown

The Labels page explains the labels. This page gives the texts and the reasons in tables.

In Amber and Red, the braces show a list. The card shows only the items that apply, with ” · ” between them.

NameText
Normal (no badge; its tooltip)Checked by Viewpoint. This addon’s Java code uses only parts of Java, the game and Viewpoint that Viewpoint has reviewed. Viewpoint found no way for it to reach your files outside its own folder, the internet, other programs or native code. It can still change anything in your game and saves. In multiplayer, what it puts into the game is sent to the server. The mod’s Lua scripts are not checked. Its assets are checked for their form and size, not for what they do.
AmberUses things Viewpoint has not reviewed: {background threads · multiplayer messages · Lua · draws with OpenGL · internals of Viewpoint · hooks that run on any thread · other parts of Java and the game · code of other addons}. Viewpoint cannot tell what these lead to. Turn it on only if you trust the author.
Red (off until allowed)Can {read and write your files · reach the internet · start programs · load native code · change the game’s code · reach any part of the game by name · stop the game or change settings of the whole game · read and write any memory of the game · use OpenGL outside the draw callbacks · use internals of Viewpoint that are graded Red · hook the render thread · do what the addons it links to can do}. Viewpoint cannot protect you from what this addon does. Allow it only for authors you trust.
Disclaimer (the settings page, and the first enable)Labels describe what Viewpoint’s automatic check found in this version of the addon’s Java code. They are not a promise of safety: a check can miss things, and an addon can misbehave within what it is allowed. Addons are made by third parties. Viewpoint’s authors do not review, endorse or answer for them.
Unmanaged (amber)Unmanaged: runs outside Viewpoint’s controls (hooks cannot be listed, ordered or vetoed)
Unmanaged, redloads before Viewpoint
Resource packResource pack: assets only. Viewpoint read these files with its own loaders and found them within its limits. It contains no Java.
ShaderpackShaderpack: GLSL only. It contains no Java. (With the licence of the pack, or “No licence given”.)
Shader line (a Shaderpack, and an addon with snippets or Gpu programs)Has shader code: Viewpoint checks its size and form. Faulty shader code can stall or crash the graphics driver.
Export line (adds to the Lua line)any mod’s Lua can call N functions of its Java; they use: {permissions}
Export line, one functionany mod’s Lua can call 1 function of its Java; it uses: {permissions}
Lua lineHas Lua: not checked by Viewpoint
Lua line, with what was foundHas Lua: not checked by Viewpoint. Found in it: {names}
Lua line, no LuaNo Lua
Too large or too complexCannot be checked

The items of the lists:

LevelItems
Amberbackground threads · multiplayer messages · Lua · draws with OpenGL · internals of Viewpoint · hooks that run on any thread · other parts of Java and the game · code of other addons
Redread and write your files · reach the internet · start programs · load native code · change the game’s code · reach any part of the game by name · stop the game or change settings of the whole game · read and write any memory of the game · use OpenGL outside the draw callbacks · use internals of Viewpoint that are graded Red · hook the render thread · do what the addons it links to can do

The words after “they use:” or “it uses:” are the items that the exported functions reach. These are all the items:

threads · the server · Lua · files · the network · programs · native code · classes · reflection · the game’s process · memory · OpenGL · internals of Viewpoint · hooks · parts of the game · other addons

If the functions reach none of them, the line says “nothing that Viewpoint lists”.

The line counts the functions that the exports call. It does not count code that runs when a class loads, or an object that the addon stored for later.

LevelThe addon
AmberStarts background threads
AmberSends multiplayer messages
AmberCalls Lua
AmberDraws with OpenGL in a draw callback
AmberUses internals of Viewpoint that are graded Amber
AmberUses deprecated internals
AmberUses parts of Java or the game that Viewpoint has not reviewed
AmberExtends a class that Viewpoint has not reviewed
AmberHas a hook with thread = ANY
AmberHas a costly hook (a method that the game calls very frequently)
AmberHas a slow hook (a handler that takes too much time)
AmberUses code of X (Amber)
RedReads or writes files, or uses code of the game that does
RedOpens network connections, or uses code of the game that does
RedUses reflection
RedStarts programs
RedLoads native code
RedDefines classes
RedUses OpenGL directly, outside the draw callbacks and the allowed calls
RedUses LWJGL, which can read and write any memory of the game
RedStops the game process, or changes settings of the full Java process
RedUses internals of Viewpoint that are graded Red
RedHas a hook with thread = RENDER
RedUses code of X (Red)

A Red reason that a Lua export can reach ends with ”…, callable from any mod’s Lua”.

LineWhen
Draws over the whole screenThe addon draws at the final point or the crosshair point.
Its Lua functions came late at this startThe addon was not ready before the limit at the start of the game.
The shaderpack X has no point YA Shaderpack does not keep a marker, and a snippet of this addon needs it.
Made for <version>: N of the files it replaces have changed since (planned)A Shaderpack is older than the files that it replaces.
Needs an update: uses <member>, removed in <release>; use <replacement>The addon uses a member of Viewpoint that is gone.
Needs an update: uses <member>, removed in <release>; nothing replaces itThe addon uses a member of Viewpoint that is gone, and no other member does the same.

Has Lua: not checked by Viewpoint, then Found in it: and the names that Viewpoint found in the Lua of the mod, for example getModFileWriter, getHostByName or Clipboard. Or No Lua.

Viewpoint lists these names. Some write, read or list files: getFileWriter, getModFileWriter, getFileReader, getModFileReader, getFileInput, getFileOutput, getGameFilesInput, getGameFilesTextInput, listFilesInModDirectory, listFilesInZomboidLuaDirectory, serverFileExists and cacheFileExists. Some reach the internet or the desktop: getHostByName, openUrl, activateSteamOverlayToWebPage, showFolderInDesktop and Clipboard. Some load a file as code or make code, or a global, from text or bytes, which hides it from this check: loadstring, bytecodeloader, reloadLuaFile, reloadServerLuaFile, rawset, setfenv and getfenv. Viewpoint reads the Lua as text. It does not run it, and it cannot see a name that the Lua makes from other text.