Mods / Haz's Chakrams
Author: LastHazzerd
Side: Both
Created: Aug 8th at 12:59 AM
Last modified: Aug 12th at 12:21 AM
Downloads: 436
Follow Unfollow 23
Latest release (for Vintage Story 1.20.12, outdated):
hazchakram_0.9.2.zip
1-click install
For testers (for Vintage Story 1.21.0-rc.4, potentially outdated):
hazchakram_1.0.2.zip
1-click install
Haz's Chakrams
Chakrams are a throwing weapon originating out of the Indian subcontinent.
Essentially they were metal rings forged with a sharp outer edge that were intended to be flung at a target.
They functioned primarily as throwing weapons but could also be used for melee combat.
(I might add their smaller and larger versions in a future update, but this is mostly practice mod.)
This mod adds the following items to the game:
- Chakrams - Metal throwing weapons that can be smithed on an anvil or cast in a ceramic mold.
- Variants - Copper, the 3 bronze alloys, iron, meteoriciron, steel.
- Clay/Ceramic Chakram Mold
The purpose of this mod is mostly to get me familiar with making mods for this game. This one specifically to familiarize myself with general content modding, some code modding, and how items, weapons, and smithing/casting are made and handled in the engine.
I don't anticipate fleshing this mod out much further beyond experimenting with additional chakram types, and troubleshooting practice.
Still, these are also weapons I enjoy seeing in media.
KeyWords: Weapon Throwable Metal Exotic
| Mod Version | Mod Identifier | For Game version | Downloads | Released | Changelog | Download | 1-click mod install* |
|---|---|---|---|---|---|---|---|
| 1.0.2 | hazchakram | 215 | Aug 12th at 12:21 AM | hazchakram_1.0.2.zip | 1-click install | ||
|
Applied crash frix from the 1.20 build of the mod to the 1.21, and updated the clay molds to work with the new ceramics in the game. | |||||||
| 1.0.0 | hazchakram | 49 | Aug 8th at 1:32 AM | hazchakram_1.0.0.zip | 1-click install | ||
|
Initial upload | |||||||
| 0.9.2 | hazchakram | 118 | Aug 11th at 10:21 PM | hazchakram_0.9.2.zip | 1-click install | ||
| |||||||
| 0.9.1 | hazchakram | 54 | Aug 9th at 9:39 PM | hazchakram_0.9.1.zip | 1-click install | ||
|
Backported to work with stable 1.20, had to change how the clay mold worked. Not as thoroughly tested, but there wasn't any glaring issues on initial tests. | |||||||
How can i turn off (damaged by) i carry 20 or more and when thrown they all have different damage to them and take up 2o different backpack slots. I really dont think they should take damage, you lose enough just throwning them. Maybe be like arrows small percentage to destroy but the taking durability damage makes carrying multiples useless.
SoulReaperz
sorry for delay, was out yesterday.
Will troubleshoot the error, I tried to just adjust what i had for the 1.21 but i might need to just need to redo the casting related content to ensure it works on 1.20
LastHazzerd
Game Version 1.20.12 Multiplayer server
upon completion of the mold forming the client crashes, when loging back in the mold is completed heres the crash report
it does function in the game just crashes when completing the mold forming
Running on 64 bit Windows 10.0.19045.0 with 49074 MB RAM
Game Version: v1.20.12 (Stable)
8/10/2025 01:32:51: Critical error occurred
Loaded Mods: backpackpackStandardcontinued@1.0.0, betterloot@1.1.4, bettertraders@0.0.10, buzzybees@1.1.0, cavecontent@1.0.1, chiseltools@1.14.21, ClaimsRadar@1.1.0, earlybeehivekiln@1.0.1, eldritchmonsters@2.7.0, expandedmolds@1.1.2, fantasycreatures@0.7.1, geoaddons@1.4.2, istchests@0.0.4, immersivecorpsedrop@1.0.3, jonasboat@1.0.1, linearpower@0.3.4, magellan1k@1.0.2, mbr@1.0.0, millwright@1.2.7, MineIndicator-texturepack@1.0.0, molds@0.1.7, nightlight@1.3.6, nightwatcher@2.2.0, particlesplus@2.0.1, primitivesurvival@3.8.0, ruststones@1.2.0, scraps@1.1.1, scrollrackable@1.3.2, shelfobsessed@1.2.0, simpleelevator@1.3.0, tprunes@1.1.1, clonetoolforsica@1.0.4, viesblocks@2.5.1, vintageengineering@0.3.13, game@1.20.12, worldgenfix@1.3.1, alloycalculator@1.0.0, ancienttools@1.6.0-pre.3, apegrapes@1.2.6, apelanterns@1.1.2, attributerenderinglibrary@1.0.2, egocaribautomapmarkers@4.0.2, betterruins@0.4.15, blobcatmod@0.1.1, blocksoverlay@4.4.1, brutalstory@1.0.0, butchering@1.9.1, carryon@1.9.0-pre.1, commonlib@2.6.1, kconfigurablecollection@1.0.1, danatweaks@3.4.5, deepveinasbestos@1.0.0, dressful@1.6.0, electricalprogressivecore@2.0.0, electricity@0.0.12, entitynametag@1.3.0, extrainfo@1.9.10, foodshelves@2.2.1, fromgoldencombs@1.8.13, hazchakram@0.9.1, healthbar@1.0.7, heatretention@1.0.2, hudclockpatch@1.0.5, itempickuphighlighter@1.0.0, itempickupnotifier@1.7.1, jaunt@2.0.0, jebsinventorytweaks@1.0.1, jonastools@1.2.0, krpgenchantment@1.0.1, landclaming@1.0.3, lenstweaks@1.0.6, levelup@2.0.3, mannequinstand@1.0.5, medievalexpansionpatch@1.2.1, millwrightvawtaddon@1.0.2, mobsradar@2.1.8, nemi@1.1.0, playerlist@2.1.5, claywheel@1.1.2, purposefulstorage@1.3.0, riftworks@1.1.13, rustandrailroads@2.0.11, rustboundmagic@2.5.7, statushudcont@3.2.7, stillnecessaries@1.2.2, storagecontroller@1.1.5, tabletopgames@2.10.5, temporalhole@1.2.0, temporalstormtimer@1.1.1, tentbag@2.2.0, th3dungeon@0.4.3, thievery@1.1.6, unbindhotkeys@1.0.1, usefulstuff17@1.4.1, creative@1.20.12, survival@1.20.12, vsvillage@2.0.0, waxpress@1.0.2, xlib@0.8.16, xrayblock@1.0.0, 118hair@0.1.3, advancedchests@0.2.4, astriaporta@0.0.5, tradercamps@1.1.5, draconis@1.0.0, electricalprogressivebasics@2.0.0, electricityextensions@0.0.8, extraoverlays@1.5.0, frames@0.2.4, itemrarity@1.1.5, playercorpse@1.11.1, tpnetpatched@1.14.8, temporaltechnology@1.1.5, th3dungeontopentrance@0.4.1, wrustbound@1.0.0, xskills@0.8.19, electricalprogressiveqol@2.0.0, rustboundmagicxskills@0.2.1, veep@1.1.0, wilderlandsdrops@1.0.0, xskillsnewclassesexp@0.1.0, xwilderlands@1.0.0, electricalprogressiveequipment@1.0.6
System.InvalidOperationException: Applying BehaviorTemperatureSensitive to a block entity requires that block entity class to implement ITemperatureSensitive
at Vintagestory.GameContent.BEBehaviorTemperatureSensitive.Initialize(ICoreAPI api, JsonObject properties) in VSSurvivalMod\BlockEntityBehavior\BEBehaviorTemperatureSensitive.cs:line 36
at Vintagestory.API.Common.BlockEntity.Initialize(ICoreAPI api) in VintagestoryApi\Common\Collectible\Block\BlockEntity.cs:line 70
at Vintagestory.Client.NoObf.ClientWorldMap.SpawnBlockEntity(String classname, BlockPos position, ItemStack byItemStack) in VintagestoryLib\Client\ClientWorldMap.cs:line 1096
at Vintagestory.API.Common.Block.OnBlockPlaced(IWorldAccessor world, BlockPos blockPos, ItemStack byItemStack) in VintagestoryApi\Common\Collectible\Block\Block.cs:line 1363
at Vintagestory.Common.BlockAccessorBase.SetSolidBlockInternal(Int32 blockId, BlockPos pos, IWorldChunk chunk, Boolean synchronize, Boolean relight, ItemStack byItemstack) in VintagestoryLib\Common\API\BlockAccessorBase.cs:line 153
at Vintagestory.Common.BlockAccessorBase.SetBlockInternal(Int32 blockId, BlockPos pos, IWorldChunk chunk, Boolean synchronize, Boolean relight, Int32 layer, ItemStack byItemstack) in VintagestoryLib\Common\API\BlockAccessorBase.cs:line 115
at Vintagestory.Common.BlockAccessorRelaxed.SetBlock(Int32 blockId, BlockPos pos, ItemStack byItemstack) in VintagestoryLib\Common\API\BlockAccessorRelaxed.cs:line 75
at Vintagestory.Common.BlockAccessorBase.SetBlock(Int32 blockId, BlockPos pos) in VintagestoryLib\Common\API\BlockAccessorBase.cs:line 514
at Vintagestory.Client.NoObf.GeneralPacketHandler.HandleSetBlock(Packet_Server packet) in VintagestoryLib\Client\Systems\GeneralPacketHandler.cs:line 127
at Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 786
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 161
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 695
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 670
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 334
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 130
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93
Event Log entries for Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 8/7/2025 05:57:15, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.20.12.0, time stamp: 0x66470000
Faulting module name: KERNELBASE.dll, version: 10.0.19041.4648, time stamp: 0x5a4af933
Exception code: 0xe0434352
Fault offset: 0x000000000003b699
Faulting process id: 0x8fc
Faulting application start time: 0x01dc0781990e556c
Faulting application path: C:\Users\chaos\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: 79cb6e5f-d4ae-485a-905f-b2294e25fe71
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 7/18/2025 00:20:27, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.20.12.0, time stamp: 0x66470000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x4578
Faulting application start time: 0x01dbf79ad33a6dcc
Faulting application path: C:\Users\chaos\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\Users\chaos\AppData\Roaming\Vintagestory\Lib\openal32.dll
Report Id: 8bdd9773-dd6e-44ac-a21f-528e07d60fc4
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 7/18/2025 00:16:58, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.20.12.0, time stamp: 0x66470000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x306c
Faulting application start time: 0x01dbf79a4294749a
Faulting application path: C:\Users\chaos\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\Users\chaos\AppData\Roaming\Vintagestory\Lib\openal32.dll
Report Id: 01809180-3a39-4305-8b04-56ff787d6a6c
Faulting package full name:
Faulting package-relative application ID: }
did a backport to 1.20 while working on the other mod i'm about to post, didn't change much beyond the clay mold json.
If there's any big issues let me know of course.
I like the idea of quantum chakrams, that sounds really cool. And if you get the code for that working you could impliment a more mundane version with a normal boomerang, given players more pre-metal options.
Artor
I did have a few ideas on how that'd work, i want it to be more of a realistic representation of the chakram (with gameplay balance in mind of course)
But chakrams in media tend to be more mystical with a "boomerang" quality to them. though that'll take some reworking of the projectile code.
I've had thoughts about adding Rope Darts and Meteor Hammers so that the projectile code can remain largely untouched and the player just clicks to pull the projectile back.
BUT!~
I did have a thought about how to keep it setting friendly and still have chakrams that fly back, temporal gears are already circular, I'm considering a mystical chakram using temporal qualities to return to the player...
But I don't want to promis anything right now, as I've a lot of other mods I'd like to cut my teeth on, so I can better learn the engine and such.
Appreciate the intrest though!
Oh, certainly, I'll back port it to 1.20, didn't expect it to catch such favor.
I think it'll take a tiny bit of changes since the devs made clay firing more robust in 1.21.
good oppertunity to tweak some things i noticed after uploading, cuz there's always something you miss when you click the publish button.
I love this! Of course you'd release it a week after I went back to 1.20.12 lmao. Oh well that's why you can install to multiple drives :D
Agreed with the two below: a 1.20.12 version would be nice.
Also, would it be possible to add a variant that returns to your hand when thrown?
would love to see this for version 1.20.12
the current release does not work in 1.20.12
i can tell you've got quite the potential