Changes

639 bytes added ,  16:14, 6 October 2022
no edit summary
Line 1: Line 1:  
{{Under construction}} <!-- Guide for other IDEs is missing -->  
 
{{Under construction}} <!-- Guide for other IDEs is missing -->  
 
== What is Hot-swapping? ==
 
== What is Hot-swapping? ==
Hot-swapping is a feature letting you to see code/resource changes in-game without restarting it.
+
Hot-swapping is a feature letting you to swap-out code of your mod without restarting game, allowing you to see changes quickly and tinker around with it more easily.
   −
{{Tip|It is recommended that you run the game with debug mode in order to use hot-swapping, as code changes will only get applied under debug mode.}}
+
In this article, we will also be covering how to swap resources so that you can change models and textures, and see it in-game quickly.
   −
== Hot-swapping resources ==
+
== Swapping resources ==
=== Hot-swapping resources on Intellij Idea ===
+
=== Swapping resources on Intellij Idea ===
 
After you made changes to resource file, hit this "hammer icon", or build button.
 
After you made changes to resource file, hit this "hammer icon", or build button.
 
[[File:Intellij_idea_menu_for_hot_swap_doc.png]]
 
[[File:Intellij_idea_menu_for_hot_swap_doc.png]]
Line 18: Line 18:  
[[File:Debugmodeintellij.png]]
 
[[File:Debugmodeintellij.png]]
 
=== Hot-swapping code on Intellij Idea ===
 
=== Hot-swapping code on Intellij Idea ===
It's more simple then hot-swapping resources. After making changes to the code, just hit the build button. Then It will show you this message on bottom-left corner. If your mod project is big and it takes a long time to do so, hit <code>Build -> Recompile "currently opened file's name"</code>, this will only recompile file that is currently open. This option will not be visible if you don't have compile-able file opened. Files with extensions such as <code>.java</code> or <code>.kt</code> are compile-able.
+
It's more simple than swapping out resources. After making changes to the code, just hit the build button. Then It will show you this message on bottom-left corner. If your mod project is big and it takes a long time to do so, hit <code>Build -> Recompile "currently opened file's name"</code>, this will only recompile file that is currently open. This option will not be visible if you don't have compile-able file opened. Files with extensions such as <code>.java</code> or <code>.kt</code> are compile-able.
 
[[File:Hotswapmessage.png]]
 
[[File:Hotswapmessage.png]]
 
If you changed class's schematics then will show you error messages saying it is unsupported. Head to Applying schema changes section if you need to change schematics.
 
If you changed class's schematics then will show you error messages saying it is unsupported. Head to Applying schema changes section if you need to change schematics.
    
=== Applying schema changes ===
 
=== Applying schema changes ===
This requires more setup and specific find of JDK.
+
This requires more setup and specific JDK, Jetbrains Runtime (JBR).
 +
But it will greatly accelerate development process and make tinkering easier by allowing you to:
 +
* Create/Remove classes
 +
* Add/Rename/Remove variables/methods
 +
* Change value of final constants
 +
All without restarting the game.
    +
The reason why JBR is suggested over other JDKs is that it has [https://dcevm.github.io/ DCEVM](It allows class schema change in debug mode) by default and requires less configuration, such as hot-swap agent and IDE-specific plugins, etc. Although, there isn't exactly "installer" for it, you would have to download and unpack it manually.
    
==== Downloading JBR ====
 
==== Downloading JBR ====
Download Jetbrain runtime(JBR) with right java version and platform from here: https://github.com/JetBrains/JetBrainsRuntime/releases
+
Download JBR with right java version and platform from here: https://github.com/JetBrains/JetBrainsRuntime/releases
There are many different "flavors" but I recommend you downloading "JBR (vanilla)" one if you don't know what are these.
+
There are many different "flavors" but I recommend you downloading "JBR (vanilla)" one if you don't know what these are.
 
After downloading has finished unpack it into suitable location
 
After downloading has finished unpack it into suitable location
   Line 64: Line 70:  
Then re-generate run configurations by running <code>genIntellijRuns</code>
 
Then re-generate run configurations by running <code>genIntellijRuns</code>
   −
Done! Now launch one of these on debug mode and you can now change classes' schematic as much as you want, it will swap those just fine.
+
Done! Now launch one of these on debug mode and you can now change classes' schematic as much as you want, and then hit build button. it will swap those just fine.
 
[[File:Runconfigs.png]]
 
[[File:Runconfigs.png]]
17

edits