All Projects → Moudoux → Emc

Moudoux / Emc

Licence: gpl-3.0
The EMC Framework (Easy Minecraft Client) - An easy to use Minecraft modding framework

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Emc

Justenoughitems
Item and Recipe viewing mod for Minecraft
Stars: ✭ 418 (+1890.48%)
Mutual labels:  minecraft, mod, forge
Crafttweaker
Tweak your minecraft experience
Stars: ✭ 146 (+595.24%)
Mutual labels:  minecraft, mod, forge
Minebot
Minebot
Stars: ✭ 119 (+466.67%)
Mutual labels:  minecraft, mod, forge
Gamesense Client
Minecraft 1.12.2 Utility Mod for Anarchy and Crystal PvP
Stars: ✭ 73 (+247.62%)
Mutual labels:  minecraft, mod, forge
Realistictorches
A Minecraft mod that increases the difficulty of the early game by adding realism mechanics to torches.
Stars: ✭ 15 (-28.57%)
Mutual labels:  minecraft, mod, forge
Buildcraft
BuildCraft
Stars: ✭ 1,218 (+5700%)
Mutual labels:  minecraft, mod, forge
Minecraftforge
Modifications to the Minecraft base files to assist in compatibility between mods.
Stars: ✭ 5,127 (+24314.29%)
Mutual labels:  minecraft, mod, forge
Equivalent Exchange
Stars: ✭ 37 (+76.19%)
Mutual labels:  minecraft, mod, forge
Magistics
Logistical magic!
Stars: ✭ 16 (-23.81%)
Mutual labels:  minecraft, mod, forge
Allomancy
Brandon Sanderson's Allomancy, now in Minecraft
Stars: ✭ 18 (-14.29%)
Mutual labels:  minecraft, forge, mod
Gdlauncher
GDLauncher is a simple, yet powerful Minecraft custom launcher with a strong focus on the user experience
Stars: ✭ 386 (+1738.1%)
Mutual labels:  minecraft, mod, forge
Equivalent Exchange 3
Stars: ✭ 727 (+3361.9%)
Mutual labels:  minecraft, mod, forge
Tis 3d
TIS-100 inspired low-tech computing in Minecraft.
Stars: ✭ 64 (+204.76%)
Mutual labels:  minecraft, mod, forge
Chisels And Bits
A Minecraft mod about chiseling and designing custom blocks in game.
Stars: ✭ 119 (+466.67%)
Mutual labels:  minecraft, mod, forge
Opencomputers
Home of the OpenComputers mod for Minecraft.
Stars: ✭ 1,104 (+5157.14%)
Mutual labels:  minecraft, mod, forge
Bewitchment
Mod inspired by Witchery
Stars: ✭ 128 (+509.52%)
Mutual labels:  minecraft, mod, forge
Agricraft
The source code for the Minecraft mod: AgriCraft
Stars: ✭ 160 (+661.9%)
Mutual labels:  minecraft, mod, forge
Minecolonies
Minecolonies minecraft mod
Stars: ✭ 303 (+1342.86%)
Mutual labels:  minecraft, mod, forge
Macrokey
A mod that allows you to bind keys
Stars: ✭ 8 (-61.9%)
Mutual labels:  minecraft, mod, forge
Mineos
Home of MineOS and it's software for OpenComputers mod
Stars: ✭ 381 (+1714.29%)
Mutual labels:  minecraft, mod

The EMC (Easy Minecraft Client) Framework

Moved to GitLab

EMC has moved to GitLab, at https://gitlab.com/EMC-Framework/EMC

About

EMC (Easy Minecraft Client) is a framework for modifying Minecraft code without having to think about obfuscation as the framework will act as a middle man handling your calls to Minecraft.

This framework also allows you to write a mod once, then use it on Minecraft 1.8 and above.

Discord

We now have an official Discord server for EMC related development, feel free to join us, EMC Discord.

How it works

In short:

Your code <-> EMC Wrapper <-> Obfuscated Minecraft code

Example:

Let's say you want to change the walk speed. To do so, you would simply call the EMC wrapper and it does the hard work for you, in this case IEntityPlayer is the Minecraft player wrapper that translates the EntityPlayer calls, all wrappers start with an I followed by the name of the Minecraft class it handles:

public void setWalkspeed(float speed) {
	// Call the EMC wrapper
	IEntityPlayer.setWalkspeed(speed);
}

That's it. It is as easy as that. The IEntityPlayer.setWalkspeed then calls the obfuscated Minecraft call.

Minecraft versions currently supported

  • 1.13 (Coming soon)
  • 1.12.2

Maven repo/Loading EMC

Minecraft uses Maven to download dependencies, EMC is loaded as a dependency. To load EMC in Minecraft add the following in the libraries array to your Minecraft json file:

{
	"name": "me.deftware:EMC:13.2.7-1.12.2",
	"url": "https://github.com/Moudoux/EMC/raw/master/maven/"
}

Then in the minecraftArguments field append --tweakClass me.deftware.launch.Launcher at the end. If you want to see an example on how to load EMC see example_client.json

Stacking on top of Forge

EMC can be stacked on top of Forge to run EMC mods in conjunction with EMC mods. To build EMC for Forge simply run the gradle build task with the -Pforgebuild="true" argument.

Making client mods with EMC

Check out the EMC Development Kit

Built in commands

You can type .version to check what EMC version you are running, you can type .cinfo to see what client is loaded. You can also type .unload to eject mods running in your client.

Why use EMC?

  • Easy to use (You don't have to think about Minecraft obfuscation)
  • Suitable for large client rewrite style mods
  • Completely compliant with the Minecraft EULA (You don't have to worry about DMCA takedown requests)
  • Write once, use on multiple Minecraft versions
  • Less code (This requires less code than writing your client with Minecraft)

EULA compliant

The EMC framework is compliant with the Minecraft EULA, it does not distribute any Minecraft source code in it's installer. Any mods you make using this framework will be compliant with the Minecraft EULA as your mod will not contain ANY Minecraft source code, only EMC wrapper calls.

Developing EMC (Not making client mods, the actual framework)

  1. Clone this git
  2. Import it into your IDE as a gradle project
  3. Run the setupDecompWrokspace task
  4. Refresh the gradle project

You can now start modifying EMC, if you are using IDEA run the genIntellijRuns task as well.

License

EMC is licensed under GPL-3.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].