Jump to content

  • Curse Sites
Become a Premium Member! Help
Latest News Article

[1.7.2][API] LiteLoader for Minecraft 1.7.2

1.7.2 1.6.4

  • Please log in to reply
1407 replies to this topic

#1

Mumfrey
    Mumfrey

    Nether Resident

  • Curse Premium
  • Curse Premium
  • 2178 posts
  • Location: Birmingham, UK
  • Minecraft: Mumfrey

Posted 28 June 2013 - 05:21 PM

Posted Image

LiteLoader is a lightweight mod bootstrap designed to provide very basic loader functionality for mods which don't need to modify game mechanics. It is designed to run alongside Minecraft Forge and Forge Mod Loader (FML) and LiteLoader mods will virtually never conflict with Forge mods.


Posted Image
Spoiler:

Posted Image
Spoiler:

Posted Image
Spoiler:

Posted Image
Posted Image
Posted ImagePosted ImagePosted ImagePosted Image
Posted ImagePosted ImagePosted ImagePosted Image

Important note: if you wish to chain to Forge or FML with 1.6.4 then you will require Forge build 898 or later or FML build 767 or later, previous versions have an error which will cause your game to crash stating that it got multiple values for "version" but was expecting only one. If you experience this problem then upgrading to the requisite version of Forge or FML is the solution.


Posted ImagePosted ImagePosted ImagePosted Image
Posted ImagePosted ImagePosted ImagePosted Image

Posted Image

LiteLoader is aimed squarely at mods which only change the client in some way; some good examples might be a mini-map, a mod which overhauls the in-game chat or a client-side macro system. This type of mod doesn't generally need the awesome power of something like Minecraft Forge to function, so asking players to install an API that's several times larger than the mod itself doesn't make sense. It must however coexist peacefully alongside Forge (so that players can use both platforms if they want to!) and LiteLoader does this.

LiteLoader was primarily developed for use by The VoxelModPack Team but is source available to allow mod developers to make their own mods using the platform.

As a modder, if you're looking for a loader to help you add a new block, item, mob or mechanic into the game, then LiteLoader isn't for you and you should check out Minecraft Forge. If you want to make a mod that displays something on the screen like a heads-up FPS counter, provides an in-game IRC window, or anything else that doesn't alter game mechanics then LiteLoader is probably perfect for you!


Posted Image
  • What is this for and why do I need it?
    Like other loaders and API's, LiteLoader doesn't do much on its own. If you want to run a LiteLoader mod then you need LiteLoader, if you don't then you don't need it! :) In general, the mods which use LiteLoader will link to this thread as a place to download the loader and provide support.

  • Can I load Forge or ModLoader mods with this?
    No, LiteLoader is a standalone API used by some client-only mods, however you can run it at the same time as Forge or FML and it won't conflict, so if you want to use Forge mods and Lite mods, then that's fine!

  • The game won't load when I specify multiple tweaks, what gives?
    Try changing the order of the tweaks, sometimes the load order is important since the first tweak is the "primary" one. Try putting liteloader's tweaker first for example.

  • I have a mac, and after installing the 1.5.2 version of LiteLoader I have no sounds at all!
    This isn't LiteLoader's fault, there is a problem with the mac archiver that causes it to overwrite the "com" folder inside you minecraft jar with the LiteLoader one instead of merging it. Unfortunately the "com" folder contains the sound codecs for the game!

    To work around this, either manually merge the new "com" folder into the existing one in the minecraft jar, or use the Mac LiteLoader Patcher made by chattahippie, which automates the installation.

  • I installed a mod into my "mods" folder but it's not detected by LiteLoader.
    First, check that the mod is for the correct version of Minecraft. LiteLoader includes a version-checking system designed to prevent out-of-date mods from loading and crashing your client. If the versions mismatch then LiteLoader will not load the mod. For example if you have a mod for Minecraft 1.5.1 do not expect it to work on Minecraft 1.5.2!

    Secondly, ensure that the file extension is .litemod. Some browsers detect that the files are .zip files and rename them to .zip when you download. LiteLoader requires the files to have the .litemod extension in order to recognise them as mods.

  • Can I redistribute LiteLoader in my mod pack?
    Yes, see the Permissions section below.

  • Can I make a custom version of LiteLoader and redistribute it?
    In general, no. The reason for this is that LiteLoader is an API (albeit a small one), and having multiple incompatible versions of an API in the wild is confusing for users and makes tracking bugs and issues very difficult. We do however work with mod developers who would like custom extensions to LiteLoader or would like to integrate the loader itself into their mod. Please note that LiteLoader's source code is protected by copyright and you may not redistribute the source without permission.

  • Where can I find information about making LiteLoader mods?
    See the section Developing LiteLoader Mods below.

  • Where can I find the source code?
    liteloader.com conveniently redirects to the LiteLoader Assembla Space.

  • When will the next version be out?
    Asking for updates is against the Minecraft Forum rules, if you're waiting for an update just be patient. One of LiteLoader's goals is to keep its footprint small to make updating easy, so in general the update speeds are very fast.

  • Can I run LiteLoader and Forge at the same time?
    Yes, they are designed to coexist, you can install both without any problems.

  • Won't running two loaders cause some kind of performance impact?
    To cut a long story short, no. The loader is a tiny portion of the general footprint of the game and any mods you might install that use those loaders. Any impact on performance as a result of using multiple loaders is entirely lost in the general overhead of running the game itself.

  • Where can I report bugs?
    If you have a question or a problem that you are not sure if it's a bug, then ask right here in this thread. Alternatively if you find a bug in LiteLoader itself you can submit a support ticket on the LiteLoader assembla.

  • Can I request new features?
    Yes, but bear in mind that LiteLoader's core remit is to stay as light-weight as possible. This means I will generally only add functionality to the loader if it makes sense for it to be there. LiteLoader will never support adding blocks and items to the game so don't ask.

  • I accidentally my entire Minecraft. Is this bad?
    Probably. If in doubt add more cowbell.

