Ala Lab studio

Port mods to a new version.

Is your mod or plugin stuck on an old Minecraft version? We move it to a new game version or another loader and rewrite the code that no longer works there. Crashes and bugs get fixed along the way. We name the price and deadline once we’ve seen the code.

Game versions
1.7.10 → 26.3
Mods
Forge, NeoForge, Fabric
Plugins
Spigot, Paper, Folia
Reply to a request
within 8 hours

What we build

What we port.

Your own mod, a mod from a modpack or a server plugin, as long as there is source code and the right to change it.

A new game version

The mod runs on an old version, but players have already moved on.

  • From 1.12.2, 1.16.5 and 1.20.1 to 1.21.x and 26.x
  • Replacing outdated and removed parts of the game’s code
  • Moving recipes, tags and data to the new format
  • One codebase for two game versions at once

Example order: port a Forge 1.20.1 mod to 1.21.1 to build a modpack on the new version.

Another loader

The same mod, but for a different loader.

  • Forge → Fabric or NeoForge
  • Fabric → NeoForge and back
  • One mod for two loaders from a single codebase
  • Replacing dependencies that don’t exist on the new loader

Example order: a Forge-only mod: make a Fabric version so it fits into a modpack with Sodium.

Plugins: new server software and version

The plugin stopped starting after a server update.

  • Updating a plugin from 1.8.8 and 1.16.5 to 1.21 and 26.x
  • Spigot → Paper with its fast APIs
  • Porting to Folia and region-based work
  • Replacing NMS code that breaks with every version

Example order: a 1.16.5 plugin stopped working after the server was updated to 1.21.

Fixes and improvements

The mod or plugin works, but with bugs.

  • Game crashes and errors in the logs
  • Incompatibility with other mods and plugins
  • Memory leaks, FPS and TPS drops
  • New features, if the mod’s licence allows it

Example order: the server crashes every few hours: find the cause in the logs and fix it.

What changes

Why an old mod won’t start.

Minecraft changes its code in almost every update: it renames classes, drops old ways of registering things and changes the data format. That’s why an old .jar won’t load on a new version and has to be rewritten. We release our own mod, Ala Industrial, for two game versions at once, so we know this from the inside.

  • Version jump1.12.2 → 1.21

    The biggest kind of port: new data, registration and rendering. Often it’s almost a new mod on the old logic.

  • Loader switchForge → Fabric

    A different loader means different events and APIs. The mod’s logic stays, the wiring around it is rewritten.

  • PluginsSpigot → Paper

    Paper offers its own fast APIs, while Folia requires reworking the plugin for multithreading.

We need the source code and the right to change it: you are the author, the mod’s licence allows it, or the author has agreed. Without the source a port is usually impossible. We’ll tell you whether yours can be done once we’ve looked into it.

Porting

What changes in a port.

How hard a port is depends on where it’s moving from and to. Common cases are below; we’ll give an exact estimate once we’ve seen the code.

PortWhat changesDifficulty
1.20.1 → 1.21.xWhat changesItem data components instead of NBT, new registries and recipe formatDifficultyMedium
1.12.2 → 1.21.xWhat changesAlmost everything: registration, rendering, data, networking. We keep the logic and rewrite the codeDifficultyHigh
1.21.x → 26.xWhat changesTargeted changes in the game code, rendering and inputDifficultyLow or medium
Forge → Fabric or NeoForgeWhat changesEvents, registration and loader setup. The mod’s logic staysDifficultyMedium
Spigot → PaperWhat changesOld code usually works; we switch to Paper’s fast APIsDifficultyLow
Paper → FoliaWhat changesThe plugin is rewritten for region-based work across several threadsDifficultyHigh

Example tasks

What people come to us with.

Typical orders, without client names. Messages like these are where a port starts.

Chat

  1. <Player1> A Forge 1.12.2 mod, the author abandoned it. We need it on 1.21.1.
  2. [Ala Lab] Send the source and check the licence. We’ll see what has changed and name the deadline before work starts.
  3. <Player2> We have a Fabric mod and want it in a NeoForge modpack.
  4. [Ala Lab] We keep the logic and rewrite the wiring for NeoForge. Both loaders at once is possible too.
  5. <Player3> After updating the server to 26.x, half the plugin doesn’t work.
  6. [Ala Lab] Show us the startup log. We’ll replace the broken calls and test on a test server with your plugins.
  7. <Player4> The game crashes when entering a world with our mod.
  8. [Ala Lab] Send the crash log and we’ll find the cause, fix it and test on the same modpack.
Write your idea

How we work

Four steps to a new version.

At every step you know what is done and what comes next.

Path of a port

  1. Request

    Send the mod or plugin, a link to the source and the version it should move to. We reply within 8 hours.

  2. Estimate

    We look at the code and at what changed between versions. We fix the scope, price and deadline before starting.

  3. Porting and tests

    We port it, fix the bugs we find and test it in game on the right version and loader.

  4. Handover

    The finished .jar, the updated source code and a list of changes. How the code is handed over is agreed before we start.

Price

What the price depends on.

Tick what needs to be done and watch the amount of work grow. We quote a price once we’ve seen the code and fix it before work starts.

What needs to be done with the mod or plugin?

Approximate scope

Small

A small mod or plugin and the next version up.

  • A command plugin from 1.20.1 to 1.21.x
  • A mod with a couple of items to a new version
  • Fixing a single crash
Medium

A mod with blocks and mechanics, or a loader switch.

  • A mod from Forge to Fabric
  • A plugin from Spigot to Paper
  • A mod from 1.20.1 to 1.21.1 with the new data
Large

A big mod or a very old version.

  • A mod from 1.12.2 to 1.21 with rendering and UI
  • A plugin for Folia
  • A mod for two loaders and two versions at once

This is a guide, not a price. We name the exact cost and deadline once the task is clear.

Discuss a port

Questions

Questions about porting mods.

Can I just run an old mod on a new version?

No. Mods and plugins use the game’s internal code, and it changes in almost every version. An old .jar won’t load on a new version or will crash, so the code has to be rewritten.

Do you port other people’s mods?

Yes, if you have the source code and the right to port it: you are the author, the mod’s licence allows it, or the author has agreed. We check the licence before work starts.

How much does a port cost?

It depends on the size of the mod, the gap between versions and the loader. We quote a price once we’ve seen the code and fix it, together with the deadline, before work starts.

Will players’ worlds and items be kept?

We try to keep block and item names so old worlds still open. If the new version requires migrating data, we’ll warn you in advance and test on a copy of the world.

Can you make a mod for Forge and Fabric at once?

Yes. Our own mods ship for Fabric and NeoForge from one codebase, and we can set yours up the same way.

What do I get at the end?

The finished .jar for the right version and loader, the updated source code and a list of changes. Rights and support after release are agreed before we start.

Your next project

What are we building
in your world?

Send a request and tell us what you want to see in the game. We reply within 8 hours and work through the task, even if so far it is one sentence.

  • We work through the task together
  • We agree the cost before the start
  • We define a clear result

Where to reach you

What are we building

0/5000

Your request goes straight to us on Telegram, and we will reply at the contact you give. How we handle your data.