| Commit message (Collapse) | Author | Age | Lines |
| |
|
| |
|
|
|
|
| |
ugly botch because I forgot about this, TODO!
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
kinda broken and jank but hey it works for now;
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
allows to fly and cancels some packets but still can't noclip
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
only load patches rather than looking into all mods manually. patch
loading is implemented using ServiceLoader, thus removing most unchecked
casts and reflection accesses to methods, and directly invoking
inject(). This is much more efficient and allows to store only loader in
the Launch Plugin and only patches in mods themselves. The modder patch
interface is still super ripe, requiring each method to be implemented
returning a raw string with the unmapped name, but helpers and utils and
build plugins can be developed later on to make this API more friendly.
|
|
|
|
| |
*only in unobfuscated environment, and I did it using hacky awfulness that will be deleted as soon as possible.
|
| |
|
| |
|
| |
|