Posted Image
  • 2014-02-15 - LiteLoader 1.7.2_04 - Lots of changes:
    Spoiler:
  • 2013-09-27 - LiteLoader 1.6.4_01 - Fix for SoundSystem startup issue (again, derp)
  • 2013-09-27 - LiteLoader 1.6.4_00 - Updated for 1.6.4 and LaunchWrapper 1.8
  • 2013-07-31 - LiteLoader 1.6.2_04 - Fixed issue with mod key bindings not saving properly
  • 2013-07-31 - LiteLoader 1.6.2_03 - Updated installer to support chaining to FML
  • 2013-07-25 - LiteLoader 1.6.2_02 - Fix for SoundSystem issue
  • 2013-07-17 - LiteLoader 1.6.2_01 - Re-added crash log hook, installer now auto-detects forge version
  • 2013-07-16 - LiteLoader 1.6.2_00 - Initial release for 1.6.2

Posted Image

You are free to redistribute unmodified LiteLoader binaries in any mod pack or compilation, including on third-party distribution platforms such as Feed The Beast provided that the distribution remains free, eg. no ad.fly links or similar.

You are free to use the source code to make your own LiteLoader mods but you may not redistribute modified versions of the loader. You may not redistribute the source code in any form without written permission.


Posted Image

Developing mods for LiteLoader is based around usage of the Minecraft Coder Pack so you should be familiar with MCP before you start.

Some (very brief and incomplete) documentation is available on the LiteLoader Assembla page and I will be adding to this over time. I also recommend taking a look at my tutorial video showing how to get up and running with MCP, LiteLoader and Eclipse (if you can tolerate my voice for that long!) which covers everything from start to finish.

If you get stuck feel free to ask questions here in the thread, I always try to help when I can. Or you can find me on IRC espernet #minecraft and #voxelmodpack.


Posted Image
Posted Image

Posted Image

Feel free to ask any questions or any other comments you have here in the thread, we will do our best to answer them!
In the meantime, happy Minecrafting :)


Posted Image

         [ liteloader ] [ YouTube ] [ Twitter @therealeq2 ] [ voxelmodpack.com ]

Register or log in to remove.

#2

MehStrongBadMeh
  • Minecraft: MehStrongBadMeh

Posted 28 June 2013 - 05:48 PM

As the leader of the VoxelModPack Team. I will also be providing support and responding to posts relating to the installation and use of LiteLoader.
Posted Image

#3

RocketMan10404
  • Location: Illinois
  • Minecraft: RocketMan10404

Posted 28 June 2013 - 06:35 PM

In my development experience so far, LiteLoader is definitely my favorite loading method to provide support for.  Lightweight, solid, available source code, no runtime de/obfuscation, etc.  It was easy to add support for without making significant changes to my pre-existing code, and it's easy to live-test with.

I'd love to see LiteLoader continue to grow in popularity, it'd make my life easier to not have to worry about other mod-loading APIs Posted Image

