Mods / CitadelFix

Tags: #QoL #Tweak
Author: Longboyy
Side: Server
Created: Jan 8th 2024 at 12:51 AM
Last modified: Jan 30th 2024 at 12:33 AM
Downloads: 2664
Follow Unfollow 13

Latest release (for Vintage Story 1.19.3, outdated):
citadelfix_1.0.9.zip  1-click install


This mod is intended to overhaul the reinforcement system. Currently the mod:

  • Prioritizes materials in hotbar (useful if you want to reinforce with a specific material and have multiple valid materials in your inventory)
  • Allows reinforcement of placed blocks with the plumb and square in your offhand
  • Allows players to set a specific material as their preferred reinforcement material so the wrong material is used for reinforcement less often.
  • Reinforced farmland will protect the crops planted upon it.
  • The ability to lock things to groups.(I don't really get why this is explicitly not allowed in base game)

Planned additions:

  • Overhaul of the group system with emphasis on permission management.

Mod Version For Game version Downloads Release date Changelog Download 1-click mod install*
1.0.9 1003 Jan 30th 2024 at 12:33 AM citadelfix_1.0.9.zip 1-click install

Fixed bug that was caused by a change in the base survival mod:

`saveReinforcments` vs `SaveReinforcments`

1.0.8 150 Jan 25th 2024 at 11:32 PM citadelfix_1.0.8.zip 1-click install

Update to 1.19.2

1.0.7 356 Jan 12th 2024 at 11:01 PM citadelfix_1.0.7.zip 1-click install

Fixed issue where things could only be locked by groups and not players.

1.0.6 150 Jan 12th 2024 at 2:36 AM citadelfix_1.0.6.zip 1-click install

Added the ability to lock things to groups. Why this is in the base game I do not understand:

 if (blockReinforcement.PlayerUID != byPlayer.PlayerUID || blockReinforcement.Locked)
return false;
1.0.5 181 Jan 11th 2024 at 10:48 PM citadelfix_1.0.5.zip 1-click install

Fixed small null pointer exception bug

1.0.4 141 Jan 11th 2024 at 12:56 AM citadelfix_1.0.4.zip 1-click install

Added reinforcement support for crops.

1.0.3 176 Jan 9th 2024 at 1:59 AM citadelfix_1.0.3.zip 1-click install

Added ability to set a specific material as your preferred reinforcement material so you use the wrong material to reinforce less often.

1.0.2 210 Jan 8th 2024 at 3:39 AM Empty citadelfix_1.0.2.zip 1-click install
1.0.1 148 Jan 8th 2024 at 1:49 AM Empty CitadelFix_1.0.1.zip 1-click install
1.0.0 149 Jan 8th 2024 at 12:53 AM Empty CitadelFix_1.0.0.zip 1-click install

5 Comments (oldest first | newest first)

💬 Marlim, Dec 9th 2024 at 8:12 PM

Do you plan on keeping this mod updated?

Longboyy

💬 TTastic, Feb 19th 2024 at 9:35 PM

Great mod. Much needed fixes to the base reinforcement system. Thanks!

💬 Halfdan, Jan 30th 2024 at 12:57 AM

You're awesome ty! Just been working on getting a civ server going, so this is a huge help/

💬 Longboyy , Jan 29th 2024 at 1:33 AM

YinTheGhost Cheers for the report. I'll look into this soon. If you need any more support you can contact me via discord: `longboyy`

 

Problem has since been fixed.

💬 Halfdan, Jan 27th 2024 at 6:43 PM

When placing a padlock onto a block.

Game Version: v1.19.3 (Stable) 1/27/2024 10:42:17AM: Critical error occurred in the following mod: citadelfix@1.0.8 Loaded Mods: Bluesky@1.0.0, chiseltools@1.10.1, she1fish@1.1.0, game@1.19.3, wallpaper@1.0.0, citadelfix@1.0.8, coinage@1.10.0, sailboat@1.2.6, morepiles@1.5.0, petai@2.2.2, stablesurface@0.0.2, vanvar@3.3.0, vinconomy@0.2.0, creative@1.19.3, survival@1.19.3, feverstonehorses@1.6.0, simplewinddirection@1.0.2 System.NullReferenceException: Object reference not set to an instance of an object. at CitadelFix.ReinforcementSystemAccessor.saveReinforcements(ModSystemBlockReinforcement _instance, Dictionary`2 reif, BlockPos pos) in F:\Dev\C#\CitadelFix\citadelfix\src\ReinforcementSystemAccessor.cs:line 52 at CitadelFix.ReinforcementSystemAccessor.SaveReinforcements(Dictionary`2 reif, BlockPos pos) in F:\Dev\C#\CitadelFix\citadelfix\src\ReinforcementSystemAccessor.cs:line 26 at CitadelFix.Fixes.GroupLockPatch.TryLock(ModSystemBlockReinforcement __instance, BlockPos pos, IPlayer byPlayer, String itemCode, Boolean& __result) in F:\Dev\C#\CitadelFix\citadelfix\src\Fixes\GroupLockPatch.cs:line 47 at Vintagestory.GameContent.ModSystemBlockReinforcement.TryLock_Patch2(ModSystemBlockReinforcement this, BlockPos pos, IPlayer byPlayer, String itemCode) at Vintagestory.GameContent.ItemPadlock.OnHeldInteractStart(ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, Boolean firstEvent, EnumHandHandling& handling) in VSSurvivalMod\Item\ItemPadlock.cs:line 60 at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseActiveSlotItem(BlockSelection blockSel, EntitySelection entitySel, EnumHandInteract useType, EnumHandHandling& handling) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 854 at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleMouseInteractionsBlockSelected(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 444 at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnFinalizeFrame(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 89 at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 185 at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\ClientMain.cs:line 802 at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 1006 at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 675 at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 650 at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 88 at OpenTK.Windowing.Desktop.GameWindow.Run() at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 318 at Vintagestory.Client.ClientProgram.<>c__DisplayClass9_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 128 at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93

 (edit comment delete)