Tweak your minecraft experience
Java HTML
Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
MineTweaker3-API Add 'else' block to ensure all exceptions are logged. Jan 25, 2016
MineTweaker3-MC1710-Main Duplicated the 1.7.10 changes to 1.8. Sep 21, 2015
MineTweaker3-MC1710-Mod-Buildcraft - Mod integration can now specify a required version prefix Nov 9, 2014
MineTweaker3-MC1710-Mod-Buildcraft61 - Mod integration can now specify a required version prefix Nov 9, 2014
MineTweaker3-MC1710-Mod-IC2 Update ItemExpansion.java Feb 19, 2016
MineTweaker3-MC1710-Mod-MFR @jaredlll08 you should check over your changes :) Sep 5, 2015
MineTweaker3-MC1710-Mod-NEI - Made forge version configurable Aug 31, 2014
MineTweaker3-MC18-Main Duplicated the 1.7.10 changes to 1.8. Sep 21, 2015
MineTweaker3-MC18-Mod-NEI - Fixed gitignore (again!) ~ gitignore magic! Sep 5, 2015
MineTweaker3-Web - IC2 integration will now try to override recipes, if it can. Sep 6, 2015
ZenScript Squashed commit of the following: Nov 30, 2015
buildSrc - Updated to new Forge version Jun 27, 2015
gradle/wrapper Improving gitignore. Sep 5, 2015
.gitignore Fix gitignore Sep 5, 2015
.nb-gradle-properties - Rewrote the whole damn typecasting system. Now uses a more flexible… Aug 20, 2014
build.gradle - Removed 1.6.4 Sep 5, 2015
common.gradle - Removed unneccesary parts in common.gradle Aug 31, 2014
configuration.gradle Update forge, add max damage Sep 20, 2015
gradle.properties - Added MFR support for 1.6.4 Aug 9, 2014
gradlew Improving gitignore. Sep 5, 2015
gradlew.bat Improving gitignore. Sep 5, 2015
readme.md - Removed 1.6.4 Sep 5, 2015
settings.gradle - Added /mt blocks and /mt entities commands Aug 21, 2014

readme.md

MineTweaker 3

Welcome to the MineTweaker 3 source! MineTweaker 3 is the new version of MineTweaker and will be released for both 1.7.2 and 1.6.4, as well as upgraded as new versions of Minecraft become available.

License and contributions

The source code is freely available in here, at GitHub. The mod itself may be redistributed in modpacks as long as these modpacks are distributed for free. No money can be made from the distribution of the mod.

Want to contribute? That's great! Contact me if you want to propose or discuss new features. Adding new mods is definitely welcome and doesn't need prior permission (just follow the existing structure, add it & make a pull request). Credit will be granted appropriately.

Project structure and building

The MineTweaker 3 source is setup as a multi-project Gradle project:

  • ZenScript is the custom scripting engine
  • MineTweaker3-API is the shared API for all MineTweaker versions
  • MineTweaker3-MCXYZ-Main are the main MineTweaker implementations for Minecraft X.Y.Z
  • MineTweaker3-MCXYZ-Mod-XXX are the mod support projects. They are compiled and obfuscated independently and then assembled later

Developing and running MineTweaker from source

Configuration settings are stored in configuration.gradle . If buildSrc fails to compile you might have to edit the +javaToolsJar location in configuration.gradle

In order to use the project, you have to execute the setupDecompWorkspaceAll (or use setupDecomWorkspace17X if you have errors on the 1.6.4 forge patches). It will prepare all the subprojects for you. After that, you can simply run minecraft with the runClient task in MineTweaker3-XYZ-Main project, which will run MineTweaker (without mod support). Likewise, you can use the runClient task on any of its mod support library subprojects, which will run MineTweaker with only the mod support for that specific mod.

The following global tasks are available:

  • setupDecompWorkspaceAll: sets up all workspaces in all subprojects
  • setupDecompWorkspace17X: sets up all workspaces for anything that's not 1.6.4
  • assembleMC164: builds MineTweaker for Minecraft 1.6.4
  • assembleMC172: builds MineTweaker for Minecraft 1.7.2
  • assembleMC1710: builds MineTweaker for Minecraft 1.7.10
  • assembleAll: builds all versions of MineTweaker

Adding mod support

When starting a new mod support library, it is best to start from an existing one. For instance, copy the NEI support library, and remove the source files inside the src/java/main directory. Then you can work with it like any other support library. Make sure to update configuration.gradle to add the projects in there.

Building a release

Use the assembleAll task to build all versions, or assembleMCxxx tasks to build a specific version. The files will be output in /build/libs .

Customized builds

You may modify and redistribute your own customized version of MineTweaker as long as you mark your own version of MineTweaker as CUSTOMIZED (that is, put CUSTOMIZED in both the jar and mod name) and as long as you make the modified source code publicly available. Obviously, I cannot offer support for customized builds. Just be so kind to mention the original source and author (me) ;)