unsup

***Un**a’s **S**imple **Up**dater*

unsup is a somewhat minimal implementation of a generic working directory
syncer in Java. It supports running as a Java agent, to piggy-back off of the
launch of another program.

***It is particularly good at syncing small private modpacks or one-offs in small groups, where a full public distribution (e.g. on Modrinth!) is overkill or undesirable.*** It is capable of downloading mods from their original sources, wherever that may be… as long as it speaks HTTP(S).

An [unsup.ini](https://git.sleeping.town/unascribed/unsup/wiki/Config-format)
must be placed in the working directory for unsup to know what to do, or a `-Dunsup.bootstrapUrl=` JVM argument specifying where to find such a file.

The updater works hard to ensure the working directory is never left in an
inconsistent state. Short of a sudden power loss in the middle of applying
changes (an incredibly short time window), an unsup update cannot result in
an inconsistent or corrupted working directory.

It does hash-based consistency validation (with your choice of function, SHA-256 recommended) on all downloads and on files before overwriting
them, warning the user if they’ve changed something that has been updated. It
additionally supports signing manifests using OpenBSD Signify for additional
security.

unsup’s unique simplified design means it is compatible with **all launchers**,
from the vanilla launcher to MultiMC. Just add `-javaagent:unsup.jar` to the
JVM arguments, and place `unsup.jar` and `unsup.ini` in the .minecraft
directory.

In Prism Launcher, you can utilize unsup as a “component” by importing the
`com.unascribed.unsup.json` from the latest release on Forgejo. (I can’t upload JSON files to Modrinth). This will allow Prism
Launcher to download and manage unsup. (MultiMC does not support Java agent
components, despite requests.)

It also has a built-in concept of *environments* and *flavors*, allowing it to
be used to manage server installs rather than just clients, and allowing users
to pick between multiple mutually incompatible mod sets with a feature-packed interface unlike any other updater tool.

unsup is also capable of updating MultiMC’s “components”, including
unsup itself if it is added as one. This means you can update mod loaders or
Minecraft itself.

## Creating Packs
You can either point unsup at a [Packwiz](https://packwiz.infra.link/) pack.toml (recommended),
or write a native unsup manifest by hand. See [the wiki](https://git.sleeping.town/unascribed/unsup/wiki/Manifest-format) for info on the
native manifest format. The Creator GUI is on hold, as Packwiz has become a
de-facto standard for Minecraft modpacks.

## Stability
unsup has been used for modpacks on versions from b1.7.3 to 1.21.5, both client and server,
and is known to work with Forge (both legacy and modern), Fabric, Quilt, and NeoForge. It
has successfully powered many modpacks, from [small](https://git.sleeping.town/Rewind/Upsilon)
to [large](https://github.com/ModFest/bc23-pack). Native manifest and Packwiz manifest
support are both quite stable, and have been used extensively.

Signing support is still somewhat experimental, and has not been deployed by anyone at
large scale. That someone could be you — please let me know if it works well!

## GUI
unsup has a minimal and elegant GUI that works everywhere (yes, including
macOS) and can have all of its colors customized to make it fit in with your
branding. It ships with a dark theme with minty accents. Check out the gallery tab!

## License
unsup is released under the LGPLv3.

Pico Limbo Java Wrapper

# PicoLimbo Java Wrapper

A Java wrapper around PicoLimbo, a lightweight, multi-version Minecraft limbo server written in Rust. This allows you to run the PicoLimbo server directly inside your proxy or as a standalone jar file.

[⭐ Star this repo](https://github.com/Quozul/PicoLimbo) • [💬 Join Discord](https://discord.gg/M2a9dxJPRy) • [📖 Read Docs](https://picolimbo.quozul.dev/)

![This image pictures a world loaded in PicoLimbo using a schematic.](https://cdn.modrinth.com/data/cached_images/e3568bfb7089598e6b85d3871a7724584b382615_0.webp)
*Schematic from [Limbo](https://modrinth.com/mod/limbo-server), another great project*

PicoLimbo is a lightweight [limbo server](https://quozul.dev/posts/2025-05-14-what-are-minecraft-limbo-servers/) written in Rust, designed primarily as an AFK or waiting server. Its core focus is on efficiency by implementing only essential packets required for client login and maintaining connection (keep-alive) without unnecessary overhead.

While not aiming to replicate every Minecraft server feature, PicoLimbo supports **all Minecraft versions from 1.7.2 up until the latest stable version**, excluding snapshots.

⚠️ IMPORTANT – READ BEFORE PROCEEDING ⚠️

This project uses native code and was not intended to be used as a plugin. For maximum performance and stability, it is recommended to use the binary instead. You can read more about alternative installation instructions on the [official documentation website](https://picolimbo.quozul.dev/about/installation.html). The Java wrapper is provided to reach more people that have limited setup options.

Since the Java wrapper uses native code, it cannot run on all platforms. It is only compatible with:
– **GNU/Linux** (e.g., Debian, Ubuntu) – With x64 CPUs (AMD/Intel) or arm64 CPUs (e.g., Raspberry Pi)
– **Windows** – With x64 CPUs (AMD/Intel)
– **macOS** – M-series chips (M1/M2/M3+)

If you are unsure whether it’ll work, try it. Most hosting providers uses GNU/Linux with x64 CPUs so you should be fine

## Other Installations Platforms

PicoLimbo is also compatible with Docker and Pterodactyl. If you already have a Docker or Pterodactyl installation, it is recommended that you use that instead of the Java wrapper.

Documentation

Please read the [installation instructions for the Java Wrapper](https://picolimbo.quozul.dev/about/installation.html#java-wrapper) from the documentation website and [how to configure forwarding for PicoLimbo](https://picolimbo.quozul.dev/config/proxy-integration.html) before reporting any issues.

## Community & Support

If you have any questions, suggestions or simply want to stay updated, please join the [Discord server](https://discord.gg/M2a9dxJPRy)!

## Features

### Wide Version Compatibility

Supports all Minecraft versions from **1.7.2 to 26.1.2** natively, no need for ViaVersion or additional compatibility
layers.

### Ultra-Lightweight & Highly Scalable

When running natively outside of the JVM, PicoLimbo uses 0% CPU while idle and can handles hundreds of players under 10 MB RAM.
[View benchmarks](https://picolimbo.quozul.dev/about/benchmarks.html).

### Skin Support

Player skins are supported. What else to say about that?

### Built-in Proxy Support

Integrates with all major Minecraft proxies:

– Velocity (Modern Forwarding)
– BungeeCord (Legacy Forwarding)
– BungeeGuard & BungeeGuardPlus authentication

### Highly Configurable

Customize your server using a simple TOML configuration file, including welcome message, spawn dimension, server list
MOTD, and more. [View configuration docs](https://picolimbo.quozul.dev/config/introduction.html).
When running as a plugin in a proxy, the generated configuration file is located in the same location as any other plugins.

### Schematic World (Experimental)

Load a custom world from a schematic file and customize spawn location (1.16+ only).

Mods Type Checker

# ModsChecker

CLI tool to audit Minecraft mods and flag client-only mods. It scans a `mods` folder, calculates hashes, and queries Modrinth and CurseForge to classify mods.

## Features
– Modrinth lookup by SHA1.
– CurseForge lookup by fingerprint (batch request).
– Metadata detection from `fabric.mod.json`, `META-INF/mods.toml`, `mcmod.info`.
– Client-only classification + heuristics.
– Console summary and optional JSON report.
– English/Russian output.

## Requirements
– Runtime: Java 8 to 25.
– Build: JDK 17+ (Gradle 8.x requirement).

## Build
“`bash
./gradlew build
“`
Resulting fat-jar:
“`
build/libs/modschecker-1.0.0.jar
“`

## Run
“`bash
java -jar modschecker-1.0.0.jar
“`

## Example output
![Example output](https://cdn.modrinth.com/data/cached_images/f2e0211e7bde13aa39ef8b0e5eb706b6e347c055.png)

## Configuration file
On first run, a `modschecker.properties` file is created next to the jar (or in the working directory).

Example:
“`properties
modsDir=./mods
curseforgeApiKey=
gameId=432
verbose=false
jsonOutput=
language=ru
pauseOnExit=true
“`

## CLI options
– `–modsDir `: Mods folder (default `./mods` next to the jar or cwd).
– `–curseforgeApiKey `: API key (or env `CURSEFORGE_API_KEY`).
– `–gameId `: Default `432` (Minecraft).
– `–jsonOutput `: Save JSON report.
– `–verbose`: Print extra diagnostics.
– `–language `: `ru` or `en`.
– `–pause`: Wait for Enter before exit (default on Windows).
– `–noPause`: Do not wait for Enter.

## Classification rules
A mod is considered client-only if:
– Modrinth `client_side=required` and `server_side=unsupported` (client required), or
– Modrinth `client_side=required` and `server_side=optional` (client preferred).

If Modrinth data is not available, a heuristic is used based on keywords in mod names.

## Notes
– CurseForge is used for identification only (no explicit client/server flags).
– No infinite retries or loops; HTTP timeouts are used.

Mod Loading Screen

# Mod Loading Screen

An advanced loading screen with the loading progress of mods. It works on all Minecraft versions, as it doesn’t even require Minecraft. Its only requirement is Fabric Loader 0.12.0 or later or Quilt Loader (specific versions of Quilt support are unknown). Do note that if you run this mod on a game other than Minecraft, the loading screen may not close itself.

## Agent

Mod Loading Screen provides a Java agent, which allows opening the loading screen before even the mod loader itself loads. This feature is primarily targeted at modpack developers who want to make a seamless loading experience. The agent can be used by passing `-javaagent:mod-loading-screen-1.0.4.jar` as a JVM argument. If the agent is used, the loading screen should *not* be installed as a mod.

## API

To depend on the API, use the Modrinth Maven. The API should be JiJed, and doing so will not include Mod Loading Screen inside your mod (it will only include the API, which is only a few kilobytes). The API is designed to have both forwards and backwards binary compatibility with future Mod Loading Screen versions. An API is provided for checking which API calls will return stubs and which ones are real.

“`gradle
repositories {
exclusiveContent {
forRepository {
maven {
name = “Modrinth”
url = “https://api.modrinth.com/maven”
}
}
filter {
includeGroup(“maven.modrinth”)
}
}
}

dependencies {
// implementation, not modImplementation!
include(implementation(“maven.modrinth:mod-loading-screen:1.0.4:api”))
}
“`

The API has two top-level classes: `LoadingScreenApi` and `AvailableFeatures`. Full javadocs are available for both classes.

Limbo

![Description Banner](https://resources.loohpjames.com/spigot/assets/limbo/1.png)

## [Development Builds & Scheme Download for Default Spawn Island](https://ci.loohpjames.com/job/Limbo/)

## Video
Want video demonstrations? Here are some videos made by some awesome people!
Video by [KasaiSora](https://www.youtube.com/@KasaiSora) in English:

## About
If your server always has a few players that **AFK** forever and causes a waste of server resources, or if you want something that can hold lots of players like a **waiting room** or **server lobby**, you can consider using a Limbo server.

This standalone server program can act as any other backend server in your **bungeecord network** (tho can also work without, options in server.properties).

Currently, the program is still **under development** and things will continue to be added.

Limbo Server is built against **26.1.1** and wouldn’t work with other versions. **However, you can use the Limbo plugin [ViaLimbo](https://github.com/LOOHP/ViaLimbo/) do make it possible!**

**A small .schem can be loaded as the default world (the current sponge/worldedit schematic format) and player skins are also supported.**

Limbo Server also has an **API** which allows you to create **simple plugins** and change the behaviour of the Limbo, such as listening to chat events, adding custom commands, sending custom packets, or even adding more worlds.

![A screenshot from the demo server](https://resources.loohpjames.com/spigot/assets/limbo/2.png)
_A screenshot from the demo server, [download the scheme here](https://ci.loohpjames.com/job/Limbo/)_

## Demo Limbo Server
Want to take a look at a live demo?

“`
IP: mc.loohpjames.com
“`

![mc.loohpjames.com](https://api.loohpjames.com/serverbanner.png?ip=mc.loohpjames.com&width=918&name=IP:%20mc.loohpjames.com)

## Installation
1. Put Limbo.jar in a folder you like
2. Start the server just like any other spigot server with `java -jar Limbo.jar –nogui` _(Or without –nogui flag if you for some reason like the annoying GUI)_
3. Edit the server.properties
4. Restart the server
5. Set up and link the server to your bungeecord proxy if you use that (Remember to set bungeecord to true in step 3)

## Data usage
Usage statistics at https://bstats.org/plugin/server-implementation/Limbo will be visible to the public with your server included in the statistics. No private information of your server is sent.

![](https://bstats.org/signatures/server-implementation/Limbo.svg)

KryptonReno’s Fabric Patcher

# KryptonReno’s Fabric Patcher

[![](https://badges.moddingx.org/modrinth/downloads/kreno-fpatcher)](https://modrinth.com/mod/kreno-fpatcher)
[![](https://badges.moddingx.org/curseforge/downloads/1294543)](https://www.curseforge.com/minecraft/mc-mods/kreno-fpatcher)

[![modrinth](https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3/assets/cozy/available/modrinth_vector.svg)](https://modrinth.com/mod/kreno-fpatcher)
[![curseforge](https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3/assets/cozy/available/curseforge_vector.svg)](https://www.curseforge.com/minecraft/mc-mods/kreno-fpatcher)
[![github](https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3/assets/cozy/available/github_vector.svg)](https://github.com/404Setup/KryptonReno-Fabric)

This is an extension mod for Krypton Fabric, ported from KryptonReno.

## Feature

– More basic optimizations
– RecastLib provides acceleration features for **Windows** (x64/arm64)

## Install

Install directly as a Mod.

Starting from version 26.1.2, the Mod body no longer includes the Patcher and JavaAgent modules. If you still want them
to take effect, please see [README](https://github.com/KryptonReno-Fabric/blob/26.1/javaagent/README.md).

## Config

Add the following parameters to the Java startup parameters to control the mixin enablement:

| Parameter | Description | Default value | Configuration in file form |
|————————–|—————-|—————|—————————-|
| velocity.natives-disable | Disable Native | false | Not supported |

example:

“`shell
java -Dvelocity.natives-disable=true -jar neoforge_launcher.jar
“`

## Dependencies

– [Krypton Fabric](https://modrinth.com/mod/krypton) – Optional dependency. I put some optimizations here.

## License

> This work has a restrictive license in addition to the original license to prevent some unexpected behavior,
> see [404Setup Public License](https://github.com/404Setup/404Setup/blob/main/LICENSE.md)

2025-2026 404Setup. All rights reserved. Source code is licensed under a LGPL-3.0 Only.

K-Explosion

Fix [MC-3697](https://bugs.mojang.com/browse/MC/issues/MC-3697).

Bring K-Explosion Back.

TNT submerged in water will not destroy item frames, paintings, armor stands, and other similar entities.

This is merely an imitation of the vanilla features, and it does not fully align with them.

It can also be used as a JavaAgent for improved efficiency

Half-Life Menu

## Half-Life Menu
This mod replaces the title screen with the one from Half-Life 1’s “steam-legacy” build and replaces the background on all menus that have the panorama with the stretched image of Gordon Freeman. It also replaces the loading and resource reload screens with ones from Half-Life 1 (does not work on forge!)
![TitleScreen](https://cdn.modrinth.com/data/oTMKcnZa/images/1f9845c249b0ff7edaf9d61e18511f78b8076ab4.png)

Old v2.1 builds have been removed due to barely working (ex. missing textures on all versions besides forge) and being ugly

Ears (+ Snouts/Muzzles, Tails, Horns, Wings, and More)

 

Faithful fancy fashion features for fuzzy folk.

 

Support me and my mods

 

 

Created due to a lack of the Tails mod for 1.16, Ears is a mod that adds ears, snouts, tails, horns, wings, and more to the player. Eventually, it also became a complete lightweight open source 1.9 skin backport for many old versions, which works even if you aren’t using its special features.

 

Ears has a more vanilla-faithful appearance than Tails, with a lot of 2D regions but a few 3D ones too. There are a wide variety of possible configurations and it can all be customized.

 

Configure your skin at The Manipulator (click here)

 

Why use Ears instead of Tails? Because Ears is easy to port to other versions, based on a multi-version abstraction allowing the mod to even run in web browsers. The Tails mod has wonderful 3D models and animations, but it’s a burden to update it to any version due to its large rendering system and all the data syncing code, causing it to be tightly coupled with the version of the game and mod loader it was designed for. Ears stores all data as pixels in the player’s skin.

 

However, Ears requires you to draw your own additions, and does not come with easy recolorable prefabs like Tails. Additionally, unlike CPM or Figura, Ears has a limited number of customization options. (Note that if you have a simple idea, I may add it. Open an issue on GitHub or hop in Discord.) Ears offers a good middle-ground that will work in almost any version you wish to play. It also does not and never will use external servers, just Mojang’s skin server, so there’s no concerns about a third-party server going down (be it temporarily or for good).

 

Why use Ears instead of other skin fixes? Ears provides a lot of new features to customize your skin, and is a much more lightweight patch with no usage of third-party servers and is completely open source. Additionally, Ears backports translucent secondary layer support to 1.8 and 1.7.

 

Come discuss this mod and any of my others on Discord or Matrix, or send me an email.

CustomRecipes

Create any recipe to make any item you desire. Anything found in-game can be done using CR! Use your imagination to make hundreds of custom items and recipes!

### ▶ Custom Bag Crafting (HavenBags)
In collaboration with Valorless, CustomRecipes support crafting of HavenBags! You can create custom crafting recipes to allow players to craft bags. You can read more on the WIKI.

### ▶ Separate Recipe Files
All recipes are stored in their own file found in a ‘recipes’ folder. This makes for the best organization and makes it easier when working with tons of recipes.​

### ▶ Per World Recipes
You have the ability to disable your recipes in specific worlds while leaving them enabled for others allowing for per-world recipes. You can configure the resulting action within the blacklisted.yml file under the “recipe-disabled-message:” section.​

### ▶ Disable Server Recipes
Disable any vanilla recipe completely or override the recipe so you can change how it is traditionally crafted! Toggle a chat/action bar message to the player if the recipe has been disabled! Refer to the blacklisted.yml for help!

Blacklisting a recipe listens for the result while crafting, triggering any response or messages to the player, while overriding a recipe completely removes the recipe key from the server which allows you to “change” how a vanilla recipe is crafted.​

### ▶ PlaceholderAPI Support
Ability to use placeholders in the lore of your custom items via placeholderAPI. There are also custom plugin-sided placeholders found below. If you have any suggestions for more please let me know.

**Requires PlaceholderAPI to be installed on your server.

Other placeholders are found here.
Spoiler: Current placeholders:

### ▶ Recipe Permissions
Require a user to have specified permission in order to see or craft the custom recipe. Option to send a customized chat/action bar message along with it. ​

### ▶ Custom Item Support
Full support of custom items in your recipes. We currently support nexo, oraxen, itemsadder, executable items, mmoitems, and mythic mobs. In addition, you can also create your own custom item in the ‘Items’ folder to be used in a recipe.

### ▶ NBT Support
Ability to detect custom recipe item names, if it was renamed using an anvil, specific lores, specific material types, specific color codes, and if it has a specific custom identifier.

For versions 1.14+ there is added support for CustomModelData used for texture packs and such. Set a specific custom model data to change the look of a vanilla item while using texture packs!

You have the option to ignore meta-data – ‘Ignore-Data’ in the config.

You have the option to add effects to your weapons, such as poison, which will apply the poison affect to your enemy.

You can add item attributes to your recipes. Item attributes let you change specific attributes on items such as attack damage, knockback, etc. Supports legacy < 1.12 as well for this. You can have spawners for recipe results, colored leather armor, potions, stored enchantments, and a ton of other options by customizing NBT data to tailor your needs.​ ### ▶ Define Item Flags Ability to add item flags to your custom items. You can hide attributes and more by utilizing this feature. You can also choose whether or not this recipe can be placed down (Placeable: false). All of the item flags can be found here.​ ### ▶ Define Ingredient Amount Requirements Ability to set and require ingredient amounts. I have implemented checks that detect whether or not the amounts of your ingredients match what is set in your recipe. Works for both shift and non-shift clicks.​ ### ▶ Supports Shapeless & Shaped Recipes Ability to create shapeless recipes (any order in the crafting table) OR shaped recipes (must have specific materials in specific slots of the crafting table)​ ### ▶ Supports Furnace, BlastFurnace, Smoker, Anvil, Crafter, & More Ability to create a ton of other recipe types using the 'Converter' section in the recipe file. We currently support regular crafting, anvil, stonecutter, grindstone, blast furnace, furnace, campfire, smoker, brewing, and smithing recipes. ### ▶ Recipe Cooldowns Supports crafting cooldowns for players. You can limit how long your players have to wait before they can craft another custom recipe. ### ▶ Recipe Commands Ability to have commands be performed by the server upon crafting an item. You can have multiple commands. You can also configure whether or not you want the output item to be granted still, or if you only want the command(s) to be performed. ### ▶ Recipe Conditions Ability to require specific conditions needed for a recipe to be craftable by a player. This includes requiring or denying biomes, time of day, moon phases, worlds, weather, advancements, and more! ### ▶ Leftover Items Ability to define items that will be leftover in the workbench. These items will be required to craft your recipe, but will not be taken when crafted. ### ▶ Supports Crate Plugins Implement your custom recipes into crates! Utilize the give recipe command in your crates plugin to use these custom recipes as a reward for landing on it.​ ### ▶ Player Recipe Booklet (GUI) Added GUI that shows all active recipes that the player has permission to craft. Once a recipe is clicked on, it will then display how to craft the recipe. This makes it easier for players to remember how to craft your custom items. ### ▶ Vanilla Recipe & Cooking Book Supports the in-game crafting recipe or cooking recipe book. Configure whether or not the recipe auto-discovers on join. ### ▶ Tab Completion Integrated tab completion for every aspect of the plugin. This ensures ease of use while typing commands and giving recipes. ### ▶ Reload Command Integrated reload command, give recipe command, and a fully integrated GUI that is in the works. ### ▶ Version Support This plugin supports paper spigot and regular spigot from versions ranging from 1.8.x to the latest version. This plugin is updated frequently and actively supported. ### ▶ Extremely Configurable You have the ability to configure pretty much everything with the plugin. You can configure the messages, the permissions, the recipe name, lore, enchantments, effects, etc!​ ### ▶ In-game Item Editor You can edit items in-game using /edititem. This allows you to discover/undiscover recipes, change the lore, name, enchants, etc, of an item for testing recipes in real time. ### ▶ Intuitive Recipe Creating GUI You can edit, create, or remove recipes directly in-game using /cr gui or the in-game commands. Check out our wiki for more details. ### ▶ Commands & Perms aliases: crecipes, customrecipe, customrecipes, customr, cr crecipe.help /crecipe - Displays the help page crecipe.gui /crecipe gui - Opens the GUI crecipe.create /crecipe create [optional perm] – Creates a recipe
crecipe.remove
/crecipe remove – Removes a recipe
crecipe.show
/crecipe show – Shows a recipe
crecipe.book
/crecipe book – Opens the recipe booklet
crecipe.reload
/crecipe reload – Reloads the recipes and configs
crecipe.give
/crecipe give – Gives a player a custom recipe.
crecipe.debug
/crecipe debug – Enables/disables debug mode
crecipe.list
/crecipe list – Lists all active custom recipes
crecipe.edititem
/edititem – Help with managing item tags and data in-game​

You also are defining your own permissions in the config to craft a custom recipe!

### ▶ Supported Plugins:
Haven Bags
Advanced Enchantments
Eco Enchants
PlaceholderAPI
OtherDrops
ItemsAdder
MMOItems
MythicMobs
ExecutableItems
Oraxen
Nexo

### ▶ How to use:
Create a .yml file in the ‘recipes’ folder
Configure recipes into the file using the template
Arrange ingredients how you desire.
Add custom display names or other metadata
Type ‘/crecipe reload’ or restart your server.
Craft your newly created recipe!

Any issues regarding CustomRecipes should be brought up via the discussion tab or PM. I will promptly respond to your concerns with an answer. I am open to any and all suggestions to further this plugin! Thank you! Please consider leaving a positive review if you are satisfied!