GithubHelp home page GithubHelp logo

smoothwater's Introduction

AutoOverride is a simple FML coremod that makes it easy to override Vanilla
Minecraft classes entirely.

This can and will happily break other coremods or direct minecraft.jar
modifications, so beware conflicts with things like Optifine.


Usage:

This is a mod directory designed for use with mcp_deobfuscate and its
mcp_interface.  It can be used without, but mcp_interface is recommended.

See https://github.com/FunnyMan3595/mcp_deobfuscate/blob/master/README
and https://github.com/FunnyMan3595/mcp_deobfuscate/blob/mcp_interface/README.txt
for more details.



NOTE: In the instructions below:
      * Paths starting with ./ refer to the same directory this file is in.
        For example commands, I'll call the directory "ao_git".
      * Paths starting with $MCP refer to the root directory of your MCP
        installation.
        For example commands, I'll call this directory "mcp".
      * For example commands, I will call your project "GenericMod".
      * Example commands start with $, and should run in any Linux shell.




To use WITH mcp_interface:
* Install this directory in $MCP/mods/
* Edit ./conf/PROJECT_NAME to contain your mod's name.
* Edit ./conf/JAVA_PACKAGE, and set it to a suitable java package name.
  (e.g. "genericmod"; multi-level names like "com.genericmod" may not work.)
* You may want to edit conf/VERSION as well, so that your coremod doesn't
  default to version "alpha".
* Place the modified Minecraft source file(s) in src/common/net/minecraft/src/.
* Run recompile_mods, fix any errors, and repeat until there are none.
* Your completed coremod will now be in $MCP/packages/.


To use WITHOUT mcp_interface:
* Copy ./src/common/{conf:JAVA_PACKAGE} to $MCP/src/common/YOURMOD,
  renaming appropriately.
  $ cp -r 'ao_git/src/common/{conf:JAVA_PACKAGE}' mcp/src/common/GenericMod
  (Note the quotes here!  {} doesn't play nicely with most shells.)
* Edit $MCP/src/common/$YOURMOD/AutoOverride.java, and replace each:
  %conf:JAVA_PACKAGE%
  with $YOURMOD (e.g. GenericMod)
* Edit ./resources/common/META-INF/MANIFEST.MF and replace likewise.
* Run recompile and reobfuscate.
* Create a zipfile contaiing:
  AUTOOVERRIDE_LICENSE                  (from ./resources/common/)
  META-INF/MANIFEST.MF                  (from ./resources/common/)
  $YOURMOD/*                            (from $MCP/reobf/minecraft/)
  Any class files you want to overwrite (from $MCP/reobf/minecraft/)

  $ pushd ao_git/resources/common/  # This is like cd
  $ zip -r ../../../GenericMod-alpha.zip .
  $ popd # This returns us to where we were when we ran pushd.
  $ pushd mcp/reobf/minecraft/
  $ zip -r ../../../GenericMod-alpha.zip GenericMod/ omg.class wtf.class
  $ popd
* Rename the zipfile to have a .jar extension.
  $ mv GenericMod-alpha.zip GenericMod-alpha.jar
  (And don't complain to me.  I tried: https://github.com/cpw/FML/pull/124)
* You now have a coremod.

smoothwater's People

Contributors

funnyman3595 avatar

Stargazers

Stephan Sokolow avatar

Watchers

Stephan Sokolow avatar  avatar James Cloos 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.