Luaでmodを作成できるMinecraftmodに取り組んでいます。ユーザーが必要なインターフェイスでTileEntitiesを作成できるようにしたいと思います。現在、登録済みのLuaファイルの関数を呼び出すBase TEを使用していますが、これではインベントリや周辺機器を作成できません。
質問する
85 次
1 に答える
5
はい。ClassLoader.html#loadClass(...)を介してインターフェースをロードし、Proxy#newProxyInstance(...)を使用して実装できます。
例:
ClassLoader cl = getClass().getClassLoader();
Class<?> desiredInterface = cl.loadClass("SomeInterface");
Object proxy = Proxy.newProxyInstance(
cl,
new Class<?>[]{desiredInterface},
new InvocationHandler() {
@Override
Object invoke(Object proxy, Method method, Object[] args) {
//call Lua with method name and args, return answer
}
});
于 2013-03-16T11:34:59.223 に答える