Java 如何使用jruby使用类声明
我正在尝试使用Forge和JRuby为Minecraft制作一个mod。我想使用Ruby来编写mod,但我需要使用Forge的类声明来接受它作为modJava 如何使用jruby使用类声明,java,ruby,jruby,minecraft-forge,Java,Ruby,Jruby,Minecraft Forge,我正在尝试使用Forge和JRuby为Minecraft制作一个mod。我想使用Ruby来编写mod,但我需要使用Forge的类声明来接受它作为mod @Mod(modid = ExampleMod.MODID, version = ExampleMod.VERSION) 我试着把它写成一个函数,但它不起作用。我看不出有错误,但福吉当时不承认 Mod(modid = MyMod.modid, version = MyMod.version) 我怎么用Ruby写这个?如果我用Java编写这一部
@Mod(modid = ExampleMod.MODID, version = ExampleMod.VERSION)
我试着把它写成一个函数,但它不起作用。我看不出有错误,但福吉当时不承认
Mod(modid = MyMod.modid, version = MyMod.version)
我怎么用Ruby写这个?如果我用Java编写这一部分,其余部分用Ruby编写,它可以工作,但我更希望它全部用Ruby编写
编辑:
这是使用java创建mod的正确方法:
package com.example.examplemod;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.FMLInitializationEvent;
@Mod(modid = ExampleMod.MODID, version = ExampleMod.VERSION)
public class ExampleMod
{
public static final String MODID = "examplemod";
public static final String VERSION = "1.0";
@EventHandler
public void init(FMLInitializationEvent event)
{
}
}
我的ruby代码:
require 'java'
import 'cpw.mods.fml.common.Mod'
import 'cpw.mods.fml.common.registry.GameRegistry'
import 'net.minecraft.init.Blocks'
import 'net.minecraft.creativetab.CreativeTabs'
import 'net.minecraft.block.material.Material'
class MyMod
modid = "examplemod2";
version = "1.0";
def init(event)
end
end
看起来这些都是注释,请看一看 它可能最终看起来像:
java_annotation('Mod(modid="MyModID", name="MyModName")')
class MyMod
# ... mod stuff
end
你能为你在Ruby中尝试的东西编写等效的Java代码吗?我改变了问题。这不符合你的期望吗?对不起,我粘贴了错误的代码。它与
Java_注释
一起工作吗?