What is RadixCore?
RadixCore is not a replacement for Minecraft Forge, FML, LiteLoader, or any other API with mod loading capabilities.
It does not load mods. Instead, it resides between a mod and Minecraft Forge and automatically provides a fully functional foundation for building a new mod or expanding an existing one. Consider RadixCore to be a standard mod framework, where you “fill in the blanks” to get your mod up and running quickly without worrying about the core functionalities.
It is constructed from the core functions of the Minecraft Comes Alive mod. We found ourselves reusing much of MCA’s code when building other mods, and thus, RadixCore was created to help ease the creation of our other mods by providing a stable framework of code that we knew worked correctly.
Now, we’d like to put it out there for other modders to try out and potentially improve it. Maybe it’ll help someone having trouble with 1.7, or any other future changes to Minecraft.
What can it do for me?
If you are a player, you will notice no outward changes with RadixCore installed. It only does what mods tell it to do. If you do not use a mod that requires RadixCore, you don’t need it!
If you are a modder, RadixCore will do quite a lot to help you set up your mod:
- An easy to use networking system reminiscent of the pre-1.7 versions of Minecraft. Takes measures to effectively reduce network strain by 50% and has the ability to serialize entire objects. Don’t worry about 1.7′s networking changes, use our networking system.
- PreInit, Init, PostInit, ServerStarting, and ServerStopping events are automatically laid out and called for your mod.
- Initializing and adding items, blocks, recipes, etc. are separated into methods and automatically called at the correct time. Simply fill in the blanks.
- Provides the ModPropertiesManager, which allows you to easily create and load configuration data for your mod. All you will ever need to worry about is what information you want to be configurable.
- An automatic update checker. All you must provide is a URL containing your mod’s current version and the URL that you would like users to be redirected to. RadixCore does the rest.
- A language system allowing for easy translation of GUIs and parsing of variables.
- Various classes and methods to help with logic and AI.
- A logger that accepts varargs and labels which side you’re currently working with.
- Even more…with your help. We want to expand RadixCore to effectively meet most modders’ needs.
Getting Started:
Step 1: Import RadixCore
At this time, you will need to download RadixCore’s source code and place the com folder into your src/main/java folder. Do not modify RadixCore’s source code in any way.
Step 2: Implement IMod
Your first steps to creating a mod that uses RadixCore would be to take your mod’s core class (the class with your @Mod annotation) and properly setting up the @Mod annotation by adding the dependency shown below:
@Mod(modid="ModId", name="ModName", version="ModVersion", dependencies="required-after:radixcore")
Next, you will need to implement IMod from RadixCore. Immediately, an IDE such as Eclipse will notify you that your mod needs to “implement the inherited abstract method [x].” Allow it to add all unimplemented methods so that your mod’s class is populated with every method that RadixCore needs to run.
There are a lot of methods that will be placed into your mod class.
Step 3: Add a constructor
Add a constructor that accepts no arguments to your mod’s core class, and register it with RadixCore like so:
public ModCore() //Replace with your core class name{RadixCore.registeredMods.add(this);}
Step 4: Fill in the blanks
See MCA’s Core class to see how a larger mod implements RadixCore. Since RadixCore was originally part of MCA, MCA’s core uses every single method and is the best example to follow.
Step 5: Read and implement features you want
There’s plenty of javadoc to read through to learn how things work. The tutorials below should help you out!
Step 6: Help RadixCore Expand
We need other modders’ input! What do you like or not like about RadixCore? What would you like to see implemented?
Download Links:
http://www.dl2.9minecraft.net/index.php?act=dl&id=1394857774
http://www.dl3.9minecraft.net/index.php?act=dl&id=1394884043