Thanks for your hard work Mumfrey, and for everything you've provided to the Minecraft community!
Posted Image

#4

troyboy50
  • Minecraft: troyboy50

Posted 28 June 2013 - 07:49 PM

I've been using LiteLoader to develop a few mods for myself, and this is without a doubt the most convenient and compatible loader out there. It could not be any easier to use, and I love how lightweight it is, perfect for the kinds of mods I need it for. Glad to see this is in it's own thread.

#5

TomEN
    TomEN

    Tree Puncher

  • Members
  • 14 posts
  • Minecraft: Tom_EN

Posted 29 June 2013 - 12:24 AM

Liteloader is a solid and lightweight loader that is just a pleasure to use. The fact that it can run seamlessly alongside other loaders like ModLoader and Forge is nothing short of amazing.
Posted Image

#6

julialy
    julialy

    Obsidian Miner

  • Curse Premium
  • Curse Premium
  • 1351 posts
  • Minecraft: julialy

Posted 29 June 2013 - 08:22 AM

Liteloader is a GREAT loader. It's very useful when you don't need the junk that Forge provides, or you are just develeping a small mod for personal use. It's my favorite so far. I use this loader for my mod (look in sig). It's a great pleasure to use, too. No un-needed APIs, it's just a loader. And if you need Forge, it will not conflict with other mods. It is very compatible (unless the mod edits the rendering lighting class for some reason). But anyway, great modding platform! I like this mod in it's separate thread. :-)

I enjoy your hard work, Mumfrey. Thanks.
Posted Image

#7

julialy
    julialy

    Obsidian Miner

  • Curse Premium
  • Curse Premium
  • 1351 posts
  • Minecraft: julialy

Posted 30 June 2013 - 11:21 PM

Prebuilt versions of Liteloader:
none right now
Spoiler:
NO support will be given for these versions of Liteloader! These versions of Liteloader are only to allow modders to update their mod faster (Updating Liteloader takes less work than updating, say Modloader or Forge.)
Posted Image

#8

Mumfrey
    Mumfrey

    Nether Resident

  • Curse Premium
  • Curse Premium
  • 2178 posts
  • Location: Birmingham, UK
  • Minecraft: Mumfrey

Posted 01 July 2013 - 01:39 AM

View Postjulialy, on 30 June 2013 - 11:21 PM, said:

Prebuilt versions of Liteloader:
1.6:

NO support will be given for these versions of Liteloader!
LiteLoader is using a new method of bootstrapping in 1.6.1 to be compatible with the new launcher and with Forge. Please be patient and don't just build the old codebase against the new MCP because there's more to it than that, jar mods are not necessary with this update any more. Once 1.6.1 MCP is released I will be working on this.

I'd appreciate it if you could remove the link from your post, I don't want to risk confusing users with incompatible versions of the loader, especially as there are some API changes to LiteLoader in 1.6.1 as well to support the new layout and more organised mod deployment.

Please be patient, I know it's always tempting to do things fast, but because of the changes in 1.6(.1) it's necessary to take things a little slower than usual.
Posted Image

         [ liteloader ] [ YouTube ] [ Twitter @therealeq2 ] [ voxelmodpack.com ]

#9

julialy
    julialy

    Obsidian Miner

  • Curse Premium
  • Curse Premium
  • 1351 posts
  • Minecraft: julialy

Posted 01 July 2013 - 01:43 AM

View PostMumfrey, on 01 July 2013 - 01:39 AM, said:

LiteLoader is using a new method of bootstrapping in 1.6.1 to be compatible with the new launcher and with Forge. Please be patient and don't just build the old codebase against the new MCP because there's more to it than that, jar mods are not necessary with this update any more. Once 1.6.1 MCP is released I will be working on this.

I'd appreciate it if you could remove the link from your post, I don't want to risk confusing users with incompatible versions of the loader, especially as there are some API changes to LiteLoader in 1.6.1 as well to support the new layout and more organised mod deployment.

Please be patient, I know it's always tempting to do things fast, but because of the changes in 1.6(.1) it's necessary to take things a little slower than usual.
Okay, I have removed it.
Posted Image

#10

Mumfrey
    Mumfrey

    Nether Resident

  • Curse Premium
  • Curse Premium
  • 2178 posts
  • Location: Birmingham, UK
  • Minecraft: Mumfrey

Posted 01 July 2013 - 01:52 AM

View Postjulialy, on 01 July 2013 - 01:43 AM, said:

