File information

Last updated

Original upload

Created by

Fakiz

Uploaded by

Fakiz

Virus scan

Safe to use

Tags for this mod

439 comments

  1. Deadmano
    Deadmano
    • premium
    • 152 kudos
    Any chance you could add a patch to allow foods cooked in a bowl (soups) to not spill? Looking at the code, it seems you'd just have to remove the Spill() call under OnAddToInventory()/OnAddToStorage()/OnTake() in the Bowl class. I notice for food spoilage you're relying on the internal IsMeat() method, any chance that could be expanded to cover things like smoked meat/nuts/fruits etc? Basically all pickables that can spoil.

    I made a quick edit for my own personal use to cover all food types but ignore certain elements that could be eaten such as the small leaf pile;
    Spoiler:  
    Show
    using System;
    using System.Collections.Generic;
    using Enums;
    using HarmonyLib;

    namespace GHTweaks.Patches
    {
    [HarmonyPatchCategory("FoodInfo")]
    [HarmonyPatch(typeof(FoodInfo), "m_SpoilTime", MethodType.Setter)]
    internal class FoodInfoSpoilTime
    {
    private static void Prefix(FoodInfo __instance, ref float value)
    {
    if (value < 1f)
    {
    return;
    }

    // Skip any foods that match IDs we are ignoring.
    if (FoodInfoSpoilTime.ignoreIDs.Contains(__instance.m_ID))
    {
    return;
    }

    // Increase mushroom spoil duration by 6x the player set rate.
    if (FoodInfoSpoilTime.MushroomIDs.Contains(__instance.m_ID))
    {
    value *= Mod.Instance.Config.FoodInfoConfig.SpoilTime / 100f * 6f;
    return;
    }

    // Increase all food spoil duration by the player set rate (as a multiplier).
    // 100 being 100% so 1x, 300 being 300% so 3x.
    if (Mod.Instance.Config.FoodInfoConfig.SpoilTime > 0f)
    {
    value *= Mod.Instance.Config.FoodInfoConfig.SpoilTime / 100f;
    }
    }

    private static readonly HashSet<ItemID> MushroomIDs = new HashSet<ItemID>
    {
    ItemID.Phallus_indusiatus,
    ItemID.Gerronema_viridilucens,
    ItemID.Gerronema_retiarium,
    ItemID.indigo_blue_leptonia,
    ItemID.copa_hongo
    };

    private static readonly HashSet<ItemID> ignoreIDs = new HashSet<ItemID> { ItemID.Small_leaf_pile };
    }
    }

    And lastly, I noticed in your patches you specifically avoid patching multiplayer saves which causes certain things to not apply, such as the capacity changes to things like coconuts/coconut bowls/bidons. The same is true for not being able to transfer soups to bidons. Is there a specific reason why you avoid patching co-op saves? I would assume you're simply wanting to avoid the headache with people not running the same mod and without the same config values? But I can confirm that it is all fully working in co-op once I patched out that check.
    1. Fakiz
      Fakiz
      • member
      • 13 kudos
      When I added the patch I had a side effect that affected the drying time when I had set the SpoilTime for everything else except meat.

      And lastly, I noticed in your patches you specifically avoid patching multiplayer saves
      You can find the answer here in the comments. Someone reported an MP problem there.
      To make a long story short: they died immediately every time they spawned.
      And since I only test and use the mod offline, the patches are removed before online sessions.
    2. Deadmano
      Deadmano
      • premium
      • 152 kudos
      Oh interesting! Was the drying time taking longer or? I can't say I experienced the same, but maybe I wasn't paying much attention to it, as meat was still drying fine for me. Regarding the MP problem, after playing 20+ hours with the tweaks (removed the MP check so I am getting all your patches now) I can safely say there is no issue with it and that they must have had a mod conflict on their end.

      Do you still plan to add stuff to the mod? I made some additional patches that I thought might be useful to add, such as removing leeches (I prefix patched the leech check method to return) and a couple of other things. I'd be happy to pass them on to you if you'd like to integrate them, and maybe consider adding a toggle for multiplayer in your config generator (that can default to off) so people at least have the option to play with it, as like I said no issues here. Thanks again for the awesome work, this has truly helped make the game a lot more enjoyable!
    3. Fakiz
      Fakiz
      • member
      • 13 kudos
      Yes, I've been working on a console for some time. But it's currently still in a closed beta phase.
      One of the console features will be a batch system, as seen in Bethesda games (Fallout & Skyrim). Here the player can store console commands in a text file that are executed when the game starts. The batch system can then be used for primitive patches such as player speed.
      So feel free to share your patches and I will see if and how I can implement them.

      Preview
      Spoiler:  
      Show
    4. Deadmano
      Deadmano
      • premium
      • 152 kudos
      That is awesome, nicely done! I was actually thinking, what'd be better is if you can release/update your mod as a BepInEx Plugin that way it'd be compatible with other mods that could then further add to things, instead of having to choose between BepInEx or your mod that leverages DoorStop. It'd be a minimal change needed, since BepInEx also hooks into DS, and thereafter loads plugins. If you don't want to completely overhaul your mod to a plugin, could you at least release an optional one for others who use multiple BepInEx mods so that they can work together and not have to pick and choose?
    5. Fakiz
      Fakiz
      • member
      • 13 kudos
      No, at the moment I have no plans for a BepInEx plugin. But running BepInEx alongside GHTweaks is not a big deal. All you need to do is merge the Assembly-CSharp with GHTweaks.
    6. Deadmano
      Deadmano
      • premium
      • 152 kudos
      That's a pity! As I have quite a large amount of changes I'd like to share with others as a mod, but that means you'd be forcing people to choose between this mod, or that. Having a proper BepInEx plugin means people are able to enable and disable things as they see fit while allowing mod authors to work together having their mods load in tandem free from conflicts. While this is a nice "complete" package, it does make it harder for mod authors to collaborate alongside you. Asking my users to just "merge" this mod alongside their game's assembly file is just asking for trouble, not to mention that is not something user-friendly I'd expect just anyone to know how to do, it's definitely not in the modding spirit either.

      Is there any chance you'd reconsider your stance on this, or is that a done deal? I'd love for users to be able to still use this mod while having my changes apply, I wouldn't want someone to have to feel like they have to pick the one mod over the other, and my changes are completely outside of the scope of things you've covered so there's no overlap or conflict (I've made sure of this as I use your mod as a base).

      Failing that, if you're certain you'd not be willing to go down the path of a BepInEx plugin yourself, would you be okay with a bootstrap method of loading your patches by calling the patch assembly freeing up DoorStop since BepInEx relies on it as well? AKA a "dummy" plugin that loads "GHTweaks.dll" as a BepInEx plugin ensuring compatibility with other mods?

      Thanks in advance for your consideration, I really do appreciate it!
    7. Fakiz
      Fakiz
      • member
      • 13 kudos
      Unless I have a proper reason to use BepExIn, there is no reason for me to downgrade GHTweaks. None of my mods are licensed, so you can wrap the mod in what ever you want ;)
    8. Deadmano
      Deadmano
      • premium
      • 152 kudos
      The issue is that it makes it redundant to have a copy of yours, you know what I mean? Say I want to have mods touch completely different aspects of the game, releasing them as BepInEx plugins so people are free to modify their config as they see fit, in order for it to work with this I'd have to create some kind of compatibility laying and bundling yours doesn't make much sense, especially given if you release updates I'd have to update any mods that incorporate yours. Is there any reason why you're averse to using BepInEx? It quite literally hooks into DoorStop that you yourself are using, which therein lies the entire issue of why there's an all-or-nothing approach, you either pick this mod, or various other BepInEx mods. If yours were a BepInEx mod then all other plugin mods could exist in harmony (see what I did there?).

      I could always release your mod as a BepInEx plugin, and convert the XML to plugin fields since you seem open to the idea, but that doesn't seem to make much sense when I feel the author should be the one behind it, supporting it (or at least offering it as an option). I'm just trying to find a way to have my own mods load alongside this one; any thoughts? Like I mentioned, I can't have them be BepInEx plugins since you are already hooking into DoorStop, which is what BepInEx uses. And merging assemblies is just messy from the user PoV. Open to any thoughts or ideas you might have, as ultimately I'd love them to coexist.
    9. kanjut69
      kanjut69
      • member
      • 0 kudos
      Do you have tutorial on how to do this alongside bepinex?
  2. kanjut69
    kanjut69
    • member
    • 0 kudos
    How to make this works alongside bepinex?
  3. powerquery20
    powerquery20
    • member
    • 0 kudos
    Is there a way to be able to put soups into containers?
    also is there a way to reduce the spawn of animals source of proteins in the world to very rare (mainly peccary, capybara and tapir)? I would like to raise the difficulty very hard, It's so easy to find protein in a jungle that looks like a farm more than a jungle.
  4. Kiba0kami
    Kiba0kami
    • member
    • 0 kudos
    How to enable the soup in bidons? And the MiddleMouseButton function does not work - Toggleslot snapping for the current construction
  5. Kmetralala
    Kmetralala
    • member
    • 0 kudos
    Can't use key binding and cheats, (found no command) already set thing TRUE in GHTweaksConfig.xml yet they don't work any that can shed a light of guidance please reveal urself
    1. Alufercard
      Alufercard
      • member
      • 0 kudos
      me too
    2. bluemarvin
      bluemarvin
      • member
      • 0 kudos
      In the GHTweaksConfig.xml file (edit with Notepad), put the correct settings to TRUE:

        <ConsumeKeyStrokes>true</ConsumeKeyStrokes>
        <CheatsEnabled>true</CheatsEnabled>


      THEN you then have to add a section for the hotkeys to your config file too. It should look something like this:

        <KeyBindings>
          <KeyBinding Key="F1">Machete</KeyBinding>
          <KeyBinding Key="F2">Tribe_Spear</KeyBinding>
          <KeyBinding Key="F3">Axe_professional</KeyBinding>
          <KeyBinding Key="F4">Modern_Axe</KeyBinding>
          <KeyBinding Key="F5">Tribe_Bow</KeyBinding>
          <KeyBinding Key="F6">Charcoal</KeyBinding>
          <KeyBinding Key="F7">Campfire_ash</KeyBinding>
          <KeyBinding Key="F8">iron_ore_stone</KeyBinding>
        </KeyBindings>
  6. Hatinggabi00
    Hatinggabi00
    • member
    • 0 kudos
    Hello, So I'm new to this console thing. It seems I cant make set value of EndlessFire to true. I tried typing EndlessFire True, it says No command found. Need some help. Thank you so much
  7. Gabryelfall
    Gabryelfall
    • premium
    • 0 kudos
    Any ideas on why I'm getting both hold [E] to tie and hold [E] to harvest on animals stuck in my snare trap?  I don't see any option in the config to override/add that option.  I don't have any other mods installed, just GHTweaks.  The DebugLog is showing, when I look at the animal, two lines of "capybara_body not found on map".  So I don't know if that's got something to do with it either.
  8. chocolatejung
    chocolatejung
    • member
    • 0 kudos
    can i decrease spawn item from 10 to 1 
  9. Sphinx82
    Sphinx82
    • member
    • 0 kudos
    Most of it is working after the last update. But the AISoundModuleConfig for the MouseMaxDistance is not working or i don't understand what it is supposed to do.
    I was hoping it would silence the mice when i set it to 1.
    I can't use the QuieterMouse mod (that does silence them) together with GreenHell Tweaks. Any Tips?
    1. SilverHoudini
      SilverHoudini
      • member
      • 0 kudos
      I am also struggling with this, would be nice to get some sort of guidance on how this parameter works. 
  10. burgkaba
    burgkaba
    • member
    • 0 kudos
    Love how much this mod allows the game to be tweaked to everyone's liking, seems to work flawlessly in multiplayer too!

    Only thing is, the default values are definitely NOT vanilla for some things. For example, with the supposed default run speed of 8 I'm running around like the damn Flash!

    Does anybody have a list of the ACTUAL default vanilla values? Would really appreciate any help with this!!!
    1. Fakiz
      Fakiz
      • member
      • 13 kudos
      You can view the settings by typing:
      get Game.FPPController
      into the GH-Tweaks console.