GithubHelp home page GithubHelp logo

warriordog / blazeloader Goto Github PK

View Code? Open in Web Editor NEW
19.0 19.0 5.0 16.54 MB

BlazeLoader is a minecraft mod loader and mod API designed for mods that change or disable vanilla behavior.

License: BSD 2-Clause "Simplified" License

Java 97.13% Python 0.67% Batchfile 2.20%

blazeloader's People

Contributors

bigxplosion avatar boomshroom avatar sollace avatar warriordog avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blazeloader's Issues

Add server-compatiblity

Currently BL is compatible with the server version of LL, but uses client classes. This needs to be tested on a server and rewritten as neccessary.

NPE in AccessTransformer

When running the AccessTransformer (via apply_at.py) an NPE is thrown:

Exception in thread "main" java.lang.NullPointerException
at net.acomputerdog.BlazeLoader.asm.AccessTransformer.readRules(AccessTransformer.java:60)
at net.acomputerdog.BlazeLoader.asm.AccessTransformer.(AccessTransformer.java:42)
at net.acomputerdog.BlazeLoader.asm.AccessTransformer.main(AccessTransformer.java:205)

Implement old API

All pre-LL API needs to be ported over using the BLEventInjectionTransformer. The Minecraft.loadWorld event is provided as a functioning example. All event methods in EventHandler need to be implemented.

Static modifier Blocks and Items in the AccessTransformer

The AccessTransformer is throwing an IllegalArgumentException when when being used with the new changes what is causing it to not run at all and causes it the completely fail on the BlazeLoader installation in MCP. This is because all the lines in the bl_at.cfg with the blocks and items has a static modifier applied which will NOT work with the AccessTransformer.

The AccessTransformer isn't ment for making methods/fields/class static and it will never like that as it would cause a load of instability issues. The AccessTransformer is only ment to be used when changing a method/field/class to public/private/protected etc and in some rare occasions you can change it to be final or not final. All these changes shouldn't cause instability in 95% of the cases. I just wrote this to remember everybody that you should only use the AccessTransformer in very rare occasions.

And please, @Sollace, test your stuff before submitting them as a PR and btw, I don't really get why the initBlocks() and InitItems() are even needed. I would fix this myself, but I don't have the time at the moment and because (as said before) I don't get the use for these methods

apply_at.bat doesn't work correctly

I'm not sure what it is but the apply_at script can't apply the access transformer any more.

It looks like it's meant to run from the main mcp folder but it can't find the python script if I run it from anywhere other than than "mcp/BlazeLoader/util/" folder. Even if I move the script with it.

I added 'pause' to the end of the script and got the output.

Output when run from "mcp/Blazeloader/util/"

Copying 1.7.2.json...
C:\Users\Christopher\AppData\Roaming\.minecraft\versions\1.7.2\1.7.2.json
1 File(s) copied
done.

Copying 1.7.2.jar...
C:\Users\Christopher\AppData\Roaming\.minecraft\versions\1.7.2\1.7.2.jar
1 File(s) copied
done.

Copying launchwrapper-1.9.jar...
C:\Users\Christopher\AppData\Roaming\.minecraft\libraries\net\minecraft\launchwrapper\1.9\launchwrapper-1.9.jar
1 File(s) copied
done.

Copying asm-debug-all-4.1.jar...
asm-debug-all-4.1.jar not found!
The system cannot find the path specified.
The system cannot find the path specified.
Press any key to continue . . .

Output when run from "mcp/" with the python script in any of the following locations:

  • "mcp/BlazeLoader/util/"
  • "mcp/"
  • "mcp/util/"
..\runtime\bin\python\python_mcp: can't open file '\util\apply_at.py': [Errno 2]
No such file or directory
Press any key to continue . . .

Automated build script (ant, gradle...)

It would be handy to have an automated build script that outputted the normal obfuscated/compile BlazeLoader and a normal source output that is used for the installer.

VersionUtils needs to check for Enums, not classes

VersionUtils checks for the presence of Forge or obfuscation by using Class.forName() with the names of the a couple classes. This is unsafe, as it can cause early class initialization. These should instead use Class.forName() on enums, which have no code and no references to other types.

CoreMod type deal for BlazeLoader

This should only be used in very rare occasions but it would be really useful for some (core/base) mods if they could change access levels or hook in to the minecraft launching.

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.