Download

Please make a quick mod to have Cement Paste Yield 3x instead of one!

Please make a quick mod to have Cement Paste Yield 3x instead of one!

I have been trying for over 12 hours and can’t get it to work.

Other things I wanted to do were to change water jar weights to 2 and Stone Arrows to .1 as well.

If someone can help me I would really appreciate it!

Hi, I tried to sub class Cement Paste and modify the amount, but after some steps I found out, that this simple task is not so simple as it looks.

Here is what I tried:
Creating a sub class of PrimalItemResource_ChitinPastePrimalItemResource_ChitinPaste_CraftingTestMod. Now I modified the amount to 3. If I now cook the project my new asset PrimalItemResource_ChitinPaste_CraftingMod will not be in the output directory, because there is no refernce to the new asset. So the next step i tried creating a sub class of EngramEntry_ChitinPasteEngramEntry_ChitinPaste_CraftingTestMod and modfied also my sub classed PrimalGameData_BP to use this new engram. Now all references are build and the cooking process creates the new assets.
Wohhoo… or wait…
Now I started a test and wondered why I can’t create Cementing Paste in my mortar. So at this point I guess that this is not the only problem, it is only the tip of the iceberg. It is not possible to craft the new Cementing Paste in the mortar, because I created a new resource. What has to be done is to sub class the complete mortar (structure, engram…) as well. And wait, what about the recipies that needs Cementing Paste… yeah they all need to be sub classed as well. This was the point at where I stopped.

A better way would be to overrwrite PrimalItemResource_ChitinPaste in the mod, but I don’t really know how to do it. If I place a modified copy in my mod folder and cook it, the output folder does not contain the modied asset. Perhaps someone else has a solution for this.

Yes I spend with him -op- around 1h on skype trying to get it to work. It seems that we do have to override entire tree.

So

Mortar and Pestal Crafting item
Engram
Hocks up everywhere

Then editing recipes and so on

Its all pretty ok and goes well, the wall we hit was that once we override the original crafting item, the mortar and paste could not position the item on foudation. As mentioned here https://forums.unrealengine.com/showthread.php?75840-Placement-emitter-dont-show-up-on-newly-duplicated-item

So yeah u have to follow chierarchy and subclass all stuff that its being used.

Also before u make mod, test it in UE. We discovered that there was an issues as UE play was crashing. The game dont crash as it catches errors and ignores them, editor on the other hand crash - its the quickest way to test it…

U cant just put PrimalItemResource_ChitinPaste in mod folder, u need the ENTIRE structurem SO PrimalGameData_BP> Link here engram and PrimalItemResource_ChitinPaste, etc etc. It all needs to link and point to each other.

Yeah that is what I was worried about, I hoped there is a simpel way. Going this way leads to rewrite most recipes/items (future items included) and so on.

Well u can subclass it, its pretty fast. I read that they will try to release their internal wiki as to how the game is structured. Once we have that “map” we should be able to a lot quicker edit and create stuff…

Release the map!!!

I prefer the subclass method, i only hoped modifing one property does not lead to subclassing so much more :wink:
The wiki would be great, could be much easier to find the dependencies :slight_smile:

Would it be easier (read: is it possible) to simply overwrite the blueprint with a mod?

e.g. if I were to modify a tyrannasaur stats:

Under Mods, create MyTestMod folder
Create PrimalEarth folder
Create Dinos folder
Create Rex folder
Copy Rex_Character_BP from the original source folder
Make adjustments to fields (change name from Rex to MyRex

(then save/export/cook your mini mod with the single changed file).

I’m just speculating here… but just thinking it would be easier if we could mod existing files than go to the trouble of creating entirely new class trees.

In most of the modding work I’ve done, that’s how it works, with the data you change acting as an override to the base data, and then inheriting the references from the base data with the modified values. We’re currently having to more or less create an entire new item/production chain for that item and swap it out for the original just to tweak something minor like a stack count or a weight.

This will help with people subclassing placeable items (mortar and pestle, gates, torches… etc) https://forums.unrealengine.com/showthread.php?75716-GenericMod-Questions&p=328660&viewfull=1#post328660

I’ll see if i can fix something up for this particular example

Wow, there should be a way to just remap it… vs having to subclass everything involved with cemeting paste. What about just altering the requirement amounts for the items that use the paste and lower them or would that not matter?

Another way could be the “Remap Resource Components” in PrimalGameData_BP or if not maybe it is possible to implement such a remapping for items and other classes.

I’m pretty sure it is a very difficult task to change anything now due to complexity of the game.

I would only ask to get access to wiki page that show links and dependencies so I can bug track my issues. That should be good enough for modelers that are a bit more serious in to it.

Ok so I was fighting with it a bit more.

The problem I have is that.

I copied Cementing paste BP/engram relink all
I copied mortar and pesteel bp / engram structureplacement etc etc player stuff and so on.

Now before I could not place the object. But now as soon as I try to place it I get this :

Fatal error: [File:F:\UE4\UnrealEngine\Projects\ShooterGame\Source\ShooterGame\Classes/PrimalGameData.h] [Line: 1011]
Item Index not found: PrimalItemResource_ChitinPaste_C

KERNELBASE.dll!UnknownFunction (0x000007fefdb7b3dd) + 0 bytes [UnknownFile:0]
UE4Editor-Core.dll!UnknownFunction (0x000007feead7b594) + 0 bytes [UnknownFile:0]
UE4Editor-Core.dll!UnknownFunction (0x000007feeac9880f) + 0 bytes [UnknownFile:0]
UE4Editor-ShooterGame.dll!UnknownFunction (0x000007fedf22e5af) + 0 bytes [UnknownFile:0]
UE4Editor-ShooterGame.dll!UnknownFunction (0x000007fedf2229f7) + 0 bytes [UnknownFile:0]
UE4Editor-ShooterGame.dll!UnknownFunction (0x000007fedf286668) + 0 bytes [UnknownFile:0]
UE4Editor-Engine.dll!UnknownFunction (0x000007fee83401c2) + 0 bytes [UnknownFile:0]
UE4Editor-ShooterGame.dll!UnknownFunction (0x000007fedf2970ca) + 0 bytes [UnknownFile:0]
UE4Editor-ShooterGame.dll!UnknownFunction (0x000007fedf298503) + 0 bytes [UnknownFile:0]
UE4Editor-ShooterGame.dll!UnknownFunction (0x000007fedf29855b) + 0 bytes [UnknownFile:0]
UE4Editor-ShooterGame.dll!UnknownFunction (0x000007fedf23f5ed) + 0 bytes [UnknownFile:0]
UE4Editor-ShooterGame.dll!UnknownFunction (0x000007fedf2244ae) + 0 bytes [UnknownFile:0]
UE4Editor-Engine.dll!UnknownFunction (0x000007fee90fd8a2) + 0 bytes [UnknownFile:0]
UE4Editor-Engine.dll!UnknownFunction (0x000007fee8784f0e) + 0 bytes [UnknownFile:0]
UE4Editor-Engine.dll!UnknownFunction (0x000007fee87a5110) + 0 bytes [UnknownFile:0]
UE4Editor-Engine.dll!UnknownFunction (0x000007fee878142b) + 0 bytes [UnknownFile:0]
UE4Editor-Engine.dll!UnknownFunction (0x000007fee87a1970) + 0 bytes [UnknownFile:0]
UE4Editor-ShooterGame.dll!UnknownFunction (0x000007fedf36e0ef) + 0 bytes [UnknownFile:0]
UE4Editor-Engine.dll!UnknownFunction (0x000007fee8315a1f) + 0 bytes [UnknownFile:0]
UE4Editor-Engine.dll!UnknownFunction (0x000007fee89da206) + 0 bytes [UnknownFile:0]
UE4Editor-Engine.dll!UnknownFunction (0x000007fee89e4ffb) + 0 bytes [UnknownFile:0]
UE4Editor-Core.dll!UnknownFunction (0x000007feeab75440) + 0 bytes [UnknownFile:0]
UE4Editor-Core.dll!UnknownFunction (0x000007feeab755cd) + 0 bytes [UnknownFile:0]
UE4Editor-Core.dll!UnknownFunction (0x000007feeaba09e5) + 0 bytes [UnknownFile:0]
UE4Editor-Engine.dll!UnknownFunction (0x000007fee85cb075) + 0 bytes [UnknownFile:0]
UE4Editor-Engine.dll!UnknownFunction (0x000007fee8a0d2e9) + 0 bytes [UnknownFile:0]
UE4Editor-Engine.dll!UnknownFunction (0x000007fee8a13d15) + 0 bytes [UnknownFile:0]
UE4Editor-Engine.dll!UnknownFunction (0x000007fee86fba86) + 0 bytes [UnknownFile:0]
UE4Editor-Engine.dll!UnknownFunction (0x000007fee8704d52) + 0 bytes [UnknownFile:0]
UE4Editor-UnrealEd.dll!UnknownFunction (0x000007fee64814d2) + 0 bytes [UnknownFile:0]
UE4Editor-UnrealEd.dll!UnknownFunction (0x000007fee68e4f86) + 0 bytes [UnknownFile:0]
UE4Editor.exe!UnknownFunction (0x000000013f8b9394) + 0 bytes [UnknownFile:0]
UE4Editor.exe!UnknownFunction (0x000000013f8aed0e) + 0 bytes [UnknownFile:0]
UE4Editor.exe!UnknownFunction (0x000000013f8aed7a) + 0 bytes [UnknownFile:0]
UE4Editor.exe!UnknownFunction (0x000000013f8baa10) + 0 bytes [UnknownFile:0]
UE4Editor.exe!UnknownFunction (0x000000013f8bb949) + 0 bytes [UnknownFile:0]
kernel32.dll!UnknownFunction (0x00000000778f59cd) + 0 bytes [UnknownFile:0]
ntdll.dll!UnknownFunction (0x0000000077b2b981) + 0 bytes [UnknownFile:0]
ntdll.dll!UnknownFunction (0x0000000077b2b981) + 0 bytes [UnknownFile:0]

Got stuck at the point above with recreating everything. Will not work.

Devs any help please?

Ironically, everyone is going to a lot of trouble just to change the Cementing Paste recipe (it’s part of my mod as well).

This should be telling the Dev’s something…

I also got to this same point last night, with the same results. Crashing in single player as soon as you try to place the mortar and pestle.

I’m only confusing myself by thinking about it now. I created the new cement paste, created all the new items that used it, and referenced everything everywhere. Now I’m wondering how this relates to what my in game character has already learned? All characters on our existing server would have learned the old engram. So will that link up with the new one, because it’s in the same position (146 etc.)? Is that why when you use the mortar and pestle that was existing alreaedy, you see the old engrams?

Too much guess work. I think there are multiple issues here, not just a lack of understanding. Maybe bugs with the dev kit. I’m just going to wait.

Just going off of what all I see needs to be done in reference viewer for PrimalItemResource_ChitinPaste (cemeting paste), try these steps (moving all new files to your mod folder, compiling, and saving along the way - order is not terribly important):

  1. Make sure the new PrimalItemResource_ChitinPaste_Child replaces the old in PrimalGameData_BP_Child in master item list.
  2. Scroll down to remap resources and remap PrimalItemResource_ChitinPaste to your new PrimalItemResource_ChitinPaste_Child.
  3. Scroll back up and check your engram list has your new EngramEntry_ChitinPaste_child instead of the old.
  4. Make sure your EngramEntry_ChitinPaste_child references your new PrimalItemResource_ChitinPaste_Child.
  5. Duplicate (not make a child unless you know a workaround to the first photo in this post: https://forums.unrealengine.com/showthread.php?75716-GenericMod-Questions&p=328658&viewfull=1#post328658 ) the MortarAndPestle blueprint, go to components, click PrimalInventoryBP_MortarAndPestle, and change the chitin paste reference to your new PrimalItemResource_ChitinPaste_Child.
  6. Open TestGameMode_Child and change Player Controller Class to be your new PlayerControllerBlueprint_Child.
  7. Open PlayerControllerBlueprint_Child and change Structure Placer Class to be your new StructurePlacerBlueprint_Child.
  8. Open StructurePlacerBlueprint_Child and add an element to the Placeable Structures list to be your new MortarAndPestle duplicate.
  9. Open EngramEntry_MortarAndPestle_Child and change Blue Print Entry to be your new PrimalItemStructure_MortarAndPestle duplicate.
  10. Open PrimalItemStructure_MortarAndPestle_Child, make any changes you wished to do, change Structure to Build to be your new MortarAndPestle duplicate.
  11. Ensure your map loads your new PrimalGameData_BP_Child and TestGameMode_Childblueprints.
  12. If all else fails just add an entry to the bottom of the master item list and put the old PrimalItemResource_ChitinPaste there and be sure to test to make sure the item used in game is your modified item (may want to add something to identify it in descriptions or something.

Hope this helps, but I cant guarantee this is still everything that needs to be done (since I wrote this off the top of my head rather than performing each step personally).

I’ve tried doing it 3x now. I can replace Mortar and Pestle and it will work. But the second I try to replace Chittin Paste it will crash. The problem is I expect to do with the fact that I’m editing material that is being used for crafting. Where as all you are doing is replacing crafted material. Something tells me there is control not exposed, or that I dont know about or its bugged. I’m waiting for a friendly person to check my files and well see later. So far I cant get it to work.

Funny, I am doing the exact same thing. I ran across http://pastebin.com/k91ZpGzi yesterday and was able to create and place the new mortar and pestle. However the problem comes in with overriding the PrimalInventoryBP_MortarAndPestle. Here is where the crafting station lists what its able to craft. When you place your custom mortar the system freaks out because you have removed the old chitin paste from the master list. The inventory object requires the old one and blows up.

So, how does one override the old PrimalInventoryBP_MortarAndPestle with a new one that acknowledges the new paste?