FeatureCreep is an upcoming ModLoader and Modding API, it allows you to make version independent mods. Mods made in this will work across many different versions of Minecraft and it has the ability to work on top of a bunch of other mod loaders allowing your mod to passively support many of the existing modloaders across many different versions. Some platforms we currently support include QuiltMC, MCForge, FabricMC, RiftMC, DangerZone 2.x, and more in the future.
Disclaimer: FeatureCreep 4 is currently in a very Pre Pre Alpha Stage and only avalible for some versions with limited functionality. Only FeatureCreep 4 and newer have modloading capabilities. As of Pre-Release 6 You are currently able to added basic items and tools. It will expand over time. You are not able to access the Minecraft Packages as these change over time and would break version independence. You must use our API if you want version independence. FeatureCreep has the ability to run on many different versions of DangerZone and Minecraft and mods made for FeatureCreep will work acress all off the different versions. Note, this does not make Fabric 1.19.2 mods run on MC Forge 1.12.2 or vice versa, but rather that you make a mod for our platform which runs on top of many other platforms meaning you do not need to port your mod to a bunch of different platforms and can have only 1 file which works on many of them so long as the user has the correct version of FeatureCreep installed. A standalone version of FeatureCreep is also planned.
Credits
PNGJ https://github.com/leonbloy/pngj/
No Changes Made, used for PNG Manipulation
Apache 2 Licence
DDS4J
https://github.com/vincentzhang96/DDS4J
Changes made to not require the Java 8 specific Libraries. Used for converting DDS (HOI4) files to PNGs for MC & DZ
MIT Licence
SmallRye Common
https://github.com/smallrye/smallrye-common
Used to make JBoss DMR Work, no known changes made
Apache 2 Licence
Javaassist
https://www.javassist.org/
Used for Bytecode manipulation
No Known Changes Made except maybe a few for working with more than 1 java version
MPL, the LGPL, and the Apache License
Tunabytes
https://github.com/Revxrsal/Tuna-Bytes
No longer included by default. Old versions i changed to allow for not using the Lombok
Apache 2 Licence
JBoss DMR
https://github.com/jbossas/jboss-dmr
Used for All JSON and DMR parsing, which is used for a lot. No Known changes made
LGPL 2.1
JBoss LogManager
https://github.com/jboss-logging/jboss-logmanager
Used for Some logging and JBoss DMR. Commented missing loggers
Apache 2
JBoss Logging
https://github.com/jboss-logging/jboss-logging
No Known Changes made. Used for some logging
Unknown Licence
JBoss Modules
https://github.com/jboss-modules/jboss-modules
Used for the base of the class loader. Added a file for allowing me to load more mods.
Apache 2 and XMPP Licence
The MCForge team for making all those cool Example Projects
Stackoverflow and other Java tutorial stties
Moderocky Mirror
https://github.com/Moderocky/Mirror
MIT Licence, but Moderocky said we could use it. Used for accessing some stuff
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Scott"
given-names: "Mackenzie"
title: "Mirror"
version: 5.0.0
date-released: 2022-06-01
url: "https://github.com/Moderocky/Mirror"
Moderocky Mimic
https://github.com/Moderocky/Mimic
MIT Licence, but Moderocky said we could use it. Used for Mirror and some proxy classes. Modified to work with the newest mirror
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Scott"
given-names: "Mackenzie"
title: "Mimic"
version: 1.0.0
date-released: 2021-12-25
url: "https://github.com/Moderocky/Mimic"
ASM
https://asm.ow2.io/
Some versions only. Used for Mimic. BSD3 Clause
FeatureCreep Legacy
***STARTING VERSION 4 THIS MOD WILL BE A MOD LOADER AND API***
Versions 3/2,x Do not have this Feature. Please Note the Loader in its current state has lots of issues and almost no content is in them yet, if you want content go for either 3 Nightly or 2,4 ESR
This mod aims to add many features from many mods from past versions of Minecraft and current ones as well as from other games, and make our own multi-version, multi-game mod which has features and ideas from many of your favourite mods of the past. This can be helpful as many mods were not updated, or some computers run older versions of Minecraft Better, or it is a feature not even within Minecraft.
Some things include Emerald Armour, Amethyst Armour, Sapphire Armour, Optimised Tools, Oil, A tool which can mine a huge amount of stone leaving only the Ores, many new resources, many kinds of Golden (Butter) foods, and more.
We currently have builds for Forge 1.6.4,Forge&LiteLoader&Meddle 1.12.2, Forge 1.16.5, Rift 1.13.2, Fabric & Forge 1.17.x, Forge & Fabric 1.18.x, Fabric 1.19 Secret Experimental, but we plan to support more in the future.
We only use Original Textures, Models, or Code unless we have explicit permission from the authors.
Images Coming Soon
CURRENT VERSIONS ***PLEASE READ****
4.0 ESR PreReleases (Coming Soon)(NOT RECOMMENDED UNLESS YOU ARE DEVELOPING MODS, IT DOES NOT HAVE MANY FEATURES FOR PLAYERS)
3,0 Nighly (Bleeding Nightly)(Currently for 1.18.2 Fabric only) (Recommended for newest Features)
2,4ESR (Recommended Stable Builds)
First they ignore you. Then they laugh at you. Then they fight you. Then you Win. -Red Hat
Our Permissive Licence not only allows you to, but encourages you to use all our assets, or redistribute the mod in any way you like, even for profit.
FeatureCreepMC 4 and Newer comes bundled with Open Source software which have different Licences, though they are still permissive. See Credits Section for Details.
Our Discord is: https://discord.gg/H76qe3zc3W
NOTE: Make sure you download the version of the mod for the correct MC version and the Correct ModLoader, and the correct channel, mod Loaders are often at the end of the file
Mod Loaders include Forge|Fabric|Rift|LiteLoader|Meddle|Risugami|LitLaunch|Quilt|RealML and others
Channels are ESR (Most Commonly Labelled Release), Nightly (Most commonly labelled Beta), and Bleeding Nightly (Most Commonly Labelled Alpha)
Also make sure that your that if you are using a Beta Version of Minecraft (soon to be supported by FC), has the b at the end of the of the version e.g. 1.7.3b (except for even older versions), if you are not using a Beta or older version of Minecraft, avoid the letter at the end of the MC name.
When FeatureCreepMC versions for Before Release 1.3 Minecraft, for some mod loaders make sure you download the client version for single player, and the server version for a multiplayer server.
For some reason the newest version has compatibility problem. In 1.12.2, the game crashes while it is loading and in 1.16.5 and 1.19.2 there are datapack errors
In reply to cakeman69420:
Hi, thanks for letting me know. Can you send me the logs for each of them?
They all worked on my system and and the datapack versions should be similar in 1.19.2 and 1.16.5 so please send me the logs for each of them so i can see what happened and try to reproduce the errors on my system.
Since I don't have any idea how to send logs by any means, is it ok if I send them in discord.
To play the devil's advocate:
Why should I port my mod to this completely unknown system, rather than sticking with Forge or Fabric? If I'm looking for cross-modloader compatibility, I could already just use one of the many APIs to accomplish that (referring to Architectury, Forge Porting Lib, etc.)
What's your plan to allow one mod made for your platform to support multiple Minecraft versions and multiple modloaders? It sounds like it would be very difficult to do "properly", with a tremendous amount of unstable and redundant code, given how drastically modloader APIs (usually) change between each version (among other reasons).
In reply to unilock01x:
Architectury and Forge Porting lib are good for if you are making lower level mods and need access to the actual game files, but do not care about working on multiple versions with the same mod file and even with those 2 and most others you need separate jars and sometimes separate or semi-seperate code bases, while with FeatureCreep you only get access to the high level stuff by FeatureCreep (which right now is very limited) but in most cases the mods should work across versions in 1 file.
The cost of working on multiple platforms is being very high level and needing custom apis for everything, which will take a long tie to do, and yes there is a lot unstable and redundant code (mixins are hard to do in java compared to other languages).
In reply to asbestosstar:
I see. So FeatureCreep is intended more for simpler mods? Namely those that don't add much entirely new content, if any.
In reply to unilock01x:
Not entirely true, most mods for FeatureCreep so far are content mods but add basic content.
In reply to asbestosstar:
Hmm. My argument would be that mods that are deeply entwined with the internals of their respective modloader would be very difficult, if not impossible to port, but I don't think many mods work as such nowadays. (Though Quark is a good example. I was thinking of RotaryCraft & co. as well, but those are forever trapped on 1.7.10.)
As much as I'd like for all mods to be compatible with one another, it seems like a herculean effort to accomplish such a feat. Not only would you have to write an API that meets the needs of every mod currently out there, but you'd also have to convince developers to port their mods to FeatureCreep, *and* convince the broader community that FeatureCreep is the best solution. Those last two objectives are especially difficult to complete - it's kind of a chicken and egg problem: devs won't port to a new modloader unless it's popular, and the community won't popularize a modloader without any "good" mods for it. See: Fabric :(
Not to mention that you'll be in very hot water if you intend to support DangerZone. Politics and all that.
Ok, but why of all things are you willing to support DangerZone with any level of sane concousness?
In reply to EnragrmentGame:
I had older versions of FeatureCreep supporting it, and kind of just like the game myself in some ways.
Where can I get the modloader if it is available. Please link it isn't an issue.
In reply to cakeman69420:
Hi, currently we are mostly trying to get our modloader working on top of other modloaders (which you can download here) we plan to eventually have a standalone version, but it is not a priority now. You can run our modloader on top of Fabric, MCForge, QuiltMC, and Rift and others, which can be downloaded here on this CF page.
In reply to asbestosstar:
Thanks for the information.
Thank you for working to reunite the modding community. It is really sad how splintered it is right now.
In reply to P3rf3ctXZer0:
Thank you
That is the most black sorcery thing i ever see Minecraft modding-wise.
The only thing it lacks that otherwise would turn it in a real modding black hole is a way is Spigot/Bukkit support - or just a way to use this to load BKCommonLib for loading of TrainCarts plugin in any of these variations.
In reply to Vico_13:
Hi, we do not yet have anywhere near the amount of APIs required to support BKCommonLib or Traincarts. We have Javassist and soon SnakeYAML most likely, but we do not yet have Minecart APIs. So it will be a while until you are able to port Traincarts to FeatureCreep.
Adding Bukkit/Spigot support will be hard because they make it harder to transform classes and harder to add items and blocks as these are mostly server side apis so while it may be possible, we do not plan to port to these right now, maybe in the future.
In reply to asbestosstar:
Oh, that's sad, but totally understandable. That is surely the most impressive effort in the history of MC Java modding, adding an exponencial hardership just for a single concept (that, unfortunately, still doesn't have a comparable equivalent natively for Fabric/Forge) is a little bit overkill.
Regardless, good work with this! Really, really beautiful.
it is a noble idea, but there is one issue: mods that use things from certain versions of minecraft wont work on versions before said version. for example, if I have an Item that needs bamboo in the recipe, it won't work in versions before 18w43a, as the item "minecraft:bamboo" didn't exist before then.
In reply to kyonamicha:
Hi, we have thought of this, but have not added support for referencing vanilla items or blocks yet (Outside of the data based orespawn gen.) but in Pre Release 12 we plan on adding support for referencing vanilla items. The way we plan to do this is by having blank dummy items in place of the vanilla item in versions that the original vanilla item does not exist.