The Java Edition of Minecraft (available for Windows, macOS, and Linux) can be modded through the client or server. Client mods require the player to add files to their game folder and install a mod launcher/loader such as Forge, while server modding leaves the player's game folder untouched and only changes the behavior of the server, to which the player can then log on in order to play a varied game. Client mods can change the behavior or appearance of any aspect of the game, and commonly add new blocks, items, mobs, vehicles and even dimensions. Client mods can result in loss of performance (due to resource demands) for older or weaker computers, especially if the player combines many mods together in a "modpack"; however, some client mods can increase the game's performance. Modifications to the Java Edition of Minecraft are possible because for each new major version of the game, the community reverse-engineers Minecraft's source code, which is written in Java. [full citation . Mojang and Microsoft provide little official support for this (for example, the game provides no modding API for Java, although Mojang does provide methods for deobfuscating the game), but the EULA permits non-commercial mods.