warriordog / blazeloader Goto Github PK
View Code? Open in Web Editor NEWBlazeLoader is a minecraft mod loader and mod API designed for mods that change or disable vanilla behavior.
License: BSD 2-Clause "Simplified" License
BlazeLoader is a minecraft mod loader and mod API designed for mods that change or disable vanilla behavior.
License: BSD 2-Clause "Simplified" License
as stated above
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:
..\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 . . .
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
bl_at.cfg has been partially converted to a new format, this needs to be finished.
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)
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.
MCP install instructions need to be written, since the new system is a bit complex to install.
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.
Create a version of BlazeLoader based off of forge classes to provide compatibility.
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.
Currently the tweak launcher simply replaces entire classes with BL classes at runtime, but that means that it overwrites forge's tweaks. The tweaklauncher will need to be re-written to detect forge and load an alternate set of classes if it is installed.
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.
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.
Registering an Entity with createSpawnPacket and addEntityToTracker does not register the Entity in NetClientHandler's handleVehicleSpawn, making it so that in order to get the Entity to spawn you need to edit NetClientHandler (Base Edits D:)
ReflectiveOperationException does not exist in java se 6 witch could cause a problem for a lot of mac users and some people that haven't updated yet to java 7.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.