Okay, I have removed it.
Thanks. Sorry to be a kill-joy. I appreciate your eagerness but I want to make sure this release goes smoothly (since a lot of people are going to have to adapt to a new way of working with mods) and I just want to avoid confusing people with different versions in the wild.

This is probably good from your point of view too, since you can now patch into the jar without modifying it (finally!) so you can make your x-ray even easier to deploy :)
Posted Image

         [ liteloader ] [ YouTube ] [ Twitter @therealeq2 ] [ voxelmodpack.com ]

#11

julialy
    julialy

    Obsidian Miner

  • Curse Premium
  • Curse Premium
  • 1351 posts
  • Minecraft: julialy

Posted 01 July 2013 - 01:55 AM

View PostMumfrey, on 01 July 2013 - 01:52 AM, said:

Thanks. Sorry to be a kill-joy. I appreciate your eagerness but I want to make sure this release goes smoothly (since a lot of people are going to have to adapt to a new way of working with mods) and I just want to avoid confusing people with different versions in the wild.

This is probably good from your point of view too, since you can now patch into the jar without modifying it (finally!) so you can make your x-ray even easier to deploy Posted Image
It's fine. I like doing things fast but this time, I should make sure my mod doesn't have any bugs.
Yay :-) I'm excited for the new release!
Posted Image

#12

Kodehawa
    Kodehawa

    Nether Resident

  • Curse Premium
  • Curse Premium
  • 2018 posts
  • Location: Concepción - Chile
  • Minecraft: kodehawa

Posted 01 July 2013 - 06:02 PM

You're awesome. I will use your API if you implements jar modifications without touching base classes :)
Playing osu right now~, Check new CE updated by Godshawk

Posted Image


#13

Mumfrey
    Mumfrey

    Nether Resident

  • Curse Premium
  • Curse Premium
  • 2178 posts
  • Location: Birmingham, UK
  • Minecraft: Mumfrey

Posted 01 July 2013 - 06:54 PM

View PostKodehawa, on 01 July 2013 - 06:02 PM, said:

You're awesome. I will use your API if you implements jar modifications without touching base classes :)
The new launcher supports this, this means that from now on nobody should have to modify the jar at all for any reason \o/ Everything can be done by creating custom profiles to launch the game with the mods that you want.

Thank cpw for that!
Posted Image

         [ liteloader ] [ YouTube ] [ Twitter @therealeq2 ] [ voxelmodpack.com ]

#14

kiarules
    kiarules

    Redstone Miner

  • Members
  • 697 posts
  • Location: Crystalix City in the Crystalin Plane
  • Minecraft: kenzierocks

Posted 01 July 2013 - 06:56 PM

View PostMumfrey, on 01 July 2013 - 06:54 PM, said:

The new launcher supports this, this means that from now on nobody should have to modify the jar at all for any reason \o/ Everything can be done by creating custom profiles to launch the game with the mods that you want.

Thank cpw for that!
Speaking of that, how does it work? It seems confusing to me..
I support RedPower LiteLoader!

Posted Image

#15

Mumfrey
    Mumfrey

    Nether Resident

  • Curse Premium
  • Curse Premium
  • 2178 posts
  • Location: Birmingham, UK
  • Minecraft: Mumfrey

Posted 01 July 2013 - 07:18 PM

View Postkiarules, on 01 July 2013 - 06:56 PM, said:

Speaking of that, how does it work? It seems confusing to me..
Well it's not too complicated, basically each "version" contains a JSON file which defines the classpath, since all entries specified in that classpath have a higher priority than the base jar, it's a simple matter of including any edited base classes as libraries in the classpath.

Base edits are still possible, you just no longer need to edit the jar to apply them. It's essentially the way that a lot of 3rd-party launchers have worked to date, except that now it's just supported "out of the box" by the stock launcher.

LiteLoader is leveraging a slightly different new feature though in order to bootstrap early in the game's initialisation cycle without overriding any classes at all. This does cause a conflict with Forge ModLoader but I've been speaking to cpw so that we can make the loaders coexist without conflicting.
Posted Image

         [ liteloader ] [ YouTube ] [ Twitter @therealeq2 ] [ voxelmodpack.com ]

#16

kiarules
    kiarules

    Redstone Miner

  • Members
  • 697 posts
  • Location: Crystalix City in the Crystalin Plane
  • Minecraft: kenzierocks

Posted 01 July 2013 - 07:36 PM

I get it now, thanks!
I support RedPower LiteLoader!

Posted Image

#17

Natasho
    Natasho

    Tree Puncher

  • Members
  • 19 posts

