Skip to content
Beta: this is a preview of the new SplitScreen.Me. Data may be reset before launch.

tModLoader · handler “tModLoader”

Version 1

Release notes

first release

Released
Size
1.5 KB
Downloads
435
Check
Verified
SHA-256
86eb8bd77e60ede13b922137680f5710e5a61e89316ea21ed435f5c3b97a9814
Download v1 (.nc)All versions

Files 1

PathSize
handler.js3.6 KB

handler.js

Plain text
Hub.Handler.Version = 1; // Released at https://hub.splitscreen.me/ on Wed May 19 2021 01:44:34 GMT+0000 (UTC).
Hub.Handler.Id = "8GbK8CraioYmevXAH";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";

Game.FileSymlinkExclusions = ["steam_appid.txt", "config.json"];
Game.FileSymlinkCopyInstead = ["steam_api.dll"];
Game.NeedsSteamEmulation = false;
Game.CreateSteamAppIdByExe = true;
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = true;
Game.ExecutableName = "tModLoader.exe";
Game.SteamID = "1281930";
Game.GUID = "tModLoader";
Game.GameName = "Terraria tModLoader";
Game.MaxPlayers = 8;
Game.MaxPlayersOneMonitor = 4;
Game.LauncherTitle = "";
Game.HideTaskbar = false;
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "Terraria";
Game.HasDynamicWindowTitle = true;
Game.FakeFocus = true;
Game.HookFocus = true;
Game.SetWindowHook = true;
Game.ResetWindows = true;
Game.Hook.DInputEnabled = false;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.Hook.CustomDllEnabled = false;
Game.XInputPlusDll = ["xinput1_3.dll"];
Game.DocumentsConfigPath = "My Games\\Terraria\\ModLoader";
Game.DocumentsSavePath = "My Games\\Terraria\\ModLoader\\Players";
Game.Description =
  "Script for tModLoader downloaded from Steam. Install all your mods in the regular game first. When an instance opens move in the title screen using the respective gamepad for the controllers to work correctly. Press the END key in your keyboard to unlock the input and the main cursor when you finish playing. You can also use CTRL+Q to close Nucleus and all its instances. To join each other host a world in one instance with steam multiplayer disabled then the others can join using join via IP, type localhost and accept. If you want the instances to resize correctly and avoid stretching you need to create custom resolutions in your AMD/Nvidia/Intel panel (For example: 960x1080, 960x540, 1920x540 etc.) so the game can see and use them.";
Game.PauseBetweenProcessGrab = 5;
Game.PauseBetweenStarts = 40;

Game.SupportsMultipleKeyboardsAndMice = true;

Game.HookSetCursorPos = false;
Game.HookGetCursorPos = true;
Game.HookGetKeyState = true;
Game.HookGetAsyncKeyState = true;
Game.HookGetKeyboardState = true;
Game.HookFilterRawInput = false;
Game.HookFilterMouseMessages = false;
Game.HookUseLegacyInput = false;
Game.HookDontUpdateLegacyInMouseMsg = false;
Game.HookMouseVisibility = false;

Game.SendNormalMouseInput = true;
Game.SendNormalKeyboardInput = true;
Game.SendScrollWheel = true;
Game.ForwardRawKeyboardInput = false;
Game.ForwardRawMouseInput = false;
Game.DrawFakeMouseCursor = false;
Game.LockInputAtStart = true;
Game.LockInputToggleKey = 0x23;

Game.Play = function() {
  var txtPath = Context.GetFolder(Nucleus.Folder.Documents) + "\\My Games\\Terraria\\ModLoader\\config.json";
  var dict = [
    Context.FindLineNumberInTextFile(txtPath, '  "Fullscreen":', Nucleus.SearchType.StartsWith) + '|  "Fullscreen": false, ',
    Context.FindLineNumberInTextFile(txtPath, '  "WindowMaximized":', Nucleus.SearchType.StartsWith) + '|  "WindowMaximized": false,',
    Context.FindLineNumberInTextFile(txtPath, '  "WindowBorderless":', Nucleus.SearchType.StartsWith) + '|  "WindowBorderless": false,',
    Context.FindLineNumberInTextFile(txtPath, '  "DisplayWidth":', Nucleus.SearchType.StartsWith) + '|  "DisplayWidth": ' + Context.Width + ",",
    Context.FindLineNumberInTextFile(txtPath, '  "DisplayHeight":', Nucleus.SearchType.StartsWith) + '|  "DisplayHeight": ' + Context.Height + ","
  ];
  Context.ReplaceLinesInTextFile(txtPath, dict);
};