Elwood Posted March 23, 2018 Report Share Posted March 23, 2018 Does anyone know if more logging can be turned on to help with debugging. I added a few items and recipes (no code, just JSON and textures) and I'm getting this crash but none of the logs tell me which key it could not find in the dictionary. All i can do is keep deleting items using trial and error. 2018-03-23 11:47:00 AM: Critical error occurred System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.ThrowHelper.ThrowKeyNotFoundException() at System.Collections.Generic.Dictionary`2.get_Item(TKey key) Link to comment Share on other sites More sharing options...
copygirl Posted March 23, 2018 Report Share Posted March 23, 2018 Can't do much about the bad error message - still something that needs to be improved. Remove the .json files one-by-one to find which one is causing it and share that (as a Gist, for example) and we can have a look at what the cause might be. As you can imagine it's difficult to debug an issue without the .json that causes it. Link to comment Share on other sites More sharing options...
Tyron Posted March 23, 2018 Report Share Posted March 23, 2018 Please also do upload the recipe/item that causes the problem and I'll see that you'll get a better error message in the future. Link to comment Share on other sites More sharing options...
Elwood Posted March 24, 2018 Author Report Share Posted March 24, 2018 I figured out the problem. I was trying to create my own version of a bow in my own domain but it couldn't see bow class from the game domain. I ended up just extending the main bow item with variants and overiding the game:bow. Developing a class for my own version of bow is too complex because there are no examples to work from and all the original code is obfuscated so i gave up. see attached bow.json. When you put this in a domain besides game it wont launch. System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. bow.json Link to comment Share on other sites More sharing options...
Stroam Posted March 24, 2018 Report Share Posted March 24, 2018 I can get you the relevant code on Monday if Tyron or others don't sooner. Link to comment Share on other sites More sharing options...
Elwood Posted March 24, 2018 Author Report Share Posted March 24, 2018 (edited) That would be great. I would also like to see how a fire pit or anvil work. I'm trying to see how possible it is to do more interactive crafting. From the looks of it everything in-game is possible to be made using a mod. Edited March 24, 2018 by Elwood wrong word Link to comment Share on other sites More sharing options...
Elwood Posted March 24, 2018 Author Report Share Posted March 24, 2018 Not sure if this should be posted in the regular suggestions or in the modding thread. Currently grid recipes require undamaged items as inputs unless they are a tool. But to implement a concept of sharpening stones a damaged item needs to be consumed to produce an item with no damage For input materials would it be possible to have an option to ignore durability (mutually exclusive from isTool) Link to comment Share on other sites More sharing options...
copygirl Posted March 25, 2018 Report Share Posted March 25, 2018 You should be able to use the same code class for a custom item without overriding the item, usually. You placed your .json file into assets/game/itemtypes/... - in the same spot as the Vanilla asset is in? Regarding your suggestion, I believe I heard from Tyron that you can use wildcards to get that behavior. So instead of requiring "tool-axe" for example you'd use "too*-axe". Link to comment Share on other sites More sharing options...
Elwood Posted March 25, 2018 Author Report Share Posted March 25, 2018 10 hours ago, copygirl said: You should be able to use the same code class for a custom item without overriding the item, usually. You placed your .json file into assets/game/itemtypes/... - in the same spot as the Vanilla asset is in? Yes this is how i did it, by putting my changes in assets/game. I just extended the bow.json and it worked. I just tried what you suggested and it worked. I created a new bow (copy of bow.json) and named it "longbow" where variants became "longbow-simple" it worked. I also got the "sharpening stone" concept to work. What i wanted to do is allow a person to unstring a bow and get the limb back to put a fresh string on. thanks for the help Link to comment Share on other sites More sharing options...
Sukotto82 Posted November 23, 2020 Report Share Posted November 23, 2020 I like the sharpening stone idea for my own reason I want to take an item say a pick or axe that has been damaged due to use and just repair it. I have not tried this as I didn't think to much about it as of yet but your thread has me curious I'm going to take a random stone (doesn't matter what it is) copy it add a new name for it and do a durability on the stone and when you use the stone in the crafting grid with the damaged item it will act kind of like making fire wood with the axe. it will damage the stone like firewood would damage the axe and the input would be the damaged item/tool like a log for firewood and then the output would be the same tool but fully repaired like firewood while doing 1 durability damage to the stone. if this works I'll make an actual sharpening stone a crafting recipe for it and so on. that is if someone else hasn't already done that. 1 Link to comment Share on other sites More sharing options...
Sukotto82 Posted November 23, 2020 Report Share Posted November 23, 2020 I know I made the same bad practice choices of changing game instead of making a seperate mod folder. I don't know much about vintage story and every game I've modded has been different. Skyrim, Kenshi, 7 days to die and vintage story are all very different from each other when it comes to modding them. what works for one doesn't work for another so I didn't know what to do in vintage story as I'm totally new to it. the purple inventory bags you see in this screenshot are also things I added. I also added compressed coal and a coal mix that burns hotter and longer than normal charcoal the compressed coal was mainly for allowing you to mine more and take up less inventory space. all the items I've added work to some degree. all the items and recipes I've added work except the knapping recipes and clay forming recipes I can't get to work. I added a new berry bush called purrberry and it's mostly a copy of blueberry bush but I changed the texture and the fruit and name and well everything about it just used blueberry bush as a base to work off of and it works but I can't find it in my world. I have to spawn it in via /gamemode2 (creative) but once I place it down it grows and works perfectly fine. it as well as a few counter crops I made as an experiment work but don't spawn in the world naturally so the only way to get them is creative at the moment. I would like to fix this but don't know how yet. I don't know why name is like that tho. all I did is add the purr berry to the existing small bush where blueberries and cranberries are. { code: "smallberrybush", class: "BlockBerryBush", attributes: { butterflyFeedByType: { "*-flowering": true }, beeFeedByType: { "*-flowering": true }, resetBelowTemperature: -1, stopBelowTemperature: 4, revertBlockBelowTemperature: -4 }, entityclass: "BerryBush", behaviorsByType: { "*-ripe": [ {name: "Harvestable", properties: { harvestTime: 0.6, harvestedStack: { type: "item", code: "fruit-{type}", quantity: { avg: 2.2 } }, harvestedBlockCode: "smallberrybush-{type}-empty" }} ], }, variantgroups: [ { code: "type", states: ["blueberry", "purrberry", "cranberry"] }, { code: "state", states: ["empty", "flowering", "ripe"] }, ], creativeinventory: { "general": ["*"], "flora": ["*"] }, renderpass: "OpaqueNoCull", renderAlphaTest: 0.4, shape: { base: "block/plant/smallberrybush_{state}" }, blockmaterial: "Plant", texturesByType: { "*-empty": { leaves: { base: "block/plant/berrybush/leaves/{type}*" }, branches: { base: "block/plant/berrybush/branches/default" } }, "*-flowering": { leaves: { base: "block/plant/berrybush/leaves/{type}*" }, branches: { base: "block/plant/berrybush/branches/default" }, berries: { base: "block/plant/berrybush/flowering/{type}*" }, berriesup: { base: "block/plant/berrybush/flowering/{type}*" }, }, "*-blueberry-ripe": { leaves: { base: "block/plant/berrybush/leaves/{type}_ripe*" }, branches: { base: "block/plant/berrybush/branches/default" }, berries: { base: "block/plant/berrybush/ripe/{type}*" }, berriesup: { base: "block/plant/berrybush/ripe/{type}*" }, }, "*-purrberry-ripe": { leaves: { base: "block/plant/berrybush/leaves/{type}_ripe*" }, branches: { base: "block/plant/berrybush/branches/default" }, berries: { base: "block/plant/berrybush/ripe/{type}*" }, berriesup: { base: "block/plant/berrybush/ripe/{type}*" }, }, "*-ripe": { leaves: { base: "block/plant/berrybush/leaves/{type}*" }, branches: { base: "block/plant/berrybush/branches/default" }, berries: { base: "block/plant/berrybush/ripe/{type}*" }, berriesup: { base: "block/plant/berrybush/ripe/{type}*" }, }, }, sideopaque: { all: false }, sidesolid: { all: false }, replaceable: 3000, lightAbsorption: 0, resistance: 0.5, collisionbox: null, sounds: { place: "block/plant", break: "block/plant", hit: "block/plant", }, rainPermeable: false, dropsByType: { "*-ripe": [ { type: "block", code: "smallberrybush-{type}-empty", quantity: { avg: 1 } }, { type: "item", code: "fruit-{type}", quantity: { avg: 2.2 } }, ], "*": [ { type: "block", code: "smallberrybush-{type}-empty", quantity: { avg: 1 } } ] }, materialDensity: 200, vertexFlags: { zOffset: 2 }, frostable: true, combustibleProps: { burnTemperature: 600, burnDuration: 10, } } it all works except not finding purrberrybush in wild the blueberry bush and cranberry bush don't show up with weird names but purrberry does for some reason despite being in the same code. Link to comment Share on other sites More sharing options...
Sukotto82 Posted November 23, 2020 Report Share Posted November 23, 2020 sorry this is the second time it post something in the wrong topic. I don't know why it does this sometimes. this was supposed to be in a different thread where someone else was also having trouble with the name of their items showing up as "game:block-so on and so forth. but for some reason it posted here. Link to comment Share on other sites More sharing options...
Recommended Posts