• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

What tools are used today for Modding?? (Getting back in to modding)

Status
Not open for further replies.
Level 4
Joined
Dec 14, 2004
Messages
85
So I use to Mod for this game for a long time but then I stopped 10 years ago after focusing on coding for a living. But I just saw today about the WC3 updates that are coming soon and my mind is swirling with ideas.

So I'm wondering which tools are popular for making custom maps these days (I saw something about an editor that uses a different .exe I would probably focus on maps that would run on battle.net).

For example
Is there an editor extension that is popular?
Is there a language compiler that is popular (We used vJass before)
Is there a code editor for this language I should know about?
Anything else I should know about?

Thanks for taking the time to help me out.
 

~El

Level 17
Joined
Jun 13, 2016
Messages
556
JNGP and older editors are quickly becoming obsolete as WC3 updates are rendering them unusable.
You can look forwards to WEX for an alternative. It's not quite a full replacement yet, but it has vJASS support and other nifty features.
SharpCraft World Editor Extended Bundle

As far as scripting goes, I highly recommend you to try Wurst. It's a high-level, statically typed language with a lot of features that vJASS lacks and overall is much more pleasant to use, due to it's much more expressive syntax and feature set:
* Better OOP
* Extension functions on native data types (e.g. player.setName(...), unit.remove(), etc.)
* Lambda functions
* Incredible optimizer that emits very efficient code
* Automated testing!
* Regularly updated and actively worked on
I could go on, but it's best to take a look yourself.
WurstScript • Home

As far as code editing goes, Wurst encourages writing code outside of WorldEdit, and has an excellent plugin for VSCode with the obvious feature set (syntax highlight, autocompletion, suggestions) and code analysis for catching errors and warnings as you type.

Tbh, that's about it. There are some fixes for JNGP as far as I know, but you're best off trying to run a separate install with 1.26 on it for JNGP if you really want to use it. Go for WEX if you need vJASS. Go for Wurst if you want a better language that doesn't try to break your knees each time you use it.

EDIT: Wurst also has a pretty big standard library that it ships with, that provides utilities/systems for a lot of very common use cases, such as unit indexers, File IO, group utilities, timer utilities, vectors/math operations, Table, LinkedList, HashList and so on.
 
Level 4
Joined
Dec 14, 2004
Messages
85
Thanks. Just tried Wurst it is pretty cool. I at least was able to get hello world up and running. So are there not things I'll be missing from not using a custom editor besides code compilation. Seemed like there was but I could be off. Well I guess next is to test if I can edit code and my map terrain and units at the same time. Thanks for pointing me in the right direction.

And lambdas are further along then anything I really remember seeing(I guess technically Jass has always had first class functions)
 

~El

Level 17
Joined
Jun 13, 2016
Messages
556
Thanks. Just tried Wurst it is pretty cool. I at least was able to get hello world up and running. So are there not things I'll be missing from not using a custom editor besides code compilation. Seemed like there was but I could be off. Well I guess next is to test if I can edit code and my map terrain and units at the same time. Thanks for pointing me in the right direction.

And lambdas are further along then anything I really remember seeing(I guess technically Jass has always had first class functions)

The way Wurst implements lambdas/closures is pretty clever, tbh. You can see the emitted jass code in the _build directory if you're curious about the output.
Just pay attention to the build options in wurst_run.args, since by default Wurst doesn't enable optimizations (it has a fairly aggressive inliner and local optimizations).

You should be able to edit your map in WE and the code in VSCode at the same time, since Wurst doesn't alter your original map file. Instead, it copies it over, and injects the resulting code into the copy, and runs that, so your original map file is perfectly safe from any tampering. As far as Wurst is concerned, it's read-only.
 
Level 6
Joined
Jun 18, 2011
Messages
147
Could someone please give me some ideas on how I might be able to re-save my vJASS map from 1.26 so that I can edit it using Sharpcraft and Wurst, or might it open it and re-save it successfully? My gpu on my PC died or I would try it. I am on a MAC, so can I use Sharpcraft on a MAC?

It's been awhile for me as well. My apologies if I should have started a new thread, but it seemed like a related question.
 
Last edited:
Status
Not open for further replies.
Top