Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


ZigTheHedge last won the day on May 13

ZigTheHedge had the most liked content!

Community Reputation

14 Good

About ZigTheHedge

  • Rank
    Berry Picker
  • Birthday 11/24/1980

Recent Profile Visitors

140 profile views
  1. Update 0.72-B: - fixed crash when receiving parcels - fixed log spam because of Branch Cutters - fixed constant damage when falling on a Rusty Spikes (now it depends on falling height)
  2. Hmmmm... that’s the thing I havn’t thought of... Will do, thanks!
  3. Hey! Nice idea! And here’s the advise: make death texts to be arrays, so that the random text will be displayed
  4. Update! 0.7-B! - Added: Branch Cutters. Tool for leaves gathering. - Patched: Wild Vines now can be used as a ladders. - Added version 0.7-B-immersion for use alongside Immersion mode.
  5. Everyone! Entities get hurt when they “fall” on a spike. So, when entity is cautious, spikes are safe.
  6. That happens because Immersion removes vanilla Barrel. I'll try to fix this. That's a good idea! I'll think about what I can do with it.
  7. Hey, fellow players! Here's the initial public release of my "tweaks collection" mod, which aims to make yours (actually, mine ) survival experience better! This mod adds the following thingies: 1. Mailbox 2. Trashcan, the 3. Rusty Spikes 4. Trapdoor patch! Since version 0.7-B: 5. Branch Cutter! 6. Vines patch 0.72-B changelog: Please keep me notified about found bugs! And stay tuned for more content! Yeeeehaaaah! If (and only!) you're already using Immersion mod, use -immersion version of Necessaries which is compatible. necessaries_v0.72-B.zip necessaries_v0.72-B-immersion.zip necessaries_v0.7-B.zipnecessaries_v0.7-B-immersion.zip necessaries_v0.6-B.zip
  8. Hey, fellow modders! Another question: I'm trying to make a custom molding recipe. I've made a form (copy/tweaking the toolmold.json of course), a recipe of the "clayforming" type for the mold, and a resulting item of course. Well, all the processing chain is working flawlessly: I can use a clay on a ground to knap a mold form, burn it, and pour a liquid metal into it to get a result. But I can't see the last step of this process in a Handbook! If I'm pressing "H" hovering my final item, I can only see the item explanation without any directions of getting it. What should I do to make the handbook recognize my molding recipe? UPD: Well, to fix this, you have to explicitly add "createdBy" (case-sensitive!) token in item json: attributes: { handbook: { createdBy: "metalmolding" } },
  9. Oh, man... stack.ResolveBlockOrItem() did the trick! Thanks!
  10. Hi, Tyron! The player. Regular right click with Item form of Block. Yeah, I know. The screenshot just showing that stack.ItemAttributes were there during the "save" in OnBlockBroken, and weren't during "load" in OnBlockPlaced. They should serialize via Attributes.SetItemstack, right?
  11. Hey, fellow modders and authors of such a great API! I'm struggling with a problem, which I can't find the source of. When player breaks my block, it's inventory should be saved in dropped Item Attributes. Well, it does, I can confirm it via debug. Now, when I try to place the block using that item, I only get partial information from the former ItemStacks. Here are the code parts: OnBlockBroken (everything is saving inside ItemStack::Attributes just fine) public override void OnBlockBroken(IWorldAccessor world, BlockPos blockPos, IPlayer byPlayer, float dropQuantityMultiplier = 1) { if (world.Side == EnumAppSide.Server && (byPlayer == null || byPlayer.WorldData.CurrentGameMode != EnumGameMode.Creative)) { ItemStack[] drops = GetDrops(world, blockPos, byPlayer, 1); ItemStack droppedItem = null; if (drops != null) { if(drops.Length > 0) { droppedItem = drops[0].Clone(); } } if (EntityClass != null) { BlockEntity entity = world.BlockAccessor.GetBlockEntity(blockPos); if (entity != null) { if (entity is IBlockEntityContainer) { ParcelInventory inv = (ParcelInventory)((IBlockEntityContainer)entity).Inventory; droppedItem.Attributes.SetInt("contentsCount", inv.Slots.Length); for (int i = 0; i < inv.Slots.Length; i++) { ItemStack stack = inv.Slots[i].Itemstack.Clone(); droppedItem.Attributes.SetItemstack("slot_" + i, stack); } //droppedItem.Attributes has three Values. First one - is the size of the following ItemStacks, which are two. world.SpawnItemEntity(droppedItem, new Vec3d(blockPos.X + 0.5, blockPos.Y + 0.5, blockPos.Z + 0.5), null); } } } world.PlaySoundAt(Sounds?.GetBreakSound(byPlayer), blockPos.X, blockPos.Y, blockPos.Z, byPlayer); } world.BlockAccessor.SetBlock(0, blockPos); } Debug info from slot_0 (everything is fine - we have an Item here): OnBlockPlaced (ItemStack::Attributes gone crazy and lost almost all information about ItemStack beside Id) public override void OnBlockPlaced(IWorldAccessor world, BlockPos blockPos, ItemStack byItemStack = null) { base.OnBlockPlaced(world, blockPos, byItemStack); if (world.Side == EnumAppSide.Server && byItemStack != null) { int contentsCount = byItemStack.Attributes.GetInt("contentsCount", -1); if (contentsCount != -1) { if (EntityClass != null) { BlockEntity entity = world.BlockAccessor.GetBlockEntity(blockPos); if (entity != null) { if (entity is IBlockEntityContainer) { ParcelInventory inv = (ParcelInventory)((IBlockEntityContainer)entity).Inventory; for (int i = 0; i < contentsCount; i++) { ItemStack stack = byItemStack.Attributes.GetItemstack("slot_" + i); // stack is not a valid ItemStack! Block == null, Item == null ItemAttributes == null! inv.Slots[i].Itemstack = stack.Clone(); inv.MarkSlotDirty(i); } } entity.MarkDirty(true); world.BlockAccessor.MarkBlockEntityDirty(blockPos); } } } } } Debug info from stack (NPEs everywhere!): Any ideas?
  12. That's the reason. Mod needs to be installed on both server and client.
  13. Are you absolutely sure? Check your serverdata/serverconfig.json file and look for "ModPaths" setting. streamdc_v1.0.0.zip file should be placed intact (!!!no need to unzip it) in one of these locations. Next, you should put the same archive in your Mods folder in client. Either in %appdata%\roaming\vintagestory\mods or in main folder\mods. And, just in case, try to die at least once before issuing the command.
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.