compiled core versioning
Например:Хоть убей не понимаю смысл всех этих замудреных извращений, для чего и зачем.
package ru;
public class Launcher
{
public static void main(String... args)
{
Base base = new Base();
System.out.println("STR: " + base.STR);
}
}
package ru;
public class Base
{
public final String STR;
public Base()
{
STR = "Variation1";
}
}
java -classpath core.jar ru.Launcher
package com;
import java.lang.reflect.Method;
import java.util.Arrays;
public class Patcher
{
public static void main(String... args) throws Throwable
{
if (args.length == 0) {
System.out.println("Main class not specified!");
return;
}
Class<?> clazz = null;
try {
clazz = Class.forName(args[0]);
} catch (Exception e) {
// ignore
}
if (clazz == null) {
System.out.println("Main class not found : " + args[0] + "!");
return;
}
Method main = clazz.getDeclaredMethod("main", new Class[] { String[].class });
args = Arrays.copyOfRange(args, 1, args.length);
main.invoke(null, new Object[] { args });
}
}
package ru;
public class Base
{
public final String STR;
public Base()
{
STR = "Variation2";
}
}
java -classpath patcher.jar;core.jar com.Patcher ru.Launcher
Я описал пример чуть выше, без правок в ядре я как-то не понимаю как это реализоватьА добавить кастомки без декомпила через data/scripts нельзя, или они тоже в собранном виде находятся?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?