Giter Site home page Giter Site logo

minetweaker3's Introduction

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) ;)

minetweaker3's People

Contributors

bculkin2442 avatar jaredlll08 avatar skaviouz avatar skydark avatar yulife avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.