0

Luaでmodを作成できるMinecraftmodに取り組んでいます。ユーザーが必要なインターフェイスでTileEntitiesを作成できるようにしたいと思います。現在、登録済みのLuaファイルの関数を呼び出すBase TEを使用していますが、これではインベントリや周辺機器を作成できません。

4

1 に答える 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 に答える