Posted 02 July 2013 - 01:09 PM

View PostMumfrey, on 01 July 2013 - 07:18 PM, said:

Well it's not too complicated, basically each "version" contains a JSON file which defines the classpath, since all entries specified in that classpath have a higher priority than the base jar, it's a simple matter of including any edited base classes as libraries in the classpath.

Base edits are still possible, you just no longer need to edit the jar to apply them. It's essentially the way that a lot of 3rd-party launchers have worked to date, except that now it's just supported "out of the box" by the stock launcher.

LiteLoader is leveraging a slightly different new feature though in order to bootstrap early in the game's initialisation cycle without overriding any classes at all. This does cause a conflict with Forge ModLoader but I've been speaking to cpw so that we can make the loaders coexist without conflicting.

OOOOOKKKKKKay.... you lost me there.

I have been doing the following:
    copy the version/1.5.2 dir to version/1.5.2 Mod
    rename the 1.5.2.jar file to 1.5.2 Mod
    rename the 1.5.2.jason to 1.5.2 Mod.jason
    modifying the id in the jason file line to 1.5.2 Mod
    and then remove META-INF from the jar
merge the Forge, Optifine and liteloader to the jar file.

Could you give an example of how you would do this with the new launcher via the profile or jason file?


Now for the original subject I was going to post.......
Could you make lightloader for 1.5.2 and above use the directory given in the profile/cmd line.
Right now it ignores it and still loads from the .minecraft/mods dir not the (directory in the profile)/mods.
BTW FML has the same problem.

#18

julialy
    julialy

    Obsidian Miner

  • Curse Premium
  • Curse Premium
  • 1351 posts
  • Minecraft: julialy

Posted 02 July 2013 - 02:28 PM

I have a question for the built-in jar modding.
Does it replace methods or the entire classes?
Posted Image

#19

kiarules
    kiarules

    Redstone Miner

  • Members
  • 697 posts
  • Location: Crystalix City in the Crystalin Plane
  • Minecraft: kenzierocks

Posted 02 July 2013 - 03:13 PM

View Postjulialy, on 02 July 2013 - 02:28 PM, said:

I have a question for the built-in jar modding.
Does it replace methods or the entire classes?
It replaces entire classes, but for some reason you still need to delete the META-INF if you mod base classes. A small downside for modding base classes, but same as always.
I support RedPower LiteLoader!

Posted Image

#20

Mumfrey
    Mumfrey

    Nether Resident

  • Curse Premium
  • Curse Premium
  • 2178 posts
  • Location: Birmingham, UK
  • Minecraft: Mumfrey

Posted 02 July 2013 - 03:15 PM

View PostNatasho, on 02 July 2013 - 01:09 PM, said:

OOOOOKKKKKKay.... you lost me there.

I have been doing the following:
    copy the version/1.5.2 dir to version/1.5.2 Mod
    rename the 1.5.2.jar file to 1.5.2 Mod
    rename the 1.5.2.jason to 1.5.2 Mod.jason
    modifying the id in the jason file line to 1.5.2 Mod
    and then remove META-INF from the jar
merge the Forge, Optifine and liteloader to the jar file.

Could you give an example of how you would do this with the new launcher via the profile or jason file?
You don't need to merge anything into the jar any more, that's the whole point. Just put it in the libraries folder and and a library entry in the JSON file.

View PostNatasho, on 02 July 2013 - 01:09 PM, said:

Now for the original subject I was going to post.......
Could you make lightloader for 1.5.2 and above use the directory given in the profile/cmd line.
Right now it ignores it and still loads from the .minecraft/mods dir not the (directory in the profile)/mods.
BTW FML has the same problem.
I'll be focusing on getting all the 1.6.1 updates done first, but suffice to say one of the changes for 1.6.1 liteloader is that it doesn't use "mods" any more. I *may* go back and make an updated 1.5.2 for the new launcher at some point but not any time soon, there are too many other more pressing issues.

The directory in the profile is something done by Risugami which is kind of a crap idea for a number of reasons, neither myself nor CPW will be using this method.

View Postjulialy, on 02 July 2013 - 02:28 PM, said:

I have a question for the built-in jar modding.
Does it replace methods or the entire classes?
Still entire classes, just without modifying the base jar. You can use a FML coremod if you want to edit individual methods. What do you need to do? Can you not achieve what you need by reflection?

Posted Image

         [ liteloader ] [ YouTube ] [ Twitter @therealeq2 ] [ voxelmodpack.com ]