# Categories These are not hard rules, but general guidelines. There will be cases not covered here, and things that are just wrong. Do not hestiate to let Harb know. If you find a package in thunderstore that's listed wrong, let any moderator in the discord know. ## Mods Your package is probably a mod if all are true: * Contains code * Is run by BepInEx * Impacts the game without any other (nondependency) mod. ## Client-side: Your package is `Client-side` if it can be used in a server without other clients requiring the use of your mod. Packages that modify the HUD for extra information are often a Client-side mod. Packages that add new content (Items, Buffs, Monsters) are almost always **never** client-side, because there is no way for other people who don't have the package to load those assets. ## Server-side: Your package is `Server-side` if it directly impacts the game for everyone if only the host of the server has the mod. Packages that add new content (Items, Buffs, Monsters) are almost always **never** server-side, because there is no way for other people who don't have the package to load those assets. ### What to do with mods that require full-sync These packages are neither server-side nor client-side. When your package is full-sync, don't add any of the two tags. Your package is definitely full-sync if it adds any new assets (models, textures, sounds) that require syncing between the server and clients. Nearly all of the time, the both host and clients of the server require the mod. ## Tools Your package is a tool if all are true: * Is for the end user to interact with * Does not impact the game without user input Your package is almost surely a tool if: * your code is run outside the game If your end users are devs and this package is not distributed to their end users, this is a tool. ## Libraries Your package is a library if all are often true: * Is developed against * doesn't change gameplay when run standalone * Often a dependency for mods. ## Modpack Your package is a modpack if you are literally bundling up a bunch of mods, maybe some config, and perhaps some language to note ingame what it does. *(Consider using r2modman to share modpacks with friends.)* ## Artifacts: Your package is a artifact if it adds an [Artifact](https://riskofrain2.fandom.com/wiki/Artifact) to the game. If your mod modifies the game and is configurable with a configuration file, but does not have an in-game Artifact to toggle it, then it is not an Artifact. ## Skins Your package falls under skins when: * you add a skin to the game This can be a complete overhaul skin, in which case the package is likely a **mod** as well, or just a texture, in which case the skinapi will be your dependency, and your package isn't a **mod**. ## Maps Your package adds one or more new maps to the game. Modifying spawns on an existing map does **not** count *(Your package is likely a tweak)*. ## Gamemodes Your package is a `Gamemode` if it modifies how the game is ran. Gamemode packages are often drastically different in gameplay. If it does not resemble a normal run of the game, then it is most likely a GameMode. Your package is NOT a Gamemode if the features you are adding are entirely controlled behind Artifacts. ## Tweaks Minor gameplay changes that change existing behaviour or barely add new ones. It's pretty vague category, but consider how much you are overhauling. Tweaks are generally considered to be nonintrusive to normal gameplay. ## Items This package adds new items or equipment to the game. If you are adding unused items, that is in this category. For completion sake, adding new Elite types often come with equipment, but consider the Enemies category instead. This does **not** mean changing vanilla items *(Your package is likely a tweak)*. ## Language This package changes the ingame language. If this is only one or more language files, this package isn't a **mod**. ## Audio This package adds or changes audio in the game. Due to not being easy to replace, packages in this category will likely be a **mod** too. ## Enemies This package adds enemies to game. Enabling unused enemies puts you in this category, but shuffling enemies around on maps doesn't. Adding new modifiers to enemies does (such as new elite types). *(Your package is likely a tweak in that case)*. ## Player Characters This package adds a PLAYABLE survivor (although this doesn't have to be in the lobby, see the Heretic). Making a skin does **not** make your package a listing in this category. ## NSFW This tag exists so that you can be searched for when the "include nsfw" toggle is flipped.