header
premium banner

Better Condenser Costs will start downloading in 5 seconds...

Description

This mod was needed for our server so i created it and wanted to share it with everyone who might find it useful.

There are several options to choose from that will allow you to change change the pal requirements for using the condenser.

Keep in mind that servers do not need to install this (could change in the future), only players that are joining the server will need to download/install the mod.

Important Note

As of palworld update 0.2.2.0 this mod no longer works correctly on servers due to the changes made. I am currently looking into these issues but for the time being it will only work properly for single player.

Requirements

Download and install UE4SS (UE4SS_v3.0.1.zip) (or the latest version available) and copy the files into Pal\Binaries\Win64 Launch the game at least once before installing any mods (important so that it creates the necessary files/folders). Download the version of the mod you want and copy PalCustomCondenserReq.pak to Pal\Content\Paks\LogicMods\PalCustomCondenserReq.pak Open Pal\Binaries\Win64\UE4SS-settings.ini and change bUseUObjectArrayCache = true to false so it look like this bUseUObjectArrayCache = false

Additional Notes

This mod does not need to be installed on a server, just having someone join with the mod installed will be enough and has worked without any problems so far.

When joining a server keep in mind that by default UE4SS does not load some mods automatically and may require the user to press the insert key on the keyboard to force them to reload, there is a workaround posted by Dekita in the palworld modding discord but this may still need more testing so use the below method at your own risk!

Install Instructions

Open Pal\Binaries\Win64\Mods\BPLoaderMod\scripts\main.lua in any text editor and scroll down to the bottom of the file and add the following lines

-- Flag to indicate if the game world has been loaded
local hasLoadedWorld = false -- Flag to indicate if the mod initialization has been completed
local isInitialized = false
-- Register a notification for when a new PalPlayerCharacter object is created.
-- This serves as an indication that the player character has loaded.
NotifyOnNewObject("/Script/Pal.PalPlayerCharacter", function(Character)
    -- Log the loading of the player character with its full name
    Log(string.format("Loaded player character: '%s'", Character:GetFullName()))
    -- Once the player character is loaded, consider the world as loaded
    Log("[BPModLoader] Player Initialization complete!")
    hasLoadedWorld = true
end)
-- Register a notification for when the game mode switches back to the title.
-- This indicates a return to the title screen.
NotifyOnNewObject("/Script/Pal.PalGameModeTitle", function(Self)
    -- If not initialized, do nothing (avoid unnecessary actions on game start)
    if not isInitialized then return end
    -- Reset initialization flag as the game returns to title, requiring re-
initialization
    Log("[BPModLoader] Returned to title!!")
    isInitialized = false
end)
-- Register a hook for the ClientRestart event in the PlayerController.
-- This is called when the player controller restarts a pawn (player character).
RegisterHook("/Script/Engine.PlayerController:ClientRestart", function(self, NewPawn)
    -- Prevent loading mods if already initialized or the world hasn't been loaded yet
    if isInitialized or not hasLoadedWorld then return end
    -- Load mods by accessing the current world context
    -- Then set the initialization flag to true to prevent re-loading in the same session
    Log("[BPModLoader] Loading Mods!")
    LoadMods(UEHelpers.GetWorld())
    isInitialized = true end)

Save the file and your mods should load without any issues when joining a server.


This is my first mod for palworld so i hope you enjoy and happy gaming!

Socials/Donations

@Shinygati @Shinygati