Mods / Normalizer
Tags:
#Crafting
#QoL
#Simplification
Author: Hellaeh
Side: Server
Created: Dec 2nd 2023 at 4:46 PM
Last modified: Aug 31st at 1:37 PM
Downloads: 1448
Follow Unfollow 56
Author: Hellaeh
Side: Server
Created: Dec 2nd 2023 at 4:46 PM
Last modified: Aug 31st at 1:37 PM
Downloads: 1448
Follow Unfollow 56
Latest release (for Vintage Story 1.21.0, potentially outdated):
Normalizer-2.0.1.zip
1-click install
Same functionality as Disassemble Chiseled Block, but does not require any tools.
Also you can clearly see output in craft window.
Balancing the game is not the goal of this mod.
Usage: Put chiseled block into crafting grid, get the output.
2.0.0 - Disables multiblock chiseled grid recipe - use in-world craft instead.
| Mod Version | Mod Identifier | For Game version | Downloads | Released | Changelog | Download | 1-click mod install* |
|---|---|---|---|---|---|---|---|
| 2.0.1 | helnormalizer | 161 | Aug 31st at 1:37 PM | Normalizer-2.0.1.zip | 1-click install | ||
|
added additional null check (blame cattails) | |||||||
| 2.0.0 | helnormalizer | 541 | Sep 25th 2024 at 10:13 PM | Normalizer-2.0.0.zip | 1-click install | ||
| |||||||
| 1.0.1 | helnormalizer | 482 | Dec 25th 2023 at 1:11 PM | Normalizer-1.0.1.zip | 1-click install | ||
|
1.19 ready | |||||||
| 1.0.0 | helnormalizer | 264 | Dec 2nd 2023 at 4:51 PM | Empty | Normalizer-1.0.0.zip | 1-click install | |
If i remember correctly, this has to be fixed on the game side (unless it's already fixed, idk). TimmyChips
Edit: the bug is in the crafting itself. I've got a clip
Really love the mod! Very convenient since sometimes I decide I don't want a block chiseled and saves resources.
My only wish is that the chiseled multiblock recipe in 2.0.0 wasn't fully removed, as normally you can combine different axis-facing chiseled blocks for more complex chiseling. The problem is that you can't do this in the in-world chisel tool menu, only in the crafting recipe. I'm not sure if it's possible to keep the multiblock chisel recipe if there's more than 2 blocks in the crafting grid, and the normalizer recipe will work if it's just 1 chiseled block.
I do see in the repository that the multiblock chisel causes a duping issue. Hopefully the fix is pretty easy!
Great work on the mod!
Tried it, and it does prevent the clients from being kicked and allows crafting with cattail! :D
Everything else still works as intended. You're a damn wizard! Thank you so much for looking into it and finding a fix, even if you couldn't reproduce it with the limited testing i was able to perform. My friends and I appreciate it immensely!
I have no idea why cattails specifically behave like that for you (i could not replicate it), but i added additional null check in 2.0.1, it should prevent the crash at least. Try it out, NylonCat
Hellaeh
I've done some further testing. This time Normalizer was only on the server, not the client.
It still worked as expected, but the client disconnect issue persists. Weirdly, it seems to ONLY affect cattail and ONLY happens when trying to take a stack of it and using Left-CTRL to drag the stack over the crafting grid. Upon rejoining, the cattail will be left in the crafting grid permanently until removed by the player.
No other item we tried caused the same problem - not planks, not papyrus, not clay...
This is a really minor issue as a result, but i've had two other players on the same server replicate it without fail. Unfortunately we cannot test it with only Normalizer installed due to how the server is set up.
The only other mods that either add any kind of custom item or recipe to the game or interact with the user interface would BetterRuins with its dependencies imGUI and configLib. None of the other mods mess with the crafting process or anything related from what i can tell.
Apologies if this information is insufficient, and no worries if you deem this too niche to look into further! I'm glad the mod still works regardless as we wouldn't want to play without it! :)
I did a brief test on local dedicated server, and i couldn't replicate this issue. I did made baskets with cattails and unchiseled some blocks via crafting - no kicking/crashes. Were there any other mods aside from this one? Did you test with this mod only? Also, technically this mod is server side only, so players don't need it. NylonCat.
Sorry for posting this here as i do not have a github account to use the issue tracker, but i did end up finding an issue.
On a multiplayer server, with both server & client running the mod, dragging any stack of items over the crafting grid (we tried with cattail to make baskets) will kick the player with the following error:
Removing the mod from the server fixes this issue, but obviously prevents clients from normalizing chiseled blocks while connected.
In singleplayer, all works as expected.
29.8.2025 21:17:21 [Error] Exception: Object reference not set to an instance of an object.at HelNormalizer.Patch.Event_MatchesGridRecipePrefix(IPlayer player, GridRecipe recipe, ItemSlot[] ingredients, Int32 gridWidth, Boolean& __result) in D:\VSDev\Normalizer\src\patch.cs:line 70
at Vintagestory.GameContent.CharacterSystem.Event_MatchesGridRecipe_Patch1(CharacterSystem this, IPlayer player, GridRecipe recipe, ItemSlot[] ingredients, Int32 gridWidth)
at Vintagestory.Common.InventoryCraftingGrid.FindMatchingRecipe() in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 168
at Vintagestory.Common.InventoryCraftingGrid.OnItemSlotModified(ItemSlot slot) in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 141
at Vintagestory.API.Common.InventoryBase.DidModifyItemSlot(ItemSlot slot, ItemStack extractedStack) in VintagestoryApi\Common\Inventory\InventoryBase.cs:line 492
at Vintagestory.Common.InventoryCraftingGrid.DidModifyItemSlot(ItemSlot slot, ItemStack extractedStack) in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 146
at Vintagestory.API.Common.ItemSlot.OnItemSlotModified(ItemStack sinkStack) in VintagestoryApi\Common\Inventory\ItemSlot.cs:line 427
at Vintagestory.API.Common.ItemSlot.ActivateSlotRightClick(ItemSlot sourceSlot, ItemStackMoveOperation& op) in VintagestoryApi\Common\Inventory\ItemSlot.cs:line 396
at Vintagestory.API.Common.ItemSlot.ActivateSlot(ItemSlot sourceSlot, ItemStackMoveOperation& op) in VintagestoryApi\Common\Inventory\ItemSlot.cs:line 300
at Vintagestory.API.Common.InventoryBase.ActivateSlot(Int32 slotId, ItemSlot sourceSlot, ItemStackMoveOperation& op) in VintagestoryApi\Common\Inventory\InventoryBase.cs:line 461
at Vintagestory.Common.InventoryCraftingGrid.ActivateSlot(Int32 slotId, ItemSlot sourceSlot, ItemStackMoveOperation& op) in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 129
at Vintagestory.Common.InventoryNetworkUtil.HandleClientPacket(IPlayer byPlayer, Int32 packetId, Packet_Client packet) in VintagestoryLib\Common\GameContent\Inventory\InventoryNetworkUtil.cs:line 134
at Vintagestory.Server.ServerSystemInventory.HandleActivateInventorySlot(Packet_Client packet, ConnectedClient client) in VintagestoryLib\Server\Systems\Inventory.cs:line 491
at Vintagestory.Server.ServerMain.HandleClientPacket_mainthread(ReceivedClientPacket cpk) in VintagestoryLib\Server\ServerMainNetworking.cs:line 280
at Vintagestory.Server.ServerMain.ProcessMain() in VintagestoryLib\Server\ServerMain.cs:line 934
Thanks, NylonCat. Updated.
I've tested the 2.0.0 version on the latest stable 1.21 release and the mod seems to work without issues.
Messed around a bit, including with the new (now chisel-able) clinker bricks and the new ceramic materials, and it worked as usual.
Can confirm that it works on 1.20.12
Thank you for the update! This is one of my favourite mods
Its not a mod conflict per se, as even vanilla blocks gets lost. Its the changes that was made to 2.0 (and I saw the comment about multiblock chiseled grid recipe being disabled). To my knowledge there is no in-world craft method to seperate multiblock chiseled blocks. Tbh, never ran into a problem with recipes not respecting class restrictions. And I am using 1.1
There was a major change, where instead of handling ingame event, i switched to harmony patch to control the original method execution. I don't remember exactly why i did it, but probably something about class crafting restrictions not being respected. But hey, if 1.1 works for you - just use it? If you were to find the conflicting mod - i'm willing to look at it and see what's wrong. DilanRona
Fair point regarding compatibility I guess. Except that when using version 1.1 and unchiselling the blocks from say Simple Concrete, I get all the blocks used back. Version 2 fails that task, and only returns the primary block. With the rest thrown away. Same thing happens with vanilla resourses only (granite rock, and med fert soil for example). 1.1 returns all the blocks, and version 2.0 only returns the primary block (granite in this instance).
So there is something broken in version 2, that 1.1 is doing better.
DilanRona, i just tested in creative and it seems to work. Which means it's a compatibility issue or "works-on-my-machine" curse. I do maintain my mods, but i'm a lazy guy and since i don't actually play the game there's little to no motivation for me to go out and reply to "it does not work" issues.
Edit: tested on 1.20.7 btw
Is this mod still maintained? @Hellaeh
multiblock chiseled blocks when trying to uncraft results in some of the items being not being returned (the original material), with everything else being duplicated, including the original multiblock chiseled block, that is returned intact.
ShikiTochi, Hey. I'll postpone the fix for now, cuz there's a duping bug in vanilla (i think).
Not sure if you are still working on this mod but there is one bug i have come across, it completely removes the class exclusive recipie barrier. even as a commoner i can craft crude arrows from hunter and the sling from malefactor as well as fertilizers/seeds from the farmers traits. Normalizer is the only mod i have installed so its nothing with conflicting mods.
No. No bugs so far, if you encounter some - let me know.
Mantoron
Does it have the same bug as well with the game:air block?
I've always wanted this. Thanks!