JBMod
Not enough ratings
How to Get Hammer++ to Work With JBMod: The Method I Found to Work at Least.
By Dr. Engineer
In this guide i'll show you a method of getting JBMod to work with Hammer++. There may be some changes to this if someone else has found something else to work. but i'll show you how I got it to work.
   
Award
Favorite
Favorited
Unfavorite
Setting things up.
Let's start with what you'll need.
You'll need...
  • Hammer++ of course.
  • A dummy gameinfo.txt. more on that later.
To begin we're going to need Hammer++. the link for the downloads is here.Hammer++ Downloads[ficool2.github.io]
You're going to need either one of these two versions. Not sure if it matters what you get much but i got it to work via Source 2013 Singleplayer. The multiplayer build might fix an issue that we'll fix later on. The one i'll be using is the singleplayer build. once you have it downloaded extract it in your specified source 2013 bin folder whether it be multiplayer or singleplayer. EDIT: As of January 8th, 2023. I highly recomend using the multiplayer build for JBMod entirely. it prevents 2 issues that i mentioned here that i'll keep here for archival purposes if you still choose to use the singleplayer build.
Next we'll setup Hammer++ for JBMod. For this it will be almost the same as setting it up for GMod. but we're going to create a new configuration for it.

The HL2MP FGD i'm not sure is necessary but to be safe add that to the list of FGDs. EDIT: Add the HL2MP FGD. it prevents a model error for the slam in the multiplayer branch of Hammer++.
For build programs use these:

After that we'll need our dummy gameinfo.txt. Go here for my dummy gameinfo.txt. https://pastebin.com/2cQLyTNa
once downloaded, name your real gameinfo.txt to something like, gameinfo.txt.actual to know that you're using the real one or not. put that into the jbmod subfolder of JBMod.
You are now ready to go through with this method.
The Main Process
Now if you have clicked ok after configuring Hammer++, close it then reopen. You should now see JBMod as your configuration. Open that and either open up a new map or open an existing map you're working on. It will now function like normal. Now what we're going to do is what i call the Trojan Horse method.
Rename your dummy to something like gameinfo.txt.dummy. then name the real one to just gameinfo.txt. Now do a compile and it will work properly. Some say to remove $game_dir from the $game_exe parameters but don't, it will not work that way and will just end up kicking you back to the menu. If it tries to say that gameinfo.txt isn't in the hl2 directory just copy your real gameinfo.txt in that directory. EDIT: This has been not an issue in the Multiplayer version of Hammer++. The Trojan Horse method is still required though.
The Main Advantages and Disadvantages. Mostly assumptions...
Pros:
  • The entire tool set of Hammer++ is at your disposal. Like lighting previews, particle browser, and more
  • It actually works.
Cons:
  • May break a model or 2 but the entities should work fine none the less. EDIT: not an issue in the multiplayer version of Hammer++ and after adding the hl2mp fgd to the configuration
  • You can't open/create more than one map at a time without having the dummy one open first then switching to the real one when needed. EDIT: Not an issue at all. Works just fine with multiple maps after doing the Trojan Horse method.
  • You'll have to switch back to the dummy one every time you close Hammer++.
  • map_edit might be broken when a map is compiled with Hammer++. map_edit was used for settling physics objects but hammer++ already can do that in the editor so it was removed. This means that in-game nodegraph editing is also broken so be wary of that.
Why Does this work!?
Basically, Hammer Editor looks for a text document upon opening it up. This is called gameinfo.txt. This file is really important since it lets source know where the hell everything is, including vpks which contains the external files all packed into one file. Now while regular JBMod hammer works just fine for this since it was specifically configured just for it. Hammer++ doesn't quite understand what JBMod's gameinfo is trying to say so it fails on trying to find the models, which also fails on finding the editor objects, which then when all else fails, tries to load the error model which it can't. Which then causes Hammer++ to crash.

However when we used that dummy file, we basically gave it a directory on where the files are for Source SDK 2013 in a way that Hammer++ can understand. This also gave it the JBMod files since some things have been ported over to JBMod such as the S.L.A.M.

Now when we switch over to the actual gameinfo. It gave the compilers exactly what it needed for it to truly compile with so it doesn't fail because we gave it the wrong info. Since we're currently running a map in the editor, Hammer++ won't know the difference with the dummy we originally gave it and the real one we switched to since to hammer, both are gameinfo.txt and it shouldn't matter unless if the compilers say so or we close it which sets the current gameinfo.txt data to nothing until we boot it back up.
Conclusion and Credits.
Thanks for reading this. I've been trying to get Hammer++ to work with JBMod for a good while but least i found one that works. Now i'm sharing this onto you future mappers. Godspeed you JBMod mappers.
Resource Credits:
If you want to contact me with any corrections or findings you have made, please comment them here. You can also contact me via Steam or Reddit (/u/VHSJunkyGuy). I want to know if you can find a different method that works or any improvements to it.