【问题标题】:Create java chars using jruby [closed]使用 jruby 创建 java 字符 [关闭]
【发布时间】:2015-02-04 15:36:45
【问题描述】:

嗨,我需要一个使用 jruby 的字符,但我只有这个错误:

org.jruby.embed.InvokeFailedException: java.lang.ClassCastException: net.minecraft.item.ItemFood cannot be cast to java.lang.Character

我正在使用 jruby 为我的世界制作一个 mod,我正在尝试制作新的食谱,这是在 java 中制作它的方法:

GameRegistry.addRecipe(new ItemStack(Items.apple), new Object[]{
        "XXX",
        "XYX",
        "XXX",
        'X', //required char
        Items.arrow,
        'Y', //required char
        Items.bone
 });

这是我的红宝石代码:

xx = 'XY'
blockStack = ItemStack.new(newBlock)
GameRegistry.addRecipe(blockStack, ["XYX", xx[0], Items.apple, xx[1], Items.redstone].to_java)

如何使用 ruby​​ 创建 java 字符? 我尝试使用 .charAt() 但这会返回一个数字 和 .toCharArray() 但也不起作用。

【问题讨论】:

  • 你用来构造配方的数组只有 5 项,在 java 中它有 7 项,可能是...
  • Java 没有比 Ruby、C、Perl 或任何其他语言更多的特殊字符。您说的可能是 Unicode 字符集。

标签: java ruby jruby minecraft-forge


【解决方案1】:

整数可能会转换为字符 (42.to_java(:char)),因此请尝试将其传入(不幸的是,您需要知道字符的序数表示,这有点 annoying

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多