Stationeers

Stationeers

34 ratings
Better Advanced Tablet [StationeersMods]
   
Award
Favorite
Favorited
Unfavorite
Mod
File Size
Posted
Updated
484.618 KB
7 Jan, 2024 @ 4:52pm
10 Sep @ 3:10am
5 Change Notes ( view )

Subscribe to download
Better Advanced Tablet [StationeersMods]

Description
WARNING: This is a Plugin Mod.
It requires BepInEx to be installed with the StationeersLaunchPad plugin.
See: https://github.com/StationeersLaunchPad/StationeersLaunchPad

Latest Update:
Now working on Main and Beta branch!

Description:
Increases the number of cartridges allowed in the Advanced Tablet. By default it adds 2 new slots but you can change it in the configs.
Fixes the save bug with Advanced Tablets not correctly remembering which cartridge was last used.

Usage:
Use left click to switch cartridges, left click + quantity modifier key [default C] for previous cartridge.
When switching cartridges empty cartridge slots are skipped.

Config file:
  • Select the ammount of added slots. You can add up to 6 extra slots for a total of 8 slots.

CAUTION
Removing slots on an already created world with more slots will crash the game.



Original mod by silentdeth
Original here: steam workshop

Multiplayer fix by RogerWaters
Pull request on github[github.com]

Beta branch fix by spacebuilder2020
Pull request on github[github.com]

You can find this version of the mod on github, link bellow.
For Issues please report on github: github link[github.com]
27 Comments
Catatonic Ember 17 Sep @ 5:47am 
[Better Advanced Tablet [StationeersMods] - 0Harmony]: Patching exception in method null
at HarmonyLib.PatchClassProcessor.ReportException (System.Exception exception, System.Reflection.MethodBase original) [0x0006c] in <474744d65d8e460fa08cd5fd82b5d65f>:0
at HarmonyLib.PatchClassProcessor.Patch () [0x00095] in <474744d65d8e460fa08cd5fd82b5d65f>:0
at BetterAdvancedTablet.BetterAdvancedTabletPlugin+<>c__DisplayClass6_0.<Patch>b__0 (System.Type type) [0x00024] in <a47f360a5e1d4f9690fd526ca1ee261f>:0
Undefined target method for patch method static void BetterAdvancedTablet.Patches+MainMenuWindowManagerPatches::Prefix()
at HarmonyLib.PatchClassProcessor.PatchWithAttributes (System.Reflection.MethodBase& lastOriginal) [0x00047] in <474744d65d8e460fa08cd5fd82b5d65f>:0
at HarmonyLib.PatchClassProcessor.Patch () [0x0006a] in <474744d65d8e460fa08cd5fd82b5d65f>:0
spacebuilder2020  [author] 16 Sep @ 9:19pm 
That looks like an error that can be ignored. Due to the logic I added with PR #4, it will now continue down the chain even if one patch fails. As long as that is the only error, you will be fine. (Context, the old method `NewOrContinue` was deleted in beta (now main)). It is expected that that patch will fail on the new version but multiple patches were needed to maintain backwards compatibility.
Damonicus1986 15 Sep @ 5:11am 
BetterAdvancedTablet.Patches+MainMenuWindowManagerPatches
[[Invalid About.xml] 3134483503 - 0Harmony]: Patching exception in method null
at HarmonyLib.PatchClassProcessor.ReportException (System.Exception exception, System.Reflection.MethodBase original) [0x0006c] in <474744d65d8e460fa08cd5fd82b5d65f>:0
at HarmonyLib.PatchClassProcessor.Patch () [0x00095] in <474744d65d8e460fa08cd5fd82b5d65f>:0
at BetterAdvancedTablet.BetterAdvancedTabletPlugin+<>c__DisplayClass6_0.<Patch>b__0 (System.Type type) [0x00024] in <a47f360a5e1d4f9690fd526ca1ee261f>:0
Undefined target method for patch method static void BetterAdvancedTablet.Patches+MainMenuWindowManagerPatches::Prefix()
at HarmonyLib.PatchClassProcessor.PatchWithAttributes (System.Reflection.MethodBase& lastOriginal) [0x00047] in <474744d65d8e460fa08cd5fd82b5d65f>:0
at HarmonyLib.PatchClassProcessor.Patch () [0x0006a] in <474744d65d8e460fa08cd5fd82b5d65f>:0
[[Invalid About.xml] 3134483503 - Information]: Patching
spacebuilder2020  [author] 2 Sep @ 1:48pm 
https://github.com/serialtasted/betteradvancedtablet/pull/4 has been tested on both versions and it will continue to patch if one of the patch classes fail.
spacebuilder2020  [author] 2 Sep @ 1:42pm 
Replacing `harmony.PatchAll();` with:
AccessTools.GetTypesFromAssembly(typeof(Patches).Assembly).Do(type =>
{
try
{
Debug.Log($"Patching {type.FullName}");
harmony.CreateClassProcessor(type).Patch();
}
catch (System.Exception e)
{
Debug.LogException(e);
}
});

Does work on both beta and main, so that might be a better option.
spacebuilder2020  [author] 2 Sep @ 1:19pm 
I had a change to test it, seems I was wrong. It looks like PatchAll does not continue on error. As a result, you will need to remove the old patch (commit 2b8992) and wait until after beta is released to publish to steam.

Looks like beyond having a custom patching method instead of PatchAll, there is no way to have patching continue on error.
spacebuilder2020  [author] 1 Sep @ 7:46am 
Sounds good. I think it should work on both versions, but I haven't tested that part yet. Based on how it is coded, it should of course work since 1 patch will fail on beta, and another on mainline. The patch on `LoadWorld` will probaly result in AdvancedTabletPrefabPatch() running twice but since there is logic in that to only run once, it should work.
Serialtasted  [author] 1 Sep @ 5:47am 
I need to do some testing. But I just merged it
spacebuilder2020  [author] 30 Aug @ 1:22pm 
Btw, @Serialtasted, I was wondering on the status of https://github.com/serialtasted/betteradvancedtablet/pull/3 that I submitted a few weeks ago to fix the mod on beta?
WoBra 22 Dec, 2024 @ 2:29pm 
For all, Reinstall StationeersMods and Bepinex then it works. sry for my English!